MPIIntroducción. Paralelismo Paralelismo: Significa realizar múltiples cosas al mismo tiempo, de tal manera que se hace más trabajo en el mismo lapso de tiempo.
Uso de múltiples unidades de procesamiento para resolver un problema. Las unidades de procesamiento son: Procesos lógicos. Procesadores físicos (cores).
Uso de múltiples unidades de procesamiento operando concurrentemente sobre diferentes partes de un problema. Estas partes pueden ser: Diferentes tareas La misma tarea sobre diferentes piezas de datos.
MPIIntroducción. Tipos de paralelismo Tipos de paralelismo Memoria compartida (Shared). Memoria distribuida (Distributed). Híbrido (Shared/Distributed).
Hilos, Procesos, Multi-hilos, Multi-procesos Hilos (Threads): secuencias de ejecución que comparten un área de memoria (address space). procesos (Processes): secuencias de ejecución son su propia memoria independiente. Multi-hilos (Multi-threading): paralelismo vía multiples hilos. Multi-procesamiento (Multi-processing): paralelismo vía multiples procesos.
MPIIntroducción. Reglas generales Reglas generales Paralelismo de memoria compartida => hilos. Paralelismo distribuido => procesos. Cuantas más unidades de procesamiento se tengan se puede reducir el tiempo de ejecución. Cuantas más unidades de procesamiento se tengan se pueden resolver problemas más grandes. En la práctica algunos términos se usan indistintamente: Paralelismo Concurrencia Multihilos Multiprocesamiento
MPIIntroducción. Memoria compartida Un computadora de memoria compartida provee de hardware que soporta acceso (lectura/escritura) a un espacio de memoria para varios procesadores (Multiprocessors).
Los procesadores interactúan modificando datos almacenados en este espacio.
El mayor problema en este tipo de arquitecturas es el ancho de banda del bus de acceso a memoria.
Además, en cada lectura/escritura, cada procesador debe pasar por múltiples etapas.
Una solución es añadir una memoria local a cada procesador. UMA (Uniform Memory Access), NUMA, Cache-coherence.
MPIIntroducción. Memoria compartida Memoria compartida. Arquitectura básica
MPIIntroducción. Memoria compartida Memoria compartida. Arquitectura básica
MPIIntroducción. Memoria distribuida En este tipo de arquitectura cada procesador tiene su propia memoria local (Multicomputer).
Beneficios: No hay bus de memoria compartida (evita problemas de ancho de banda). No hay límite para el número de procesadores, esto depende de la red de interconexión. No hay problemas de cache-coherency.
Desventajas: Las tareas que se ejecutan en cada procesador solo operan sobre datos locales, por lo que si se requieren datos remotos, se debe realizar una comunicación con otros procesadores. Tiempo para construir y enviar un mensaje. Tiempo para recibir y desempaquetar el mensaje.
MPIIntroducción. Memoria distribuida Memoria distribuida. Arquitectura básica
MPIIntroducción. Memoria distribuida Memoria distribuida. Ring
Página siguiente |