Está en la página 1de 32

Computacin de Alta Performance Curso 2008

CLUSTERS
Basado en el artculo Cluster computing at a glance. M. Baker, R. Buyya, Software Practice and Experience 29 (6), pp. 551-576, 1999.

COMPUTACIN DE ALTA PERFORMANCE 2007

CLUSTERS

CMO MEJORAR LA PERFORMANCE?


Bsicamente, hay 3 maneras:
1. Trabajar ms intensamente. 2. Trabajar ms inteligentemente 3. Solicitar ayuda.

Analoga para la computacin


1. Utilizar hardware especial, por ejemplo reducir el tiempo por instruccin con un procesador de mayor ciclo de reloj. 2. Optimizar algoritmos y tcnicas de programacin 3. Utilizar mltiples computadoras para resolver el problema, ejecutando ms instrucciones en el mismo tiempo.

COMPUTACIN DE ALTA PERFORMANCE 2007

CLUSTERS

ARQUITECTURAS SECUENCIALES
LIMITACIONES:
Cerca de alcanzar las limitaciones fsicas (velocidad de la luz, termodinmicas, cunticas). Mejoras de hardware como el pipelining, el procesador superscalar, etc., son no escalables y requieren una complicada tecnologa de fabricacin e instrumentacin. El procesamiento vectorial funciona adecuadamente para cierta clase de problemas.

COMPUTACIN DE ALTA PERFORMANCE 2007

CLUSTERS

PROCESAMIENTO PARALELO AHORA?


La tecnologa del procesamiento paralelo est madura y puede ser (de hecho est siendo) explotada comercialmente. Existe amplio trabajo de investigacin y desarrollo en herramientas y entornos de programacin El desarrollo significativo de la tecnologa de redes ha permitido el avance de la computacin heterognea.

COMPUTACIN DE ALTA PERFORMANCE 2007

CLUSTERS

CLUSTERS: MOTIVACIN
Analoga biolgica:
Procesamiento paralelo en estructuras cerebrales. La velocidad global con la cual las millones de neuronas del cerebro humano resuelven problemas muy complejos es asombrosa, an cuando individualmente, el tiempo de respuesta de una neurona es lento (del orden de milisegundos). Este argumento sugiere la potencial utilidad de utilizar mltiples recursos de cmputo funcionando de modo coordinado para resolver un problema global.

COMPUTACIN DE ALTA PERFORMANCE 2007

CLUSTERS

MOTIVACIN PARA UTILIZAR CLUSTERS


Permiten reutilizar equipamiento disponible. El ancho de banda para comunicaciones entre workstations ha crecido al desarrollarse nuevas tecnologas y protocolos e implementarse en LANs and WANs. Los clusters de workstations son ms sencillos de integrar en los entornos de desarrollo y produccin que las supercomputadoras.

COMPUTACIN DE ALTA PERFORMANCE 2007

CLUSTERS

RESOLUCIN DE PROBLEMAS COMPLEJOS


Se necesitan ms recursos de cmputo para resolver problemas complejos? Considerando:
La gran cantidad de equipos subutilizados. La enorme cantidad de ciclos de procesador libres, a los cuales puede darse un uso prctico. El costo desmedido de un supercomputador. Recursos distribudos encajan con el modelo de clusters.

Se necesitan ms recursos de cmputo para resolver problemas complejos? SI Pero no siempre es necesario HARDWARE ESPECIAL Es posible implementar soluciones con el equipamiento disponible (de oficina, empresa, centro educativo).
COMPUTACIN DE ALTA PERFORMANCE 2007 CLUSTERS

MOTIVACIN PARA UTILIZAR CLUSTERS


La brecha entre el poder de cmputo de clusters y supercomputadoras se redujo considerablemente.
La performance de workstations y PCs mejora rpidamente.

Estudios muestran que el uso de ciclos de CPU promedio de las estaciones de trabajo es tpicamente menor al 10% de su capacidad.
Como la performance mejora, la utilizacin porcentual de CPU decrecer an ms.

Cada vez ms difcil justificar la inversin importante para adquirir un supercomputador y sus herramientas de desarrollo.

COMPUTACIN DE ALTA PERFORMANCE 2007

CLUSTERS

MOTIVACIN PARA UTILIZAR CLUSTERS


Las herramientas de desarrollo para PCS y workstations estn exhaustivamente analizadas y probadas (inclusive algunas de ellas estandarizadas). Esta situacin contrasta con las soluciones propietarias de las supercomputadoras, muchas de ellas no estandarizadas. Los clusters de workstations son escalables. Por relativamente poco costo adicional es posible agregar nuevos recursos de cmputo.

COMPUTACIN DE ALTA PERFORMANCE 2007

CLUSTERS

EL ROBO DE CICLOS DE CPU


Usualmente una workstation ser propiedad de un indivuduo, grupo, departamento, u organizacin, en el sentido de que estarn DEDICADAS al uso de su(s) propietario(s). Cmo implementar un cluster de workstations para ejecucin de aplicaciones paralelas y distribudas? Tpicamente, hay varios tipos de propietarios, de acuerdo al uso que dan a su CPU.
1. Estudiantes o trabajadores ocasionales. 2. Aplicaciones de oficina (email, documentos). 3. Desarrollo de software (edicin, compilacin, test). 4. Ejecucin de aplicaciones que requieren cmputo intensivo.

COMPUTACIN DE ALTA PERFORMANCE 2007

CLUSTERS

EL ROBO DE CICLOS DE CPU


Las tcnicas de computacin en clusters tratan de robar ciclos de CPU desde (1), (2) y (3) de manera de proveer a (4). Sin embargo, esta prctica requiere superar los egosmos personales -los usuarios son muy protectores de sus equipos-. Usualmente se requiere de autorizacin institucional para utilizar las computadoras de esta manera. El robo de ciclos de CPU realizado fuera de las horas estndar de trabajo es viable. El robo de ciclos de CPU realizado en horario laboral, sin impactar el uso interactivo de CPU y memoria es ms difcil de implementar.

COMPUTACIN DE ALTA PERFORMANCE 2007

CLUSTERS

DNDE UBICAR A LOS CLUSTERS?

Cadena alimenticia real


COMPUTACIN DE ALTA PERFORMANCE 2007 CLUSTERS

DNDE UBICAR A LOS CLUSTERS?

Mainframe Minicomputadora Workstation

PC

Supercomputadora vectorial

Cadena de las computadoras (ca. 1990)

COMPUTACIN DE ALTA PERFORMANCE 2007

CLUSTERS

DNDE UBICAR A LOS CLUSTERS?

Minicomputadora

Workstation Mainframe

PC

Supercomputadora Vectorial

MPP

Cadena de las computadoras (ca. 1995)

COMPUTACIN DE ALTA PERFORMANCE 2007

CLUSTERS

DNDE UBICAR A LOS CLUSTERS?

Workstation

Mainframe

Minicomputadora

PC

Supercomputadora Vectorial

NOW (Network of Workstations) = CLUSTERS

Cadena de las computadoras (presente y futuro)


COMPUTACIN DE ALTA PERFORMANCE 2007 CLUSTERS

FORMALIZANDO: QU ES UN CLUSTER?
Un cluster consiste en un tipo de sistema de procesamiento paralelo o distribuido, compuesto por un conjunto de computadoras que trabajan cooperativamente como un nico e integrado recurso de cmputo. Caractersticas de un tpico cluster :
Red: rpida, mejor que una tpica LAN. Protocolos de comunicacin de latencia baja. Menor conexin que un SMP.

COMPUTACIN DE ALTA PERFORMANCE 2007

CLUSTERS

CLUSTERS: POR QU AHORA ?


El desempeo de los PCs se incrementa.
Se duplica cada 18 meses aproximadamente.

Las redes son cada vez ms veloces.


Aumenta ancho de banda, interfaces simples.

RAID (Almacenamiento redundante de bajo costo).


Alta disponibilidad y escalabilidad.

Los clusters tienen escalabilidad incremental


Desempeo de nodos individuales puede mejorarse con recursos adicionales (memoria, disco). Pueden agregarse nuevos nodos y reemplazar otros. Clusters de clusters (metacomputadoras).

Herramientas de software completas.


Threads, PVM, MPI, DSM, C, C++, Java, Parallel C++, Compiladores, Debuggers, SOs, etc.

Amplia gama de aplicaciones.


COMPUTACIN DE ALTA PERFORMANCE 2007 CLUSTERS

EJEMPLOS DE CLUSTERS: MARENOSTRUM


MareNostrum es un cluster de procesadores PowerPC (arquitectura BladeCenter), SO Linux, y con red de interconexin Myrinet.

#5 en Top500 (Junio de 2005). 27910 GFlops.


COMPUTACIN DE ALTA PERFORMANCE 2007 CLUSTERS

EJEMPLOS DE CLUSTERS: MARENOSTRUM


42.144 Teraflops de rendimiento de pico terico (42.144x1012=42 billones de operaciones por segundo). 4.800 procesadores PowerPC 970FX en 2400 Nodos duales de 2.2 GHz. 9.6 TB de memoria. 236 TB de almacenamiento en disco. 3 redes de interconexin:
Myrinet. Gigabit Ethernet. Ethernet 10/100.

COMPUTACIN DE ALTA PERFORMANCE 2007

CLUSTERS

EJEMPLOS DE CLUSTERS: THUNDER

#7 Top500 (Junio 2005). 19940 GFlops.

1024 Nodos. 8GB RAM/Nodo. 4 CPU/Nodo. Discos: 75GB/Nodo. Itanium 2 1.4 Ghz CPU. SO: CHAOS.
COMPUTACIN DE ALTA PERFORMANCE 2007 CLUSTERS

MILLENNIUM PC CLUMPS

Clusters baratos, fciles de administrar. Replicados en varios departamentos. Prototipo para grandes clusters de PC.

COMPUTACIN DE ALTA PERFORMANCE 2007

CLUSTERS

ARQUITECTURA DE UN CLUSTER

COMPUTACIN DE ALTA PERFORMANCE 2007

CLUSTERS

CLUSTERS: COMPONENTES
Los componentes de un cluster incluyen: Nodos
Procesadores.

Software de base
Sistemas operativos.

Comunicaciones:
Redes de alta velocidad. Interfaces y software para comunicaciones.

Middleware. Entornos de programacin. Bibliotecas y herramientas de desarrollo.

COMPUTACIN DE ALTA PERFORMANCE 2007

CLUSTERS

CLUSTERS: NODOS
Mltiples componentes de alta performance.
PCs. Workstations. SMPs (CLUMPS). Sistemas de HPC distribuidos, que conducen a la metacomputacin.

Los componenetes pueden ser de diferentes arquitecturas, y ejecutar con diferentes sistemas operativos (clusters heterogneos).

COMPUTACIN DE ALTA PERFORMANCE 2007

CLUSTERS

CLUSTERS: PROCESADORES
Muchos tipos: CISC/RISC/VLIW/Vectoriales.
Intel: Itanium2, Xeon Sun: SPARC, ULTRASPARC III. HP PA. IBM RS6000/PowerPC. SGI MPIS. Digital Alpha.

Pueden integrar memoria, procesador y red en un nico chip.


IRAM (CPU y memoria, http://iram.cs.berkeley.edu). Alpha 21366 (CPU, Controlador de memoria, NI).

COMPUTACIN DE ALTA PERFORMANCE 2007

CLUSTERS

CLUSTERS: SISTEMAS OPERATIVOS


Estado del arte segn OS: Linux (Beowulf) Microsoft NT (Illinois HPVM) SUN Solaris (Berkeley NOW) IBM AIX (IBM SP2) HP UX (Illinois - PANDA) Mach (SO basado en microkernel) Cluster Operating Systems (Solaris MC, SCO Unixware, MOSIX (proyectos acadmicos). OS gluing layers: (Berkeley Glunix).

COMPUTACIN DE ALTA PERFORMANCE 2007

CLUSTERS

CLUSTERS: COMUNICACIONES
REDES DE ALTA VELOCIDAD
Ethernet (10Mbps), Fast Ethernet (100Mbps). Gigabit Ethernet (1Gbps). SCI (Dolphin-MPI latencia: 12 microsegundos). ATM. Myrinet (1.2Gbps). Digital Memory Channel, FDDI, etc.

TARJETAS DE RED
Myrinet tiene NIC (Network Interface Card). Soporte de acceso a nivel de usuario. El procesador Alpha 21364 integra procesador, controlador de memoria e interfase de red en un nico chip.
COMPUTACIN DE ALTA PERFORMANCE 2007 CLUSTERS

CLUSTERS: COMUNICACIONES
SOFTWARE PARA COMUNICACIONES
Facilidades estndar de IPC de los sistemas operativos
Sockets (TCP/IP), pipes, etc..

Protocolos a nivel de usuario


Active Messages (Berkeley). Fast Messages (Illinois). U-net (Cornell). XTP (Virginia).

Sistemas que pueden ser construidos sobre los protocolos de base.

COMPUTACIN DE ALTA PERFORMANCE 2007

CLUSTERS

CLUSTERS: MIDDLEWARE
Reside entre el SO y las aplicaciones, ofrece infraestructura para soportar:
Single System Image (SSI). System Availability (SA).

SSI permite que un cluster pueda ser visto como un nico equipo (globaliza los recursos de un sistema).
Accceso a travs de ssh cluster.myinstitute.edu

SA provee disponibilidad
Check pointing y migracin de procesos.

COMPUTACIN DE ALTA PERFORMANCE 2007

CLUSTERS

CLUSTERS: ENTORNOS DE PROGRAMACIN


MLTIPLES VARIANTES Threads (PCs, SMPs, ) .
POSIX Threads. Java Threads.

PVM. MPI.
Linux, NT, en muchas Supercomputadoras.

Software DSMs (Shmem). Otras tecnologas.

COMPUTACIN DE ALTA PERFORMANCE 2007

CLUSTERS

CLUSTERS: HERRAMIENTAS DE DESARROLLO


Compiladores
C/C++/Java. Programacin Paralela con C++ (MIT Press book).

RAD (rapid application development tools).


Herramientas basadas en GUI para modelos de PP.

Debuggers. Herramientas de anlisis de performance. Herramientas de Visualizacin.

COMPUTACIN DE ALTA PERFORMANCE 2007

CLUSTERS

CONCLUSIONES
Clusters
Insfraestructura promisoria para contemplar necesidades importantes de cmputo en un entorno de recursos limitados.

Principales ventajas :
Relacin costo/performance. Escalabilidad incremental. Sistema multipropsito (no dedicado).

SER LA PRINCIPAL PLATAFORMA DE TRABAJO A LO LARGO DEL CURSO.

COMPUTACIN DE ALTA PERFORMANCE 2007

CLUSTERS

También podría gustarte