PDF de programación - Linux Cluster Computing

Imágen de pdf Linux Cluster Computing

Linux Cluster Computinggráfica de visualizaciones

Publicado el 11 de Octubre del 2019
477 visualizaciones desde el 11 de Octubre del 2019
894,5 KB
42 paginas
Creado hace 20a (26/03/2004)
Linux Cluster Computing

Guillermo López Taboada

Grupo de Arquitectura de Computadores
Departamento de Electrónica y Sistemas

Introducción a las Arquitecturas Clúster

Un clúster es ...

– Un conjunto de nodos unidos mediante
una red de interconexión a los que un
determinado software convierte en un
sistema de mayores prestaciones

Aunque esta definición peque de general o
imprecisa explica en esencia lo que es un
clúster

Introducción a las Arquitecturas Clúster
“Un clúster es un conjunto de nodos…”

– ¿Cómo es un clúster en realidad?

• ... hay una caja por cada nodo?
• ... hay una gran caja en la que coge todo?
• ... tendría incluso que estar todo dentro de un chip?

– ¿ {Homo,Hetero}géneos?

• ... son “casi” chatarra (P-{II,III} || K6-{2,3})?
• ... son “buena” quincallería (PIV || K7)?
• ... ha de ser diseñado especialmente?
• ... es mezcla de lo anterior o nada de lo anterior?

– ¿Cual es su apariencia?

Introducción a las Arquitecturas Clúster

“… unidos mediante una red de

interconexión …”
– {Ø,Fast,Gigabit,10 Gigabit}-Ethernet
– De baja latencia:

• Myrinet
• SCI
• Qsnet
• Quadrics
• Infiniband

Introducción a las Arquitecturas Clúster
“…a los que un determinado

software convierte en un
sistema de mayores
prestaciones.”

(mayores rendimientos o disponibilidades)

– Este “software de sistemas
clúster” puede abarcar desde
llamadas al sistema a aplicaciones
de balanceo de carga

– Está muy relacionado con un SO

que provee servicios de clustering
(Win☻,Unix, Linux,MacOS)

Introducción a las Arquitecturas Clúster
Terminología

– Las arquitecturas clúster son una familia

numerosa y heterogénea dentro de los
MIMD de memoria físicamente distribuida:
• Beowulf (Clusters COTS con Linux)
• COW (Cluster of Workstations)
• NOW (Network of Workstations)
• POP (Pile of PCs)
• PCF (PC Farms)
• RF (Render Farms)
• Constellations?

Introducción a las Arquitecturas Clúster

Aunque el primer clúster (10 años ha) fue

desarrollado “reciclando componentes” en la
NASA (16 486DX4), el decurso del tiempo ha
llevado a utilizar diverso hw de propósito
general de 1ª mano (PIV || Athlon)

Sin descartar nodos:

– Xeon SMT
– Xeon-MP
– Itanium
– Opteron
– PS2
… con procesadores de propósito general
(no específico)

Introducción a las Arquitecturas Clúster

Aunque con estos nodos podríamos

obtener tanto clusters como máquinas
para computación distribuida como
grids

La diferencia está en el software y en la

distancia entre nodos (que limita a su
vez las comunicaciones)

Introducción a las Arquitecturas Clúster
Distancia entre nodos

distribuida
Computación

SM Parallel
computing

Cluster computing

Grid computing

Un chip

Una caja

Un laboratorio

Un edificio

El mundo

Introducción a las Arquitecturas Clúster

Debido a la proximidad entre nodos de
un clúster no resulta muy compleja su
identificación visual (e.g.)

Introducción a las Arquitecturas Clúster

Las redes de interconexión son un

componente fundamental de los
clusters que nos deben proveer de:
– Alto ancho de banda
– Baja latencia
– Fiabilidad
– Scalabilidad

Introducción a las Arquitecturas Clúster

Redes de interconexión comunes en clusters son:

– {Ø,Fast,Gigabit,10 Gigabit}-Ethernet
– Infiniband
– SCI
– Myrinet
– HIPPI
– ATM
– Fiber Channel
– AmpNet
– Qsnet
– Quadrics
– …

Introducción a las Arquitecturas Clúster

Comparativa básica entre redes de interconexión:

Ancho de Banda

Fast-Ethernet 100Mbits/s
Gb-Ethernet
1Gbit/s
10Gb-Ethernet 10Gbit/s
SCI
Myrinet
IB

Latencia tarjeta switch
50us
70us
100us

10 €
20 €

10 €
30 €

0 €
800 €
500 €

1.33Gbit/s (full duplex) 2us
7us
2Gbit/s (full duplex)
10Gbit/s / canal
10us

1.000 €
800 €
1.000 €

Introducción a las Arquitecturas Clúster

Protocolos de comunicación

– Tradicionales
• TCP / UDP

– Diseño específico
• Active Messages
• VMMC
• BIP
• VIA

Introducción a las Arquitecturas Clúster

Software de Sistema

– Sistema Operativo
• Capa de control HW

– Middleware

• Capa de unión

– La barrera no está

siempre clara

Sistema Operativo
Middleware

Introducción a las Arquitecturas Clúster

No distinguiremos entre

– SO
– Middleware

• El middleware está relacionado con el SO

Objetivos del Software de Sistema

– Rendimiento/Escalabilidad
– Robustez
– SSI (Single-System Image)
– Extensibilidad
– Escalabilidad
– Heterogeneidad

Evolución histórica de las Arquitecturas
de Computadores
El clúster es la arquitectura del futuro:

Software de sistema

Sistemas de ficheros
– NFS (y Cluster NFS)
– PVFS
– OpenSSI
– CFS (Lustre)
– General Parallel Filesys4linux (GPFS)
– iSCSI linux (e.g. SAN cisco SN 5420)
– Global File System (GFS) – Sistina, openGFS

Software de sistema

Gestión de nodos

– NIS, NIS+
– LDAP

Monitorización
SNMPs
Scamond (muxia)

Software de sistema linux

Sistemas de colas

– PBS

• pbsnodes –a
• qsub –lnodes=n –np n1 –npn n2 run-script
• qdel job
• qstat -Q, -rn, -f, -u User
• qmgr: print server

– Maui

Balanceo de carga

– Mosix (OpenMosix)
– Condor
– Linux Virtual Server (LVS)

SSI

– BPROC

Software de sistema linux

Paso de mensajes. Bibliotecas
– MPI (Message Passing Interface)

• MPICH
• LAM
• mpiJava, CCJ, JMPI, MPJ

– PVM

OpenMP

Problemas típicos en Extreme
Computing

Extreme Computing

– Reducción del consumo (- HD)

High availability

– Detección de fallos y recuperación
– Tolerancia a fallos
– Regla de los 9 (90%,99%,99.9%...)

High performance
– Altas prestaciones

Clusters en aplicaciones científicas

Simulaciones (earth simulator)
Modelos matemáticos
Genoma humano (y del arroz - China)
Predicción meteorológica
Predicción de movimiento de productos

en el mar

Exploración del espacio (seti at home)

Clusters en aplicaciones empresariales

Google (>10.000 linux boxes)
Text retrieval
BBDDs

– (prometheus project – mysql, postgres)

Servidores y contenedores Web

– Apache, JBOSS…

Industria del automóbil
Prospecciones petrolíferas

Linux clustering con consolas

Cómputo científico en PS2

– Universidad de Illinois en

Urbana-Champaign
• Exploran el uso de PS2 en

Cómputo Científico y
Visualización de Alta
Resolución

• Construyen un Cluster de 70

PS2

• (Sony Linux Kit + MPI, PBS,

Maui Scheduler)

Linux clustering con consolas

PS3 (2005)

– PowerPC? A 4GHz y 8 procesadores vectoriales con un bus de

1024 bits que proveerán de 256 Gflops

– Earth Simulator tiene 35860 Gflops (+- 200 PS3)

Linux clustering con consolas
¡No hay quién se resista al pingüino!

Linux clustering con consolas

Consolas:

– Linux en PS2 (playstation2-linux.com)

• Hw

– CPU Emotion Engine 128-bits 300MHz (Extended MIPS III RISC) con

unidades vectoriales para tratar polígonos en 3D

• Sw

– SONY Linux Kit (100€) basado en Linux Kondara y en Red Hat (o

Blackrhino de Debian)

– Linux en M$ XBox (xbox-linux.org)

• Hw

– Celeron 733, 64MB, nVidia GeForce 3MX y 10/100 Ethernet

• Sw

– Xebian, basada en Debian

Linux clustering con consolas

Consolas:

• HW

– Linux en GameCube (gc-linux.org)

– IBM PowerPC CPU, 486 MHz, ATI graphics,
40 MB de RAM

• SW

– GameCube Linux, un pequeño Linux con telnet y servidor web

– Linux en Sega DreamCast (linuxdc.sourceforge.net)

• Hw

– MIPS R4000 100MHz

• Sw

– LinuxDC

Taller

Programa MPI simple que será

ejecutado en tres sistemas clúster:

– muxia.des.udc.es
– bw.cesga.es
– sd.cesga.es

Taller
muxia.des.udc.es

– 8 nodos duales PIV Xeon a 1.8 GHz
– 2 nodos duales PIV Xeon a 2.8 GHz
– 40 GFLOPS
– 20 GBs RAM
– Redes SCI y Fast Ethernet (admin)
– Red Hat 7.3

Taller
bw.cesga.es (dentro de svg.cesga.es)

– 16 nodos PIII a 1 GHz
– 16 GFLOPS
– 8 GBs RAM
– Redes Myrinet y Fast Ethernet (admin)
– Red Hat 7.2

Taller
sd.cesga.es (#227 en top500)
– 2 nodos SMP (HP Superdome)
– HP Sd cuenta con 64 Itanium 2 con 6MB
– 768 GFLOPS
– 7 TBs RAM
– Red Infiniband
– HP-UX, Windows, Linux, OpenVMS (simul)

Taller
Virginia Tech X (#3)

– 1100 nodos duales G5 (2200 procs)
– 10,3 TFLOPS
– 4,4 TBs RAM
– Red Infiniband
– Jagua (Mac OS X 10.2) 32bits
– 4.500.000 € (“self-made”)

Taller
Centro Nac. Computación (IBM&SP) #2

– 4500 procs.
– 20 TFLOPS
– 9 TBs RAM
– Red Infiniband
– Linux
– 70.000.000 € (total project)

Taller
Recordemos (Casos prácticos):

– Se procederá a la ejecución de un

programa MPI paralelo en los nodos del
clúster

– Se analizará el estado de la cola
– Se analizarán los resultados obtenidos

Taller
Programa MPI simple:
#include <stdio.h>
#include <mpi.h>

main(argc, argv)
int argc;
char *argv[];
{

char name[BUFSIZ];
int length;
MPI_Init(&argc, &argv);
MPI_Get_processor_name(name, &length);
printf("%s: hello world\n", name);
MPI_Finalize();

}

Taller

Compilación: mpicc
Ejecución sin colas: mpirun
Envío a colas PBS: qsub (scasub)
Consulta estado cola: qstat, qstat –

rn,qstat –f, qstat –Q,qstat –u user

Salida estándar de trabajos: job.o#job
Salida de error de trabajos: job.e#job

Formación en Cluster Computing

Google!
Asignaturas en FIC:

– OPP
– AEC
– ATF
– IS, XR

Tercer Ciclo:

– Tecnologías de la Información (USC y DES)

Curso en el Cesga:

– “Computación en Clusters: Administración y

Programación”, 26-30 de Abril de 2004

Referencias

www.buyya.com/cluster (imprescindible)

clusters.top500.org
www.clustercomputing.org
www.cesga.es
www.hispacluster.org
  • Links de descarga
http://lwp-l.com/pdf16705

Comentarios de: Linux Cluster Computing (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad