Computación Cluster y Grid

Computación Cluster y Grid Computación Cluster y Grid Gestión de Procesos 1 Gestión de Procesos Conceptos C t y taxonomías: t í Trabajos T b j y s

0 downloads 562 Views 947KB Size

Recommend Stories


Los Cluster y el Desarrollo de la
Cluster de turismo de Navarra TURNAVARRA Los Cluster y el Desarrollo de la Innovación en el sector turístico en Navarra. Primer encuentro nacional de

Métodos Jerárquicos de Análisis Cluster
Cap´ıtulo 3 M´ etodos Jer´ arquicos de An´ alisis Cluster. 3.1. Introducci´ on. Los llamados m´etodos jer´arquicos tienen por objetivo agrupar clus

Diagnóstico y optimización de la gestión metodológica del Cluster
FOMIN CLUSTER DE TURISMO SOSTENIBLE Diagnóstico y optimización de la gestión metodológica del Cluster Yves Lesenfants Noviembre 2006 RESUMEN EJEC

Story Transcript

Computación Cluster y Grid

Computación Cluster y Grid Gestión de Procesos

1

Gestión de Procesos Conceptos C t y taxonomías: t í Trabajos T b j y sistemas i t paralelos 2. Planificación Pl ifi ió estática: ái 1.

‰ Planificación de tareas dependientes ‰ Planificación Pl ifi ió d de tareas paralelas l l ‰ Planificación de múltiples tareas

3.

Planificación dinámica: ‰ Equilibrado de carga ‰ Migración de procesos ‰ Migración de datos ‰ Equilibrado E ilib d d de conexiones i

2

Computación Cluster y Grid

Escenario de Partida: Términos y Trabajos: T b j C j t d Conjuntos de ttareas ((procesos o hil hilos))

que demandan: (recursos x tiempo) y Recursos: R D t Datos, dispositivos, di iti CPU u otros t requisitos i it

(finitos) necesarios para la realización de trabajos. y Tiempo: Periodo durante el cual los recursos están asignados (de forma exclusiva o no) a un determinado trabajo. j y Relación entre las tareas: Las tareas se deben ejecutar siguiendo unas restricciones en relación a los datos que generan o necesitan (dependientes y concurrentes) y Planificación: Asignación de trabajos a los nodos

de proceso correspondientes. Puede implicar revisar, i auditar dit y corregir i esa asignación. i ió 3

Computación Cluster y Grid

Escenario de Partida Recursos demandados

Nodos (Procesadores)

Tareas Trabajos OBJETIVO A i Asignación ió dde llos trabajos b j dde llos usuarios i a llos distintos procesadores, con el objetivo de mejorar prestaciones frente a la solución tradicional 4

Computación Cluster y Grid

Características de un Sistema Distribuido y Sistemas Si t con memoria i compartida tid y Recursos de un proceso accesibles desde todos los

p procesadores y Mapa de memoria y Recursos internos del SO (ficheros/dispositivos abiertos, puertos, etc.)

y Reparto/equilibrio Reparto/eq ilibrio de carga (load sharing/balancing) automático a tomático y Si el procesador queda libre puede ejecutar cualquier proceso listo

y Beneficios del reparto p de carga: g y Mejora uso de recursos y rendimiento en el sistema y Aplicación paralela usa automáticamente procesadores disponibles

y Sistemas Si t distribuidos di t ib id y Proceso ligado a procesador durante toda su vida y Recursos de un proceso accesibles sólo desde procesador local y No sólo mapa de memoria; También recursos internos del SO

y Reparto de carga requiere migración de procesos

5

Computación Cluster y Grid

Escenario de Partida: Trabajos ¿Qué Q é se tiene ti que ejecutar? j t ? Tareas en las que se dividen los trabajos: y Tareas disjuntas y Procesos independientes y Pertenecientes a distintos usuarios

y Tareas cooperantes y Interaccionan entre sí y Pertenecientes a una misma aplicación y Pueden presentar dependencias y O Pueden requerir ejecución en paralelo

6

Sistemas Operativos Distribuidos 6

Computación Cluster y Grid

Tareas Cooperantes Dependencias D d i entre t tareas t y Modelizado por medio de un grafo dirigido acíclico (DAG). Tareas

Ejecución Ej ió paralela l l y Implican un número de tareas concurrentes ejecutando simultáneamente: y De forma síncrona o

Transferencia de datos

y Ejemplo: Workflow

asíncrona. y En base a una topología de conexión. y Siguiendo un modelo maestro/esclavo t / l o distribuido. y Con unas tasas de comunicación y un intercambio de mensajes. y Ejemplo: Código MPI

7

Sistemas Operativos Distribuidos 7

Computación Cluster y Grid

Escenario de Partida: Objetivos ¿Qué Q é “mejoras “ j d de prestaciones” t i ” se espera conseguir? i? Tipología de sistemas: y Sistemas de alta disponibilidad y HAS: High Availability Systems y Que el servicio siempre esté operativo y Tolerancia a fallos

y Sistemas de alto rendimiento y HPC: High Performance Computing y Que se alcance una potencia de cómputo mayor y Ejecución de trabajos pesados en menor tiempo

y Sistemas de alto aprovechamiento y HTS: High Troughput Systems y Que el número de tareas servidas sea el máximo posible y Maximizar el uso de los recursos o servir a más clientes (puede

no ser lo mismo). 8

Sistemas Operativos Distribuidos 8

Computación Cluster y Grid

Sistemas de Cómputo y Dependen D d d de uso previsto i t d dell sistema: i t y Máquinas autónomas de usuarios independientes y Usuario U i cede d uso d de su máquina á i pero sólo ól cuando d está tá desocupada y ¿ ¿Qué ocurre cuando deja j de estarlo? y Migrar procesos externos a otros nodos inactivos y Continuar ejecutando procesos externos con prioridad baja yS Sistema dedicado sólo ó a ejecutar trabajos paralelos y Se puede hacer una estrategia de asignación a priori y O ajustar el comportamiento del sistema dinámicamente y Se intenta optimizar tiempo de ejecución de la aplicación o el aprovechamiento de los recursos y Sistema distribuido general (múltiples usuarios y

aplicaciones) y Se S intenta i t t lograr l un reparto t de d carga adecuado d d 9

Sistemas Operativos Distribuidos 9

Computación Cluster y Grid

Tipología de Clusters y High Hi h Performance P f Clusters Cl t y Beowulf; programas paralelos; MPI; dedicación a un problema

y High Availability Clusters y ServiceGuard, Lifekeeper, Failsafe, heartbeat

y High Throughput Clusters y Workload/resource managers; equilibrado de carga; instalaciones de

supercomputación

y Según servicio de aplicación: y Web-Service Clusters y LVS/Piranha; equilibrado de conexiones TCP; datos replicados

y Storage Clusters y GFS; sistemas de ficheros paralelos; identica visión de los datos desde

cada nodo

y Database Clusters y Oracle Parallel Server; 10

Sistemas Operativos Distribuidos 10

Computación Cluster y Grid

Planificación y La L planificación l ifi ió consiste i t en ell d despliegue li d de llas

tareas de un trabajo sobre unos nodos del sistema: y Atendiendo a las necesidades de recursos y Atendiendo a las dependencias entre las tareas

y El rendimiento final depende de diversos factores: y Concurrencia: Uso del mayor número de procesadores

simultáneamente. y Grado de paralelismo: El grado más fino en el que se pueda descomponer la tarea. y Costes de comunicación: Diferentes entre procesadores dentro del mismo nodo y procesadores en diferentes nodos. y Recursos compartidos: Uso de recursos (como la memoria) comunes para varios procesadores dentro del mismo nodo nodo. 11

Computación Cluster y Grid

Planificación y Dedicación D di ió d de llos procesadores: d y Exclusiva: Asignación de una tarea por procesador. y Tiempo compartido: En tareas de cómputo masivo con

E/S reducida afecta dramáticamente en el rendimiento. Habitualmente no se hace. y La planificación de un trabajo puede hacerse de dos

formas: y Planificación Pl ifi ió estática: táti I i i l Inicialmente t se d determina t i

dónde y cuándo se va a ejecutar las tareas asociadas a un determinado trabajo. Se determina antes de que el trabajo entre en máquina. y Planificación dinámica: Una vez desplegado un t b j yd trabajo, de acuerdo d all comportamiento t i t d dell sistema, i t se puede revisar este despliegue inicial. Considera que el trabajo q j yya está en ejecución j en la máquina. q 12

Computación Cluster y Grid

Gestión de Procesos Planificación Estática

13

Computación Cluster y Grid

Planificación Estática y Generalmente G l t se aplica li antes t d de permitir iti lla

ejecución del trabajo en el sistema. y El planificador (a menudo llamado resource manager) selecciona un trabajo de la cola (según política)) y si hay p y recursos disponibles p lo p pone en ejecución, si no espera. Cola de Trabajos Planificador Recursos? j Trabajos 14

no espera p

síí Sistema

Computación Cluster y Grid

Descripción de los Trabajos y Para P poder d ttomar llas d decisiones i i correspondientes di t a

la política del planificador, éste debe disponer de información sobre los trabajos: Número de tareas (ejecutables correspondientes) Prioridad Relación entre ellas (DAG) Estimación de consumo de recursos (procesadores, memoria, i di disco)) y Estimación del tiempo de ejecución (por tarea) y Otros parámetros de ejecución y Restricciones aplicables y y y y

y Estas definiciones se incluyen en un fichero de

descripción del trabajo, cuyo formato depende del planificador correspondiente. 15

Computación Cluster y Grid

Planificación de Tareas Dependientes y Considera C id llos siguientes i i t aspectos: t y Duración (estimada) de cada tarea. y Volumen V l d de d datos t ttransmitido itid all fifinalizar li lla ttarea ((e.g.

fichero) y Precedencia entre tareas (una tarea requiere la finalización previa de otras). y Restricciones debidas a la necesidad de recursos especiales. Una opción consiste en transformar 2

2

11

1

1

2

7

2 1

3 4

16

1

1

todos los datos a las mismas unidades (tiempo): ƒ Tiempo de ejecución (tareas) ƒ Tiempo de transmisión (datos)

3

La Heterogeneidad complica estas 4 5 estimación: ƒ Ejecución dependiente de Representado por medio de un grafo acíclico dirigido procesador (DAG) ƒ Comunicación dependiente de conexión Computación Cluster y Grid

Planificación de Tareas Dependientes y Planificación Pl ifi ió consiste i t en lla asignación i ió d de ttareas a

procesadores en un instante determinado de tiempo: y Para un solo trabajo existen heurísticas eficientes:

buscar camino crítico (camino más largo en grafo) y asignar tareas implicadas al mismo procesador. y Algoritmos con complejidad polinomial cuando sólo hay dos procesadores. y Es un p problema NP-completo p con N trabajos. j y El modelo teórico se denomina multiprocessor scheduling.

17

Computación Cluster y Grid

Ejemplo de Tareas Dependientes 10

10

1

2 1

1

20 1

3

4

1

5

0

2 20

18

N2 1

10

Planificador 3

1

4

30

5

36

N1

N1

N2

5

El tiempo de comunicación entre procesos depende de su despliegue en el mismo nodo: ƒ Tiempo ~00 si están en el mismo nodo ƒ Tiempo n si están en diferentes nodos Computación Cluster y Grid

Algoritmos de Clustering y Para P llos casos generales l se aplican li algoritmos l it d de

clustering que consisten en: y Agrupar A llas ttareas en grupos (clusters). ( l t ) y Asignar cada cluster a un procesador. y La asignación óptima es NP NP-completa completa y Este modelo es aplicable a un solo trabajo o a varios

en paralelo. paralelo y Los clusters se pueden construir con: y Métodos lineales y Métodos no-lineales y Búsqueda heurística/estocástica

19

Computación Cluster y Grid

Planificación con Clustering A 2 2

1

C 2

B 4

3

3

1

D 2

G

3 E 2 F 2

1

5 3

1

3

2 I

20

1

H

2

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22

A B

C D E

G

F

H

I

Computación Cluster y Grid

Uso de la Replicación A 2 2

1

C 2

B 4

3

3

1

D 2

G

1

3 E 2 F 2

1

5

2

3

1

3

H

2 I

Algunas tareas se ejecutan en varios nodos para ahorrar en la comunicación 21

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22

A B

C1

C2

D

E

G

F

H

I

Computación Cluster y Grid

Migraciones con Procesos Dependientes y El uso d de estrategias t t i migratorias i t i permite it mejorar j ell

aprovechamiento. y Se S pueden d d definir fi i en lla planificación l ifi ió estática. táti y Lo más habitual es que formen parte de las estrategias

dinámicas. dinámicas

0

N1 1

2

N2 2

0

N2

2

Con migración

1 2

3

N1

3 2

3

4 22

Computación Cluster y Grid

Planificación de Tareas Paralelas y Considera C id llos siguientes i i t aspectos: t y Las tareas requieren ejecutarse en paralelo y Intercambian I t bi mensajes j a llo llargo d de lla ejecución. j ió y Consumo de recursos locales (memoria o E/S) de

cada tarea tarea. Modelo Centralizado (Maestro/Esclavo)

M S1

S2

S3

S4

S5

Hipercubo Anillo Modelo distribuido 23

S6

Diferentes parámetros de comunicación: • Tasas de comunicación: Frecuencia, volumen de datos. • Topología de conexión: ¿Cómo intercambian l mensajes? los j ? • Modelo de comunicación: Síncrono (las tareas se bloquea a la espera de datos) o Asíncrono. Restricciones: • La propia topología física de la red de interconexión • Prestaciones P i d de la l red. d Computación Cluster y Grid

Rendimiento de la Planificación y El rendimiento di i t d dell esquema d de planificación l ifi ió

depende: y Condiciones C di i d de bl bloqueo ((equilibrado ilib d d de carga)) y Estado del sistema y Eficiencia de las com comunicaciones: nicaciones latencia y ancho de

banda Envio no bloqueante

Recepción bloqueante

Barrera de sincronización

Recepción no bloqueante

24

Envio bloqueante

Ejecución Bloqueado Ocioso Computación Cluster y Grid

Tareas Paralelas: No-regulares y En E algunos l casos llas ttopologías l í d de conexión ió no son

regulares: y Modelado como grafo no dirigido donde: y Nodo representa un proceso con necesidades de CPU

y memoria y Arcos incluye etiqueta que indica cantidad de datos que intercambian nodos implicados (tasa de comunicación) y El problema en su forma general es NP-completo y En el caso general se utilizan heurísticas: y P. ej. corte mínimo: Para P procesadores buscar P-1

cortes tal q que se minimice el flujo j entre cada p partición y Resultado: Cada partición (procesador) engloba a un conjunto de procesos “fuertemente acoplados” y No N ttan sencillo ill en llos modelos d l asíncronos í 25

Computación Cluster y Grid

Tareas Paralelas: No-regulares

N1

N2

N3

N1

3

2

3

3

2

2 1 8

5

6 4 3 4

2 4

1

5 2

Tráfico entre nodos: 13+17=30

N2

N3

2

3

2 1 8

5

6 4 3 4

4 1

5 2

Tráfico entre nodos: 13+15=28 Tanenbaum.“Sistemas Operativos Distribuidos” © Prentice Hall 1996

26

Computación Cluster y Grid

Planificación de Múltiples Trabajos y Cuando C d se d deben b planificar l ifi varios i ttrabajos b j ell

planificador debe: y Seleccionar S l i ell siguiente i i t ttrabajo b j a mandar d a máquina. á i y Determinar si hay recursos (procesadores y de otro

tipo) para poder lanzarlo. lanzarlo y De no ser así, esperar hasta que se liberen recursos. Cola de Trabajos Planificador Recursos? j Trabajos 27

no espera p

síí Sistema

Computación Cluster y Grid

Planificación de Múltiples Trabajos y ¿Cómo Có se selecciona l i ell siguiente i i t ttrabajo b j a iintentar t t ejecutar?: j t ? y Política FCFS (first-come-first-serve): Se respeta el orden de

remisión de trabajos. j y Política SJF (shortest-job-first): El trabajo más pequeño en primer lugar, medido en: y Recursos, Recursos número de procesadores procesadores, o y Tiempo solicitado (estimación del usuario).

y Política LJF (longest-job-first): Ídem pero en el caso inverso. y Basadas en prioridades: Administrativamente se define unos

criterios de prioridad, que pueden contemplar: y Facturación del coste de recursos recursos. y Número de trabajos enviados. y Deadlines de finalización de trabajos. (EDF – Earliest-deadline-first)

28

Computación Cluster y Grid

Backfilling y Backfilling B kfilli es una

modificación aplicable a cualquiera de las políticas anteriores: y Si el trabajo seleccionado por

la política no tiene recursos para entrar entonces,, p y Se busca otro proceso en la cola que demande menos recursos y pueda entrar. y Permite aprovechar mejor el sistema i t

29

Se buscan trabajos que demanden menos procesadores

Planificador Recursos?



no Backfilling

Computación Cluster y Grid

Backfilling con Reservas y Las L reservas consisten i t en: y Determinar cuándo se podría

ejecutar la tarea inicialmente seleccionada, en base a las estimaciones de tiempos (deadline) y Se dejan j entrar trabajos j q que demandan menos recursos (backfilling) siempre y cuando fi li finalicen antes t d dell deadline. d dli y Aumenta el aprovechamiento del sistema, sistema pero no retrasa indefinidamente a los trabajos grandes. g 30

La técnica de Backfilling puede hacer que trabajos que demanden muchos recursos nunca se ejecuten

Planificador Recursos?



no Backfilling

Computación Cluster y Grid

Gestión de Procesos Planificación Dinámica

31

Computación Cluster y Grid

Planificación Dinámica y La L planificación l ifi ió estática táti d decide id sii un proceso se

ejecuta en el sistema o no, pero una vez lanzado no se realiza seguimiento de él él. y La planificación dinámica: y Evalúa el estado del sistema y toma acciones

correctivas. y Resuelve problemas debidos a la paralelización del problema bl (desequilibrio (d ilib i entre t llas ttareas). ) y Reacciona ante fallos en nodos del sistema (caídas o falos parciales). parciales) y Permite un uso no dedicado o exclusivo del sistema. y Requiere una monitorización del sistema ((políticas de gestión de trabajos): y En la planificación estática se contabilizan los recursos

comprometidos. 32

Computación Cluster y Grid

Load Balancing vs. Load Sharing y Load L d Sh Sharing: i y Que el estado de los procesadores no sea diferente y Un procesador ocioso y Una tarea esperando a ser servida en otro procesador Asignación

y Load Balancing: y Que la carga g de los p procesadores sea igual. g y La carga varía durante la ejecución de un trabajo y ¿Cómo se mide la carga?

y Son conceptos muy similares, gran parte de las

estrategias usadas para LS vale para LB (considerando objetivos relativamente diferentes). LB tiene unas matizaciones particulares. 33

Computación Cluster y Grid

Medición de la Carga y ¿Qué Q é es un nodo d iinactivo? ti ? y Estación de trabajo: “lleva varios minutos sin recibir entrada del

teclado o ratón y no está ejecutando j p procesos interactivos” y Nodo de proceso: “no ha ejecutado ningún proceso de usuario en un rango de tiempo”. y Planifiación Pl ifi ió estática: táti ““no se lle h ha asignado i d ninguna i ttarea”. ” y ¿Qué ocurre cuando deja de estar inactivo? y No hacer nada → El nuevo proceso notará mal rendimiento rendimiento. y Migrar el proceso a otro nodo inactivo (costoso) y Continuar ejecutando el proceso con prioridad baja.

y Si en lugar de considerar el estado (LS) se necesita conocer

la carga (LB) hacen falta métricas específicas.

34

Computación Cluster y Grid

Políticas de Gestión de Trabajos Toda T d la l gestión tió d de ttrabajos b j se b basa en una serie i d de decisiones (políticas) que hay que definir para una serie de casos: y Política P líti de d información: i f ió cuándo á d propagar la l

información necesaria para la toma de decisiones. y Política P líti de d transferencia: t f i decide d id cuándo á d ttransferir. f i y Política de selección: decide qué proceso t transferir. f i y Política de ubicación: decide a qué nodo transferir.

35

Computación Cluster y Grid

Política de Información C á d se ttransmite Cuándo it iinformación f ió sobre b ell nodo: d y Bajo demanda: únicamente cuando desea realizar

una transferencia. transferencia y Periódicas: se recoge información periódicamente, la información está disponible en el momento de realizar la transferencia (puede estar obsoleta). y Bajo cambio de estado: cada vez que un nodo cambia de estado.

Ámbito de información: y Completa: todos los conocen toda la información del

sistema. y Parcial: cada nodo sólo conoce el estado de parte de los nodos del sistema. 36

Computación Cluster y Grid

Política de Información ¿Qué Q é iinformación f ió se ttransmite?: it ? y La carga del nodoÆ ¿qué es la carga?

Diferentes medidas: y %CPU en un instante de tiempo y Número de procesos listos para ejecutar (esperando) y Números Nú d de ffallos ll d de página á i / swaping i y Consideración de varios factores.

y Se pueden considerar casos de nodos

h t heterogéneos é ((con dif diferentes t capacidades). id d )

37

Computación Cluster y Grid

Política de Transferencia y Generalmente, G l t basada b d en umbral: b l y Si en nodo S carga > T unidades, S emisor de tareas y Si en nodo d S carga < T unidades, id d S receptor t de d tareas t

y Tipos de transferencias: y Expulsivas: se pueden transferir tareas ejecutadas

parcialmente. y Supone: transferir el estado del proceso asociado a la tarea

(migración) o reiniciar su ejecución ejecución.

y No expulsivas: las tareas ya en ejecución no pueden

ser transferidas.

38

Computación Cluster y Grid

Política de Selección y Elegir El i llos procesos d de ttareas nuevas (t (transferencia f i

no expulsiva). y Seleccionar S l i llos procesos con un tiempo i d de transferencia mínimo (poco estado, mínimo uso de los recursos locales) locales). y Seleccionar un proceso si su tiempo de finalización en un nodo d remoto t es menor que ell titiempo d de finalización local. y El tiempo de finalización remoto debe considerar el

tiempo necesario para su migración. y El tiempo de finalización puede venir indicado en la descripción del trabajo (estimación del usuario). y De no ser así,, el sistema debe estimarlo por p sí mismo. 39

Computación Cluster y Grid

Política de Ubicación y Muestreo: M t consulta lt de d otros t nodos d para encontrar t

adecuado. y Alternativas: y y y y y y

Sin muestreo (se manda a uno aleatoriamente). Muestreo secuencial o paralelo. Selección aleatoria. Nodos más próximos. Enviar un mensaje al resto de nodos (broadcast). Basada en información recogida anteriormente.

y Tres tipos de políticas: y Iniciadas por el emisor (Push) → emisor busca

receptores y Iniciadas por el receptor (Pull) → receptor solicita procesos p y Simétrica → iniciada por el emisor y/o por el receptor. 40

Computación Cluster y Grid

Ejecución Remota de Procesos y ¿Cómo ejecutar un proceso de forma remota? y Crear el mismo entorno de trabajo: y Variables de entorno, entorno directorio act actual, al etc etc. y Redirigir ciertas llamadas al sistema a máquina

origen: g y P. ej. interacción con el terminal

y Migración (transferencia expulsiva) mucho más

compleja: l j y “Congelar” el estado del proceso y Transferir a máquina destino y “Descongelar” el estado del proceso

y Numerosos aspectos complejos: y Redirigir mensajes y señales y¿ ¿Copiar p espacio p de swap p o servir fallos de p pág. g

desde origen? 41

Computación Cluster y Grid

Migración de Procesos Diferentes Dif t modelos d l d de migración: i ió y Migración débil: y Restringida a determinadas aplicaciones (ejecutadas

en máquinas virtuales) o en ciertos momentos. y Migración ó ffuerte: y Realizado a nivel de código nativo y una vez que la

ttarea ha h iniciado i i i d su ejecución j ió ((en cualquier l i momento) t ) y De propósito general: Más flexible y más compleja y Migración Mi ió d de d datos: t y No se migran procesos sino sólo los datos sobre los

que estaba trabajando. trabajando

42

Computación Cluster y Grid

Migración: Recursos La migración L i ió d de recursos ttambién bié d depende d d de lla relación de éstos con las máquinas. y Unatachment resource. Ejemplo: un fichero de datos

dell programa a migrar. d i y Fastened resource. Son recursos movibles, pero con un alto coste coste. Ejemplo: una base de datos datos, un sitio web. y Fixed resource. Están ligados estrechamente a una máquina y no se pueden mover. Ejemplo: dispositivos locales

43

Computación Cluster y Grid

Migración: Datos de las Tareas y Los L d datos t que usa una ttarea también t bié d deben b

migrarse: y Datos D t en disco: di E Existencia i t i d de un sistema i t d de fificheros h

común. y Datos en memoria: Requiere “congelar” congelar todos los datos del proceso correspondiente (páginas de memoria y valores de registros). g ) Técnicas de checkpointing: y Las páginas de datos del proceso se guardan a disco. y Se puede ser más selectivo si las regiones que definen el

estado están declaradas de alguna forma específica ((lenguajes/librerías g j especiales). p ) y Es necesario guardar también los mensajes enviados que potencialmente no hayan sido entregados. y Útiles también para casos en los que no hay migración: Fallos en el sistema. 44

Computación Cluster y Grid

Migración Débil y La L migración i ió débil se puede d articular ti l d de lla siguiente i i t fforma: y Ejecución remota de un nuevo proceso/programa y En UNIX podría ser en FORK o en EXEC y Es más eficiente que nuevos procesos se ejecuten en nodo donde se

crearon pero eso no permite reparto de carga y Hay que transferir cierta información de estado aunque no esté

iniciado y Argumentos, entorno, ficheros abiertos que recibe el proceso, etc.

y Ciertas librerías pueden permitir al programador establecer

puntos en los cuales el estado del sistema de almacena/recupera y que q p pueden ser usados p para realizar la migración. g y En cualquier caso el código del ejecutable debe ser accesible en el nodo destino: y Sistema de ficheros común común.

45

Computación Cluster y Grid

Migración Débil E lenguajes En l j ((como JJava): ) y Existe un mecanismo de serialización que permite

transferir el estado de un objeto en forma de “serie de bytes”. y Se porporciona un mecanismo de carga bajo demanda de las clases de forma remota. serialización instancia

A=3

Proceso.class

Nodo 1

46

A=3 Solicitud de clase

Proceso.class

Cargador dinámico

Nodo 2

Computación Cluster y Grid

Migración Fuerte y Solución naïve: y Copiar el mapa de memoria: código, datos, pila, ... y Crear un nuevo BCP (con toda la información

salvaguardada en el cambio de contexto). y Hay otros datos (almacenados por el núcleo) que son

necesarios: i D Denominado i d estado t d externo t d dell proceso y Ficheros abiertos y Señales S ñ l pendientes di t y Sockets y Semáforos S áf y Regiones de memoria compartida y ..... 47

Computación Cluster y Grid

Migración Fuerte Existen diferentes aproximaciones a posibles implementaciones: y A nivel de kernel: y Versiones modificadas del núcleo y Dispone de toda la información del proceso

y A nivel de usuario: y Librerias de checkpointing y Protocolos para desplazamiento de sockets y Intercepción de llamadas al sistema

Otros aspectos: y PID único de sistema y Credenciales y aspectos de seguridad 48

Computación Cluster y Grid

Migración Fuerte y Desde espacio de usuario: y Servicio remoto de solicitud de migración migración. y Interceptores de llamadas al sistema. y Auditoría (reconstruir) y Redirección y Tratamiento de fallo de páginas remoto.

Proceso Original Intercepción K Kernel l

49

Servicio

Nodo j

Nodo i

Servicio

Proceso Migrado Intercepción K Kernel l Computación Cluster y Grid

Migración Fuerte y Servicio de solicitud de migración: 1 Interactúa 1. I t tú con los l procesos (vía ( í biblioteca bibli t ptrace, t por ejemplo). j l ) 2. Suspende la ejecución del proceso original 3 Obtiene datos del proceso (valores de registros o mapa de 3.

memoria) 4. Crea nuevo proceso destino 5. Modifica valores de los registros 6. Monitoriza, en términos generales, el estado de los procesos Servicio

Servicio

ptrace t Proceso Original 50

Proceso Migrado

fork + ptrace

Computación Cluster y Grid

Migración Fuerte y Interceptores de llamadas al sistema: 1 Necesarios 1. N i para conocer ell estado t d externo t 2. Sobrescribir las funciones asociadas a las llamadas al sistema 3 Despliegue por medio de bibliotecas dinámicas (e 3. (e.g., g

LD_PRELOAD) 4. Se conoce la secuencia de llamadas hechas ((se puede repetir)) 5. Se puede redirigir una llamada a otro sitio (vía el servicio). Servicio Proceso Original open(…) LD_PRELOAD=foo.so

open( ) open(…) Intercepción open(…) Kernel

51

Computación Cluster y Grid

Migración Fuerte y Tratamiento de fallo de página remoto: 1. Acceso A a páginas á i no cargadas d d da una señall SEGV SEGV. 2. El interceptor captura la señal 3. Solicita S li it lla petición ti ió remota t a lla página á i en ell nodo d original i i l 4. Copia la página

Servicio Proceso Migrado SEGV

pág Intercepción 52

Computación Cluster y Grid

Migración Fuerte y Se debe intentar que proceso remoto se inicie cuanto antes y Copiar todo el espacio de direcciones al destino y Copiar C i sólo ól páginas á i modificadas difi d all d destino; ti resto t se pedirán di á

como fallos de página desde nodo remoto servidas de swap de origen y No copiar nada al destino; las páginas se pedirán como fallos de página desde el nodo remoto y servidas de memoria de nodo origen si estaban modificadas y servidas de swap de nodo origen si no estaban modificadas

y Volcar a swap de nodo origen páginas modificadas y no copiar

nada al destino: todas las páginas se sirven de swap de origen y Precopia: Copia de páginas g mientras ejecuta j proceso en origen g y Páginas de código (sólo lectura) no hay que pedirlas: y Se sirven en nodo remoto usando SFD 53

Computación Cluster y Grid

Migración Fuerte y Migración de conexiones: y Afecta a las conexiones entrantes y salientes. y Solución por medio de proxies: y En realidad todas las direcciones son de un único servidor que redirige al nodo donde está el proceso en cada momento momento. y El problema es que no es escalable. y Solución a nivel IP: y Se asigna una dirección IP por proceso del sistema (vía DHCP) y Paquetes “Gratuitous ARP” para informar de cambio de MAC al migrar i ell proceso. y El problema es el rango de direcciones disponibles (red privada virtual). )

54

Computación Cluster y Grid

Beneficios de la Migración de Procesos y Mejora M j rendimiento di i t d dell sistema i t por reparto t d de carga y Permite aprovechar proximidad de recursos y Proceso que usa mucho un recurso: migrarlo al nodo

del mismo y Puede mejorar algunas aplicaciones cliente/servidor y Para minimizar transferencias si hay un gran volumen

de datos: y Servidor envía código en vez de datos (p. ej. applets) y O cliente envía código a servidor (p. ej. cjto. de accesos a b. de

datos))

y Tolerancia a fallos ante un fallo parcial en un nodo y Desarrollo de “aplicaciones p de red” y Aplicaciones conscientes de su ejecución en una red y Solicitan migración de forma explícita y Ejemplo: Sistemas de agentes móviles 55

Computación Cluster y Grid

Migración de Datos Usando en aplicaciones de tipo maestro/esclavo. y Maestro: Distribuye el trabajo entre los trabajadores. y Esclavo: Trabajador (el mismo código pero con diferentes

datos). y Representa un algoritmo de distribución de trabajo (en

este t caso datos) d t ) que: y Evite que un trabajador esté parado porque el maestro no

transmite datos datos. y No asigne demasiado trabajo a un nodo (tiempo final del proceso es el del más lento) y Solución: Asignación de trabajos por bloques (más o menos p pequeños). q ) 56

Computación Cluster y Grid

Migración de Datos y Mejoras de rendimiento: y Equilibrado de carga: y Solución: Definir muchos paquetes de trabajo e ir despachándolos bajo demanda (finalización del anterior). y Intentar lanzar rápido los trabajos iniciales: y Solución: Uso de broadcast en el envío de paquetes inicial. y Si todos los nodos son homogéneos g y realizan el mismo

trabajo finalizarán casi a la vez: y Plantea un posible problema de saturación del maestro que deriva

en un retraso t en despachar d h nuevos paquetes t de d ttrabajo. b j y Solución: Asignación inicial en distintos tamaños.

57

Computación Cluster y Grid

Planificación Dinámica vs. Estática y Los sistemas pueden usar indistintamente una, otro o

No o Dinám mica

Diná ámica

l d las dos.

58

Estática

No Estática

Planificación adaptativa: Se mantiene un control central sobre los trabajos lanzados al sistema, pero se dispone de los mecanismos necesarios ppara reaccionar a errores en las estimaciones o reaccionar ante problemas.

Estrategias de equilibrado de carga: Los trabajos se arrancan libremente en los nodos del sistema y por detrás un servicio de equilibrado q de carga/estado g ajusta la distribución de tareas a los nodos.

Gestor de recursos (con asignación batch): Los procesadores se asignan de forma exclusiva y el gestor de recursos mantiene información sobre los recursos comprometidos.

Cluster de máquinas sin planificación alguna: Que sea lo que Dios quiera…

Computación Cluster y Grid

Ejemplo: OpenMOSIX Preemptive process migration De forma transparente, y en cualquier instante se puede migrar un proceso de usuario El proceso migrado se divide en dos partes: y Contexto de sistema (deputy) que no puede ser migrado del nodo original original. y Contexto ed usuario (remote) que puede ser migrado

Nodo origen

59

Nodo destino

Computación Cluster y Grid

Ejemplo: OpenMOSIX Dynamic load balancing y Se inician los procesos de migración con la intención de equilibrar la

carga de los nodos y Se ajusta de acuerdo a la variación de carga de los nodos,

características de la ejecución y número y potencia de los nodos y Intenta en cada momento reducir la diferencia de carga de cada pareja

de nodos y La L política líti es simétrica i ét i y d descentralizada t li d (t (todos d llos nodos d ejecutan j t ell

mismo algoritmo)

Memory sharing y De mayor prioridad. y Intenta equilibrar el uso de memoria entre los nodos del sistema y Evita, en la medida de lo posible, hacer swapping. y La toma de decisiones de qué proceso migrar y donde migrarlo se

evalúa lú en b base a lla cantidad tid d d de memoria i di disponible. ibl 60

Computación Cluster y Grid

Ejemplo: OpenMOSIX Probabilistic information dissemination algorithms y Proporciona a cada nodo (a su algoritmo) suficiente información sobre

los recursos disponibles en otros nodos nodos. Sin hacer polling. polling y Mide la cantidad de recursos disponibles en cada nodo y La emisión de esta información se hace a intervalos regulares de tiempo

a un subconjunto aleatorio de los nodos. y En el ejecución de una migración, cada asignación de un proceso

iimplica li un periodo i d d durante t ell cuall ell nodo d d debe b ejecutarlo j t l ((no puede d migrarlo de nuevo).

61

Computación Cluster y Grid

Referencias y BProc: Beowulf Distributed

Process Space http://bproc.sourceforge.net/ y Scyld Computer

Corporation

• Open MOSIX htt // http://openmosix.sourceforge.net/ i f t/

• OpenSSI htt // http://www.openssi.org/ i /

http://www.scyld.com/

• A Dynamic Load Balancing System for Parallel Cluster Computing p g ((1996)) B. J. Overeinder, P. M. A. Sloot, R. N. Heederik. Future Generation Computer Systems

• Transparent Process Migration: Design Alternatives and the Sprite p Implementation p ((1991)) Fred Douglis, John Ousterhout. Software - Practice and Experience 62

Computación Cluster y Grid

Get in touch

Social

© Copyright 2013 - 2024 MYDOKUMENT.COM - All rights reserved.