Programación Paralela<br />Con Visual Studio 2010 y el .NET Framework 4<br />Gabriel Cor – Beacon42   gabriel.cor@beacon42...
Por qué computación paralela en Visual Studio 2010 y el Framework 4<br />Necesidad de la industria<br />Aprovechar el hard...
Ejemplo 1: Aplicación típica <br />Mayor facilidad para incorporar en aplicación típica<br />
Ejemplo 2: Aplicación paralela pre-existente<br />Construcciones mejores para prueba y debug<br />
Visual Studio 2010Herramientas / Modelos de Programación / Runtimes<br />Modelos de Programación<br />HerramientasIntegrad...
Tasks<br />Base de TPL y PLINQ<br />¿Que nos permite?<br />Ejecución asíncrona<br />(Bloqueando) Valores  en competencia<b...
DemoTask<br />
Planificador de Tareas<br />Pool de Threads del CLR<br />Pila<br />Global<br />Worker Thread 1<br />Worker Thread  N<br />...
Planificador de Tareas<br />Pool threads: Robandotrabajos<br />Pila<br />Local<br />Pila<br />Local<br />Pila<br />Global<...
PLINQ<br />Implementación paralela de LinQ-to-Objects<br />Soporta todos los operadores de queryestándar de .NET<br />Func...
DemoPLINQ<br />
Estructuras de coordinación<br />Conjunto de clases para trabajar en ambiente multi-core<br />Colecciones concurrentes<br ...
Herramientas para debug en Visual Studio 2010 para programación paralela<br />ParallelStack<br />ParallelTasks<br />Ejempl...
Preguntas<br />
Próxima SlideShare
Cargando en…5
×

Computacion Paralela Vs2010

1.346 visualizaciones

Publicado el

0 comentarios
0 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Sin descargas
Visualizaciones
Visualizaciones totales
1.346
En SlideShare
0
De insertados
0
Número de insertados
63
Acciones
Compartido
0
Descargas
17
Comentarios
0
Recomendaciones
0
Insertados 0
No insertados

No hay notas en la diapositiva.

Computacion Paralela Vs2010

  1. 1. Programación Paralela<br />Con Visual Studio 2010 y el .NET Framework 4<br />Gabriel Cor – Beacon42 gabriel.cor@beacon42.com<br />Andrés Iturralde – Ikomaiturralde@ikom.cl<br />
  2. 2. Por qué computación paralela en Visual Studio 2010 y el Framework 4<br />Necesidad de la industria<br />Aprovechar el hardware<br />Poder brindar mayor performance como hasta ahora<br />Mayor Facilidad de creación de aplicaciones paralelas<br />Mejores herramientas para prueba y debug de aplicaciones paralelas<br />
  3. 3. Ejemplo 1: Aplicación típica <br />Mayor facilidad para incorporar en aplicación típica<br />
  4. 4. Ejemplo 2: Aplicación paralela pre-existente<br />Construcciones mejores para prueba y debug<br />
  5. 5. Visual Studio 2010Herramientas / Modelos de Programación / Runtimes<br />Modelos de Programación<br />HerramientasIntegradas<br />Modelos de Programación<br />PLINQ<br />Parallel<br />Debugger<br />Parallel Pattern Library<br />Task Parallel <br />Library<br />Agents<br />Library<br />Profiler Concurrency<br />Analysis<br />Data Structures<br />Runtime de Concurrencia<br />Runtime de Concurrencia<br />Data Structures<br />Task Scheduler<br />ThreadPool<br />HPC MPI<br />Debugger<br />Task Scheduler<br />Resource Manager<br />Resource Manager<br />SistemaOperativo<br />Hilos<br />Key:<br />L. Manejadas<br />L. Nativa<br />Herramientas<br />
  6. 6. Tasks<br />Base de TPL y PLINQ<br />¿Que nos permite?<br />Ejecución asíncrona<br />(Bloqueando) Valores en competencia<br />Relaciones padre /hijo<br />Continuaciones en éxito, fallos o cancelaciones<br />
  7. 7. DemoTask<br />
  8. 8. Planificador de Tareas<br />Pool de Threads del CLR<br />Pila<br />Global<br />Worker Thread 1<br />Worker Thread N<br />…<br />Thread<br />Programa<br />
  9. 9. Planificador de Tareas<br />Pool threads: Robandotrabajos<br />Pila<br />Local<br />Pila<br />Local<br />Pila<br />Global<br />…<br />Worker Thread 1<br />Worker Thread p<br />…<br />Tarea 6<br />Tarea 3<br />Tarea 4<br />Tarea 1<br />Thread<br />Programa<br />Tarea 5<br />Tarea 2<br />
  10. 10. PLINQ<br />Implementación paralela de LinQ-to-Objects<br />Soporta todos los operadores de queryestándar de .NET<br />FuncionaparacualquierIEnumerable<T><br />
  11. 11. DemoPLINQ<br />
  12. 12. Estructuras de coordinación<br />Conjunto de clases para trabajar en ambiente multi-core<br />Colecciones concurrentes<br />Primitivos de sincronización<br />Primitivos de inicialización<br />Primitivos de cancelación<br />
  13. 13. Herramientas para debug en Visual Studio 2010 para programación paralela<br />ParallelStack<br />ParallelTasks<br />Ejemplos:<br />Congelando Threads para debug<br />Error en Tareas agendadas<br />DeadLock<br />Lock Convoy<br />
  14. 14. Preguntas<br />

×