cluster-computing - precio - supercomputadoras caracteristicas
¿Cuál es la diferencia entre una arquitectura de supercomputadora Cluster y MPP? (4)
¿Cuál es la diferencia entre una arquitectura de supercomputadora Cluster y MPP?
En un clúster, cada máquina es en gran medida independiente de las otras en términos de memoria, disco, etc. Están interconectadas usando alguna variación en la red normal. El clúster existe principalmente en la mente del programador y cómo elige distribuir el trabajo.
En un procesador masivamente paralelo, solo hay una máquina con miles de CPU estrechamente interconectadas. Los MPP tienen arquitecturas de memoria exóticas que permiten el intercambio de resultados intermedios a velocidades extremadamente altas con los procesadores vecinos.
Las principales variantes son SIMD (Instrucción única, datos múltiples) y MIMD (Instrucción múltiple, Datos múltiples). En un sistema SIMD, todos los procesadores ejecutan las mismas instrucciones al mismo tiempo, solo en diferentes bits de memoria. Esencialmente, solo hay un contador de programa. En una máquina MIMD, cada CPU tiene su propia PC.
Los MPP pueden ser una perra para el programa y son de uso solo en algoritmos que son vergonzosamente paralelos (en realidad así lo llaman). Sin embargo, si tiene un problema así, entonces un MPP puede ser sorprendentemente rápido. También son increíblemente caros.
He buscado en muchas publicaciones de HPC y no pude encontrar una definición concreta de MPP. Existe una gran cantidad de concesiones en un clúster que consiste en múltiples computadoras personales o estaciones de trabajo regulares interconectadas, generalmente acopladas con tecnologías estándar (como Ethernet o sistemas operativos de código abierto). El término MPP se aplica generalmente a los métodos más propietarios para construir computadoras con memoria distribuida, generalmente con tecnologías propietarias.
Por ejemplo: Tianhe-2 se considera un clúster porque usa nodos x86-64 y un sistema operativo normal (Kylin Linux). Sunway TaihuLight se considera un MPP porque sus nodos tienen su arquitectura particular, SW26010, y funcionan sobre su propio sistema operativo llamado sistema operativo Sunway Raise.
La explicación más concreta de este asunto que encontré fue en el Libro de consulta de computación paralela (Dongarra et al.) :
Notamos que el término clúster se puede aplicar de manera amplia (cualquier sistema construido con un número significativo de componentes de productos básicos) o de manera limitada (solo componentes de productos básicos y software de fuente abierta). De hecho, no hay una definición precisa de un clúster. Algunos de los problemas que se utilizan para argumentar que un sistema es un procesador masivamente paralelo (MPP) en lugar de un clúster incluyen interconexiones propietarias (...), particularmente aquellas diseñadas para una computadora paralela específica, y un software especial que trata todo el sistema Como una sola máquina, particularmente para los administradores de sistemas. Los clústeres pueden construirse a partir de computadoras personales o estaciones de trabajo (procesadores individuales o multiprocesadores simétricos (SMP)) y pueden ejecutar sistemas operativos de código abierto o propietarios.
La lista top500 utiliza una distinción ligeramente diferente entre un MPP y un clúster, como se explica en Dongarra et al. papel:
[un grupo es un] sistema informático paralelo que comprende una colección integrada de nodos independientes, cada uno de los cuales es un sistema en sí mismo, capaz de funcionar de forma independiente y derivado de productos desarrollados y comercializados para otros fines independientes
En comparación con un clúster, un MPP moderno (como el IBM Blue Gene ) está más integrado: los nodos individuales no se pueden ejecutar solos y están conectados por una red personalizada (como un toro multidimensional). Pero, al igual que en un clúster, no hay una sola memoria compartida que abarque todos los nodos (nota: un MPP puede ser jerárquico y la memoria compartida puede usarse dentro de un solo nodo (NUMA) o entre un puñado de nodos).
Por lo tanto, sería extremadamente cuidadoso al usar los términos SIMD y MIMD en este contexto, ya que generalmente describen arquitecturas de memoria compartida (SMP).
Actualizar:
Dongarra et al. enlazar
Actualización: MPP puede tener nodos que usan memoria compartida internamente; Pero no se comparte toda la memoria MPP.
Un clúster es un grupo de máquinas, normalmente una interconexión Ethernet (leer: red), cada una de las cuales es propia y una copia separada de un sistema operativo que sirve para un solo propósito.
Un supercomputador MPP generalmente implica una interconexión muy rápida y propiciatoria más rápida (por ejemplo, SGI NUMALink) que admite cualquiera de las memorias compartidas distribuidas (ejecute procesos en diferentes nodos MPP que usan memoria compartida sobre la interconexión rápida para compartir datos como si se estuvieran ejecutando en una sola computadora) o incluso una sola imagen del sistema (una instancia única de un sistema operativo, principalmente Linux, ejecutándose en todos los nodos al mismo tiempo que en una sola máquina, por ejemplo, "ps aux" en cualquier nodo le mostrará todos los procesos que se ejecutan en el MPP).
Como puede ver, la definición es bastante fluida, es más una cuestión de escala que de diferencias claras.