Contactos

Sistema operativo de clúster. Resumen: Sistemas de clúster. Equipos de red y protocolos.


Departamento 29 "Gerentes de Sistemas Intelectuales"

Resumen sobre el tema:

Sistemas de clústeres

Realizado:

grupo de estudiantes K9-292.

Popov I.A.A.

Moscú 2001.

1. Introducción

2. Clases básicas de computadoras paralelas modernas.

3. Arquitectura de clúster de computadoras paralelas.

4. Metas de la creación de sistemas de clústeres.

5. Grupos de conmutación por error

6. Clusters de alto rendimiento

7. Proyecto Beowulf.

8. Conclusión

9. LITERATURA

Introducción

Desarrollo de sistemas de computación multiprocesador.

El desarrollo de las arquitecturas tradicionales para la construcción de sistemas de computación, como SMP, MPP, sistemas paralelos vectoriales se vuelve justa. Aumentos de productividad, confiabilidad y tolerancia a fallas. Sin embargo, estas arquitecturas tienen una desventaja: el costo de los sistemas que se crean, a veces inaccesibles para muchos usuarios de tales sistemas, organizaciones educativas e investigadoras. Tiene un alto debido a la complicación de los componentes de hardware y software del sistema, que deben proporcionar tasas de crecimiento de tasas de productividad. Sin embargo, la necesidad de recursos computacionales es actualmente muy alta en muchas áreas de actividades científicas y prácticas y carece de los recursos de los sistemas de supercomputación tradicionales.

Los sistemas de clúster surgieron como una solución más barata para el problema de la falta de recursos informáticos, y se basan en el uso de tecnologías generalizadas y relativamente baratas en su arquitectura, hardware y software, como PC, Ethernet, Linux, etc. El uso de la tecnología masiva en sistemas de clústeres se ha hecho posible debido al progreso significativo en el desarrollo de componentes de los sistemas de computación convencionales, como los procesadores centrales, los sistemas operativos, los medios de comunicación.

Dado que los sistemas de clúster son arquitectónicamente, el desarrollo de sistemas con paralelismo masivo MPP, el papel principal en su desarrollo es el progreso en el campo de las tecnologías de la red. Hasta la fecha, aparecieron soluciones de comunicación económicas pero efectivas. Esto predetertó la rápida apariencia y el desarrollo de sistemas de computación en racimo. Otros factores también contribuyeron al progreso del desarrollo de sistemas de clústeres.

El desempeño de las computadoras personales basadas en los procesadores Intel también ha aumentado significativamente en los últimos años. Dichas computadoras comenzaron a crear una competencia seria a las estaciones de trabajo basadas en procesadores de RISC más caros y poderosos. Al mismo tiempo, comenzó a adquirir una creciente popularidad del sistema operativo Linux, sin cargo, la versión de UNIX distribuida. Al mismo tiempo, en organizaciones científicas y universidades, donde se desarrollan la mayoría de los sistemas de clústeres, como regla general, existen especialistas en Linux OS.

El alto grado de desarrollo de sistemas de clústeres en la fecha muestra el hecho de que en la lista de las supercomputadoras más poderosas de las instalaciones de clústeres Top500 - 11 se enumeran.


Clases básicas de computadoras paralelas modernas.

Los sistemas de clúster son el desarrollo de sistemas paralelos. Para realizar el lugar de los sistemas de clústeres, entre otros tipos de arquitecturas paralelas de los sistemas informáticos, debe dar su clasificación. Los sistemas paralelos pueden ser clasificados por varios criterios.

Desde un punto de vista de hardware, el parámetro principal para la clasificación de computadoras paralelas es la disponibilidad de la memoria general (SMP) o la memoria distribuida (MPP). Algo que el promedio entre SMP y MPP es la arquitectura NUMA, donde la memoria se distribuye físicamente, pero es lógicamente accesible.

Sistemas de multiprocesador simétrico.

SMP El sistema consta de varios procesadores homogéneos y una matriz de memoria general. Uno de los enfoques de SMP de uso frecuente a la formación de un sistema de memoria público escalable, consiste en una organización de acceso de memoria uniforme organizando un canal de procesador de memoria escalable:

Cada operación de acceso a la memoria se interpreta como una transacción sobre el bus de memoria del procesador. La coherencia de caché se mantiene por hardware.

En SMP, cada procesador tiene al menos una propia memoria de caché (y tal vez varios).

Se puede decir que el sistema SMP es una computadora con varios procesadores iguales. Todo lo demás está en una instancia: una memoria, un subsistema de E / S, uno sistema operativo. La palabra "igual" significa que cada procesador puede hacer todo lo que cualquier otro. Cada procesador tiene acceso a toda memoria, puede realizar cualquier operación de entrada / salida, interrumpir otros procesadores, etc.

La desventaja de esta arquitectura es la necesidad de organizar los procesadores del procesador de canal con un ancho de banda muy alto.

Sistemas masivos paralelos.

El sistema MPP Massive-Parallel consiste en nodos informáticos homogéneos, que incluyen:

  • uno o más procesadores centrales (generalmente risc)
  • la memoria local (acceso directo a la memoria de otros nodos es imposible)
  • procesador de comunicación o adaptador de red.
  • discos duros y / u otros dispositivos en / en

Se pueden agregar componentes especiales de E / S y nodos de control al sistema. Los nodos están asociados a través de algún entorno de comunicación (red de alta velocidad, interruptor, etc.)

Sistemas con acceso no uniforme a la memoria NUMA.

NUMA (acceso a la memoria no uniforme) A diferencia del SMP habitual de la arquitectura de memoria compartida es varios procesadores separados, cada uno de los cuales, además de su propio caché, también tiene memoria local:

En tal arquitectura, los módulos de procesador y memoria están estrechamente integrados, por lo tanto, la velocidad de acceso a la memoria local es mucho mayor que la memoria del procesador "adyacente". Los subsistemas de E / S pueden ser parte de cada nodo o consolidados en los nodos de E / S seleccionados. Si la coherencia en caché se mantiene en todo el sistema, entonces dicha arquitectura se llama CC-NUMA.

La forma más fácil de describir el sistema NUMA, presentando un sistema de SMP grande, dividido en varias partes, estas piezas están asociadas con la carretera de comunicación conectada a los neumáticos del sistema, y \u200b\u200bcada parte incluye su propia memoria básica y un subsistema de entrada / salida. Esto es NUMA: SMP grande, roto en un conjunto de SMPS más pequeños y simples. El principal problema NUMA es garantizar la coherencia en caché. El equipo le permite trabajar con todos los dispositivos separados de la memoria principal de los componentes del sistema (llamados generalmente nodos) al igual que con una sola memoria gigante.

Arquitectura de clústeres

Considere la ubicación de la arquitectura de clústeres de los sistemas informáticos en esta clasificación.

El clúster es un conjunto atado de computadoras de pleno derecho utilizadas como un solo recurso. Bajo el concepto de "computadora de pleno derecho" se entiende por el completado sistema informáticoTener todo lo que se requiere para su operación, incluidos los procesadores, la memoria, el subsistema de E / S, así como el sistema operativo, los subsistemas, las aplicaciones, etc. Por lo general, las computadoras personales o los sistemas paralelos que pueden tener arquitecturas de SMP e incluso NUMA son adecuadas para esto. Los grupos son sistemas de pérdida débil, una de las tecnologías de la red estándar se utilizan por una de las tecnologías de red estándar (FAST / GIGABIT ETHERNET, MYRINET) sobre la base de la arquitectura o cambio de autobús. Por lo tanto, son más baratos en la construcción de la modificación de la arquitectura MPP.

Arquitectura agrupada de computadoras paralelas.

Principios generales

Como ya se mencionó anteriormente, el clúster de computación es un conjunto de computadoras combinadas dentro de una red determinada para resolver una tarea (Fig. 3), que se envía para el usuario como un solo recurso. Dicho concepto de grupo se sugirió y se implementó por primera vez a principios del equipo digital de la Corporación de los 80, que hasta el día de hoy desarrolla esta tecnología.

El concepto de "recurso unificado" significa la disponibilidad de software que le brinda la oportunidad a los usuarios, administradores y programas de aplicaciones para asumir que solo hay una entidad con la que trabajan es un clúster. Por ejemplo, el sistema de procesamiento de paquetes de clúster le permite enviar una tarea para el procesamiento del clúster, y no es una computadora separada. Un ejemplo más complejo son los sistemas de base de datos. Casi todos los fabricantes de sistemas de bases de datos tienen versiones que operan en modo paralelo en varias máquinas de clúster. Como resultado de la solicitud utilizando la base de datos, no se ocupe de dónde se realiza su trabajo. El DBMS es responsable de sincronizar la acción paralela y mantener la integridad de la base de datos.

Computadoras que forman un clúster: los llamados nodos de clúster, son siempre relativamente independientes, lo que permite que se detenga o apague a cualquiera de ellos para trabajo preventivo O instalando equipos adicionales sin interrumpir el rendimiento de todo el clúster.

Como nodos informáticos en el clúster, las computadoras personales de un solo procesador se usan generalmente, los servidores SMP de dos o cuatro procesadores. Cada nodo está ejecutando su copia del sistema operativo, que es más utilizado por los sistemas operativos estándar: Linux, NT, Solaris, etc. La composición y la potencia de los nodos pueden variar incluso dentro del mismo clúster, lo que permite crear sistemas inhomogéneos. La elección de un medio de comunicación particular está determinado por muchos factores: las características de la clase de tareas resueltas, la necesidad de posterior expansión del clúster, etc. Es posible habilitar computadoras especializadas en la configuración, como un servidor de archivos, y, como regla general, se proporciona la posibilidad de acceso remoto al clúster a través de Internet.

Desde la definición de la arquitectura de los sistemas de clúster, se deduce que incluye una amplia gama de sistemas. Teniendo en cuenta los puntos extremos, el clúster se puede considerar como un par de PC conectado por la red local de 10 megabit Ethernet y el sistema de computación creado como parte del proyecto Cplant en el Laboratorio Nacional Sandia: 1400 estaciones de trabajo basadas en procesadores alfa asociados con un Red de Myrinet de alta velocidad.

Por lo tanto, se puede ver que hay muchas opciones de construcción de grupos diferentes. Al mismo tiempo, las tecnologías y estándares de comunicación usados \u200b\u200bson de gran importancia en la arquitectura del clúster. Determinen en gran medida el rango de tareas, para las cuales se pueden usar grupos construidos sobre la base de estas tecnologías.

Tecnologías de la comunicación para la construcción de grupos.

Los grupos pueden soportar ambos basados \u200b\u200ben neumáticos de transmisión de datos de alta velocidad especializados y en función de las tecnologías de la red de masas. Entre las normas de comunicación masiva ahora se utiliza con la mayoría de las veces la red Ethernet o más de su opción productiva: Ethernet rápido, como regla general, sobre la base de los interruptores. Sin embargo, los grandes informes generales para enviar mensajes dentro de Fast Ethernet conducen a serias restricciones en el rango de tareas que pueden resolverse efectivamente en dicho clúster. Si un clúster requiere un gran rendimiento y versatilidad, es necesario usar más velocidad y tecnologías especializadas. Estos incluyen SCI, Myrinet, Clan, Servernet, etc. Las características comparativas de estas tecnologías se dan en
Tabla 1.

Servidor

Ethernet rápido

Latence (MPI)

Ancho de banda (MPI)

180 MB / C

Ancho de banda (hardware)

400 MB / C

160 MB / C

150 MB / C

12.5 MB / C

Implementación MPI

HPVM, MPICH-GM, etc.

Tabla 1.

El rendimiento de las redes de comunicación en sistemas de clústeres está determinado por varias características numéricas. Las características principales son dos: latencia: el tiempo de retardo inicial al enviar mensajes y ancho de banda de red, que determina la velocidad de transferencia de información a través de canales de comunicación. Al mismo tiempo, no hay tantas características máximas establecidas en el estándar tan real, logradas a nivel de las aplicaciones de usuario, por ejemplo, en el nivel de aplicación MPI. En particular, después del desafiado por el usuario de enviar un mensaje Enviar (), el mensaje pasará constantemente a través de un conjunto completo de capas determinadas por las características de la organización y el equipo del software, antes de abandonar el procesador, por lo tanto, hay una programación significativa en Los estándares de valores de latencia. La presencia de latencia conduce al hecho de que la tasa de transferencia máxima a través de la red no se puede lograr en los mensajes con una longitud pequeña.

La velocidad de transmisión de datos a través de la red dentro de la tecnología FAST Ethernet y la interfaz coherente escalable (SCI) dependen de la longitud del mensaje. Para FAST Ethernet, se caracteriza una gran variedad de latencia: 160-180 μs, mientras que la latencia de SCI es un valor de aproximadamente 5.6 μs. Tasa de transferencia máxima para estas mismas tecnologías 10 MB / C y 80 MB / S, respectivamente.

Objetivos para crear sistemas de clústeres.

Los desarrolladores de arquitecturas del sistema de clústeres han comprobado varios propósitos al crearlos. El primero fue equipo digital con clusters VAX / VMS. El propósito de crear este automóvil fue mejorar la confiabilidad del sistema, lo que garantiza una alta disponibilidad y la tolerancia a fallas del sistema. Actualmente, hay muchas arquitecturas de sistema similares de otros fabricantes.

Otro propósito de crear sistemas de clústeres es crear sistemas de computación paralelos de alto rendimiento baratos. Uno de los primeros proyectos que dio un nombre a toda una clase de sistemas paralelos, el clúster de Beowulf, se originó en el centro del Centro de Vuelos Espaciales de la NASA para apoyar los recursos informáticos necesarios del proyecto Tierra y Ciencias del Espacio. El proyecto Beowulf comenzó en el verano de 1994, y pronto se ensambló un grupo de 16 procesadores en los procesadores Intel 486DX4 / 100 MHz. Cada nodo se instaló en 16 MB. memoria de acceso aleatorio y 3 adaptadores de red Ethernet. Este sistema fue muy exitoso en relación con el precio / desempeño, por lo que dicha arquitectura comenzó a desarrollarse y usar ampliamente en otras organizaciones e institutos científicos.

Para cada clase de clusters, las arquitecturas y el hardware utilizadas son características. Considerarlos con más detalle.

Agrupaciones por error

Principios de construcción

Para garantizar la confiabilidad y la tolerancia de fallas de los sistemas informáticos, se aplican muchas soluciones de hardware y software diferentes. Por ejemplo, en el sistema, todos los sujetos sujetos a fallas: las fuentes de alimentación, los procesadores, la memoria operativa y externa pueden duplicarse. Dichos sistemas tolerantes a fallas con la reserva de componentes se utilizan para resolver problemas en los que no hay suficiente fiabilidad de los sistemas de computación convencionales que actualmente se estiman por probabilidad. trabajo sin problemas 99%. Estas tareas requieren una probabilidad de 99.999% y más. Dicha confiabilidad se puede lograr utilizando diferentes métodos para aumentar la tolerancia a la falla. Dependiendo del nivel de preparación del sistema de computación, se asignan cuatro tipos de fiabilidad para usar:

Nivel de preparación,%

Max. falta del tiempo

Tipo de sistema

3.5 días al año

Convencional)

8.5 horas por año

Alta precisión (alta disponibilidad)

1 hora por año

Resistente al fallo)

5 minutos al año

TOLERANTE A FALLOS)

Tabla 2.

En contraste con los sistemas tolerantes a fallas con componentes en exceso, así como varias variantes de multiprocesamiento, los grupos combinan máquinas relativamente independientes, cada una de las cuales se puede detener para la prevención o la reconfiguración, sin romper la capacidad de trabajo del clúster en su conjunto. El rendimiento del racimo alto y la minimización de la aplicación de inactividad se logra debido al hecho de que:

  • en el caso de una falla de alimentación en uno de los nodos, la aplicación continúa funcionando o se reinicia automáticamente en otros nodos de clúster;
  • el fallo de uno de los nodos (o varios) no conducirá al colapso de todo el sistema de clústeres;
  • el trabajo preventivo y de reparación, la reconfiguración o el cambio de versiones de software, por regla general, se puede realizar en los nodos del clúster alternativamente, sin interrumpir las operaciones de otros nodos.

Una parte integral del clúster es un software especial que, de hecho, y resuelve el problema de la recuperación del nodo en caso de falla, y también resuelve otras tareas. El software de clústeres generalmente tiene varios scripts de recuperación de sistemas predeterminados, y también pueden proporcionar al administrador la capacidad de configurar dichos escenarios. La recuperación después de las fallas se puede soportar tanto para el nodo como un todo y para componentes individuales: aplicaciones, volúmenes de disco, etc. Esta función se inicia automáticamente en el caso de una falla del sistema, y \u200b\u200btambién puede administrarse por el administrador, si es necesario, es necesario desactivar uno de los nodos para la reconfiguración.

Los clústeres pueden tener memoria compartida en discos externos, como regla general, en la matriz de discos RAID. La matriz de discos RAID es el subsistema de E / S del servidor para un almacenamiento de datos grandes. En matrices de RAID, un número significativo de discos en relación con la baja capacidad se utilizan para almacenar grandes cantidades de datos, así como para proporcionar una mayor confiabilidad y redundancia. Una computadora similar es percibida por una computadora como un solo dispositivo lógico.

La recuperación después de las fallas se puede soportar tanto para el nodo como un todo y para componentes individuales: aplicaciones, volúmenes de disco, etc. Esta función se inicia automáticamente en el caso de una falla del sistema, y \u200b\u200btambién puede administrarse por el administrador, si es necesario, es necesario desactivar uno de los nodos para la reconfiguración.

Los nodos de clúster se controlan el rendimiento de los demás e intercambian información específica de "grupo" específica, por ejemplo, una configuración de clúster, así como los datos de transmisión entre las unidades compartidas y coordinan su uso. El control de ayuda se lleva a cabo utilizando una señal especial que los nodos de clúster se transmiten entre sí para confirmar su funcionamiento normal. La terminación de la señalización de uno de los nodos señala el software de clúster sobre la falla ocurrida y la necesidad de redistribuir la carga en los nodos restantes. Como ejemplo, considere un clúster tolerante a fallas en VAX / VMS.

Cluster VAX / VMS

El DIC anunció por primera vez el concepto de un sistema de clústeres en 1983, lo que la determinó como un grupo de máquinas de computación combinadas, que son una unidad de procesamiento de información única. Esencialmente, el clúster VAX es un sistema multifacérico débilmente acoplado con una memoria externa común que proporciona un solo mecanismo de gestión y administración.

El clúster VAX tiene las siguientes propiedades:

Separación de recursos. Las computadoras VAX en un clúster pueden compartir acceso a las unidades de cinta y discos compartidos. Todas las computadoras VAX en el clúster pueden acceder a los archivos de datos separados como local.

Alta preparación. Si una de las computadoras VAX falla, las tareas de sus usuarios se pueden transferir automáticamente a otra computadora de clúster. Si hay varios controladores HSC en el sistema y uno de ellos se niega, otros controladores de HSC recogen automáticamente su funcionamiento.

Alto rendimiento . Varios sistemas de aplicaciones pueden usar la posibilidad de ejecución paralela de tareas en múltiples computadoras de clústeres.

Conveniencia de mantenimiento del sistema. . Las bases de datos compartidas se pueden servir desde un solo lugar. Los programas aplicados solo se pueden instalar una vez en discos comunes Cluster y dividido entre todas las computadoras de clúster.

Extensibilidad . Un aumento en la potencia de computación del clúster se logra conectando las computadoras VAX adicionales. Los dispositivos de almacenamiento adicionales en discos magnéticos y cintas magnéticas están disponibles para todas las computadoras incluidas en el clúster.

El funcionamiento del clúster VAX está determinado por dos componentes principales. El primer componente es un mecanismo de comunicación de alta velocidad, y el segundo es un software del sistema que proporciona a los clientes acceso transparente al servicio del sistema. Físicamente, dentro del clúster se implementa utilizando tres tecnologías de neumáticos diferentes con diferentes características de rendimiento.

Los métodos básicos de comunicación en el clúster VAX se presentan en la FIG. cuatro.

Higo. 4 cluster VAX / VMS

CI Computer Bus (interconexión por computadora) se ejecuta con una velocidad de 70 Mbps y se utiliza para conectar las computadoras VAX y los controladores de HSC utilizando el interruptor de acoplador STAR. Cada conexión CI tiene líneas redundantes, dos para la transmisión y dos para recibir, utilizando la tecnología básica CSMA, que utiliza un retraso específico para este nodo para eliminar las colisiones. La longitud máxima de comunicación CI es de 45 metros. El interruptor en forma de estrella del acoplador de estrellas puede soportar la conexión de hasta 32 neumáticos CI, cada uno de los cuales está diseñado para conectar la computadora VAX o el controlador HSC. El controlador HSC es un dispositivo inteligente que controla el funcionamiento de los discos de disco y cinta.

Las computadoras VAX se pueden combinar en un clúster también a través de una red local.

Ethernet que utiliza la interconexión NI - Red (los llamados grupos vax locales), pero el rendimiento de dichos sistemas es relativamente bajo debido a la necesidad de compartir el ancho de banda de la red Ethernet entre las computadoras de clúster y otros clientes de la red.

También los clústeres pueden costar los neumáticos DSSI (interconexión del sistema de almacenamiento digital). En el bus DSSI se puede combinar a cuatro computadoras, la clase media y la clase media. Cada computadora puede soportar múltiples adaptadores DSSI. Un bus DSSI separado funciona con una velocidad de 4 MB / s (32 Mbps) y le permite conectar hasta 8 dispositivos. Los siguientes tipos de dispositivos son compatibles con el adaptador del sistema DSSI, el controlador de disco de la serie RF y el controlador de la cinta de la serie TF. DSSI limita la distancia entre los nodos en el grupo de 25 metros.

Sistema Software Vax Clusters

Para garantizar la interacción correcta de los procesadores entre sí al acceder a los recursos compartidos, como discos, DEC utiliza un administrador de bloqueo DLM distribuido (administrador de bloqueo distribuido). Una característica DLM muy importante es garantizar el estado coherente de cachés de disco para los programas de operaciones de E / S del sistema operativo y programas de aplicación. Por ejemplo, las aplicaciones relacionales de DLM son responsables de mantener el estado acordado entre los tampones de la base de datos en varias computadoras de clústeres.

La tarea de mantener la coherencia de la memoria caché de E / S entre los procesadores en el clúster es similar al problema de mantener la coherencia de la memoria caché en un sistema multiprocesador fuertemente conectado construido sobre la base de un cierto neumático. Los bloques de datos pueden aparecer simultáneamente en varios cachés y si un procesador modifica una de estas copias, otras copias existentes no reflejan el estado actual del bloque de datos. El concepto de capturar un bloque (propiedad de bloques) es una de las formas de gestionar tales situaciones. Antes de que la unidad pueda ser modificada por la propiedad del bloque.

Trabajar con DLM está asociado con costos generales significativos. Los gastos generales en el entorno VAX / VMS pueden ser grandes que requieren transmisión de hasta seis mensajes sobre el bus CI para una operación de E / S. Los gastos generales pueden alcanzar los valores del 20% para cada procesador en el clúster.

Clusters de alto rendimiento

Principios de construcción

La arquitectura de los grupos de alto rendimiento apareció como el desarrollo de los principios de la construcción de sistemas MPP sobre componentes menos productivos y masivos controlados por el uso general del propósito general. Los grupos, así como los sistemas MPP, consisten en nodos débilmente acoplados, que pueden ser tanto homogéneos como, en contraste con MPP, varios o heterogéneos. Se presta especial atención en el diseño de una arquitectura de clúster de alto rendimiento para garantizar la alta eficiencia del neumático de comunicación que conecta los nodos del clúster. Dado que a menudo hay neumáticos masivos relativamente bajo de rendimiento en grupos, es necesario tomar una serie de medidas para excluir su bajo ancho de banda en el rendimiento del clúster y la organización de la paralelización efectiva en el clúster. Por ejemplo, el ancho de banda de una de las tecnologías Ethernet FAST más rápidas a las órdenes es menor que la de las interconexiones en las supercomputadoras modernas de la arquitectura de MRR.

Para resolver los problemas de rendimiento de bajo producto, se utilizan varios métodos:

El clúster se divide en varios segmentos, dentro de los cuales los nodos están conectados por un neumático de alto rendimiento del tipo MYRINET, y la conexión entre los nodos de diferentes segmentos se realiza mediante redes de bajo rendimiento de TIPO ETHERNET / FAST Ethernet. Esto le permite reducir el costo de los clústeres para aumentar significativamente el rendimiento de dichos grupos mientras resuelve tareas con intercambio de datos intensivos entre los procesos.

El uso del llamado "troncal", es decir, Combinando múltiples canales Ethernet rápido a un canal común de alta velocidad que conecta múltiples interruptores. La desventaja obvia de este enfoque es la "pérdida" de porciones de puertos involucrados en la interconexión de los interruptores.

Para mejorar el rendimiento, se crean protocolos de intercambio de información especial en tales redes que le permiten usar un ancho de banda de canal de mayor eficiencia y eliminar algunas restricciones superpuestas con protocolos estándar (TCP / IP, IPX). Este método se usa a menudo en los sistemas de la clase Beowulf.

La calidad principal que debe tener un grupo de alto rendimiento será la escalabilidad horizontal, ya que una de las principales ventajas de que la arquitectura del clúster proporciona la capacidad de aumentar la potencia sistema existente Simplemente agregando nuevos nodos al sistema. Además, el aumento de la potencia ocurre casi en proporción al poder de los recursos agregados y se puede llevar a cabo sin detener el sistema durante su funcionamiento. En los sistemas con otra arquitectura (en particular, MPP), solo la escalabilidad vertical generalmente es posible: agregar memoria, aumentando el número de procesadores en sistemas multiprocesador o agregue nuevos adaptadores o discos. Le permite mejorar temporalmente el rendimiento del sistema. Sin embargo, el sistema se establecerá en el número máximo admitido de memoria, procesadores o discos, los recursos del sistema se agotarán y aumentarán la productividad, deberá crear un nuevo sistema o procesar significativamente el viejo. El sistema de clústeres también admite escalabilidad vertical. Por lo tanto, mediante escalado vertical y horizontal, el modelo de clúster proporciona una mayor flexibilidad y simplicidad del aumento del rendimiento del sistema.

Proyecto Beowulf.

Beowulf es una epopeya escandinava que cuenta sobre los eventos del VII, el primer tercio del siglo VI, cuyo participante es el héroe del mismo nombre, que se glorifica en batallas.

Un ejemplo de la implementación del sistema de clústeres de tal estructura son los grupos de rabia. El proyecto Beowulf se unió sobre una docena de organizaciones y media (principalmente universidades) en los Estados Unidos. Los principales desarrolladores de proyectos son especialistas de la Agencia de la NASA. En esta forma de clústeres, puede asignar las siguientes características principales:

El grupo Beowulf consta de varios nodos separados, combinados en una red común, no se utilizan los recursos totales de los nodos del clúster;

Se considera que el óptimo construye grupos según los sistemas SMP de dos procesadores;

Para reducir la sobrecarga de la interacción entre los nodos, se usa un Ethernet FAST FAST-DUPLEX 100 MB (SCI es menos común), cree varios segmentos de red o conecte los nodos de clúster a través del interruptor;

Como software, Linux se utiliza y se distribuyen libremente bibliotecas de comunicación (PVM y MPI);

Historia del proyecto Beowulf.

El proyecto comenzó en el verano de 1994 en el Centro Espacial de la NASA, el Centro de Vuelos Espaciales de Goddard (GSFC), más precisamente en el CESDIS creado por su base (centro de excelencia en los datos del espacio y las ciencias de la información).

El primer grupo de Beowulf fue creado sobre la base de computadoras Intel Arquitectura bajo el sistema operativo Linux. Era un sistema que consta de 16 nodos (en los procesadores 486dx4 / 100MHz, la memoria de 16 MB y 3 adaptadores de red en cada nodo, los cables Ethernet "paralelos" de 3 "para 10mbit). Fue creado como un recurso informático del proyecto "Proyecto de Ciencias de la Tierra y Space" (ESS).

Siguiente en GSFC y otras divisiones de la NASA, se recogieron otros grupos más poderosos. Por ejemplo, el entorno virtual integrado altamente paralelo) contiene 64 nodos de 2 procesadores de memoria Pentium PRO / 200MHZ y 4GB en cada uno, 5 interruptores Ethernet rápidos. El costo total de este clúster es de aproximadamente $ 210 mil. El proyecto Beowulf ha desarrollado una serie de controladores de red especializados y de alto rendimiento (en particular, el controlador para usar múltiples canales Ethernet simultáneamente).

Arquitectura beowulf.

Nodos de clúster.

Esto es un PC de un solo procesador, o servidores SMP con un pequeño número de procesadores (2-4, posiblemente hasta 6). Por alguna razón, se considera que la óptima construye grupos según los sistemas de dos procesadores, a pesar del hecho de que, en este caso, la configuración del clúster será algo más complicada (principalmente porque no se permite placas base relativamente económicas para 2 procesadores Pentium II / III ). Vale la pena instalarla para cada nodo RAM 64-128MB (para sistemas de dos procesadores 64-256MB).

Uno de los autos debe destacarse como centro central (cabeza) donde instalar bastante grande hdd, quizás un procesador más poderoso y más memoria que los nodos de descanso (trabajando). Tiene sentido proporcionar (protegido) la conexión de esta máquina con el mundo exterior.

Cuando se configuran los componentes de trabajo, es muy posible abandonar los discos duros: estos nodos descargarán el sistema operativo a través de la red desde la máquina central, que, además de guardar fondos, le permite configurar el sistema operativo y todo lo que necesita solo 1 Tiempo (en la máquina central). Si estos nodos no se usan simultáneamente como trabajos personalizados, no hay necesidad de instalar tarjetas de video y monitores. Es posible instalar nodos en el bastidor (montaje en rack), que reducirá el lugar ocupado por los nodos, pero costará un poco más caro.

Es posible organizar grupos en función de las redes existentes de estaciones de trabajo, es decir. Las estaciones de trabajo de usuario se pueden usar como nodos de clúster de noche y los fines de semana. Los sistemas de este tipo a veces se llaman vaca (grupo de estaciones de trabajo).

El número de nodos debe ser elegido sobre la base de los recursos informáticos necesarios y los recursos financieros disponibles. Debe entenderse que con un gran número de nodos, también tendrá que establecer equipos de red más complejos y costosos.

Los principales tipos de redes locales involucradas en el proyecto Beowulf son Gigabit Ethernet, FAST Ethernet y 100-VG Anylan. En el caso más simple, se usa un segmento Ethernet (10MBI / SEC en par trenzado). Sin embargo, la baratura de dicha red, debido a las colisiones, se convierte en grandes costos generales para los intercambios de interprocesadores; Y el buen desempeño de dicho clúster debe esperarse solo en tareas con una estructura paralela muy simple y con interacciones muy raras entre los procesos (por ejemplo, las opciones de reventador).

Para obtener un buen rendimiento de intercambio de interprocesadores, Full-Duplex Fast Ethernet se usa por 100Mbit / Sec. Al mismo tiempo, para reducir la cantidad de colisiones o establecer varios segmentos de Ethernet "paralelo", o conectar los nodos del clúster a través del interruptor (interruptor).

Más caro, pero también una opción popular es usar interruptores de tipo MYRINET (1.28gbit / seg, dúplex completo).

Menos popular, pero también se usa en realidad al construir grupos. tecnologías de red Son tecnologías de clan, SCI y Gigabit Ethernet.

A veces, para la comunicación entre los nodos de clúster, varios canales de telecomunicaciones se utilizan en paralelo: la llamada "unión del canal" (unión de canales), que se usa comúnmente para la tecnología Ethernet FAST. En este caso, cada nodo está conectado al interruptor FAST Ethernet con más de un canal. Para lograr esto, los nodos están equipados con múltiples tarjetas de red o tableros de multipuerto Ethernet rápidos. El uso de la unión de canales en los nodos que ejecute el software Linux le permite organizar una distribución uniforme de la carga de recepción / transmisión entre los canales correspondientes.

Sistema de sistema

Sistema operativo. El sistema Linux generalmente se usa en versiones específicamente optimizadas para cálculos paralelos distribuidos. El kernel Linux 2.0 fue refinado. En el proceso de construcción de grupos, resultó que los controladores de dispositivo de red estándar en Linux son muy ineficaces. Por lo tanto, se han desarrollado nuevos conductores, en primer lugar para redes FAST Ethernet y Gigabit Ethernet, y es posible combinar lógicamente varias conexiones de red paralelas entre computadoras personales (similares a la enlace del canal de hardware), que permite redes locales baratas con bajas. Ancho de banda, para construir una red con alto ancho de banda acumulativo.

Como en cualquier clúster, hay una copia del kernel del sistema operativo en cada nodo de clúster. Gracias a la finalización, se garantiza la singularidad de los identificadores de procesos dentro de todo el clúster, y no los nodos individuales.

Bibliotecas de comunicación. La interfaz de programación paralela más común en el modelo de transferencia de mensajes es MPI. Implementación gratuita recomendada MPI - Paquete MPIC desarrollado en Argon National Laboratory. Para los clústeres basados \u200b\u200ben el conmutador Myrinet, se ha desarrollado un sistema HPVM, que también incluye la implementación de MPI.

Para una organización efectiva de paralelismo dentro de un SMP-Systems, dos opciones son posibles:

  1. Para cada procesador en la máquina SMP genera un proceso MPI separado. Los procesos de MPI dentro de este sistema intercambian mensajes a través de la memoria compartida (debe configurar MPICM en consecuencia).
  2. Solo se inicia un proceso MPI en cada máquina. Dentro de cada proceso MPI, la paralelización se realiza en el modelo "Memoria compartida", por ejemplo, utilizando las directivas OpenMP.

Después de instalar la implementación de MPI tiene sentido para probar rendimiento real Envíos de red.

Además de MPI, hay otras bibliotecas y sistemas de programación paralelos que se pueden usar en grupos.

Ejemplo de la implementación del clúster de Beowulf - Avalon

En 1998, en el Astrophysicik Michael Warren de Los Alamos Nacional y otros científicos de un grupo de astrofísicos teóricos construyeron una supercomputadora de Avalon, que es un beowulf -claster basado en los procesadores DC Alpha / 533MHz. Avalon originalmente consistió en 68 procesadores, luego se extendió a 140. En cada nodo, 256 MB de RAM, un disco duro de EADE en 3.2GB, un adaptador de red de Kingston (el costo total del nodo es de $ 1700). Los nodos están conectados utilizando los interruptores de 46-36 puertos de Ethernet FAST ETHERNET y el interruptor de 12 puertos del centro "Gigabit Ethernet de 3COM.

El costo total de Avalon es de $ 313 mil, y su rendimiento de LinPack (47.7 GFLOPS) le permitió tomar el lugar 114 en la 12ª edición de la Lista Top500 (junto al sistema de procesadores de 152 IBM SP2). La configuración de 70 procesadores de Avalon en muchas pruebas ha mostrado el mismo rendimiento que el costo del sistema del procesador SGI ORIGE2000 / 195MHz de 64 procesadores, excede los $ 1 millón.

Actualmente, Avalon se usa activamente en cálculos científicos astrofísicos, moleculares y otros. En la conferencia SC "98, Avalon's Creatores presentó un informe titulado" Avalon: un clúster Alpha / Linux logra 10 GFLOPS por $ 150k "y mereció un premio en términos de precio / rendimiento (" Precio de la campana Gordon / Precio de rendimiento "de 1998)).

Conclusión

Los principales fabricantes de microprocesadores: Sun Microsystems, Dell e IBM tienen el mismo punto de vista al futuro de la industria de los supercomputadores: para reemplazar los supercomputadores individuales, independientes deben incluir un grupo de servidores de alto rendimiento combinados en un clúster. Hoy en día, los sistemas de clústeres distribuidos están por delante de las supercomputadoras clásicas modernas en términos de desempeño: la computadora más poderosa del mundo - IBM ASCI White: tiene una capacidad de 12 Teraflops, rendimiento de la red [Correo electrónico protegido] Se estima en alrededor de 15 Teraflops. Al mismo tiempo, IBM ASCI White se vendió por $ 110 millones, y en toda la historia de la existencia. [Correo electrónico protegido] Se gastó unos 500 mil dólares.

Literatura

2. http://www.beowulf.com.

3. http://newton.gsfc.nasa.gov/thehive/

4. Lobos, http://www.lobos.nih.gov.

5. http://parallel.ru/news/kentucky_klat2.html

6. http://parlell.ru/news/anl_chibacity.html.

7. http://parlell.ru/cluster/

8. http://www.ptc.spbu.ru.

Computadoras MIMD

La computadora MIMD tiene NORTE. procesadores de forma independiente NORTE. Corrientes de comando y procesamiento NORTE. Corrientes de datos. Cada procesador funciona bajo el control de su propio flujo de comandos, es decir, la computadora MIMD puede realizar programas completamente diferentes en paralelo.


La arquitectura MIMD se clasifica aún más dependiendo de organización física La memoria, es decir, si el procesador tiene su propia memoria local y se refiere a otros bloques de memoria utilizando una red de conmutación, o la red de conmutación conecta todos los procesadores a la memoria pública. Sobre la base de la organización de la memoria, los siguientes tipos de arquitecturas paralelas distinguen:

  • Computadoras con memoria distribuida. (Memoria distribuida.)
    El procesador puede acceder a la memoria local, puede enviar y recibir mensajes transmitidos a través de los procesadores de conexión de red. Los mensajes se utilizan para comunicarse entre los procesadores o, equivalente a la lectura y la escritura de bloques de memoria remota. En una red idealizada, el costo de enviar un mensaje entre dos nodos de red no depende tanto de la ubicación de ambos nodos como en el tráfico de la red, sino que depende de la longitud del mensaje.

  • Computadoras con memoria general (compartida) (Verdadera memoria compartida.)
    Todos los procesadores se refieren conjuntamente a una memoria común, generalmente a través de un neumático o jerarquía. En un cochecito idealizado (máquina de acceso aleatorio paralelo, una máquina paralela con acceso arbitrario), un modelo, a menudo utilizado en estudios teóricos de algoritmos paralelos, cualquier procesador puede acceder a cualquier celda de memoria al mismo tiempo. En la práctica, la escalabilidad de esta arquitectura generalmente conduce a alguna forma de jerarquía de memoria. La frecuencia de acceso a la memoria general puede reducirse al guardar copias de los datos utilizados con frecuencia en el caché asociado con cada procesador. El acceso a esta memoria de efectivo es mucho más rápido que el acceso directo a la memoria general.

  • Computadoras con memoria virtual compartida (compartida) (Memoria virtual compartida.)
    Falta la memoria general. Cada procesador tiene su propia memoria local y puede acceder a la memoria local de otros procesadores utilizando la "dirección global". Si la "dirección global" indica que no es la memoria local, se implementa el acceso a la memoria utilizando los mensajes enviados por la red de comunicación.

Un ejemplo de máquinas con memoria compartida puede ser:

  • Sun Microsystems (estaciones de trabajo multiprocesador)
  • Desafío de gráficos de silicona (estaciones de trabajo multiprocesador)
  • Simetría secuencial.
  • Convexo
  • Cray 6400.

Las siguientes computadoras pertenecen a la clase de máquinas con memoria distribuida.

  • IBM-SP1 / SP2
  • Parsytec gc.
  • CM5 (Pensando Machine Corporation)
  • Cray t3d.
  • Paragon (Intel Corp.)
  • ncube.
  • Meiko cs-2
  • Avx (alex paralelo a las computadoras)
  • IMS B008.

La arquitectura MIMD con memoria distribuida también se puede clasificar en el ancho de banda de la red de desplazamiento. Por ejemplo, en la arquitectura en la que las pares del procesador y el módulo de memoria (elemento del procesador) están conectadas por una red con topologías schgtka Cada procesador tiene el mismo número de conexiones de red, independientemente del número de procesadores de computadora. El ancho de banda total de dicha red crece linealmente en relación con el número de procesadores. Por otro lado, en la arquitectura que tiene una red con topologías. hyperkub El número de conexiones de procesador a la red es una función logarítmica del número de procesadores, y el ancho de banda de red aumenta más rápido que linealmente en relación con el número de procesadores. En topología camarilla Cada procesador debe estar conectado a todos los demás procesadores.


Red con Topología 2D schgtka (cOLINA)

Red con Topología 2D cOLINA


Red con topología camarilla

Centro Nacional de Aplicaciones Supercomputadoras (Universidad PC. Illinois, Urbana-Champaign)

MPI: la interfaz de paso del mensaje

El nombre "Interfaz de transmisión de mensajes", habla por sí mismo. Este es un mecanismo bien estandarizado para construir programas paralelos en el modelo de mensajería. Hay un "encuadernamientos" estándar MPI a Idiomas C / C ++, Fortran 77/90. Existen implementaciones gratuitas y comerciales para casi todas las plataformas supercomputadoras, así como para las redes de estaciones de trabajo UNIX y Windows NT. Actualmente, MPI es la interfaz más utilizada y desarrollada dinámicamente de su clase.

Beowulf - Clusters basados \u200b\u200ben OS Linux

Mikhail kuzminsky

"Sistemas abiertos"

En el umbral de milenios, tenemos todas las posibilidades de presenciar la monopolización de la industria informática, que pueden cubrir microprocesadores y sistemas operativos. Por supuesto, estamos hablando de microprocesadores de Intel (Merced amenaza hasta el inicio de los procesadores de arquitectura de RISC) y OS de Microsoft.

En ambos casos, el éxito se determina en gran medida por el poder de la máquina de marketing, y no solo las propiedades de "consumidor" de los productos producidos. En mi opinión, la comunidad informática aún no se ha dado cuenta de la escala de posibles consecuencias.

Algunos expertos comparan la potencial monopolización del mercado informático con la dominación de IBM Monopoly observada en los años 70, tanto en el área de mainframes y sistemas operativos. He estado trabajando con esta técnica durante mucho tiempo y, como se distribuye el UNIX en nuestro país, es cada vez más consciente de muchas ventajas del sistema operativo IBM MVS. Sin embargo, comparto un punto de vista común de que tal monopolio no contribuyó a la aceleración del progreso.

Las universidades occidentales, que, a la vez, entre las primeras pasadas al uso de UNIX, aún en sus desarrollos prometedores se basan en este sistema, y \u200b\u200bLinux se está convirtiendo cada vez más como una plataforma. Este artículo está dedicado a uno de los desarrollos académicos instructivos.

Linux como fenómeno social

Ya no nos sorprende el hecho de que Linux ha mostrado un fenómeno notable de la vida informática. En combinación con el conjunto más rico de la GNU de software de distribución libremente, este sistema operativo se ha vuelto extremadamente popular entre los usuarios no comerciales que tenemos y en el extranjero. Su popularidad está aumentando. Versiones Linux existen no solo para plataformas Intel x86, pero también para otras arquitecturas de procesadores, incluyendo Dec Arha, y se usan ampliamente para aplicaciones de Internet, así como las tareas de la naturaleza estimada. En resumen, Linux se convirtió en una especie de "sistema operativo de la gente". Casi, sin embargo, dice que Linux no tiene lugares débiles; Uno de ellos es un apoyo insuficiente para las arquitecturas SMR.

La forma más barata de construir recursos informáticos, incluido el poder de la computación, es construir un clúster. Las supercomputadoras masivas paralelas con memoria operativa distribuida física y lógica también pueden considerarse como grupos peculiares. El ejemplo más vívido de tal arquitectura es la famosa computadora IBM SP2.

Toda la pregunta es que las computadoras (nodos) en el clúster se unen. En los supercomputadores "reales", el equipo especializado y por lo tanto caro diseñado para proporcionar un alto ancho de banda. En clústeres, como regla general, se aplican estándares de red ordinarios: Ethernet, FDDI, ATM o HIRI.

Las tecnologías de clúster que utilizan el sistema operativo Linux comenzó a desarrollarse hace varios años y estuvieron disponibles mucho antes de que aparezca WolFrack para Windows NT. Entonces, a mediados de la década de 1990, se originó el proyecto Beowulf.

Héroe del poema épico

Beowulf es una epopeya escandinava que cuenta sobre los eventos del VII, el primer tercio del siglo VII, cuyo participante es el héroe del mismo nombre, que se glorificó en batallas. No se sabe si los autores del proyecto fueron concebidos, ¿con quién combatirán ahora a Beowulf (probablemente con Windows NT?), Sin embargo, la imagen heroica hizo posible combinar alrededor de una y media docenas de organizaciones en el consorcio (principalmente universidades) en los Estados Unidos. Sin embargo, no se puede decir que los centros de supercomputadores dominan entre los participantes del proyecto, sin embargo, los grupos Loki y Megalon se instalan en los centros de computación de alto rendimiento de los famosos de alto rendimiento, como Los Alamos y el Laboratorio Sandia del Departamento de Energía de los Estados Unidos; Los principales desarrolladores de proyectos son especialistas de la Agencia de la NASA. En general, sin excepción, los clústeres creados por los participantes del proyecto reciben nombres en voz alta.

Además de Beowulf, se conoce una tecnología de clúster más cercana, ahora. En ahora, las computadoras personales generalmente contienen información sobre ellos mismos y las tareas, y los deberes del administrador del sistema de dicho clúster incluyen la formación de esta información. Los grupos de Beowulf en este sentido (es decir, desde el punto de vista del administrador del sistema) son más simples: allí los nodos individuales no conocen la configuración del clúster. Solo un nodo seleccionado contiene información de configuración; Y solo tiene una conexión en la red con el mundo exterior. Todos los demás nodos de clúster se combinan con una red local, y solo el "puente delgado" de la unidad de control con el mundo exterior está conectado.

Los nodos en la tecnología Beowulf son placas base de PC. Por lo general, los discos duros locales también están involucrados en los nodos. Los tipos estándar de redes locales se utilizan para conectar nodos. Consideraremos esta pregunta a continuación, primero nos detendremos en el software.

Su fundación en Beowulf es el sistema operativo Linux disponible comercialmente, que se puede comprar en el CD-ROM. Al principio, la mayoría de los participantes del proyecto se centraron en los CD publicados por SLACKWARE, y ahora las preferencias se prefieren por la versión de Redhat.

En el sistema operativo Linux habitual, puede instalar medios conocidos de paralelización en el modelo de mensajería (LAM MRI 6.1, PVM 3.3.11 y otros). También puede usar el estándar R-Roscas y los medios estándar de interacción de interprocesador, que se incluyen en cualquier sistema UNIX V. como parte del proyecto Beowulf, se realizaron desarrollos adicionales graves.

En primer lugar, se debe tener en cuenta el refinamiento del kernel de Linux 2.0. En el proceso de construcción de grupos, resultó que los controladores de dispositivo de red estándar en Linux son muy ineficaces. Por lo tanto, los nuevos conductores fueron desarrollados (por la mayoría de los desarrollos, Donald Becker), en primer lugar para redes FAST Ethernet y Gigabit Ethernet, y es posible combinar lógicamente varias conexiones de red paralelas entre computadoras personales, lo que permite redes locales baratas con más de velocidad modesta, construir una red con alto ancho de banda acumulativo.

Como en cada clúster, su propia copia del núcleo del sistema operativo vive en cada nodo. Gracias a la finalización, la singularidad de los identificadores de procesos dentro de todo el clúster, y no los nodos individuales, así como la "entrega remota" de las señales de Linux OS se aseguran.

Además, es necesario marcar las descargas a través de la red (NetBooting) cuando se trabaja con las placas base Intel PR 440FX, y también se pueden usar para trabajar con otras placas base equipadas con AMI BIOS.

Las características muy interesantes proporcionan mecanismos de memoria virtual de red o memoria distribuida compartida de DSM (memoria compartida distribuida), lo que le permite crear una "ilusión" específica de la memoria general de los nodos.

Red - Materia delicada

Dado que para paralelar las aplicaciones de supercomputación en general, y se necesitan clúster en particular, se necesitan altos anchos de banda y bajos retrasos en la mensajería entre los nodos, las características de la red se convierten en parámetros que definen el rendimiento del clúster. La elección de los microprocesadores para nodos es obvia: estos son procesadores de producción de Intel estándar; Pero con la topología del clúster, los tableros de circuito de red y de red, puede experimentar. Es en esta área que se realizó la investigación principal.

Al analizar las diversas tarjetas de red PC presentadas hoy en día en el mercado, se prestaron especial atención a las características como el soporte de transmisión efectivo (multidifusión), el trabajo de soporte con paquetes de tamaños grandes, etc. Los principales tipos de redes locales involucradas en el proyecto Beowulf, - Este es Gigabit Ethernet, Fast Ethernet y 100-VG Anylan. (Las capacidades de la tecnología ATM también fueron estudiadas activamente, pero en la medida en que se conoce al autor, se realizó fuera del marco de este proyecto).

Cómo recoger una supercomputadora

Después de analizar los resultados del trabajo realizado en el proyecto Beowulf, puede llegar a la siguiente conclusión: las soluciones encontradas le permiten ensamblar de forma independiente un clúster de alto rendimiento según los componentes estándar para los componentes de PC y usar el software habitual. Entre los casos más grandes, es imposible no marcar el clúster de 50 nodos en CESDIS, que incluye 40 nodos de procesamiento de datos (basado en un solo y dos procesadores Rentium Рro / 200 MHz) y 10 nodos de escalado (tablero de doble procesador de la Rentium Р / 166 MHz). La relación de costo / rendimiento máximo en dicho clúster es muy exitoso. La pregunta es cuán eficientemente es posible para aplicaciones paraleras, en otras palabras, lo que será real, y no el rendimiento máximo. Los participantes del proyecto ahora están trabajando en la solución de este problema.

Cabe señalar que la construcción de grupos de PC ordinarios se vuelve de moda hoy en día en un entorno científico. Algunas instituciones académicas en nuestro país también planean crear grupos similares.

Al combinar computadoras en un grupo de diferentes potencias o diferentes arquitecturas, dicen grupos heterogéneos (inhomogéneos). Los nodos de clúster pueden usarse simultáneamente como estaciones de trabajo personalizadas. En el caso de que no sea necesario, los nodos pueden facilitarse significativamente y / o instalarse en el bastidor.

Las estaciones de trabajo del sistema operativo estándar se utilizan, con mayor frecuencia, distribuidas libremente, Linux / FreeBSD, junto con medios especiales para respaldar la programación paralela y la distribución de carga. La programación, por regla general, dentro del marco del modelo de transferencia de mensajes (la mayoría de las veces, MPI). Se discute con más detalle en el siguiente párrafo.

La historia del desarrollo de la arquitectura de clústeres.

El DIC anunció por primera vez el concepto de un sistema de clústeres en 1983, lo que la determinó como un grupo de máquinas de computación combinadas, que son una unidad de procesamiento de información única.

Uno de los primeros proyectos que dio un nombre a toda la clase de sistemas paralelos: los grupos de Beowulf, se originaron en el centro del Centro de vuelo espacial de la NASA Goddard para apoyar los recursos informáticos necesarios del proyecto Tierra y Ciencias del Espacio. El proyecto Beowulf comenzó en el verano de 1994, y se recolectó un grupo de 16 procesadores pronto en los procesadores Intel 486DX4 / 100 MHz. Cada nodo se instaló 16 MB de adaptadores Ethernet de RAM y 3 Red. Para trabajar en dicha configuración, se han desarrollado conductores especiales que distribuyen tráfico entre las tarjetas de red disponibles.

Más tarde, en GSFC, un grupo de ambiente virtual integrado altamente paralelo, cuya estructura se muestra en la FIG. 2. Este grupo consta de cuatro subclusters E, B, G y DL, combinando 332 procesadores y dos hosts seleccionados. Todos los nodos de este clúster están ejecutando RedHat Linux.

En 1998, en el Laboratorio Nacional de los Alamos de Astrophysicik Michael Warren y otros científicos de un grupo de astrofísicos teóricos construyeron una supercomputadora Avalon, que es un clúster de Linux basado en procesadores alfa 21164A con una frecuencia de reloj de 533 MHz. Inicialmente, Avalon consistió en 68 procesadores, luego se extendió a 140. En cada nodo, se instaló 256 MB de RAM, un disco duro en un adaptador de red de 3 GB y un adaptador de red Ethernet rápido. El costo total del proyecto Avalon fue de 313 mil dólares, y el rendimiento mostrado en la prueba de LinPack - 47.7 GFLOPS, le permitió tomar 114º lugar en la 12ª edición de la lista Top500 junto al sistema de procesador de 152 IBM RS / 6000 SP. En la misma 1998, en la conferencia más prestigiosa en el campo de la explotación informática de alto rendimiento "98, Avalon hizo un informe" Avalon: un clúster alfa / Linux logra 10 gflops por $ 150k ", que recibió el primer premio en la nominación. Nominación "Mejor precio / rendimiento".

En abril de este año, se instaló un grupo de velocidad +, que consta de 64 nodos con dos nodos con dos procesadores Pentium III / 733 MHz y 2 GB de RAM cada uno y 2 GB de RAM cada uno y con un disco total de 27 GB se instalaron para estudios biomédicos en Universidad de Cornell. Los nodos trabajan bajo control de Windows 2000 y combinado por el clan Giganet.

Las lotes cajas en el proyecto de los estantes se implementan en el Instituto Nacional de Salud de los EE. UU. En abril de 1997 y es interesante para usar Gigabit Ethernet como entorno de comunicaciones. Primero, el clúster consistió en 47 nodos con dos procesadores Pentium PRO / 200 MHz, 128 MB de RAM y un disco de 1.2 GB en cada nodo. En 1998 fue implementado.

la siguiente etapa del proyecto es Lobos2, durante la cual los nodos se transformaron en computadoras de escritorio mientras se mantuvieron la combinación en un clúster. Ahora Lobos2 consta de 100 nodos informáticos que contienen dos procesadores Pentium II / 450 MHz, 256 MB de operacional y 9 GB de memoria de disco. Además del grupo, 4 computadoras de control con una capacidad total de matriz de RAID de 1.2 TB están conectadas.

Uno de los últimos desarrollos de clústeres fue la supercomputadora AMD Presto III, que es un grupo de Beowulf de 78 procesadores de Athlon. La computadora está instalada en el Instituto Tecnológico de Tokio. Hasta la fecha, AMD ha construido 8 supercomputadores unidos en clústeres utilizando el método de Beowulf que ejecuta Linux OS.

CLUSTERS DE IBM

RS / 6000.

IBM ofrece varios tipos de sistemas mal relacionados basados \u200b\u200ben RS / 6000, combinados en grupos y corriendo bajo control producto de software Multiprocesador de alta disponibilidad closed / 6000 (HACMP / 6000).

Los nodos de clúster operan en paralelo, compartiendo el acceso a recursos lógicos y físicos utilizando las capacidades del Administrador de bloqueo incluidas en el HACMP / 6000.

Comenzando con el anuncio en 1991, el producto HACMP / 6000 estaba constantemente evolucionando. Incluye un gerente de recursos paralelo, un administrador de bloqueo distribuido y un administrador de volumen lógico paralelo, y este último proporcionó la posibilidad de equilibrar la carga a nivel de todo el clúster. El número máximo de nodos en el clúster aumentó a ocho. Actualmente, los nodos con el procesamiento de multiprocesamiento simétrico, construido utilizando el interruptor de la barra transversal de datos, que proporciona un crecimiento de rendimiento lineal con un aumento en el número de procesadores aparecieron en el clúster.

Los grupos RS / 6000 se construyen sobre la base de las redes locales Ethernet, Token Ring o FDDI y se pueden configurar de varias maneras en términos de mejorar la alta confiabilidad:

  • Reserva caliente o fácil cambio en caso de falla. En este modo, el nodo activo realiza tareas de aplicación, y la copia de seguridad puede realizar tareas no críticas que pueden detenerse si es necesario cuando se necesita el conjunto activo.
  • Reserva simétrica. Similar a la reserva caliente, pero el papel de los nodos principales y de la copia de seguridad no se fija.
  • Pastelización o modo mutuo con distribución de carga. En este modo, cada nodo en el clúster puede "recoger" las tareas que se realizan en cualquier otro nodo de clúster.

IBM SP2.

IBM SP2 está liderando en la lista de las supercomputadoras Top500 más grandes en términos de número de instalación (141 instalación, y en total, 8275, estas computadoras están operando con un número total de nodos superiores a 86 mil. La base de estas supercomputadoras se basa en la arquitectura. Como enfoque de clúster, utilizando un poderoso interruptor central. IBM utiliza este enfoque durante muchos años.

Arquitectura general SP2.

La visión general de la arquitectura SP2 le da arroz. 1. Su característica principal de la arquitectura es el uso de un interruptor de alta velocidad con bajos retrasos para conectar nodos entre ellos. Este esquema externamente extremadamente simple, como lo demostró la experiencia, fue extremadamente flexible. Primero, los nodos SP2 eran un solo procesador, luego aparecieron nodos con la arquitectura SMP.

En realidad, todos los detalles están ocultos en la estructura de los nodos. Además, los nodos son diferentes tipos, e incluso los procesadores en los nodos vecinos pueden ser diferentes. Proporciona

gran flexibilidad de selección de configuración. El número total de nodos en el sistema de computación puede alcanzar los 512. Los nodos SP2 son en realidad computadoras independientes, y sus análogos directos se venden a IBM en nombres independientes. El ejemplo más sorprendente de este es el servidor SMP de cuatro procesadores RS / 6000 44P-270 con microprocesadores de Power3-II, que en sí mismo se puede atribuir a la clase de computadoras de la clase media o incluso a mini supercomputadores.

Los microprocesadores establecidos en los nodos SP2 se desarrollaron en dos líneas arquitectónicas: Power - Power2 - Power3 - Power3-II y la línea PowerPC hasta el modelo 604E con una frecuencia de reloj de 332 MHz.

El tradicional para SP2 es "delgado" (nodo ancho) y nodos "anchos" (nodo ancho) con la arquitectura SMP. Se pueden instalar tanto PowerPC 604E (de dos a cuatro procesadores) y Power3-II (hasta cuatro). La capacidad de la batería de los nodos es de 256 MB a 3 GB (cuando se usa Power3-II - hasta 8 GB). Las principales diferencias entre los nodos delgados y anchos se relacionan con el subsistema de E / S. Los nodos anchos están diseñados para tareas que requieren características de entrada / salida más potentes: tienen diez ranuras PCI (incluyendo tres 64 bits) contra dos ranuras en nodos delgados. En consecuencia, el número de compartimentos de montaje para dispositivos de disco En anchos nodos más.

La velocidad del interruptor se caracteriza por valores de bajo retardo: 1.2 ms (hasta 2 ms con el número de nodos superiores a 80). Este es un orden de magnitud mejor que lo que se puede obtener en la Beowulf Modern Linux-Clusters. Ancho de banda máximo de cada puerto: es de 150 MB / s en una dirección (es decir, 300 MB / s por transmisión dúplex). El mismo ancho de banda posee los adaptadores de conmutador ubicados en los nodos SP2. IBM también proporciona excelentes retrasos y resultados de ancho de banda.

Los nodos SP2 más potentes son "altos" (nodo alto). El nodo alto es un complejo que consiste en un nodo informático con dispositivos de entrada / salida / salida conectados en una cantidad de hasta seis piezas. Dicho nodo también tiene una arquitectura SMP y contiene hasta 8 procesadores Power3 con una frecuencia de reloj de 222 o 375 MHz.

Además, el nodo de este tipo comprende una tarifa de entrada / salida, que también está conectada a la placa del sistema. La placa de E / S contiene dos bloques lógicos simétricos de SABER a través de los cuales los datos se transmiten a dispositivos externos, como

como discos y equipos de telecomunicaciones. En la tabla de E / S, hay cuatro ranuras PCI de 64 bits y una ranura de 32 bits (frecuencia 33 MHz), así como controladores de Ultrassi integrados, Ethernet 10/100 Mbps, tres puertos consecutivos y paralelos.

Con la llegada de los nodos altos y los microprocesadores de Power3-II / 375 MHz en las pruebas de LinPack Parlell del sistema IBM SP2 alcanzó el rendimiento de 723.4 GFLOPS. Este resultado se logra al usar 176 nodos (704 procesadores). Teniendo en cuenta que los nodos se pueden configurar hasta 512, este resultado muestra que IBM SP2 producido en serie está potencialmente cerca de 1 TFLOPS.

Cluster Sun Solutions Sun Microsystems

Sun Microsystems ofrece soluciones de clúster basadas en su producto SPARCCLASTER PDB Server, en el que los servidores Multiprocessor SMP SPARCSERVER 1000 y SPARCCENTER 2000 se utilizan como nodos, y el SPARCSERVER 1000 puede ingresar hasta ocho procesadores, y en los procesadores SPARCCENTER 2000 a 20 SUPERSPARC. Los siguientes componentes incluyen los siguientes componentes: dos nodos de clúster basados \u200b\u200ben SPARCSERVER 1000 / 1000E o SPARCCENTER 2000 / 2000E, dos matriz de disco de matriz SPARCStorage, así como un paquete para construir un clúster, incluidos los equipos de comunicación duplicados, administración de clases consola de la consola. Consola, Sparcclaster PDB Software de software y paquete de servicio de clúster.

Para garantizar un alto rendimiento y disponibilidad de comunicaciones, el clúster admite la duplicación completa de todos los disparadores de datos. Los nodos de clúster se combinan con los canales de Sunfastethernet con un ancho de banda de 100 Mbps. Para conectar los subsistemas de disco, la interfaz de canal de fibra óptica con un ancho de banda de 25 Mbps, que admite la eliminación de las unidades y los nodos entre sí a una distancia de hasta 2 km. Todos los enlaces entre nodos, nodos y subsistemas de disco se duplican en el nivel de hardware. Los medios de red de hardware, software y clústeres proporcionan la ausencia de un lugar de este tipo en el sistema, una falla única o una falla de la cual se derivaría todo el sistema.

Proyectos universitarios

Interesto desarrollo de la Universidad de Kentucky - Klat2 Cluster (Kentucky Linux Athlon Testbed 2). El sistema KLAT2 consta de 64 nodos sin disco con procesadores AMD Athlon / 700 MHz y 128 MB de RAM en cada uno. ¡Se finalizaron software, compiladores y bibliotecas matemáticas (Scalapack, Blacs y Atlas) para usar de manera eficiente la tecnología 3DNOW! Procesadores AMD, lo que hizo posible aumentar la productividad. Interés significativo es la decisión de la red utilizada, llamada "Red de vecinos planos" (FNN). Cada nodo tiene cuatro adaptadores de red Ethernet rápidos de SmartLink, y los nodos están conectados utilizando nueve interruptores de 32 puertos. Al mismo tiempo, para cualquiera de los dos nodos, siempre hay una conexión directa a través de uno de los interruptores, pero no es necesario conectar todos los nodos a través de un solo interruptor. Gracias a la optimización del software bajo la arquitectura AMD y la topología FNN, fue posible lograr una relación de precio / rendimiento récord: $ 650 por 1 GFLOPS.

La idea de dividir el clúster a las secciones recibió una interesante realización en el proyecto Ciudad de Chiba implementado en el Laboratorio Nacional de Argonne. La sección principal contiene 256 nodos informáticos, en cada uno

de los cuales hay dos procesadores Pentium III / 500 MHz, 512 MB de RAM y un disco local con una capacidad de 9 GB. Además de la partición informática, la partición de visualización incluye (32 computadoras personales de IBM Intellistation con los gráficos Matrox Millenium G400, 512 MB de unidades RAM y 300 GB), sección de almacenamiento de datos (8 servidores IBM Netfinity 7000 con procesadores Xeon / 500 MHz y 300 Discos GB) y sección de gestión (12 computadoras IBM Netfinity 500). Todos ellos se fusionan con la red Myrinet, que se utiliza para admitir aplicaciones paralelas, así como redes Gigabit Ethernet y FAST Ethernet para los gerentes y fines de servicio. Todas las secciones se dividen en "Ciudades" (pueblo) 32 computadoras. Cada uno de ellos tiene su propio "alcalde", que atiende localmente su "ciudad", reduciendo la carga en la red de servicios y brindando acceso rápido a los recursos locales.

Proyectos de cluster en Rusia

En Rusia, siempre hubo una gran necesidad de recursos informáticos de alto rendimiento, y el costo relativamente bajo de los proyectos de clústeres sirvió como un impulso grave a la difusión generalizada de dichas soluciones en nuestro país. Uno de los primeros apareció una "paridad" de clúster, ensamblada en YVVIBD y que consta de ocho procesadores Pentium II asociados con la red Myrinet. En 1999, la solución de clúster basada en la red de SCI se probó en NICEW, que es esencialmente un pionero con tecnología SCI para construir sistemas paralelos en Rusia.

Un clúster de alto rendimiento basado en la red de comunicación de SCI se instala en el Centro de Investigación Científica para la Universidad Estatal de Moscú. El clúster de NIVC incluye 12 servidores de doble procesador Eximer basados \u200b\u200ben Intel Pentium III / 500 MHz, un total de 24 procesadores con un rendimiento máximo total de 12 mil millones de operaciones por segundo. El costo total del sistema es de unos 40 mil dólares o aproximadamente 3.33 mil por 1 gflops.

Los nodos informáticos de clúster están conectados por canales de red de SCI unidireccional en un TOR 3x4 bidimensional y se conectan simultáneamente al servidor central a través de la red auxiliar de Ethernet FAST y el interruptor de superstack 3com. La red SCI es un núcleo de clúster que hace que este sistema sea una instalación de computación única de una clase de supercomputación orientada a una amplia clase de tareas. El tipo de cambio de datos máximo a través de la red SCI en las aplicaciones de usuario es de más de 80 MB / s, y el tiempo de latencia es de aproximadamente 5.6 μs. Al construir este grupo de computación, se utilizó la solución integrada de Wulfkit desarrollada por las soluciones de interconexión de Dolphin y la computadora Scali (Noruega).

Los principales medios de programación paralela en el clúster se encuentran la versión MPI (interfaz de paso del mensaje) de Scampi 1.9.1. En la prueba de LinPack, al resolver un sistema de ecuaciones lineales con una matriz de tamaño de 16000x16000, el rendimiento real fue más de 5.7 gflops. En las pruebas de paquetes de NPB, el rendimiento del clúster es comparable y, a veces, excede el rendimiento de las supercomputadoras de la familia Cray T3E con el mismo número de procesadores.

El área principal de aplicación del clúster de computación NIVZ MSU NIVC es compatible con la investigación científica fundamental y el proceso educativo.

De otros proyectos interesantes, se debe tener en cuenta que la decisión implementada en la Universidad de San Petersburgo sobre la base de la tecnología FAST Ethernet: los grupos recolectados pueden usarse y, como clases de entrenamiento independientes de flecos, y como una sola instalación de computación que resuelve una sola. tarea. En el Centro Científico de Samara

fueron en el camino para crear un clúster informático inhomogénoso, que incluye computadoras basadas en procesadores Alpha y Pentium III. En la Universidad Técnica de San Petersburgo, se instala sobre la base de los procesadores alfa y la red Myrinet sin utilizar discos locales en los nodos informáticos. En la Universidad Técnica de Aviación del Estado de UFA, un clúster está diseñado sobre la base de doce alfa-estaciones, una red Ethernet rápida y OS Linux.

Grupo (grupo de computadoras)

Grupos de distribución de carga

El principio de su acción se basa en la distribución de las solicitudes a través de uno o más nodos de entrada que los redirigen al procesamiento en los nodos restantes y computacionales. Sin embargo, el propósito inicial de dicho clúster es la productividad, sin embargo, los métodos que aumentan la confiabilidad también se usan en ellos. Estructuras similares se denominan granjas de servidores. El software (software) puede ser tanto comercial (OpenVMS, MOIX, plataforma LSF HPC, Solaris Cluster, Moab Cluster Suite, Maui Cluster Scheduler) y Free (OpenMOSIX, Sun Grid Engine, Linux Virtual Server).

Clusters informáticos

Los clústeres se utilizan con fines computacionales, en particular en la investigación científica. Para los grupos de computación, los indicadores significativos son el alto rendimiento del procesador en operaciones sobre los números de puntos de flotación (flops) y la baja latencia de la red de combinación, y menos significativo, la velocidad de las operaciones de E / S, que es más importante para las bases de datos y la web. servicios. Los clústeres de computación permiten reducir el tiempo de cálculo, en comparación con una sola computadora, rompiendo la tarea en ramas paralelas que se intercambian por los datos de unión. Una de las configuraciones típicas es un conjunto de computadoras recopiladas de componentes disponibles públicamente, con el sistema operativo Linux instalado en ellos, y Ethernet, Myrinet, InfiniBand asociado con la red u otras redes relativamente económicas. Este sistema es habitual para ser llamado el clúster de Beowulf. Los grupos de alto rendimiento asignan especialmente (el inglés se indica con la abreviatura Cluster HPC. - Grupo de computación de alto rendimiento). Lista de las computadoras más poderosas de alto rendimiento (también se puede denotar por la abreviatura HPC.) Puedes encontrar en el ranking mundial TOP500. Rusia tiene una calificación de los compuidores más poderosos del CIS.

Sistemas de computación distribuidos (cuadrícula)

Tales sistemas no se consideran grupos, sino que sus principios son en gran medida similares a la tecnología de clústeres. También se llaman sistemas de cuadrícula. La principal diferencia es la baja disponibilidad de cada nodo, es decir, la incapacidad de garantizar su funcionamiento a un punto específico en el tiempo (los nodos están conectados y desconectados durante la operación), por lo que la tarea debe dividirse en una serie de procesos independientes de cada uno. Tal sistema, a diferencia de los clústeres, no es como computadora solteray sirve como un medio simplificado de distribución de cálculos. La inestabilidad de la configuración, en este caso, es compensada por una gran cantidad de nodos.

Servidores de clúster organizados programáticamente

Los sistemas de clústeres ocupan un lugar digno en la lista de los supercomputadores más rápidos, aunque significativamente ganadores en el precio. Para julio de 2008, el séptimo lugar de la calificación TOP500 es el clúster SGI Altix ICE 8200 (Chippewa Falls, Wisconsin, EE. UU.).

Una alternativa relativamente barata a las supercomputadoras son grupos según los conceptos de Beowulf, que se basan a partir de computadoras ordinarias económicas basadas en software libre. Uno de los ejemplos prácticos de dicho sistema es Soupercomputador de piedra (UAC Ridge, Tennessee, EE. UU.).

El racimo más grande perteneciente a la persona privada (de 1000 procesadores) fue construida por John Koza (John Koza).

Historia

La historia de la creación de clústeres está inextricablemente vinculada con los primeros desarrollos en el campo de las redes informáticas. Una de las razones para el surgimiento de la comunicación de alta velocidad entre las computadoras se ha convertido en esperanzas de combinar recursos informáticos. A principios de los años setenta. El equipo de desarrollo del protocolo TCP / IP y el laboratorio de Xerox Parc se les asigna estándares de interacción de la red. El sistema operativo Hydra ("Hydra") apareció para computadoras PDP-11 realizadas por DEC, creadas sobre esta base, el clúster se llamó C.MPP (Pittsburgh, PCS. Pennsylvania, EE. UU.,). Sin embargo, solo cerca de la ciudad, se crearon mecanismos, lo que permite utilizar la distribución de tareas y archivos a través de la red, en su mayor parte se estaban desarrollando en SOSOS (sistema operativo basado en BSD de Sun Microsystems).

El primer proyecto de clúster comercial fue ArcNet, creado por DataPoint en Beneficio, no lo hizo, y, por lo tanto, la construcción de grupos no se desarrolló antes de la ciudad, cuando DIC construyó su VaxCluster en función del sistema operativo VAX / VMS. ArcNet y Vaxcluster fueron diseñados no solo para cálculos conjuntos, sino también el intercambio del sistema de archivos y la periferia, teniendo en cuenta la preservación de la integridad y la singularidad de los datos. VaxCluster (llamado Ahora VMSCLURT): es un componente integral del sistema operativo OpenVMS utilizando los procesadores Alpha y Itanium.

Otros dos productos de clúster temprano que han recibido el reconocimiento incluyen Tandem Hymalaya (Clase HA y Sysplex paralelo IBM S / 390 IBM S / 390 (1994).

La historia de los clústeres de las computadoras personales ordinarias se requiere en gran medida para proyectar la máquina virtual paralela. En este software, para combinar computadoras en una supercomputadora virtual abrió la posibilidad de creación instantánea de clústeres. Como resultado, el rendimiento total de todos los grupos baratos creó luego superó la suma de las capacidades de los sistemas comerciales "serios".

Creación de clústeres basados \u200b\u200ben computadoras personales baratas Unidas por una red de datos continuó en la ciudad de la Agencia Aeroespacial Americana (NASA), luego el desarrollo de los grupos de Beowulf se desarrollaron específicamente sobre la base de este principio. Los éxitos de tales sistemas impulsaron el desarrollo de redes de cuadrícula, que existían desde la creación de UNIX.

Software

Una herramienta ampliamente común para organizar una interacción excesiva es la biblioteca MPI que admite idiomas y FORTRAN. Se utiliza, por ejemplo, en el programa MM5 del modelado del clima.

El sistema operativo Solaris proporciona software Solaris Cluster, que se utiliza para garantizar una alta disponibilidad y la rotura de los servidores que ejecute Solaris. Para Opensolaris hay una realización con fuente abierta intitulado Opensolaris ha cluster..

Múltiples programas son populares entre los usuarios de GNU / Linux:

  • dISTCC, MPICH, etc. - Medios especializados para programas de paralelización. DISTCC permite la compilación paralela en la colección del compilador GNU.
  • Linux Virtual Server, Linux-Ha - Software de nodo para distribuir consultas entre servidores de computación.
  • MOSIX, OpenMOSIX, KERRIGHED, APENSSI: entornos de clúster con todas las funciones integradas en el kernel que distribuyen automáticamente tareas entre nodos homogéneos. OpenSi, OpenMosix y Kerrighed crean entre los nodos.

Los mecanismos de clústeres están planeados para ser incrustados en el kernel de Dragonfly BSD, ramificado en 2003 de FreeBSD 4.8. En los planes distantes también lo convierte en miércoles de un solo sistema operativo.

Microsoft es fabricado por un clúster de HA para el sistema operativo Windows. Se cree que se basa en la tecnología de corporación de equipos digitales, admite hasta 16 (desde 2010) nodos en un clúster, así como trabajo en la red SAN (Red de Área de almacenamiento). El conjunto API se utiliza para admitir aplicaciones distribuidas, hay espacios en blanco para trabajar con programas que no proporcionan trabajo en el clúster.

Windows Compute Cluster Server 2003 (CCS) lanzado en junio de 2006 está diseñado para aplicaciones de alta tecnología que requieren computación de clústeres. La publicación está diseñada para la implementación en una variedad de computadoras que se recopilan en un clúster para lograr una capacidad de supercomputación. Cada grupo en Windows Computan Cluster Server consiste en una o más máquinas de control que distribuyen tareas y varias máquinas subordinadas que realizan la operación principal. En noviembre de 2008, Windows HPC Server 2008 está diseñado para reemplazar Windows Compute Cluster Server 2003.

El principio de su acción se basa en la distribución de las solicitudes a través de uno o más nodos de entrada que los redirigen al procesamiento en los nodos restantes y computacionales. Sin embargo, el propósito inicial de dicho clúster es la productividad, sin embargo, los métodos que aumentan la confiabilidad también se usan en ellos. Estructuras similares se denominan granjas de servidores. El software (software) puede ser tanto comercial (OpenVMS, MOIX, plataforma LSF HPC, Solaris Cluster, Moab Cluster Suite, Maui Cluster Scheduler) y Free (OpenMOSIX, Sun Grid Engine, Linux Virtual Server).

Clusters informáticos

Los clústeres se utilizan con fines computacionales, en particular en la investigación científica. Para los grupos de computación, los indicadores significativos son el alto rendimiento del procesador en operaciones sobre los números de puntos de flotación (flops) y la baja latencia de la red de combinación, y menos significativo, la velocidad de las operaciones de E / S, que es más importante para las bases de datos y la web. servicios. Los clústeres de computación permiten reducir el tiempo de cálculo, en comparación con una sola computadora, rompiendo la tarea en ramas paralelas que se intercambian por los datos de unión. Una de las configuraciones típicas es un conjunto de computadoras recopiladas de componentes disponibles públicamente, con el sistema operativo Linux instalado en ellos, y Ethernet, Myrinet, InfiniBand asociado con la red u otras redes relativamente económicas. Este sistema es habitual para ser llamado el clúster de Beowulf. Los grupos de alto rendimiento asignan especialmente (el inglés se indica con la abreviatura Cluster HPC. - Grupo de computación de alto rendimiento). Lista de las computadoras más poderosas de alto rendimiento (también se puede denotar por la abreviatura HPC.) Puedes encontrar en el ranking mundial TOP500. Rusia tiene una calificación de los compuidores más poderosos del CIS.

Sistemas de computación distribuidos (cuadrícula)

Tales sistemas no se consideran grupos, sino que sus principios son en gran medida similares a la tecnología de clústeres. También se llaman sistemas de cuadrícula. La principal diferencia es la baja disponibilidad de cada nodo, es decir, la incapacidad de garantizar su funcionamiento a un punto específico en el tiempo (los nodos están conectados y desconectados durante la operación), por lo que la tarea debe dividirse en una serie de procesos independientes de cada uno. Dicho sistema, en contraste con los clusters, no es similar a una sola computadora, y sirve como un medio simplificado de distribución de los cálculos. La inestabilidad de la configuración, en este caso, es compensada por una gran cantidad de nodos.

Servidores de clúster organizados programáticamente

Los sistemas de clústeres ocupan un lugar digno en la lista de los supercomputadores más rápidos, aunque significativamente ganadores en el precio. Para julio de 2008, el séptimo lugar de la calificación TOP500 es el clúster SGI Altix ICE 8200 (Chippewa Falls, Wisconsin, EE. UU.).

Una alternativa relativamente barata a las supercomputadoras son grupos según los conceptos de Beowulf, que se basan a partir de computadoras ordinarias económicas basadas en software libre. Uno de los ejemplos prácticos de dicho sistema es Soupercomputador de piedra en el Laboratorio Nacional Ok-Ridge (Tennessee, EE. UU., 1997).

El racimo más grande que pertenece a la persona privada (de 1000 procesadores) fue construida por John Koza.

Historia

La historia de la creación de clústeres está inextricablemente vinculada con los primeros desarrollos en el campo de las redes informáticas. Una de las razones para el surgimiento de la comunicación de alta velocidad entre las computadoras se ha convertido en esperanzas de combinar recursos informáticos. A principios de la década de 1970, los desarrolladores de protocolo TCP / IP y el Laboratorio de Xerox Parc se asignaron los estándares de interacción de la red. Sistema operativo Hydra para computadoras PDP-11 fabricadas por DEC, creadas sobre esta base, el clúster se llamó C.MPP (Pittsburgh, Pensilvania, EE. UU., 1971). Sin embargo, solo alrededor de 1983, se crearon mecanismos, lo que permitió utilizar la distribución de tareas y archivos a través de la red, en su mayor parte se estaban desarrollando en SOSOS (sistema operativo basado en BSD de Sun Microsystems).

El primer proyecto de clúster comercial fue Arcnet creado por DataPoint en 1977. No se benefició de manera rentable, y por lo tanto, la construcción de grupos no se desarrolló hasta 1984, cuando DIC construyó su Vaxclúster basado en el sistema operativo VAX / VMS. ArcNet y Vaxcluster fueron diseñados no solo para cálculos conjuntos, sino también el intercambio del sistema de archivos y la periferia, teniendo en cuenta la preservación de la integridad y la singularidad de los datos. VAXCLUSTER (llamado ahora VMSCLURT): es un componente integral del sistema operativo OpenVMS utilizando los procesadores ALPHA e Itanium DC.

Otros dos productos de clúster temprano que han recibido reconocimiento incluyen Tandem Hymalaya (1994, Clase) e IBM S / 390 Sysplex (1994).

La historia de los clústeres de las computadoras personales ordinarias se requiere en gran medida para proyectar la máquina virtual paralela. En 1989, este software para combinar computadoras a una supercomputadora virtual abrió la posibilidad de creación instantánea de clústeres. Como resultado, el rendimiento total de todos los grupos baratos creó luego superó la suma de las capacidades de los sistemas comerciales "serios".

La creación de grupos basados \u200b\u200ben computadoras personales baratas asociadas con la red de datos continuó en 1993 por la Agencia Aeroespacial Americana la NASA, luego en 1995 recibieron el desarrollo de grupos de Beowulf específicamente desarrollados sobre la base de este principio. Los éxitos de tales sistemas empujaron el desarrollo.

Sistema de clústeres

¿Qué es un clúster?

El clúster es una totalidad de servidores, accionamientos y estaciones de trabajo que:
· Actuar como un sistema;
· Presentar a los usuarios como un sistema;
· Gestionado como un sistema;
El cluster es también la capacidad de usar. recursos computacionales Su sistema para que el sistema resultante exceda sus capacidades con las posibilidades totales de sus partes.

Las principales ventajas del clúster son:
· Asegurar un alto nivel de preparación en comparación con el conjunto fragmentado de computadoras o servidores. Mejorar la preparación del sistema garantiza el trabajo de las aplicaciones críticas para los negocios durante el período de tiempo más largo. Critical incluye todas las aplicaciones que depende directamente de la capacidad de la compañía para obtener ganancias, proporcionar un servicio o proporcionar otras funciones vitales. El uso del clúster le permite garantizar que si el servidor o cualquier aplicación deja de funcionar normalmente, otro servidor en el clúster, continúa realizando sus tareas, tomará la función de un servidor defectuoso para minimizar el tiempo de inactividad del usuario debido a un mal funcionamiento debido a un mal funcionamiento en el sistema.
· Incremento significativo en el rendimiento general de la red (alto grado). El clúster le permite aumentar de manera flexible la potencia de computación del sistema, agregando nuevos nodos y sin interrumpir a los usuarios.
· Reducir el costo de administrar la red local (buen manejo).
· Asegurar una alta disponibilidad de servicios de red. Incluso con el fracaso de uno de servidores de clústeresTodo el servicio proporcionado por un clúster permanece disponible para los usuarios.

Separación sobre alta disponibilidad y sistemas de alto rendimiento.

En la clasificación funcional, los clústeres se pueden dividir en "alta velocidad" (alto rendimiento, HP), "Sistemas de alta disponibilidad" (alta disponibilidad, ha), así como "sistemas mixtos".
Se utilizan grupos de alta velocidad para tareas que requieren una potencia de computación significativa. Las áreas clásicas en las que se utilizan sistemas similares son:
· Procesamiento de imágenes: representación, reconocimiento de imágenes
· Investigación científica: física, bioinformática, bioquímica, biofísica.
· Industria (tareas de información geográfica, modelado matemático)
y muchos otros…
Los grupos que pertenecen a los sistemas de alta disponibilidad se utilizan en todas partes donde el costo de la posibilidad de ociosidad exceda el costo del costo requerido para construir un sistema de clúster, por ejemplo:
· Sistemas de billetes
· Operaciones bancarias
· comercio electrónico
· Gestión empresarial, etc. ....
Los sistemas mixtos combinan las características tanto del primero como de la segunda. Posicionándolos, se debe tener en cuenta que el clúster, que posee los parámetros de alto rendimiento y alta disponibilidad, definitivamente perderá en la velocidad de un sistema orientado al sistema de alta velocidad, y en un posible sistema orientado al sistema de tiempo inactivo en alta disponibilidad.

¿Qué es un clúster de alta preparación?
Un grupo de alta disponibilidad es una variedad de sistema de clúster diseñado para garantizar un funcionamiento continuo de aplicaciones o servicios críticos. El uso de un clúster de alta disponibilidad le permite evitar los guiones no planificados causados \u200b\u200bpor los fallos de equipo y software y los guiones planificados necesarios para actualizar el software o la reparación de equipos preventivos.

El clúster consta de dos nodos (servidores) conectados a una matriz de discos compartidos. Todos los componentes básicos de esta matriz de discos: la fuente de alimentación, las unidades de disco, el controlador de E / S: tienen una redundancia con la posibilidad de reemplazo en caliente. Los nodos de clúster están interconectados por la red interna para intercambiar información sobre su estado actual. La fuente de alimentación del clúster se realiza desde dos fuentes independientes. Conectar cada nodo a la red local externa también se duplica.
Por lo tanto, todos los subsistemas de clústeres tienen redundancia, por lo que cuando el clúster no rechaza el elemento en su conjunto, permanecerá en las condiciones de trabajo.

Cómo se organiza el clúster
El clúster es varias computadoras llamadas nodos en las que funciona el sistema operativo Unix o Windows Base Base. Estos servidores relativos al resto de la red actúan como un solo objeto: un servidor "virtual" potente. Los clientes están conectados al clúster, sin saber qué tipo de computadora tratará realmente con su servicio. El acceso ininterrumpido a los clústeres se logra a través de la detección oportuna de las violaciones en la operación de hardware y software y transferencia automática de procesos de procesamiento de datos a un buen nodo. En un clúster estándar, cada nodo es responsable de colocar un cierto número de recursos. En el caso de una falla o recursos de nodo, el sistema transmite parte de los recursos a otro nodo y les proporciona accesibilidad a los clientes.

Tecnologías de la Universidad Estatal de Información y Comunicación.

resumen

de la disciplina "Circuito de computadora"

sobre el tema: "Modernos sistemas de clústeres y su uso".

Realizado: grupo estudiantil de CSD-32

Muzalevsky Evgeny


Entrada 3.

1. Principios generales de sistemas de clústeres 4

2. Clasificación 4.

3. Usando sistemas de clústeres 5

Conclusiones 6.

Referencias 6.
Introducción

El clúster es un sistema multiprocesador modular creado sobre la base de los nodos de computación estándar conectados por un medio de comunicación de alta velocidad. Ahora, las palabras "clúster" y "supercomputador" son en gran parte sinónimo, pero antes de que se hubiera posible hablar con confianza, el hardware se llevó a cabo un largo ciclo de evolución. Durante los primeros 30 años desde el momento de la aparición de las computadoras, hasta mediados de la década de 1980, según las tecnologías "supercomputadoras" entendidas exclusivamente la producción de procesadores poderosos especializados especializados. Sin embargo, la aparición de un microprocesador de un solo chip casi borró la diferencia entre los procesadores "masa" y "especialmente poderosos", y desde ese momento en la única forma de crear una supercomputadora fue la forma de combinar procesadores para una solución paralela a una tarea .

Una característica atractiva de las tecnologías de clústeres es que permiten alcanzar el rendimiento necesario para combinar computadoras de diferentes tipos en computadoras individuales, que van desde computadoras personales y terminando con poderosas supercomputadoras. Las tecnologías de grupo generalizadas obtenidas como medio para crear sistemas de clase de supercomputación de partes componentes de la producción en masa, lo que reduce significativamente el costo del sistema informático.


1. Principios generales Sistemas de clústeres

Como ya se mencionó anteriormente, el clúster de computación es una totalidad.
Las computadoras combinadas dentro de una red determinada para resolver una tarea, que se envía para el usuario como un solo recurso.

El concepto de "recurso único" significa la disponibilidad de donaciones de software.
La posibilidad de usuarios, administradores y programas aplicados a considerar.
Que solo hay una entidad con la que trabajan es un grupo.
Por ejemplo, el sistema de procesamiento de paquetes de clúster le permite enviar una tarea en
Procesamiento de clústeres, no ninguna computadora separada. Mas complejo
Un ejemplo son los sistemas de base de datos. Casi todos los fabricantes
Los sistemas de base de datos tienen versiones que operan en modo paralelo.
Máquinas de clúster múltiple. Como resultado, aplicaciones que utilizan la base de datos.
Los datos no deben cuidar de dónde se realiza su trabajo. Dbms
Responsable de la sincronización de la acción paralela y el mantenimiento.
Integridad de la base de datos.

Computadoras formando un clúster: los llamados nodos de clústeres, siempre
relativamente independiente, lo que permite detener o desactivar cualquiera de
Para el trabajo preventivo o la instalación de adicional.
Equipo sin interrumpir el rendimiento de todo el clúster.

Como los nodos informáticos en el clúster se usan comúnmente
Computadoras personales de un solo procesador, SMP de dos o cuatro procesadores.
Servidores. Cada nodo funciona bajo el control de su copia de la operación.
Sistemas, que se usa más a menudo estándar.
Sistemas operativos: Linux, NT, Solaris, etc. Composición y poder de los nodos.
Puede variar incluso dentro de un grupo, dando la oportunidad de crear
Sistemas inhomogéneos. Se determina la elección de un entorno de comunicaciones específicas.
Muchos factores: características de la clase de tareas resueltas, necesidad.
Expansión de clúster posterior, etc. Es posible habilitar en la configuración.
computadoras especializadas, como File-Server, y, por regla general,
Proporcionó la posibilidad de acceso remoto al clúster a través de Internet.
Desde la definición de arquitectura del sistema de clúster, se deduce que incluye en
usted mismo una amplia gama de sistemas.

2. Clasificación

Los sistemas de clúster pueden usar una variedad de plataformas y, por regla general, no se clasifican por el conjunto de componentes, sino por aplicaciones. Se distinguen cuatro tipos de sistemas de clúster: clusters informáticos, grupos de bases de datos, grupos tolerantes a fallas y grupos para la distribución de descargas. El grupo más numeroso es los grupos de computación. Se puede romper en subgrupos; Es cierto que no hay otras máquinas de computación dentro de este grupo, pero las soluciones de clúster de software y hardware. Dichos sistemas "llave en mano" tienen un software aplicado preinstalado requerido por el cliente para resolver sus tareas. Las soluciones optimizadas para diferentes aplicaciones difieren en la selección de componentes que aseguran el trabajo más productivo de estas aplicaciones con la mejor relación precio / calidad.

Los grupos de base de datos aparecieron recientemente. Estos sistemas trabajan con versiones paralelas Las bases de datos y se utilizan en grandes organizaciones para el trabajo de los sistemas CRM y ERP, así como las bases de datos transaccionales. Hoy en día, estos sistemas son un competidor serio de los servidores tradicionales con memoria compartida debido a un mejor precio / productividad, escalabilidad y tolerancia a fallas.

Los clústeres de conmutación por error se construyen para garantizar la confiabilidad de las aplicaciones críticas de la mejor manera posible. La aplicación se duplica en diferentes nodos, y en caso de un error en uno de ellos, la aplicación continúa funcionando o se reinicia automáticamente por el otro. Tales grupos no son grandes, y los usuarios a menudo los construyen. Las tecnologías de clúster también se utilizan para distribuir un flujo de consulta grande para muchos servidores. Dichas soluciones a menudo se utilizan para admitir sitios web con contenido dinámico que acceden constantemente a las bases de datos, como los motores de búsqueda. Dependiendo del tamaño del servicio, los clústeres de asignación de arranque pueden tener un número suficientemente grande de nodos.

El trabajo de los sistemas de clústeres es proporcionado por cuatro tipos de aplicaciones especializadas, tales como: Sistemas operativos (generalmente Linux), herramientas de comunicaciones, herramientas de aplicación paralelas y herramientas de administración de clústeres.

3. Uso de sistemas de clústeres

Los desarrolladores de arquitecturas del sistema de clústeres persiguieron a varios propósitos cuando
su creación. El primero fue equipo digital con clusters VAX / VMS.
El propósito de crear este automóvil fue mejorar la confiabilidad del sistema,
Asegurando la alta disponibilidad y la tolerancia a fallas. En el presente
Tiempo Hay muchos sistemas similares para la arquitectura de los sistemas de otros.
Fabricantes.

Otro propósito de crear sistemas de clústeres es crear barato.
Sistemas de computación paralelos de alto rendimiento. Uno de los primeros
Proyectos que dieron un nombre para toda una clase de sistemas paralelos - Racimo de Beowulf
- Se originó en el centro del centro de vuelo espacial de NASA GODDARD para apoyar
Recursos informáticos relacionados del proyecto Tierra y ciencias espaciales.
El proyecto Beowulf comenzó en el verano de 1994, y se recogió pronto 16 procesadores.
Cluster en procesadores Intel 486DX4 / 100 MHz. En cada nodo fue
16 MB de RAM y 3 red Ethernet
adaptador. Este sistema fue muy exitoso en relación con
precio / rendimiento, por lo que tal arquitectura comenzó a desarrollarse y
Ampliamente uso en otras organizaciones e institutos científicos.
Para cada clase de agrupaciones se caracterizan por arquitecturas y
Hardware aplicado.

En promedio, las supercomputadoras domésticas siguen siendo muy inferiores al desempeño occidental: las máquinas utilizadas para la investigación científica, 15 veces, los recursos computacionales de las empresas financieras, 10 veces, supercomputadores industriales, 9 veces.


conclusiones

El clúster es un complejo complejo de software y hardware que consiste en nodos informáticos basados \u200b\u200ben procesadores estándar conectados por una red de sistemas de alta velocidad, así como redes auxiliares y de servicio.

Hay cuatro tipos de sistemas de clúster: clusters informáticos, grupos de bases de datos, grupos tolerantes a fallas y grupos para la distribución de descargas.

El alcance de la aplicación de sistemas de clústeres ahora no es en absoluto que las supercomputadoras con otra arquitectura: no se enfrentan con menos éxito con la tarea de modelar una variedad de procesos y fenómenos. El modelado de supercomputador puede tener mucho tiempo y acelerar la conclusión del mercado de nuevos productos, así como a mejorar su calidad.



¿Te gustó el artículo? Compártelo