máster en ciencia y tecnología informática curso 2016-2017 · 2017-02-27 · § cada vértice en...

111
Diseño de Sistemas Distribuidos Máster en Ciencia y Tecnología Informática Curso 2016-2017 Félix García Carballeira Grupo de Arquitectura de Computadores [email protected] Planificación y distribución de carga en sistema distribuidos

Upload: others

Post on 25-Jun-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

Diseño de Sistemas DistribuidosMáster en Ciencia y Tecnología Informática

Curso 2016-2017

Félix García CarballeiraGrupo de Arquitectura de [email protected]

Planificación y distribución de carga en sistema distribuidos

Page 2: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

Planificación y distribución de carga (Scheduling and load balancing)§ Conceptos muy relacionados entre sí§ En ambos casos se parte:

q Un conjunto de procesadores (CE) y unidades de almacenamiento (SE) distribuidos

q Un conjunto aplicaciones (trabajos) con requisitos de CPU y de almacenamiento.§ Trabajos secuenciales§ Trabajos paralelos

•Sistemas Distribuidos (2015-2016) •2

Page 3: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

Planificación y distribución de carga

§ El algoritmo de planificación es responsable determinar el orden en el que los trabajos que hay en un sistema se ejecutan en los procesadores

§ El algoritmo de distribución de carga es responsable distribuirlos trabajos según van llegando al sistema.

•Sistemas Distribuidos (2015-2016) •3

Page 4: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

Planificación

§ El algoritmo de planificación es responsable determinar el orden en el que los trabajos se ejecutan en los procesadores

§ Un trabajo (job) está compuesto por un conjunto de tareas (tasks)

§ Objetivo: buscar una estrategia que§ Maximice la productividad (throuhgput)§ Minimice el tiempo de respuesta § Maximice el uso de los recursos en global

•Sistemas Distribuidos (2015-2016) •4

Page 5: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

Diferentes modelos

§ Un trabajo (job) está compuesto por un conjunto de tareas (tasks)

§ Diferentes modelos:q Trabajos secuenciales (una tarea por trabajo)q Trabajos paralelos (varias tareas por trabajo):

§ Tareas independientes§ Tareas que se comunican entre sí y pueden ejecutar en

paralelo (planificación Gang)§ Trabajo formado por tareas con restricciones de precedencia

(planificación DAG)§ Trabajos con restricciones de tiempo (Real time scheduling)

•Sistemas Distribuidos (2015-2016) •5

Page 6: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

Aspectos a considerar en la planificación

§ Coste de las tareas:q ¿Tienen todas el mismo coste computacional?q ¿Se conocen los costes, cuando?

§ Dependencia entre las tareasq ¿Pueden ejecutar en paralelo, en cualquier orden?q ¿Existen dependencias?

§ Localidad:q ¿Es importante que algunas tareas se ejecuten en el mismo

procesador para reducir las comunicaciones?

•Sistemas Distribuidos (2015-2016) •6

Page 7: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

Clasificación de los esquemas de planificación

•Sistemas Distribuidos (2015-2016)

•Scheduling

•Local •Global

•Static •Dynamic

•Optimal •Sub-Optimal

•Approximate •Heuristic

Phisic nom-.Distrib. •Phisically Distrib.

•Cooperative •Non-Cooperative

•Optimal •Sub-Optimal

•Approximate •Heuristic

•7

Page 8: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

Clasificación

§ Planificación local: planificación en un único procesador§ Planificación global: planificación en varios procesadores

•Sistemas Distribuidos (2015-2016)

•Scheduling

•Local •Global

•8

Page 9: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

Planificación global

§ Planificación estática: decisión tomada antes de la ejecución§ Planificación dinámica: planificación en tiempo de ejecución

(adecuada para ejecución no determinista)

•Sistemas Distribuidos (2015-2016)

•Scheduling

•Local •Global

•Static •Dynamic

•9

Page 10: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

Planificación estática

§ Solución óptima: Problema NP-Completo§ Soluciones sub-óptimas: basadas en heurísticas o métodos

aproximados

•Sistemas Distribuidos (2015-2016)

•Scheduling

•Local •Global

•Static

•Optimal •Sub-Optimal

•Approximate •Heuristic

•10

Page 11: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

Planificación dinámica

§ Físicamente no-distribuida: decisión realizada en un único procesador

§ Físicamente distribuida: decisiones tomadas entre diferentes procesadoresq Cooperativa entre diferentes

planificadores localesq No Cooperativa

•Sistemas Distribuidos (2015-2016)

•Dynamic

Phisic nom-.Distrib. •Phisically Distrib.

•Cooperative •Non-Cooperative

•Optimal •Sub-Optimal

•Approximate •Heuristic

•11

Page 12: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

Esquemas expulsivos-No expulsivos

§ Planificación no expulsiva (nonpreemptive): una tarea no puede ser interrumpida una vez comenzada su ejecución

§ Planificación expulsiva (preemptive): una tarea puede ser expulsada de un procesador

•Sistemas Distribuidos (2015-2016)

time P1 P20

2

4

T1 T2

T3

time P1 P20

T1T2

T3T2

1

2

3

•12

Page 13: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

Esquemas adaptativos-No adaptativos

§ Un planificador adaptativo cambia su funcionamiento de acuerdo a la información que recibe del sistema, es decir, modifica su mecanismo de control en función de la historia pasada.

•Sistemas Distribuidos (2015-2016) •13

Page 14: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

Migración de procesos

§ Migrar la ejecución de un proceso de un nodo a otro q Suspender la ejecución, almacenar estado (BCP)q Transferir el espacio de direcciones al nodo destinoq Transferir estadoq Reenviar los mensajes recibidos al proceso migrado

•Sistemas Distribuidos (2015-2016) •14

Page 15: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

Mecanismo de migración

•Sistemas Distribuidos (2015-2016) •15

Page 16: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

Suspensión de la ejecución

§ Esperar la terminación de las operaciones de E/S pendientes§ Suspender la ejecución del proceso§ Registrar información sobre ficheros abiertos§ Crear un proceso vacío en el nodo destino§ Transferir el espacio de direcciones al nodo destino§ Transferir información del proceso al nodo destino§ Continuar la ejecución en el nodo destino

•Sistemas Distribuidos (2015-2016) •16

Page 17: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

Mecanismos de suspensión y transferencia

§ Suspensión total del proceso§ Pre transferencia del proceso§ Transferencia bajo demanda

•Sistemas Distribuidos (2015-2016) •17

Page 18: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

Suspensión total

•Sistemas Distribuidos (2015-2016) •18

Page 19: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

Pre-transferencia

§ El espacio de direcciones es transferido mientras el proceso continua ejecutando en el nodo origen

•Sistemas Distribuidos (2015-2016) •19

Page 20: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

Transferencia bajo demanda

§ El estado del proceso se transfiere inmediatamente y el espacio de direcciones se transfiere bajo demanda

•Sistemas Distribuidos (2015-2016) •20

Page 21: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

Reenvío de mensajes

§ ¿Qué ocurre con los mensajes enviados a un proceso que ha migrado a otro nodo?

§ Tipos de mensajes:1. Recibidos en el nodo origen después de suspendido el

proceso y antes de comenzar la ejecución en el nodo destino

2. Recibidos en el nodo origen después de comenzada la transferencia al nodo destino

3. Enviados al proceso que migró una vez comenzada la ejecución en el nodo destino

•Sistemas Distribuidos (2015-2016) •21

Page 22: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

Estrategias

§ Reenvío de mensajes por el emisorq Los mensajes de tipo 1 y 2 son descartados o se envía ACK

negativoq El emisor necesita localizar al proceso que ha migrado

§ Reenvío de mensajes por el origenq Los mensajes de tipo 1 son encolados y enviados al nodo

destino como parte del proceso de migraciónq Para los mensajes de tipo 2

§ El nodo origen mantiene información sobre la posición del nodo donde ha migrado el proceso

§ Los mensajes son enviados al nodo origen y este los encamina al nodo donde ha migrado el proceso

•Sistemas Distribuidos (2015-2016) •22

Page 23: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

Estrategias

§ Actualización de enlacesq Durante la transferencia el nodo destino envía información

sobre los enlaces a todos los nodos§ Los mensajes de tipo 1 y 2 son encaminados por el nodo

origen§ Los mensajes de tipo 3 son enviados directamente al nodo

destino

•Sistemas Distribuidos (2015-2016) •23

Page 24: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

Planificación de procesos en sistemas distribuidos§ Definición del problema:

q Dados un conjunto de procesadores (CE) y unidades de almacenamiento (SE) distribuidos

q Dadas trabajos con requisitos de CPU y de almacenamiento.§ El algoritmo de planificación es responsable de asignar

trabajos a procesadores y determinar el orden en el que los trabajos se ejecutan en los procesadores

§ Objetivo: buscar una estrategia que:§ Maximice la productividad (throuhgput)§ Minimice el tiempo de respuesta § Maximice el uso de los recursos en global

•Sistemas Distribuidos (2015-2016) •24

Page 25: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

Planificación de tareas independientes

§ Trabajos que constan de un conjunto de n >= 1 tareas que pueden ejecutar en paralelo. q Número de tareas = grado de paralelismoq Cada tarea se asigna a un procesadorq Se puede asignar más de una tarea del mismo trabajo al

mismo procesador q Puede requerir sincronización de tareas al final de su

ejecución§ En general el objetivo es equilibrar la carga y maximizar la

productividad

•Sistemas Distribuidos (2015-2016) •25

Page 26: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

Algoritmos de planificación de tareas independientes§ FCFS (fisrt come first serverd).

q Más justo para trabajos individuales, sin overhead, rendimiento subóptimo

§ STF (shortest task first or shortest time first)q Necesita conocimiento previo de los tiempo de servicioq Algoritmo no expulsivoq Intenta minimizar el retardo medio y aumentar la

productividadq Puede haber inaniciónq Requiere reordenación de las colas cada vez que llega un

trabajo nuevo

•Sistemas Distribuidos (2015-2016) •26

Page 27: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

Algoritmos de planificación de tareas independientes§ Epoch STF (ESTF)

q Las colas de planificación solo se reordenan en ciertos periodos de tiempo

§ El rendimiento de los algoritmos depende mucho de la carga de trabajo

•Sistemas Distribuidos (2015-2016) •27

Page 28: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

•Sistemas Distribuidos (2015-2016)

Planificación de aplicaciones paralelas con dependencias§ Definición del problema:

q Dado un conjunto de tareas con ciertas restricciones de precedencia y requisitos de cálculo y comunicación,

q Dado un conjunto de procesadores conectados por una red de interconexión,

q Encontrar la asignación de tareas a procesadores y el orden de ejecución con el objetivo de minimizar el tiempo de ejecución total.

•28

Page 29: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

Tipos de planificación

§ Planificación Gang: trabajos que constan de tareas que se comunican entre sí y que ejecutan de forma paralela

§ Planificación DAG (Direct Acyclic Graph)q Los trabajos se descomponen en tareas con restricciones de

precedencia entre ellas

•Sistemas Distribuidos (2015-2016) •29

Page 30: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

•Sistemas Distribuidos (2015-2016)

Planificación DAG

1

2 3

4 5

6

4 2 1 P1

6 5 3 P2

Planificador

•30

Page 31: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

•Sistemas Distribuidos (2015-2016)

Complejidad del problema

§ El problema en su forma general es NP-completo§ Algoritmos con complejidad polinomial:

q Cuando sólo hay dos procesadores.§ En el caso general se utilizan heurísticas.§ Los planificadores se eligen por 2 métricas:

q El rendimiento del plan generado.q La eficacia del planificador: tiempo tomado por el

planificador para generar un plan.

•31

Page 32: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

•Sistemas Distribuidos (2015-2016)

Ejemplo

1

Planificador

5

2

43

10 10

2020

5

1

1 1

11

N1 N2

2 1

3 4

5

N1 N20

10

30

36

•32

Page 33: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

•Sistemas Distribuidos (2015-2016)

Criterios para asignar tareas

§ Si dos tareas que se comunican se ejecutan en el mismo nodo, el tiempo de comunicación es cero y se reduce el tiempo de respuesta.

§ Asignar tareas a diferentes nodos, incrementa el paralelismo y puede reducir el tiempo total de ejecución

•33

Page 34: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

Planificación Gang

§ Todas las tareas de un trabajo pueden comenzar su ejecución simultáneamente (no hay restricciones de precedencia)

§ El número de tareas debe ser menor o igual que el número de procesadores disponibles

§ La sobrecarga de comunicación entre las tareas de un trabajo se asume que está incluida en el tiempo de ejecución de las tareas.

•Sistemas Distribuidos (2015-2016) •34

Page 35: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

Modelo de un gang con N tareas

•Sistemas Distribuidos (2015-2016)

•Helen D. Karatza

•35

Page 36: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

Ejemplos de planificadores Gang

§ Ejemplos de planificadores:q First come first served (FCFS)q Adapted first come first serverd (AFCFS)q Largest job first served (LJFS)

•Sistemas Distribuidos (2015-2016) •36

Page 37: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

Adapted first come first served (AFCFS)

§ Intenta planificar un trabajo siempre que los procesadores asignados a sus tareas estén disponibles

§ Cuando no hay suficientes procesadores disponibles para un trabajo, planifica trabajos más pequeños situados por detrás en la cola de planificación

§ Tiende a favorecer a trabajos con pocas tareas

•Sistemas Distribuidos (2015-2016) •37

Page 38: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

Largest Job First Served (LJFS)

§ Las tareas se ordenan por tamaño. Las tareas que pertenecen a trabajos más grandes se planifican primero

§ Este método mejora el rendimiento de grandes trabajos paralelos, pero esto es deseable en muchos casos (centros de supercomputación)

§ Se ha demostrado que LJFS funciona, en general, mejor que AFCFS, aunque el rendimiento depende del sistema y de la carga de trabajo.

•Sistemas Distribuidos (2015-2016) •38

Page 39: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

Planificación DAG

§ Una tarea sin predecesores se denomina tarea de entrada

§ Una tarea sin sucesores se denomina tarea terminal

§ Los predecesores de una tarea se denominan tareas padre

§ Los sucesores de una tarea se denominan hijos§ Cada vértice en un DAG representa una tarea y

el arco representa un mensaje que debe ser enviado de una tarea a otra.

§ Cada arco tiene asignado un coste de comunicación y cada nodo el coste de ejecución

§ Una tarea hijo puede comenzar su ejecución si ha recibido los datos de entrada de todos sus padres

•Sistemas Distribuidos (2015-2016) •39

Page 40: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

Modelo

§ Conjunto de procesadores P = {P1, .. . Pm}q Si es la velocidad del procesador Pi

§ Una trabajo T consta de:q Un conjunto de tareas T = {T1, .. Tn}q Un orden < ; Ti < Tj ® Ti debe terminar antes de que Tj

pueda empezarq (Dij) es la matriz de comunicaciones Dij representa el coste

de comunicación entre las tareas Ti y Tj

q (Ai) es el vector de cómputo, Ai representa el coste de ejecución de la tarea Ti

•Sistemas Distribuidos (2015-2016) •40

Page 41: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

Medida de rendimiento

§ si denota el tiempo de comienzo de la tarea Ti

§ fi denota el tiempo de terminación de la tarea Ti

§ Longitud de planificación o tiempo máximo de terminaciónw(S) = max { fi(S)}

•Sistemas Distribuidos (2015-2016) •41

Page 42: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

•Sistemas Distribuidos (2015-2016)

Ejemplo

1

Planificador

5

2

43

10 10

2020

5

1

1 1

11

N1 N2

2 1

3 4

5

N1 N20

10

30

36

•w(S) = 36

•42

Page 43: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

Planificación estática óptima con dos procesadores§ No hay ningún algoritmo polinomial de planificación para

tareas DAG

§ Algoritmo de Coffman-Graham para m = 2 (procesadores) O(n2)q Todas las tareas tienen el mismo tiempo de ejecuciónq Objetivo: asignar una etiqueta j a cada tarea

•Sistemas Distribuidos (2015-2016) •43

Page 44: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

Algoritmo de Coffman-Graham

1) Asignar 1,2, 3,.. a una de las tareas terminales2) Sea 1, 2, … j-1, el conjunto de etiquetas ya asignadas. Sea S

el conjunto de tareas no asignadas con sucesores etiquetados. Asignamos la siguiente etiqueta j a un elemento de S:

q Para cada nodo x en S, l(x) = {y1, y2, … yk}q l(x) es la secuencia decreciente de enteros formados por la

etiquetas de sus sucesoresq Sea x un elemento de S tal que " x’ en S, l(x) £ l(x’)

(lexicográficamente)q L(x) = j (se asigna la etiqueta j al nodo x)

•Sistemas Distribuidos (2015-2016) •44

Page 45: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

Algoritmo de Coffman-Graham

3) Cuando todas las tareas tienen etiqueta, se usa la lista (Tn, Tn-1, … T1) donde L(Ti) = i para planificar las tareas

4) Cuando un procesador se hace disponible se asigna la siguiente tarea de la lista.

•Sistemas Distribuidos (2015-2016) •45

Page 46: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

Ejemplo

•Sistemas Distribuidos (2015-2016)

1 2

3

4 5

76

8 9

•46

Page 47: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

Ejemplo

•Sistemas Distribuidos (2015-2016)

1 2

3

4 5

76

8 9(1) (2)

•47

Page 48: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

Ejemplo

•Sistemas Distribuidos (2015-2016)

1 2

3

4 5

76

8 9(1) (2)

l(6) ={1} L(7) = {2,1}

•48

Page 49: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

Ejemplo

•Sistemas Distribuidos (2015-2016)

1 2

3

4 5

76

8 9

(4)(3)

(1) (2)

l(6) ={1} L(7) = {2,1}

•49

Page 50: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

Ejemplo

•Sistemas Distribuidos (2015-2016)

1 2

3

4 5

76

8 9

(4)(3)

(1) (2)

l(4) ={4} l(5) = {4}

•50

Page 51: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

Ejemplo

•Sistemas Distribuidos (2015-2016)

1 2

3

4 5

76

8 9

(4)(3)

(1) (2)

(5) (6)l(4) ={4} l(5) = {4}

•51

Page 52: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

Ejemplo

•Sistemas Distribuidos (2015-2016)

1 2

3

4 5

76

8 9

(4)(3)

(1) (2)

l(3) ={65}

(5) (6)

(7)

•52

Page 53: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

Ejemplo

•Sistemas Distribuidos (2015-2016)

1 2

3

4 5

76

8 9

(4)(3)

(1) (2)

(5) (6)

(7)

l(1)={73} L(2) = {7}

•53

Page 54: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

Ejemplo

•Sistemas Distribuidos (2015-2016)

1 2

3

4 5

76

8 9

(4)(3)

(1) (2)

(5) (6)

(7)

(9) (8) L(2) = {7}l(1)={73}

•54

Page 55: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

Ejemplo

•Sistemas Distribuidos (2015-2016)

1 2

3

4 5

76

8 9

(4)(3)

(1) (2)

(5) (6)

(7)

(9) (8)

84297531

76543210

L={1,2,3,5,4,7,6,9,8}

6•55

•La lista de ejecución es:

Page 56: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

Planificación basada en caminos críticos

§ El nivel L de una tarea es la longitud del camino más largo de esa tarea a una tarea terminal del grafo, teniendo en cuenta los tiempos de ejecución de las tareas y los costes de comunicaciónq El nivel L de una tarea terminal es igual a su tiempo de

ejecución.§ El nivel SL (static level) de una tarea es la longitud del camino

más largo de una tarea a una terminal sin tener en cuenta el coste de comunicaciónq El nivel SL de una tarea terminal es igual a su tiempo de

ejecución.§ La longitud del camino crítico de un DAG es la longitud del

camino más largo de una tarea de entrada a una tarea terminal•Sistemas Distribuidos (2015-2016) •56

Page 57: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

Ejemplo

•Sistemas Distribuidos (2015-2016)

•El camino crítico es 22

•57

Page 58: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

Ejemplos de políticas

§ Highest Level First (HDL)q La tarea de entrada con el nivel L más grande se planifica

primero§ Dynamic Level Scheduling (DLS)

q En cada etapa, se selecciona el par (Ti, Pj) que da el valor más alto para la expresión

SL(Ti) – EST(Ti, Pj)q Donde

§ SL(Ti) es el nivel SL de la tarea Ti y EST(Ti, PJ) es el tiempo de inicio estimado más pequeño de Ti en Pj

•Sistemas Distribuidos (2015-2016) •58

Page 59: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

List scheduling

§ En una planificación basada en lista se asigna a cada tarea una prioridad

§ Se construye una lista de tareas en orden decreciente de prioridad

§ Cuando un procesador está disponible, se asigna la tarea lista con la prioridad más alta

§ Los diferentes planificadores asignan diferentes prioridades a las tareas

§ Se puede demostrar que utilizar el nivel L como prioridad es el más cercano a la solución óptima

•Sistemas Distribuidos (2015-2016) •59

Page 60: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

Algoritmo Earliest-Task-First

1. Prioridad de la tarea j = Nivel de la tarea2. Se calcula el número de predecesores (NP) inmediatos de cada tarea3. Se inicializa una cola con las tareas listas que no tienen predecesores

inmediatos (NP = 0)4. Mientras la cola no esté vacía

1. Obtener una tarea de la cola2. Seleccionar un procesador para ejecutar la tarea. Se selecciona un

procesador de forma que la tarea no pueda terminar antes en otro procesador

3. Cuando una tarea termina se resta 1 al valor NP de todos sus sucesores4. Cuando NP se hace 0 para una tarea, se inserta en la cola

•Sistemas Distribuidos (2015-2016) •60

Page 61: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

Ejemplo

•Sistemas Distribuidos (2015-2016)

1

2 3

1

1

1

4

2

1

11

1Tarea NP Nivel L

1 0 6

2 1 3

3 1 4

4 2 1

•61

•número de predecesores (NP) inmediatos de cada tarea

•longitud del camino más largo de esa tarea a •una tarea terminal del grafo

Page 62: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

Ejemplo

•Sistemas Distribuidos (2015-2016)

1

2 3

1

1

1

4

2

1

11

1Tarea NP Nivel L

1 0 6

2 1 3

3 1 4

4 2 1

•62

1. Se inicializa una cola con las tareas listas que no tienen predecesores inmediatos (NP = 0) y se ejecutan

Page 63: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

Ejemplo

•Sistemas Distribuidos (2015-2016)

1

2 3

1

1

1

4

2

1

11

1Tarea NP Nivel L

1 0 6

2 0 3

3 0 4

4 2 1

•63

1. Cuando una tarea termina se resta 1 al valor NP de todos sus sucesores y se

2. Insertan en la lista de nodos con NP=0

1.

Page 64: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

Ejemplo

•Sistemas Distribuidos (2015-2016)

1

2 3

1

1

1

4

2

1

11

1Tarea NP Nivel L

1 0 6

2 0 3

3 0 4

4 2 1

•64

1. Se ejecutan las tareas con NP = 0

1.

Page 65: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

Ejemplo

•Sistemas Distribuidos (2015-2016)

1

2 3

1

1

1

4

2

1

11

1Tarea NP Nivel L

1 0 6

2 0 3

3 0 4

3 1 1

•65

1. Termina 2 2. Se resta 1 al valor NP de 4

1.

Page 66: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

Ejemplo

•Sistemas Distribuidos (2015-2016)

1

2 3

1

1

1

4

2

1

11

1Tarea NP Nivel L

1 0 6

2 0 3

3 0 4

4 0 1

•66

1. Termina 3 2. Se resta 1 al valor NP de 4 se inserta en

la lista de tareas con NP = 01.

Page 67: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

Ejemplo

•Sistemas Distribuidos (2015-2016)

1

2 3

1

1

1

4

2

1

11

1Tarea NP Nivel L

1 0 6

2 0 3

3 0 4

3 0 1

•67

1. 3 se inserta en la lista de tareas con NP = 0 y se ejecuta

1.

Page 68: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

Ejemplo

•Sistemas Distribuidos (2015-2016)

1

2 3

1

1

1

4

2

1

11

1Tarea NP Nivel L

1 0 6

2 0 3

3 0 4

3 0 1

•68

1. 3 se inserta en la lista de tareas con NP = 0 y se ejecuta

1.

Page 69: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

Heurísticas de planificación

§ Factores que incrementan la complejidad de la planificación:q Tareas con tiempos de ejecución diferentesq Enlaces entre nodos con velocidades diferentesq Enlaces compartidos o dedicadosq Topología de la redq Heterogeneidad de los nodosq Estructura del programa paralelo

§ La planificación heurística intenta aplicar heurísticas que reduzcan la complejidad del problema

•Sistemas Distribuidos (2015-2016) •69

Page 70: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

Paralelismo y retardo en las comunicaciones

•Sistemas Distribuidos (2015-2016)

1

2 3

1

1 1

Dx

¿Cómo planificar en dos procesadores?

•70

Page 71: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

Paralelismo y retardo en las comunicaciones

•Sistemas Distribuidos (2015-2016)

T1

T2 T3

time P1 P20

1

2

3

T1

T2

T3

1

1 1

Dx

Si Dx > tiempo de ejecución de T2

•71

Page 72: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

Paralelismo y retardo en las comunicaciones

•Sistemas Distribuidos (2015-2016)

T1

T2 T3

time P1 P20

1

2

3

T1

T2

T3

1

1 1

Dx

Si Dx > tiempo de ejecución de T2

P1 P2

T1

T2

T3

•72

Page 73: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

Paralelismo y retardo en las comunicaciones

•Sistemas Distribuidos (2015-2016)

T1

T2 T3

time P1 P20

1

2

3

T1

T2

T3

1

1 1

Dx

Si Dx < tiempo de ejecución de T2

P1 P2

T1

T2

T3

•73

Page 74: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

Algoritmos de agrupación (clustering)

§ Determinan la mejor agrupación de tareas en el grafo para que el tiempo de ejecución sea mínimo

§ Todos los nodos en el mismo grupo se ejecutan en el mismo procesador.

§ La agrupación óptima es NP-completo.§ {T1, ..., Tn} {C1, ..., Ck}

•Sistemas Distribuidos (2015-2016) •74

Page 75: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

Duplicación de tareas

§ Heurística que duplica la ejecución de las tareas para reducir los retardos de comunicación

•Sistemas Distribuidos (2015-2016)

1

2 3

1

1

1

4

2

1

11

1

time0

1

2

3

P1 P2

T1

T2

T3

sin duplicación

•75

Page 76: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

Duplicación de tareas

§ Heurística que duplica la ejecución de las tareas para reducir los retardos de comunicación

•Sistemas Distribuidos (2015-2016)

1

2 3

1

1

1

4

2

1

11

1

time P1 P20

1

2

3

T1

T2 T3

P1 P2

T1

T2

T3

T1’

con duplicación sin duplicación

•76

Page 77: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

•Sistemas Distribuidos (2015-2016)

Algoritmos de distribución de la carga

§ Objetivo: decidir en qué procesador se debería ejecutar un nuevo trabajo para equilibrar la carga y optimizar el rendimiento.q Evitar que un nodo esté inactivo mientras hay procesos

esperando a ejecutar.§ Suposiciones:

q Todos los procesadores son compatible en el código.q La velocidad de los procesadores puede ser distinta.q Conectividad total: cualquier procesador puede comunicarse

con cualquier otro.

•77

Page 78: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

Algoritmos clásicos

§ Random: cada trabajo nuevo se envía a un procesador/servidor elegido aleatoriamente

§ Cíclico: los trabajos se van asignando de forma cíclica§ Shortest-queue-first: cada trabajo nuevo se asigna al

procesador/servidor con el menor número de trabajos§ Two-random-choices: cada vez que llega un proceso nuevo se

eligen dos procesadores/servidores de forma aleatoria y el trabajo se envía al que menor número de trabajos tiene

•Sistemas Distribuidos (2015-2016) •78

Page 79: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

Evaluación

•Sistemas Distribuidos (2015-2016) •79

0

5

10

15

20

25

30

35

0,5 0,7 0,8 0,9 0,95 0,99

Tiem

po0m

edio0de0respuesta

Carga

sqf

random

round<robin

two<random<choices

Page 80: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

•Sistemas Distribuidos (2015-2016)

Asignación de procesadores

§ Estrategias:q No migratorias: una vez arrancado un proceso éste no

cambia de procesador.q Migratorias: los procesos pueden cambiar de procesador

durante su ejecución.§ Mejor equilibrio de la carga pero más complejas.

§ Criterios de optimización:q Maximizar la utilización total de los procesadoresq Minimizar el tiempo de respuesta medioq Minimizar la tasa de respuestaq Maximizar la productividad

•80

Page 81: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

•Sistemas Distribuidos (2015-2016)

Algoritmos de distribución de la carga

§ Política de transferencia: determina cuándo transferir.§ Política de selección: selección del proceso a transferir.§ Política de ubicación: selecciona el nodo al que transferir.§ Política de información: decide cuándo, desde dónde y qué

información sobre otros nodos recoger.

•81

Page 82: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

•Sistemas Distribuidos (2015-2016)

Política de transferencia(determina cuándo transferir)

§ Basadas en umbral:q Si la carga excede de T unidades de carga en el nodo S, éste

se convierte en emisor de un proceso.q Si la carga cae por debajo de T unidades, entonces S se

convierte en receptor de procesos remotos.§ Tipos de transferencias:

q Expulsivas: se pueden transferir los procesos ejecutadosparcialmente.§ Supone transferir el estado del proceso (migración)

q No expulsivas: los procesos en ejecución no pueden ser transferidos.

•82

Page 83: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

•Sistemas Distribuidos (2015-2016)

Políticas de selección(selección del proceso a transferir)

§ Elegir los procesos nuevos.§ Elegir procesos en ejecución

q Seleccionar los procesos con un tiempo de transferencia mínimo (poco estado, mínimo uso de los recursos locales).

q Seleccionar un proceso si su tiempo de respuesta estimado en un nodo remoto es menor que el tiempo de respuesta local.

•83

Page 84: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

•Sistemas Distribuidos (2015-2016)

Política de ubicación(selecciona el nodo al que transferir)

§ Muestreo: se muestrean otros nodos para encontrar uno adecuado.q Los nodos pueden ser muestreados secuencialmente o en

paralelo.q Selección aleatoria.q Nodos más próximos.q Basada en información recogida anteriormente.

§ Enviar un mensaje al resto de nodos (broadcast). § Dos tipos de políticas:

q Iniciadas por el emisor.q Iniciadas por el receptor.

•84

Page 85: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

•Sistemas Distribuidos (2015-2016)

Política de información(información sobre otros nodos)

§ Bajo demanda: la información se recoge sólo cuando un nodo se convierte en un emisor o receptor de procesos.q Iniciada por el emisor: el emisor busca receptores.q Iniciada por el receptor: el receptor solicita procesos a

otros nodos.q Combinada: iniciada por el emisor o por el receptor.

§ Periódicas: los nodos intercambian información periódicamente.q Sobrecarga constante en el sistema.q No se adapta a las necesidades:

§ Alta periodicidad: mucha sobrecarga.§ Baja periodicidad: reparto de carga ineficaz.

•85

Page 86: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

•Sistemas Distribuidos (2015-2016)

Política de información(información sobre otros nodos)

§ Dirigida por el cambio de estado: los nodos envían su información sólo cuando cambia su estado.q Centralizado: la información se envía a un nodo central.q Distribuido: la información se envía a todos los nodos.q La recogida de información depende de la carga del sistema.

•86

Page 87: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

•Sistemas Distribuidos (2015-2016)

Estabilidad y efectividad

§ Un algoritmo es inestable si la tasa de trabajo que llega a un nodo (externa + transferencias) excede de la capacidad de ese nodo.

§ Un algoritmo es inestable si existe la probabilidad de que los procesos se muevan de un nodo a otro sin haber ejecutado.

§ Un algoritmo es efectivo si mejora el rendimiento del sistema.

•87

Page 88: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

•Sistemas Distribuidos (2015-2016)

Clasificación de los algoritmos

§ Dinámicos: Utilizan la carga local para tomar decisiones.q Tienen en cuenta las posibles fluctuaciones.q Sobrecarga en la recogida, almacenamiento y análisis de la

información.§ Deterministas: Se toma información a priori para la toma de

decisiones.§ Adaptativos: similar a los dinámicos pero adaptando el

algoritmo a la carga del sistema.§ Algoritmos óptimos o subóptimos.§ Algoritmos locales o globales.

§ Con locales se transfiere un proceso cuando la máquina local está muy cargada.

§ Con globales se tiene en cuenta la carga global del sistema.

•88

Page 89: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

•Sistemas Distribuidos (2015-2016)

Algoritmos iniciado por el emisor

§ Política de transferencia: umbral basado en la longitud de la cola de CPU.

§ Política de selección: procesos nuevos.§ Política de ubicación:

q Elegir un nodo al azar.q Probar con un nº de nodos para encontrar un receptor. Si no

lo hay, ejecutarlo localmente.q Probar en un nº de nodos y elegir aquel con la cola de

planificación más corta.§ Política de información: con las dos últimas la información se

recoge cuando un nodo se convierte en emisor.§ Estabilidad: inestable con alta carga ya que será difícil

encontrar receptores y los muestreos consumen ciclos de CPU innecesarios.

•89

Page 90: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

•Sistemas Distribuidos (2015-2016)

Algoritmos iniciados por el receptor

§ Política de transferencia: umbral basado en la longitud de la cola de CPU.

§ Política de selección: cualquier proceso.§ Política de ubicación:

q Muestrear aleatoriamente un nº limitado de nodos hasta encontrar uno con un nivel de carga mayor que T+1.

q Si la búsqueda falla, esperar hasta que otro proceso termine antes de intentar o esperar un periodo predeterminado.

§ Política de información: comienza cuando un nodo se convierte en receptor.

§ Estabilidad: estable. A altas cargas, es probable que los receptores encuentren emisores.

•90

Page 91: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

•Sistemas Distribuidos (2015-2016)

Algoritmos combinados

§ Política de transferencia0 Tmin Media Tmax

receptor emisor

• Política de ubicación dirigida por el emisor:q El emisor difunde un mensaje EMISOR y espera

ACEPTAR.q Un receptor envía ACEPTAR.q Cuando llega ACEPTAR: si el nodo es emisor,

transfiere el proceso más adecuado.q Si no llega ningún mensaje ACEPTAR, difundir un

mensaje CAMBIO-MEDIA para incrementar la carga media estimada.

•91

Page 92: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

•Sistemas Distribuidos (2015-2016)

Algoritmos simétricos

§ Política de ubicación iniciada por el receptor:q Un receptor difunde un mensaje RECEPTOR y espera por

mensajes EMISOR.q Si llega un mensaje EMISOR, se envía un mensaje

ACEPTAR.q Si no llega ningún mensaje EMISOR, difundir un mensaje

CAMBIO-MEDIA para decrementar la carga media estimada en el resto de nodos.

§ Política de selección: cualquier proceso.§ Política de información:

q Dirigida por demanda.q La carga media del sistema se determina localmente.

•92

Page 93: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

•Sistemas Distribuidos (2015-2016)

Ejemplo 1

N >=T

H>= Hmax

NO

SI

N=N+1ejecutar elproceso localmente

stop

escoge un nodo x al azar

NO

H=H+1enviar el procesoal nodo x stop

proceso

N: tamaño de la cola local; H: contador de saltosT: tamaño umbral de la cola; Hmax: valor máximo del contador de saltos

SI

•93

Page 94: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

•Sistemas Distribuidos (2015-2016)

Políticas del ejemplo 1

§ Política de transferencia: umbral de carga§ Política de selección: cualquier proceso.§ Política de ubicación: aleatoria.§ Política de información: comienza cuando un nodo se

convierte en emisor.

•94

Page 95: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

•Sistemas Distribuidos (2015-2016)

Ejemplo 2

N>=TNO

N=N+1ejecutar elproceso localmente

stop

escoge un nodo x al azar y probar

P>= PmaxSI

NO

enviar el procesoal nodo x

proceso

N: tamaño de la cola local; P: contador de pruebaT: tamaño umbral de la cola; Pmax: máximo valor de prueba

SI

P=P+1P=0

¿x acepta?

stop

NO

SI

•95

Page 96: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

•Sistemas Distribuidos (2015-2016)

Políticas del ejemplo 2

§ Política de transferencia: umbral de carga.§ Política de selección: cualquier proceso.§ Política de ubicación: prueba aleatoria limitada.§ Política de información: comienza cuando un nodo se

convierte en emisor.

•96

Page 97: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

•Sistemas Distribuidos (2015-2016)

Ejemplo 3

N>=TNO

N=N+1ejecutar elproceso localmente

stop

Probar en todaslas máquinas

Enviar el proceso al nodo x con la carga más pequeña

proceso

N: tamaño de la cola local;T: tamaño umbral de la cola;

SI

stop

•97

Page 98: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

•Sistemas Distribuidos (2015-2016)

Políticas del algoritmo 3

§ Política de transferencia: basada en umbral de carga.§ Política de selección: cualquier proceso.§ Política de ubicación: nodo con la carga más pequeña.§ Política de información: comienza cuando un nodo se

convierte en emisor.

•98

Page 99: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

Ejemplo de presentación de artículo

Decoupling Computation and Data Schedulingin Distributed Data-Intensive ApplicationsKavitha Ranganathan, Ian Foster (University of Chicago )

High Performance Distributed Computing, 2002. HPDC-11 2002. Proceedings. 11th IEEE International Symposium on

Page 100: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

Introducción

§ La planificación de procesos en sistemas distribuidos es un problema complejo.

§ Crítico en aplicaciones y simulaciones científicas.

§ Intento de resolución de distintas formas pero sigue sin encontrarse una solución óptima para todo tipo de arquitecturas, datos y procesos.

•Sistemas Distribuidos (2015-2016) •100

Page 101: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

Definición del problema

§ Dados un conjunto de procesadores (CE) y unidades de almacenamiento (SE) distribuidos por sitios.

§ Dadas aplicaciones con requisitos de CPU y de almacenamiento.

§ Objetivos:q Buscar una estrategia que:

§ Maximice la productividad (throuhgput)§ Maximice el uso de los recursos en global

•Sistemas Distribuidos (2015-2016) •101

Page 102: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

Arquitectura

User User User User User

ES ES

J

Computers Storage

DJJ DD

J JQ:

Local Scheduler

DataSet Scheduler

DSLS

Computers Storage

Data Mover DSLS

Computers Storage

J

J

J

D

D

Schedule on idle node Monitor

popularity

Migrate data

Request remote data

N users

E External Schedulers

S Sites

•Sistemas Distribuidos (2015-2016) •102

Page 103: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

Propuesta

§ Analizar el impacto de:q Planificación de trabajosq Planificación de datosque tienen juntos y por separado a la hora de conseguir el máximo beneficio.

§ Se utilizarán distintos algoritmos de planificación.

•Sistemas Distribuidos (2015-2016) •103

Page 104: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

Planificación de Trabajos (ES)

§ Randomq Elegir el sitio de forma aleatoria.

§ LeastLoadedq Elegir el sitio menos cargado

§ Localq El trabajo se realiza en el sitio que lo recibe.

§ AtDataq El trabajo se manda al sitio donde más cantidad de datos

que necesite tenga.q Si hay varios se elige el menos cargado

•Sistemas Distribuidos (2015-2016) •104

Page 105: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

Replicación de Datos (DS)

§ Cachingq no se replica,

§ Ramdomq Se elige para replicar los archivos más

populares. Cuando sobrepasa un cierto umbral, se elije al azar la máquina a replicarlo

§ LeastLoadedq Cuando pasa del umbral al que menos cargado

esté.

•Sistemas Distribuidos (2015-2016) •105

Page 106: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

Metodología de evaluación

§ Simulador:q Realizado en Parsec (simulador de eventos discretos).

§ Las entidades (CE, SE, DM, ES, la red, etc.) se comunican por mensajes.

§ Los algoritmos se realizan en cada una de las entidades involucradas.

q No hay topología de red, los sitios están todos interconectados.

q Ancho de banda de la red constante.q Usuarios asociados a 1 ES.q Varios ES, no intercomunicados.

•Sistemas Distribuidos (2015-2016) •106

Page 107: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

Infraestructura simulada

§ Número de usuarios: 120§ Número de sitios: 30§ Número total de trabajos: 6000§ Ancho de banda: 10MB/seg§ Elementos de cómputo por sitio: 2-5

•Sistemas Distribuidos (2015-2016) •107

Page 108: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

Carga de trabajo

§ Peticiones por una Poisson con llegada cada 5 seg§ Tamaños de conjuntos de datos distribución entre

500MB-2GB. § Cada trabajo necesita un único fichero para la

ejecución y tarda 300D segundos, donde D=tam fichero en GB.

§ Se ignora la salida.§ Coste transmisión= size fich/ ancho de banda.§ El tipo de trabajos se genera con una Zip-f

•Sistemas Distribuidos (2015-2016) •108

Page 109: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

Resultados

•Sistemas Distribuidos (2015-2016) •109

Page 110: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

Resultados

•Sistemas Distribuidos (2015-2016) •110

Page 111: Máster en Ciencia y Tecnología Informática Curso 2016-2017 · 2017-02-27 · § Cada vértice en un DAG representa una tarea y el arco representa un mensajeque debe ser enviado

Conclusiones

§ Localidad de los datos importante para planificar.§ Desacoplamiento movimiento de datos/ planificación

de trabajos incrementa el rendimiento y descentraliza el sistema.

§ Dependencia de las características del Grid.§ Trabajos con ficheros pequeños: mejor mandar a

varios sitios y esperar respuesta que mandar los datos por la red.

•Sistemas Distribuidos (2015-2016) •111