Your SlideShare is downloading. ×
0
Como hacer que tus aplicaciones saquen mejor provecho a los procesadores disponibles hoy y a los que vendrán<br />Andrés I...
¿Porqué debería importarme el paralelismo?<br />Los computadores están cambiando<br />La ley de Moore está tomando un giro...
¿A qué se refería Moore?<br />Dual-Core Itanium 2<br />Tendencias de CPU’s Intel<br /> (Fuentes: Intel, Wikipedia, K. Oluk...
¿Qué debo hacer para esto?<br />Paralelizar!<br />Thread B<br />Thread A<br />Thread C<br />QuantumExpirado<br />Acceso a ...
DEMO<br />
Como nos ayuda el paralelismo<br />CPU1<br />Secuencial<br />Op1<br />Op2<br />Op5<br />Op3<br />Op4<br />CPU1<br />Parale...
DEMO<br />
Estoy convencido… ¿ahora qué?<br />Programación en multiples hiloses “dificil” hoy<br />Realizable porciertossubgrupos de ...
Soporte de paralelismo en .NET 4 y VS2010<br />Herramientas<br />Runtime ConcurrenciaManejada y Modelos de Programación<br...
Extensiones Paralelas<br />Nuevas API’s de paralelismos en .NET 4<br />Loops Paralelos<br />Parallel LINQ<br />Paralelismo...
Metas del TPL<br />Hacer el paralelismo Simple<br />Implementando escenarios comunes<br />Pasando data de entrada y de sal...
¿Qué es una Tarea?<br />Representación de una operación asíncrona<br />Bloque ligero de paralelismo<br />Una forma de obte...
DEMO<br />
Tareas y Colas<br />Cola Global<br />Colas Locales<br />Worker Thread #1<br />Worker Thread #2<br />Worker Thread #n<br />...
DEMO<br />
Recursos<br />Visual Studio 2010<br />http://www.microsoft.com/visualstudio/en-us/download<br />Guía para programación par...
Como hacer que tus aplicaciones saquen mejor provecho a los procesadores disponibles hoy y a los que vendrán
Upcoming SlideShare
Loading in...5
×

Como hacer que tus aplicaciones saquen mejor provecho a los procesadores disponibles hoy y a los que vendrán

1,049

Published on

Published in: Technology, Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,049
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Como hacer que tus aplicaciones saquen mejor provecho a los procesadores disponibles hoy y a los que vendrán"

  1. 1.
  2. 2. Como hacer que tus aplicaciones saquen mejor provecho a los procesadores disponibles hoy y a los que vendrán<br />Andrés Iturralde<br />Consultor Senior<br />aiturralde@ikom.cl<br />http://aiturralde.com<br />
  3. 3. ¿Porqué debería importarme el paralelismo?<br />Los computadores están cambiando<br />La ley de Moore está tomando un giro importante<br />Tecnologías SMP y MultiCore<br />Los usuarios están cambiando<br />Esperan aplicaciones rápidas y responsivas<br />CPU<br />CPU<br />CPU<br />Core<br />Core<br />Memoria<br />Memoria<br />
  4. 4. ¿A qué se refería Moore?<br />Dual-Core Itanium 2<br />Tendencias de CPU’s Intel<br /> (Fuentes: Intel, Wikipedia, K. Olukotun)<br />Pentium 4<br />Pentium<br />386<br />
  5. 5. ¿Qué debo hacer para esto?<br />Paralelizar!<br />Thread B<br />Thread A<br />Thread C<br />QuantumExpirado<br />Acceso a Memoria<br />Operación<br />I/O<br />“Estado Wait”<br />
  6. 6. DEMO<br />
  7. 7. Como nos ayuda el paralelismo<br />CPU1<br />Secuencial<br />Op1<br />Op2<br />Op5<br />Op3<br />Op4<br />CPU1<br />Paralela<br />CPU2<br />CPU3<br />CPU4<br />Tiempo<br />
  8. 8. DEMO<br />
  9. 9. Estoy convencido… ¿ahora qué?<br />Programación en multiples hiloses “dificil” hoy<br />Realizable porciertossubgrupos de especialistas senior<br />Patronesparalelos no son frecuentes, bienconocidos, nifáciles de implementar<br />Muchosproblemaspotenciales<br />Las empresastienenpocosdeseos de ir “hacia la médula” del asunto<br />Los mejoresdesarrolladoresdebenenfocarse en valor de negocio, no en concurrencia<br />Se necesitan simples maneras de permitir a todos los desarrolladoresescribircódigoconcurrente<br />
  10. 10. Soporte de paralelismo en .NET 4 y VS2010<br />Herramientas<br />Runtime ConcurrenciaManejada y Modelos de Programación<br />Visual Studio IDE<br />.NET Framework 4<br />Parallel LINQ<br />Parallel Debugger<br />Task Parallel Library<br />Concurrent Collections<br />Task Scheduler<br />Concurrency Visualizer<br />Sync Primitives<br />Thread Pool<br />CLR<br />
  11. 11. Extensiones Paralelas<br />Nuevas API’s de paralelismos en .NET 4<br />Loops Paralelos<br />Parallel LINQ<br />Paralelismo fino (basado en Tareas)<br />Nuevos primitivos de sincronización y colecciones concurrentes<br />Mejoras en el ThreadPool<br />
  12. 12. Metas del TPL<br />Hacer el paralelismo Simple<br />Implementando escenarios comunes<br />Pasando data de entrada y de salida de las operaciones paralelas<br />Manejando errores en operaciones paralelas<br />Interrumpiendo trabajos en progreso<br />Haciendo el paralelismo Eficiente<br />Robando trabajos y tamaño variable de pedazos de trabajos<br />Auto ajustando el tamaño del ThreadPool para soportar cargas variables<br />Reduciendo gastos generales para el trabajo paralelo<br />Dando a los desarrolladores Control, si así lo desean<br />Opciones de creación y continuidad<br />Agendamiento de tareas fuera del ThreadPool<br />
  13. 13. ¿Qué es una Tarea?<br />Representación de una operación asíncrona<br />Bloque ligero de paralelismo<br />Una forma de obtener un valor (o error) que existirá en el futuro<br />Un consistente set de abstracciones sobre el cual programar<br />Una manera sencilla de utilizar el ThreadPool para paralelismo<br />Eficiente para paralelismo «rápido»<br />También eficiente para actividades de larga duración<br />
  14. 14. DEMO<br />
  15. 15. Tareas y Colas<br />Cola Global<br />Colas Locales<br />Worker Thread #1<br />Worker Thread #2<br />Worker Thread #n<br />Task #3<br />Task #4<br />Task #5<br />Thread App.<br />Task #1<br />Task #2<br />
  16. 16. DEMO<br />
  17. 17. Recursos<br />Visual Studio 2010<br />http://www.microsoft.com/visualstudio/en-us/download<br />Guía para programación paralela<br />http://parallelpatterns.codeplex.com/<br />ParallelProgrammingwith .NET<br />http://blogs.msdn.com/b/pfxteam/<br />Blog Andrés Iturralde<br />http://aiturralde.com<br />
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×