Arquitectura básica de la computación paralela
La principal investigación en ciencia de la computación paralela es el paralelismo espacial. Desde la perspectiva de los diseñadores de programas y algoritmos, la computación paralela se puede dividir en paralelismo de datos y paralelismo de tareas. En términos generales, debido a que el paralelismo de datos divide principalmente una tarea grande en subtareas idénticas, es más fácil de manejar que el paralelismo de tareas.
El paralelismo espacial ha llevado a la creación de dos tipos de máquinas paralelas, que según Flynn se dividen en: Single Instrucción Stream Multiple Data Stream (SIMD) y Multiple Instrucción Stream Multiple Data Stream (MIMD). La máquina en serie que usamos comúnmente también se llama flujo de datos único de flujo de instrucciones único (SISD). Las máquinas MIMD se pueden dividir en las siguientes cinco categorías comunes: procesador vectorial paralelo (PVP), multiprocesador simétrico (SMP), procesador masivamente paralelo (MPP), grupo de estaciones de trabajo (COW) y procesador de almacenamiento compartido distribuido *** (DSM). . Las computadoras paralelas tienen los siguientes cinco modelos de acceso a la memoria:
Modelo de acceso a memoria uniforme (UMA)
Modelo de acceso a memoria no uniforme (NUMA)
Acceso completo a caché Modelo de memoria (COMA)
Modelo de acceso al almacenamiento no uniforme de caché coherente (CC-NUMA)
Modelo de acceso al almacenamiento no remoto (NORMA).
A diferencia de las computadoras en serie, donde todo el mundo utiliza básicamente el modelo informático de von Neumann, las computadoras paralelas no tienen un modelo informático unificado. Sin embargo, la gente ha propuesto varios modelos de referencia valiosos: modelo PRAM, modelo BSP, modelo LogP, modelo C^3, etc.