Está en la página 1de 32

COMPUTACIN DE ALTA PERFORMANCE 2007 CLUSTERS

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
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.
PROCESAMIENTO PARALELO AHORA?
COMPUTACIN DE ALTA PERFORMANCE 2007 CLUSTERS
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.
CLUSTERS: MOTIVACIN
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
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.
MOTIVACIN PARA UTILIZAR CLUSTERS
COMPUTACIN DE ALTA PERFORMANCE 2007 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.
MOTIVACIN PARA UTILIZAR CLUSTERS
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
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.
EL ROBO DE CICLOS DE CPU
COMPUTACIN DE ALTA PERFORMANCE 2007 CLUSTERS
DNDE UBICAR A LOS CLUSTERS?
Cadena alimenticia real
COMPUTACIN DE ALTA PERFORMANCE 2007 CLUSTERS
Mainframe
Supercomputadora vectorial
Minicomputadora
Workstation
PC
Cadena de las computadoras (ca. 1990)
DNDE UBICAR A LOS CLUSTERS?
COMPUTACIN DE ALTA PERFORMANCE 2007 CLUSTERS
Cadena de las computadoras (ca. 1995)
DNDE UBICAR A LOS CLUSTERS?
Mainframe
Supercomputadora Vectorial
MPP
Workstation
PC
Minicomputadora
COMPUTACIN DE ALTA PERFORMANCE 2007 CLUSTERS
Cadena de las computadoras (presente y futuro)
DNDE UBICAR A LOS CLUSTERS?
Mainframe
Supercomputadora Vectorial
Minicomputadora
Workstation
PC
NOW (Network of Workstations) = CLUSTERS
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
42.144 Teraflops de rendimiento de
pico terico (42.144x10
12
=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.
EJEMPLOS DE CLUSTERS: MARENOSTRUM
COMPUTACIN DE ALTA PERFORMANCE 2007 CLUSTERS
1024 Nodos.
4 CPU/Nodo.
Itanium 2 1.4 Ghz CPU.
#7 Top500 (Junio 2005). 19940 GFlops.
EJEMPLOS DE CLUSTERS: THUNDER
8GB RAM/Nodo.
Discos: 75GB/Nodo.
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
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).
CLUSTERS: NODOS
COMPUTACIN DE ALTA PERFORMANCE 2007 CLUSTERS
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).
CLUSTERS: PROCESADORES
COMPUTACIN DE ALTA PERFORMANCE 2007 CLUSTERS
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).
CLUSTERS: SISTEMAS OPERATIVOS
COMPUTACIN DE ALTA PERFORMANCE 2007 CLUSTERS
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.
CLUSTERS: COMUNICACIONES
COMPUTACIN DE ALTA PERFORMANCE 2007 CLUSTERS
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.
CLUSTERS: COMUNICACIONES
COMPUTACIN DE ALTA PERFORMANCE 2007 CLUSTERS
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.
CLUSTERS: MIDDLEWARE
COMPUTACIN DE ALTA PERFORMANCE 2007 CLUSTERS
MLTIPLES VARIANTES
Threads (PCs, SMPs, ) .
POSIX Threads.
Java Threads.
PVM.
MPI.
Linux, NT, en muchas Supercomputadoras.
Software DSMs (Shmem).
Otras tecnologas.
CLUSTERS: ENTORNOS DE PROGRAMACIN
COMPUTACIN DE ALTA PERFORMANCE 2007 CLUSTERS
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.
CLUSTERS: HERRAMIENTAS DE DESARROLLO
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.

También podría gustarte