Clusters - Departamento de Arquitectura de Computadoressromero/ad/AD4_Clusters.pdf · propietarias...

48
Sergio Romero, Febrero 2009 Arquitecturas Distribuidas Clusters High Performance Cluster Computing de Rajkumar Buyya

Transcript of Clusters - Departamento de Arquitectura de Computadoressromero/ad/AD4_Clusters.pdf · propietarias...

Page 1: Clusters - Departamento de Arquitectura de Computadoressromero/ad/AD4_Clusters.pdf · propietarias de los computadores paralelos, debido fundamentalmente a la naturaleza no-estándar

1

Sergio Romero, Febrero 2009 Arquitecturas Distribuidas

Clusters

High Performance Cluster Computingde Rajkumar Buyya

Page 2: Clusters - Departamento de Arquitectura de Computadoressromero/ad/AD4_Clusters.pdf · propietarias de los computadores paralelos, debido fundamentalmente a la naturaleza no-estándar

2

Arquitecturas Distribuidas Sergio Romero, Arquitectura de Computadores, UMA. 2

CLUSTERS

Índice

Introducción Arquitectura del cluster Clasificación de los cluster Cluster Middleware & Single System Image

Page 3: Clusters - Departamento de Arquitectura de Computadoressromero/ad/AD4_Clusters.pdf · propietarias de los computadores paralelos, debido fundamentalmente a la naturaleza no-estándar

3

Arquitecturas Distribuidas Sergio Romero, Arquitectura de Computadores, UMA. 3

CLUSTERS

Qué es un cluster

Un cluster es un tipo de sistema de procesamiento paralelo o distribuido queconsiste en una colección de computadorescompletos interconectados que trabajan de forma cooperativa como un recursocomputacional integrado único

Un cluster típico:– Redes: Rápidas y conexiones más cortas que una red LAN

típica– Protocolos de comunicación de baja latencia– Conexión más débil que los SMP

Page 4: Clusters - Departamento de Arquitectura de Computadoressromero/ad/AD4_Clusters.pdf · propietarias de los computadores paralelos, debido fundamentalmente a la naturaleza no-estándar

4

Arquitecturas Distribuidas Sergio Romero, Arquitectura de Computadores, UMA. 4

CLUSTERS

Por qué ahora

Elementos constitutivos de alto rendimiento al alcance– Computadores completos (HW & SW) fabricados por

millones: microprocesadores, RAM, discos, SO, redes, aplicaciones,…, competitivos y asequibles

El rendimiento de las estaciones de trabajo se duplicacada 18 meses

Las redes son más rápidas El ancho de banda de los enlaces es mayor

– 10Gbit vs 10Mbit Ethernet– Redes basadas en conmutadores [switches] (ATM)– Interfaces simples y rápidos (Mensajes Activos)

Se prefiere el almacenamiento en RAID

Page 5: Clusters - Departamento de Arquitectura de Computadoressromero/ad/AD4_Clusters.pdf · propietarias de los computadores paralelos, debido fundamentalmente a la naturaleza no-estándar

5

Arquitecturas Distribuidas Sergio Romero, Arquitectura de Computadores, UMA. 5

CLUSTERS

Razones arquitecturales

La arquitectura del nodo domina el rendimiento– procesador, cache, bus, y memoria– Diseño e ingeniería orientado al rendimiento

La mayor demanda de rendimiento se produce en los sistemas grandes– Debe seguir el liderazgo tecnologico sin perder el paso

Se incorpora la tecnología de redes de los MPP– system area networks

El sistema en cada nodo habilita mayor potencial– E/S de muy alta velocidad, memoria virtual, planificación, …

Page 6: Clusters - Departamento de Arquitectura de Computadoressromero/ad/AD4_Clusters.pdf · propietarias de los computadores paralelos, debido fundamentalmente a la naturaleza no-estándar

6

Arquitecturas Distribuidas Sergio Romero, Arquitectura de Computadores, UMA. 6

CLUSTERS

Razones arquitecturales

Los cluster pueden crecer: escalabilidad incremental (hacia arriba, abajo y a lo ancho)– El rendimiento de los nodos puede ser mejorado añadiendo

recursos adicionales (más memoria o disco)– Se puede incrementar o decrementar el número de nodos– Se pueden hacer clusters de clusters y metacomputación

Herramientas software completas– Threads, PVM, MPI, DSM, C, C++, Java, Parallel C++,

Compiladores, Depuradores, SO, etc.

Ámplio rango de aplicaciones– Tanto secuenciales como aplicaciones paralelas Grand

Challeging

Page 7: Clusters - Departamento de Arquitectura de Computadoressromero/ad/AD4_Clusters.pdf · propietarias de los computadores paralelos, debido fundamentalmente a la naturaleza no-estándar

7

Arquitecturas Distribuidas Sergio Romero, Arquitectura de Computadores, UMA. 7

CLUSTERS

Razones para usar un cluster

Los estudios muestran que el uso de ciclos de CPU de lasestaciones de trabajo es típicamente inferior al 10%

El rendimiento de las estaciones de trabajo y los PC mejoranrápidamente, por lo que el porcentaje de uso decaerá aún más

Las organizaciones son reacias a compar grandescomputadores debido al alto coste y al ciclo de vida útil

Las herramientas de desarrollo para estaciones de trabajo son comparativamente más maduras que las solucionespropietarias de los computadores paralelos, debidofundamentalmente a la naturaleza no-estándar de muchossistemas paralelos

Los clusters son una alternativa barata y disponible a lasplataformas especializadas en HPC

El uso de clusters como recurso de computación distribuido esmuy eficiente desde el punto de vista económico (crecimientoincremental del sistema)

Page 8: Clusters - Departamento de Arquitectura de Computadoressromero/ad/AD4_Clusters.pdf · propietarias de los computadores paralelos, debido fundamentalmente a la naturaleza no-estándar

8

Arquitecturas Distribuidas Sergio Romero, Arquitectura de Computadores, UMA. 8

CLUSTERS

Robo de ciclos [máquina]

Normalmente un PC está asignado a un individuo, grupo, departamento u organizacióny estos elementos se dedican en exclusiva a sus poseedores

Esto llega a ser un problema cuando se intentaconstruir un cluster para aplicacionesdistribuidas

Page 9: Clusters - Departamento de Arquitectura de Computadoressromero/ad/AD4_Clusters.pdf · propietarias de los computadores paralelos, debido fundamentalmente a la naturaleza no-estándar

9

Arquitecturas Distribuidas Sergio Romero, Arquitectura de Computadores, UMA. 9

CLUSTERS

Robo de ciclos [máquina]

Hay tres tipos de usuarios, que usan sus PC para:1. Enviar/recibir correos y preparar documentos2. Desarrollar de software (editar, compilar, depurar,…)3. Ejecutar aplicaciones de computación intensiva

La computación en cluster roba ciclos de (1) y (2) proporcionando recursos para (3)

Esto requiere superar la barrera de la propiedad, los usuarios son muy recelosos de sus PC

Robar ciclos fuera de las horas de trabajo estándar(por la noche) es fácil, robar ciclos ociosos (CPU y memoria) durante las horas de trabajo sin degradarel rendimiento de usuarios interactivos es un desafíomayor

Page 10: Clusters - Departamento de Arquitectura de Computadoressromero/ad/AD4_Clusters.pdf · propietarias de los computadores paralelos, debido fundamentalmente a la naturaleza no-estándar

10

Arquitecturas Distribuidas Sergio Romero, Arquitectura de Computadores, UMA. 10

CLUSTERS

Índice

Introducción Arquitectura del cluster

– Nodos / Procesadores– Sistemas Operativos– Redes de alto rendimiento / Interfaces de Redes– Software de comunicación– Middleware / Componentes– Entornos de programación / Herramientas de

desarrollo– Aplicaciones

Clasificación de los cluster Cluster Middleware & Single System Image

Page 11: Clusters - Departamento de Arquitectura de Computadoressromero/ad/AD4_Clusters.pdf · propietarias de los computadores paralelos, debido fundamentalmente a la naturaleza no-estándar

11

Arquitecturas Distribuidas Sergio Romero, Arquitectura de Computadores, UMA. 11

CLUSTERS

Arquitectura de un Cluster

Page 12: Clusters - Departamento de Arquitectura de Computadoressromero/ad/AD4_Clusters.pdf · propietarias de los computadores paralelos, debido fundamentalmente a la naturaleza no-estándar

12

Arquitecturas Distribuidas Sergio Romero, Arquitectura de Computadores, UMA. 12

CLUSTERS

Arquitectura de un Cluster: Nodos / Procesadores

Múltiples componentes de alto rendimiento:– PCs– Workstations– SMPs (CLUMPS)– Sistemas HPC distribuidos

Pueden estar basados en diferentetecnología y ejecutar diferentes SO

Procesadores:– Intel, Sun, HP PA, IBM, ...

Page 13: Clusters - Departamento de Arquitectura de Computadoressromero/ad/AD4_Clusters.pdf · propietarias de los computadores paralelos, debido fundamentalmente a la naturaleza no-estándar

13

Arquitecturas Distribuidas Sergio Romero, Arquitectura de Computadores, UMA. 13

CLUSTERS

Arquitectura de un Cluster: Sistemas Operativos

Page 14: Clusters - Departamento de Arquitectura de Computadoressromero/ad/AD4_Clusters.pdf · propietarias de los computadores paralelos, debido fundamentalmente a la naturaleza no-estándar

14

Arquitecturas Distribuidas Sergio Romero, Arquitectura de Computadores, UMA. 14

CLUSTERS

Arquitectura de un Cluster: Redes (HPN)

Redes genéricas– 10 Gigabit Ethernet– Myrinet: Miry-10G– QsNet: QsNetIII

– Infiniband

Redes propietarias– Cray Interconnect– NumaFlex (SGI)– SP switch (IBM)– ...

Page 15: Clusters - Departamento de Arquitectura de Computadoressromero/ad/AD4_Clusters.pdf · propietarias de los computadores paralelos, debido fundamentalmente a la naturaleza no-estándar

15

Arquitecturas Distribuidas Sergio Romero, Arquitectura de Computadores, UMA. 15

CLUSTERS

Arquitectura de un Cluster: SW de comunicación

Soportes proporcionados tradicionalmente porlos SO (protocolos pesados)– Sockets (TCP/IP), Pipes, etc.

Protocolos ligeros (nivel de usuario)– Active Messages (Berkeley)– Fast Messages (Illinois)– U-net (Cornell)– XTP (Virginia)

Los sistemas de comunicación se puedenconstruir sobre protocolos anteriores

Page 16: Clusters - Departamento de Arquitectura de Computadoressromero/ad/AD4_Clusters.pdf · propietarias de los computadores paralelos, debido fundamentalmente a la naturaleza no-estándar

16

Arquitecturas Distribuidas Sergio Romero, Arquitectura de Computadores, UMA. 16

CLUSTERS

Arquitectura de un Cluster: Middleware (MW)

Entre el SO y las aplicaciones que ofreceinfraestructura para proporcionar:– Imagen Única del sistema-Single System Image (SSI)– Disponibilidad - System Availability (SA)

SSI hace que el sistema aparente ser unasola máquina: visión global de los recursos

SA proporciona check pointing y migraciónde procesos

Page 17: Clusters - Departamento de Arquitectura de Computadoressromero/ad/AD4_Clusters.pdf · propietarias de los computadores paralelos, debido fundamentalmente a la naturaleza no-estándar

17

Arquitecturas Distribuidas Sergio Romero, Arquitectura de Computadores, UMA. 17

CLUSTERS

Arquitectura de un Cluster: Componentes MW

Hardware – DEC Memory Channel, técnicas DSM y SMP

OS / Gluing Layers– Solaris MC, Unixware, Glunix

Aplicaciones y Subsistemas– Administración del sistema– Sistemas en tiempo de ejecución (DSM, PFS, etc.)– Gestión de recursos y planificación:

• CODINE, LSF, PBS, NQS, etc.

Page 18: Clusters - Departamento de Arquitectura de Computadoressromero/ad/AD4_Clusters.pdf · propietarias de los computadores paralelos, debido fundamentalmente a la naturaleza no-estándar

18

Arquitecturas Distribuidas Sergio Romero, Arquitectura de Computadores, UMA. 18

CLUSTERS

Arquitectura de un Cluster: Programación

Entornos de programación– Threads (PCs, SMPs, NOW..)

• POSIX Threads• Java Threads

– MPI (message passing interface)• Linux en la mayoría de los multicomputadores

– PVM (parallel virtual machine)– Software DSMs (Shmem)

Page 19: Clusters - Departamento de Arquitectura de Computadoressromero/ad/AD4_Clusters.pdf · propietarias de los computadores paralelos, debido fundamentalmente a la naturaleza no-estándar

19

Arquitecturas Distribuidas Sergio Romero, Arquitectura de Computadores, UMA. 19

CLUSTERS

Arquitectura de un Cluster: Programación

Herramientas de desarrollo:– Compiladores

• C/C++/Java/…• Programación Paralela con C++ (MIT Press book)

– RAD (rapid application development tools): herramientas basadas en GUI para el modelado de procesamiento paralelo

– Depuradores (debuggers)– Herramientas de análisis del rendimiento– Herramientas de visualización

Page 20: Clusters - Departamento de Arquitectura de Computadoressromero/ad/AD4_Clusters.pdf · propietarias de los computadores paralelos, debido fundamentalmente a la naturaleza no-estándar

20

Arquitecturas Distribuidas Sergio Romero, Arquitectura de Computadores, UMA. 20

CLUSTERS

Arquitectura de un Cluster: Aplicaciones

Secuencial Paralelo / Distribuido (apl. conscientes)

– Aplicaciones Grand Challenge• Predicción meteorologica• Química cuántica• Modelado de biología molecular• Análisis en la ingeniería (CAD/CAM)• …

– PDBs, servidores web, minería de datos…

Page 21: Clusters - Departamento de Arquitectura de Computadoressromero/ad/AD4_Clusters.pdf · propietarias de los computadores paralelos, debido fundamentalmente a la naturaleza no-estándar

21

Arquitecturas Distribuidas Sergio Romero, Arquitectura de Computadores, UMA. 21

CLUSTERS

Beneficios operacionales clave de los clusters

Alta disponibilidad (HA): Ofrece alta disponibilidaddebido a la redundancia del hardware, sistemasoperativos y aplicaciones

Hardware tolerante a fallos: Redundancia para la mayoría de los componentes del sistema (p.ej. RAID) incluyendo comopnenetes hardware y software

Fiabilidad del SO y las aplicaciones: Ejecución de múltiples copias del SO y las aplicaciones

Escalabilidad: Añadiendo servidores al cluster, másclusters a la red,…, dependiendo de las necesidades

Alto rendimiento: Ejecutando programas desarrolladospara el cluster

Page 22: Clusters - Departamento de Arquitectura de Computadoressromero/ad/AD4_Clusters.pdf · propietarias de los computadores paralelos, debido fundamentalmente a la naturaleza no-estándar

22

Arquitecturas Distribuidas Sergio Romero, Arquitectura de Computadores, UMA. 22

CLUSTERS

Índice

Introducción Arquitectura del cluster Clasificación de los clusters

– Objetivo (en el mercado)– Workstation/PC Ownership– Arquitectura del nodo– Tipo de SO del nodo– Arquitectura y configuración de los nodos– Nivel de clusterización

Cluster Middleware & Single System Image

Page 23: Clusters - Departamento de Arquitectura de Computadoressromero/ad/AD4_Clusters.pdf · propietarias de los computadores paralelos, debido fundamentalmente a la naturaleza no-estándar

23

Arquitecturas Distribuidas Sergio Romero, Arquitectura de Computadores, UMA. 23

CLUSTERS

Clasificación de los Clusters: Objetivo

Clusters de Alto Rendimiento (HP)– Aplicaciones Grand Challenge

Clusters de Alta Disponibilidad (HA)– Aplicaciones de Misión Crítica

Page 24: Clusters - Departamento de Arquitectura de Computadoressromero/ad/AD4_Clusters.pdf · propietarias de los computadores paralelos, debido fundamentalmente a la naturaleza no-estándar

24

Arquitecturas Distribuidas Sergio Romero, Arquitectura de Computadores, UMA. 24

CLUSTERS

Clasificación de los Clusters

Cluster de Alta Disponibilidad

Page 25: Clusters - Departamento de Arquitectura de Computadoressromero/ad/AD4_Clusters.pdf · propietarias de los computadores paralelos, debido fundamentalmente a la naturaleza no-estándar

25

Arquitecturas Distribuidas Sergio Romero, Arquitectura de Computadores, UMA. 25

CLUSTERS

Clasificación de los clusters: Ownership

Clusters Dedicados

Clusters No-dedicados– Computación paralela adaptativa– También llamado Communal Multiprocessing

Page 26: Clusters - Departamento de Arquitectura de Computadoressromero/ad/AD4_Clusters.pdf · propietarias de los computadores paralelos, debido fundamentalmente a la naturaleza no-estándar

26

Arquitecturas Distribuidas Sergio Romero, Arquitectura de Computadores, UMA. 26

CLUSTERS

Clasificación de los clusters: Arquitecura del nodo

Clusters de PCs (CoPs)

Clusters de Workstations (COWs)

Clusters de SMPs (CLUMPs)

Page 27: Clusters - Departamento de Arquitectura de Computadoressromero/ad/AD4_Clusters.pdf · propietarias de los computadores paralelos, debido fundamentalmente a la naturaleza no-estándar

27

Arquitecturas Distribuidas Sergio Romero, Arquitectura de Computadores, UMA. 27

CLUSTERS

Clasificación de los clusters: Sistema Operativo

Clusters Linux (Beowulf) Clusters Solaris (Berkeley NOW) Clusters NT (HPVM) Clusters AIX (IBM SP2) Clusters SCO/Compaq (Unixware) Clusters Digital VMS Clusters HP

Page 28: Clusters - Departamento de Arquitectura de Computadoressromero/ad/AD4_Clusters.pdf · propietarias de los computadores paralelos, debido fundamentalmente a la naturaleza no-estándar

28

Arquitecturas Distribuidas Sergio Romero, Arquitectura de Computadores, UMA. 28

CLUSTERS

Clasificación de los clusters: Componentes

Arquitectura y configuración de los componentes del nodo (arquitectura del procesador, tipo de nodo: PC/Workstation, y SO: Linux/NT):– Clusters Homogéneos

• Todos los nodos tienen una configuración similar

– Clusters Heterogéneos• Nodos basados en procesadores diferentes y ejecutando

SO diferentes

Page 29: Clusters - Departamento de Arquitectura de Computadoressromero/ad/AD4_Clusters.pdf · propietarias de los computadores paralelos, debido fundamentalmente a la naturaleza no-estándar

29

Arquitecturas Distribuidas Sergio Romero, Arquitectura de Computadores, UMA. 29

CLUSTERS

Clasificación de los clusters: Clusterización

Nivel de clusterización– Clusters de grupo (#nodos: 2-99)

• Un conjunto de computadores (dedicados o no), conectados principalmente por una red como Myrinet

– Clusters departamentales (#nodos: 99-999)– Clusters de organizaciones (#nodos: varios miles)

• uso de redes ATM– Internet-wide Clusters=Clusters globales: (#nodos:

decenas de miles, incluso millones)• Metacomputación• Computación basada en Web• Computación basada en Agentes

– Java tiene un papel importante en computación basada en web y en agentes

Page 30: Clusters - Departamento de Arquitectura de Computadoressromero/ad/AD4_Clusters.pdf · propietarias de los computadores paralelos, debido fundamentalmente a la naturaleza no-estándar

30

Arquitecturas Distribuidas Sergio Romero, Arquitectura de Computadores, UMA. 30

CLUSTERS

Pricipales desafíos en el diseño de un cluster

Escalabilidad en tamaño (física & aplicación) Disponibilidad mejorada (gestión de fallos) Imagen Única del Sistema (sensación de un sistema) Comunicación rápida (redes y protocolos) Equilibrado de la carga (CPU, red, memoria, disco) Seguridad y Encriptación (cluster de clusters) Entornos distribuidos (por cuestiones sociales) Gestión (administración y control) Programabilidad (API sencilla) Aplicabilidad (cluster consciente ,o no, de la aplicación)

Page 31: Clusters - Departamento de Arquitectura de Computadoressromero/ad/AD4_Clusters.pdf · propietarias de los computadores paralelos, debido fundamentalmente a la naturaleza no-estándar

31

Arquitecturas Distribuidas Sergio Romero, Arquitectura de Computadores, UMA. 31

CLUSTERS

Índice

Introducción Arquitectura del cluster Clasificación de los clusters Cluster Middleware & Single System Image

Page 32: Clusters - Departamento de Arquitectura de Computadoressromero/ad/AD4_Clusters.pdf · propietarias de los computadores paralelos, debido fundamentalmente a la naturaleza no-estándar

32

Arquitecturas Distribuidas Sergio Romero, Arquitectura de Computadores, UMA. 32

CLUSTERS

Cluster Middleware

Un interfaz entre la aplicación del usuario y el hardware del cluster y la plataforma del SO

Los paquete del MW dan soporte a los niveles de gestión, programación e implementación

Niveles del Middleware:– Niveles SSI– Nivel de disponibilidad: posibilita los servicios de

checkpointing, failover automático, recuperación tras fallo, operativa tolerante a fallos entre todos los nodos del cluster

Page 33: Clusters - Departamento de Arquitectura de Computadoressromero/ad/AD4_Clusters.pdf · propietarias de los computadores paralelos, debido fundamentalmente a la naturaleza no-estándar

33

Arquitecturas Distribuidas Sergio Romero, Arquitectura de Computadores, UMA. 33

CLUSTERS

Objetivos de diseño de MW

Transparencia Completa (gestión)– Se ve como un sistema individual

• Punto de entrada, ftp, telnet, carga de SW,… únicos

Rendimiento Escalable– Facilidad de crecimiento

• Sin cambios en las API• Distribución automática de la carga

Disponibilidad mejorada– Recuperación de fallos automática

• Empleo de tecnologías de checkpointing & tolerancia a fallos

– Gestiona la consistencia de datos cuando hay replicación…

Page 34: Clusters - Departamento de Arquitectura de Computadoressromero/ad/AD4_Clusters.pdf · propietarias de los computadores paralelos, debido fundamentalmente a la naturaleza no-estándar

34

Arquitecturas Distribuidas Sergio Romero, Arquitectura de Computadores, UMA. 34

CLUSTERS

Imagen Única del Sistema (SSI)

Una imagen de sistema única es la ilusión, creada por el SW ó HW, que presenta unacolección de recursos como uno solo recursomás potente

SSI hace que el cluster aparezca como unasóla máquina al usuario, a las aplicaciones y a la red (externa)

Un cluster sin SSI no es un cluster

Page 35: Clusters - Departamento de Arquitectura de Computadoressromero/ad/AD4_Clusters.pdf · propietarias de los computadores paralelos, debido fundamentalmente a la naturaleza no-estándar

35

Arquitecturas Distribuidas Sergio Romero, Arquitectura de Computadores, UMA. 35

CLUSTERS

Ventajas del SSI

Uso transparente de los recursos del sistema Migración de procesos y equilibrado de carga entre

los nodos de forma transparente Fiabilidad mejorada y mayor disponibilidad Tiempo de respuesta y rendimiento mejorados Gestión del sistema simplificada Redución del riesgo de errores del operador El usuario no necesita ser consciente de la

arquitectura subyacente para hacer un uso eficientede las máquinas

Page 36: Clusters - Departamento de Arquitectura de Computadoressromero/ad/AD4_Clusters.pdf · propietarias de los computadores paralelos, debido fundamentalmente a la naturaleza no-estándar

36

Arquitecturas Distribuidas Sergio Romero, Arquitectura de Computadores, UMA. 36

CLUSTERS

Servicios deseados de un SSI

Punto de entrada único– telnet cluster.my_institute.edu SI– telnet node1.cluster. institute.edu NO

Jerarquía de ficheros única: xFS,AFS,Solaris MC Proxy Punto de control único: Gestión desde un único GUI Gestión de red virtual única Espacio de memoria único – Network RAM /DSM Gestión de trabajos único: Glunix, Codine, LSF Interfaz de usuario único: Entornos de ventana como

en workstation/PC, posiblemente utilizando tecnologíaWeb

Page 37: Clusters - Departamento de Arquitectura de Computadoressromero/ad/AD4_Clusters.pdf · propietarias de los computadores paralelos, debido fundamentalmente a la naturaleza no-estándar

37

Arquitecturas Distribuidas Sergio Romero, Arquitectura de Computadores, UMA. 37

CLUSTERS

Funciones de soporte disponibles

Espacio de E/S único (SIO):– Cualquier nodo puede acceder a cualquier periférico o disco

sin necesidad de conocer su localización física

Espacio de proceso único (SPS)– Cualquier poceso en cualquier nodo crea procesos a lo

largo del cluster y se comunica con ellos a través de señales, pipes,…, como si estuvieran en un único nodo

Checkpointing y migración de procesos– Almacena en el disco el estado del proceso y los resultados

intermedios en memoria para proporcionar recuperación porrestauración no actualizada y para la migración de procesoscon objeto de equilibrar la carga

Page 38: Clusters - Departamento de Arquitectura de Computadoressromero/ad/AD4_Clusters.pdf · propietarias de los computadores paralelos, debido fundamentalmente a la naturaleza no-estándar

38

Arquitecturas Distribuidas Sergio Romero, Arquitectura de Computadores, UMA. 38

CLUSTERS

Servicio de espacio de E/S único

Sin espacio de E/S único

Usuarios

Con servicios de espacio de E/S único

Single I/O Space Services

Usuarios

Page 39: Clusters - Departamento de Arquitectura de Computadoressromero/ad/AD4_Clusters.pdf · propietarias de los computadores paralelos, debido fundamentalmente a la naturaleza no-estándar

39

Arquitecturas Distribuidas Sergio Romero, Arquitectura de Computadores, UMA. 39

CLUSTERS

Relaciones entre módulos Middleware

Page 40: Clusters - Departamento de Arquitectura de Computadoressromero/ad/AD4_Clusters.pdf · propietarias de los computadores paralelos, debido fundamentalmente a la naturaleza no-estándar

40

Arquitecturas Distribuidas Sergio Romero, Arquitectura de Computadores, UMA. 40

CLUSTERS

SSI a nivel de aplicación y subsistema

Level Examples Boundary Importance

application cluster batch system,system management

subsystem

file system

distributed DB,OSF DME, Lotus Notes, MPI, PVM

an application what a userwants

Sun NFS, OSF,DFS, NetWare,and so on

a subsystem SSI for allapplications ofthe subsystem

implicitly supports many applications and subsystems

shared portion of the file system

toolkit OSF DCE, SunONC+, ApolloDomain

best level ofsupport for heter-ogeneous system

explicit toolkitfacilities: user,service name,time

Page 41: Clusters - Departamento de Arquitectura de Computadoressromero/ad/AD4_Clusters.pdf · propietarias de los computadores paralelos, debido fundamentalmente a la naturaleza no-estándar

41

Arquitecturas Distribuidas Sergio Romero, Arquitectura de Computadores, UMA. 41

CLUSTERS

SSI a nivel del núcleo del SO

Level Examples Boundary Importance

Kernel/OS Layer

Solaris MC, UnixwareMOSIX, Sprite,Amoeba/ GLunix

kernelinterfaces

virtualmemory

UNIX (Sun) vnode,Locus (IBM) vproc

each name space:files, processes, pipes, devices, etc.

kernel support forapplications, admsubsystems

none supportingoperating system kernel

type of kernelobjects: files,processes, etc.

modularizes SSIcode within kernel

may simplifyimplementationof kernel objects

each distributedvirtual memoryspace

microkernel Mach, PARAS, Chorus,OSF/1AD, Amoeba

implicit SSI forall system services

each serviceoutside themicrokernel

Page 42: Clusters - Departamento de Arquitectura de Computadoressromero/ad/AD4_Clusters.pdf · propietarias de los computadores paralelos, debido fundamentalmente a la naturaleza no-estándar

42

Arquitecturas Distribuidas Sergio Romero, Arquitectura de Computadores, UMA. 42

CLUSTERS

SSI a nivel HW

Level Examples Boundary Importance

memory SCI, DASH better communica-tion and synchro-nization

memory space

memory and I/O

SCI, SMP techniques lower overheadcluster I/O

memory and I/Odevice space

Application and Subsystem Level

Operating System Kernel Level

Page 43: Clusters - Departamento de Arquitectura de Computadoressromero/ad/AD4_Clusters.pdf · propietarias de los computadores paralelos, debido fundamentalmente a la naturaleza no-estándar

43

Arquitecturas Distribuidas Sergio Romero, Arquitectura de Computadores, UMA. 43

CLUSTERS

Sistemas SSI representativos

SSI a nivel de SO– SCO NSC UnixWare– Solaris-MC– MOSIX, …

SSI a nivel de Middleware– PVM, TreadMarks (DSM), Glunix, Condor, Codine,

Nimrod, …

SSI a nivel de Aplicación– PARMON, Parallel Oracle, ...

Page 44: Clusters - Departamento de Arquitectura de Computadoressromero/ad/AD4_Clusters.pdf · propietarias de los computadores paralelos, debido fundamentalmente a la naturaleza no-estándar

44

Arquitecturas Distribuidas Sergio Romero, Arquitectura de Computadores, UMA. 44

CLUSTERS

Niveles de paralelismo

Task i-lTask i-l Task iTask i Task i+1Task i+1

func1 ( ){........}

func1 ( ){........}

func2 ( ){........}

func2 ( ){........}

func3 ( ){........}

func3 ( ){........}

a ( 0 ) =..b ( 0 ) =..

a ( 0 ) =..b ( 0 ) =..

a ( 1 )=..b ( 1 )=..

a ( 1 )=..b ( 1 )=..

a ( 2 )=..b ( 2 )=..

a ( 2 )=..b ( 2 )=..

++ xx LoadLoad

PVM/MPI

Threads

Compilers

CPU

Grano gruesoNivel de tareaPrograma

Grano medioNivel de controlFuncion Thread

Grano finoNivel de datosBucles Compilador

Grano muy finoNivel de instruccionesHardware

Page 45: Clusters - Departamento de Arquitectura de Computadoressromero/ad/AD4_Clusters.pdf · propietarias de los computadores paralelos, debido fundamentalmente a la naturaleza no-estándar

45

Arquitecturas Distribuidas Sergio Romero, Arquitectura de Computadores, UMA. 45

CLUSTERS

Entornos de programación cluster

Basados en memoria compartida– DSM– Threads/OpenMP (enabled for clusters)– Java threads (HKU JESSICA, IBM cJVM)

Basados en paso de mensajes– PVM– MPI

Computación paramétrica– Nimrod/Clustor

Compiladores paralelizantes automáticos Librerías paralelas & núcleos computacionales

(NetSolve)

Page 46: Clusters - Departamento de Arquitectura de Computadoressromero/ad/AD4_Clusters.pdf · propietarias de los computadores paralelos, debido fundamentalmente a la naturaleza no-estándar

46

Arquitecturas Distribuidas Sergio Romero, Arquitectura de Computadores, UMA. 46

CLUSTERS

Ejemplo MPI: código 1/2#include <stdio.h>#include <string.h>#include “mpi.h”

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

int my_rank; /* process rank */int p; /*no. of processes*/int source; /* rank of sender */int dest; /* rank of receiver */int tag = 0; /* message tag, like “email subject” */char message[100]; /* buffer */MPI_Status status; /* function return status *//* Start up MPI */MPI_Init( &argc, &argv );/* Find our process rank/id */MPI_Comm_rank( MPI_COM_WORLD, &my_rank);/*Find out how many processes/tasks part of this run */MPI_Comm_size( MPI_COM_WORLD, &p);

Page 47: Clusters - Departamento de Arquitectura de Computadoressromero/ad/AD4_Clusters.pdf · propietarias de los computadores paralelos, debido fundamentalmente a la naturaleza no-estándar

47

Arquitecturas Distribuidas Sergio Romero, Arquitectura de Computadores, UMA. 47

CLUSTERS

Ejemplo MPI: código 2/2if( my_rank == 0) /* Master Process */ {

for( source = 1; source < p; source++){

MPI_Recv( message, 100, MPI_CHAR, source, tag,MPI_COM_WORLD, &status);

printf(“%s \n”, message);}

}else /* Worker Process */{

sprintf( message, “Hello, I am process %d!”, my_rank );dest = 0;MPI_Send( message, strlen(message)+1, MPI_CHAR, dest, tag, MPI_COM_WORLD);

}/* Shutdown MPI environment */MPI_Finalize();

}

Page 48: Clusters - Departamento de Arquitectura de Computadoressromero/ad/AD4_Clusters.pdf · propietarias de los computadores paralelos, debido fundamentalmente a la naturaleza no-estándar

48

Arquitecturas Distribuidas Sergio Romero, Arquitectura de Computadores, UMA. 48

CLUSTERS

Ejemplo MPI: ejecución

% cc -o hello hello.c -lmpi% mpirun -p2 hello

Hello, I am process 1!% mpirun -p4 hello

Hello, I am process 1!Hello, I am process 2!Hello, I am process 3!

% mpirun hello(no output, there are no workers.., no greetings)