62
CL-GRID III Scheduling en un ambiente Scheduling en un ambiente Paralelo Paralelo Carlos Pon Soto Carlos Pon Soto Departamento de Ingeniería de Departamento de Ingeniería de Sistemas y Computación Sistemas y Computación Universidad Católica del Norte Universidad Católica del Norte

Scheduling en un ambiente Paralelo

Embed Size (px)

DESCRIPTION

Scheduling en un ambiente Paralelo. Carlos Pon Soto Departamento de Ingeniería de Sistemas y Computación Universidad Católica del Norte. Scheduling. Introducción Modelo Tareas del programa Maquina Schedule Tiempo de Ejecución y Comunicación Complejidad del Problema - PowerPoint PPT Presentation

Citation preview

Page 1: Scheduling en un ambiente Paralelo

CL-GRID III

Scheduling en un ambiente Scheduling en un ambiente ParaleloParalelo

Carlos Pon SotoCarlos Pon Soto

Departamento de Ingeniería de Departamento de Ingeniería de Sistemas y ComputaciónSistemas y Computación

Universidad Católica del NorteUniversidad Católica del Norte

Page 2: Scheduling en un ambiente Paralelo

CL-GRID III

Scheduling Introducción Modelo

Tareas del programa Maquina Schedule Tiempo de Ejecución y Comunicación

Complejidad del Problema Scheduling sin considerar los costos de comunicación Scheduling considerando los costos de comunicación Algoritmos Heurísticos Clustering Duplicaciones Una aplicación de caso real

Page 3: Scheduling en un ambiente Paralelo

CL-GRID III

Introducción a Scheduling

Este problema ha sido descrito en un número de diferentes maneras en diferentes campos

El problema clásico de secuenciar los trabajos en la administración de producción ha influenciado la mayoría de las soluciones

Conjunto de recursos y un conjunto de consumidores

Page 4: Scheduling en un ambiente Paralelo

CL-GRID III

Sistema de Scheduling

ConsumidoresConsumidores RecursosRecursos

SchedulerScheduler

PolíticaPolítica

Page 5: Scheduling en un ambiente Paralelo

CL-GRID III

Diseño Metodológico

Particionamiento: el calculo que va a ser realizado y los datos con el cual va a operar sobre esta computación es descompuesta en pequeñas tareas.

Comunicación: Se determina la comunicación requerida para coordinar la ejecución de las tareas. Se definen estructuras de comunicación y algoritmos apropiados.

Aglomeración: Las estructuras definidas en las primeras dos etapas (tareas y comunicación) son evaluadas con respecto a requerimientos de rendimiento y costos de implementación. Las tareas son combinadas en tareas mas grandes si es necesario para mejorar el rendimiento o reducir costos de desarrollo.

Scheduling: Cada tarea es asignada a un procesador de una manera que intenta satisfacer los objetivos de maximizar la utilización de los procesadores y minimizar los costos de la comunicación

Page 6: Scheduling en un ambiente Paralelo

CL-GRID III

Diseño Metodológico

Page 7: Scheduling en un ambiente Paralelo

CL-GRID III

Particionador

Granos de Código secuencial

Sistema paralelo/distribuido

Tareasdel programa Paralelo

Scheduler

Schedule

Procesadores

tiempo

Tareas del programa

ProgramaSecuencial

Enfoque explícitoEnfoque Implícito

Analizador Dependencia

Ideal Parallelism

Scheduling Tareas Paralelas

Page 8: Scheduling en un ambiente Paralelo

CL-GRID III

Tareas del programa

(T, <, D, A)

T conjunto de tareas < orden parcial sobre T D Comunicación de Datos A Cantidad de cómputo (instrucciones)

Page 9: Scheduling en un ambiente Paralelo

CL-GRID III

Grafo de Tareas

A

10

D

15

E

10

F

20

B

15

C

10

G

15

H

15

I

30

558 7

5

5 5

10

5

4 5 4

20

Page 10: Scheduling en un ambiente Paralelo

CL-GRID III

Máquina

m procesadores heterogéneos

Conectados vía una red de interconexión arbitraria (grafo de la red)

Asociado con cada procesador Pi es su velocidad Si

Asociado con cada arco (i,j) es la razón de transferencia Rij

Page 11: Scheduling en un ambiente Paralelo

CL-GRID III

Ejemplos de Máquinas

Arreglo Lineal

Anillo

Malla

6 3

1 2

5 4

Completamente conectado

Page 12: Scheduling en un ambiente Paralelo

CL-GRID III

Schedule de Tareas

Carta Gantt Mapear (f) las tareas a un elemento de procesamiento

y un tiempo de inicio Formalmente:

f: T {1,2,3, …, m} x [0infinito f(v) = (i,t) tarea v es asignada a ser procesada por el

procesador i comenzando en el tiempo t

Page 13: Scheduling en un ambiente Paralelo

CL-GRID III

Carta Gantt

Processor

Time

1 2 3 4 5 0

1

2

3

4

Stop

Start

W-1 W-2 W-3 W-4 W-5

Page 14: Scheduling en un ambiente Paralelo

CL-GRID III

Carta Gantt con Comunicación

2 1

3

4

10

30

11

31

36

P1 P2time

0

P3

6

5

Page 15: Scheduling en un ambiente Paralelo

CL-GRID III

Tiempos de Ejecución y de Comunicación

Si la tarea ti es ejecutada en pj

Tiempo de Ejecución = Ai/Sj

El retardo de comunicación entre ti y tj, cuando es ejecutada en procesadores adyacentes pk y pl es

Dij/Rkl

Page 16: Scheduling en un ambiente Paralelo

CL-GRID III

Complejidad

Computacionalmente NP completo Pequeño número de algoritmos óptimos que son de

orden polinimial en casos restringidos Un gran número de heurísticas en casos mas

generales Quality of the scheduleschedule vs. Quality of the schedulerscheduler

Page 17: Scheduling en un ambiente Paralelo

CL-GRID III

Scheduling Tareas del Grafo sin considerar los costos de la comunicación

Algoritmos óptimos de orden Polinomial en los siguientes casos:

1. Grafo de tareas es in-forest o out-forest

2. Grafo de tareas es un intervalo ordenado

3. Solamente dos procesadores

Page 18: Scheduling en un ambiente Paralelo

CL-GRID III

Suposiciones

Un grafo de tareas consiste de n tareas Un sistema distribuido hecho de m procesadores El tiempo de ejecución de cada tarea es una unidad de tiempo La comunicación entre cualquier par de tareas es cero El objetivo es encontrar una asignación óptima, el cual

minimiza el tiempo de finalización

Page 19: Scheduling en un ambiente Paralelo

CL-GRID III

Scheduling de Lista

Los tres algoritmos pertenecen a la clase de scheduling de lista.

Cada tarea es asignada con una prioridad, y una lista de tareas es construida en un orden de prioridad decreciente.

Una tarea llega a estar lista para su ejecución cuando sus predecesores inmediatos en el grafo de tareas ya han sido ejecutados o si estos no tienen ningún predecesor.

Page 20: Scheduling en un ambiente Paralelo

CL-GRID III

Scheduling grafo de tareas in-forest/out-forest

1. Cuando cada nodo tiene a lo máximo un sucesor inmediato (in-forest) o cada nodo tiene a lo máximo un predecesor inmediato (out-forest)

2. El nivel de cada nodo en el grafo de tareas es calculado como se dice anteriormente y es usado como prioridad de cada nodo

3. Cuando un procesador llega a estar disponible, asignele la tarea lista no ejecutada con la mas alta prioridad

Page 21: Scheduling en un ambiente Paralelo

CL-GRID III

Ejemplo

10

14 13

12

11

9

8 7

5

6

4

2

3

1

P1 P2 P3

1

2 3 4

5 6 7

8 9 10 11 12

13 14 Level 5

Level 4

Level 3

Level 2

Level 11

1 1 1

1 1 1

1 1 1 1 1

1 1

La longitud del schedule es 5 unidades de tiempo, el cual es la

planificación óptima. Esto significa que independiente del número

de procesadores que podamos usar, no se podrá lograr un

schedule mas corto que 5

Page 22: Scheduling en un ambiente Paralelo

CL-GRID III

Scheduling tareas ordenadas por intervalo

1. El número de sucesores de cada nodo es usado como la prioridad de cada nodo

2. Cuando un procesador llega a estar disponible, asigne a éste la tarea lista sin ejecutar con la mas alta prioridad

Page 23: Scheduling en un ambiente Paralelo

CL-GRID III

Ejemplo

0 0 0

3 2 1

4 5 61

9

1 1

1 1 1

1 1 1

1 2 3

654

7 8

Time P1 P2

123

4 5 6

87 9

P30

1

2

3

La longitud del schedule es 3 unidades de tiempo, el cual es la planificación óptima.

Note que la longitud de la ruta mas larga desde un nodo fuente a un nodo terminal

(ruta crítica) es también 3. Esto significa que independiente del número de

procesadores no podremos lograr longitudes de schedule mas corto que 3 unidades

de tiempo.

Page 24: Scheduling en un ambiente Paralelo

CL-GRID III

Scheduling de dos procesadores

1. Asigne 1 a una de las tareas terminales.

2. Sean las etiquetas 1,2,...,j-1 han sido asignadas. Sea S el conjunto de tareas no asignadas sin sucesores no etiquetados. Luego seleccionamos un elemento de S para asignarle la etiqueta j. Por cada nodo x en S defina l(x) como sigue: Sea y1, y2, ...,yk los sucesores inmediatos de x. Luego l(x) es la secuencia decreciente de enteros formados por el ordenamiento del conjunto {L(y1), L(y2),..., L(yk)}. Sea x un elemento de S tal que para todos los x' en S, l(x) ≤ l(x') (lexicograficamente). Defina L(x) a ser j.

3. Use L(v) como la prioridad de la tarea v y los empates se resuelven arbitrariamente.

4. Cuando un procesador llegue a estar disponible, asigne a este la tarea lista no ejecutada con la mas alta prioridad. Los empates se resuelven arbitrariamente.

Page 25: Scheduling en un ambiente Paralelo

CL-GRID III

Ejemplo

1

3

4

2

5

67

16

9

10

11

12

15

8

17

13

14

P1 P2time

2 1

4 1

5 1

6 1

7 1

81

11

91

101

111

151

13

131

121

141

161

171

12 3

4 56

78 910

11 12

13

14

15 16 17

Page 26: Scheduling en un ambiente Paralelo

CL-GRID III

Modelos de Comunicación

Tiempo de Finalización Tiempo de Ejecución Tiempo de Comunicación

Tiempo de finalización como dos componentes

Tiempo de finalización de la carta Chart

Page 27: Scheduling en un ambiente Paralelo

CL-GRID III

Tiempo de Finalización con 2 Componentes

Tiempo de Finalización = Tiempo de Ejecución + Retardo de Comunicación Total

Retardo de Comunicación Total = Número de mensajes de comunicación * retardo por mensaje

Tiempo de ejecución Tiempo de finalización máximo de cualquiera tarea

Número de mensajes de comunicación model A Model B

Page 28: Scheduling en un ambiente Paralelo

CL-GRID III

Número de mensajes de Comunicación

Dado un grafo de tareas G = (V,E) y su asignación sobre m procesadores, usamos proc(v) para referirnos al procesador para el cual la tarea v es asignada.

Modelo A: número de mensajes = el número de par de nodos (u,v) tal que (u,v) pertenece a E y proc(u) ≠ proc(v).

Modelo B: número de mensajes = el número de pares procesador-tarea (P,v) tal que el procesador P no calcule la tarea v pero calcula al menos un sucesor directo de v.

Page 29: Scheduling en un ambiente Paralelo

CL-GRID III

Ejemplo

A

1

D

1

E

1

B

1

C

1

Asuma un sistema con 2 procesadores

Page 30: Scheduling en un ambiente Paralelo

CL-GRID III

Modelos A y B

Asuma que las tareas A, B, y D son asignadas a P1 y las tareas C y E son asignadas a P2

A

B

D

P1

C

E

P2

Modelo A

Número de mensajes = 2

Tiempo de finalización = 3 + 2

Modelo B

Número de mensajes = 1

Tiempo de finalización = 3 + 1

Page 31: Scheduling en un ambiente Paralelo

CL-GRID III

Modelo C: Este modelo asume la existencia de un procesador de E/S que está asociado con cada procesador en el sistema. Una tarea puede ser asignada a un procesador para su ejecución mientras este procesador está realizando la comunicación

A

B

C D

E

Retardo de Comunicación

P1 P20

1

2

3

4

Page 32: Scheduling en un ambiente Paralelo

CL-GRID III

Algoritmos óptimos con Comunicación

Intervalos ordenados sobre n procesadores In-forests / out-forests en dos procesadores

Page 33: Scheduling en un ambiente Paralelo

CL-GRID III

Pasos del algoritmo principal

Agregar nuevo

arco para

compensar por

la comunicación

Schedule el

grafo

aumentado

usando el

algoritmo de Hu

Hacer

correciones de

Asignaciones

Grafo de Tareas

Grafo de Tareas Aumentado

Schedule (correct length)

Schedule (correcto)

Page 34: Scheduling en un ambiente Paralelo

CL-GRID III

La profundidad de un nodo es definida como la longitud de la ruta mas larga desde cualquier nodo con profundidad cero a ese nodo. Un nodo sin predecesores tiene una profundidad de cero. En otras palabras, la profundidad(u) = 1 + max{profundidad(v)}, v predecesores(u); y profundidad(u) = 0 u, predecesores(u) =.

Dado un schedule f, definimos la operación Swapall(f, x, y), donde x e y son

dos tareas en f asignadas a comenzar en el tiempo t en los procesadores i

y j, respectivamente. El efecto de esta operación es intercambiar todos los

pares de tareas asignados en los procesadores i y j en la asignación f en el

tiempo t1, t1, t1 ≥ t

Operación Swapall

Profundidad del Nodo

Definiciones

Page 35: Scheduling en un ambiente Paralelo

CL-GRID III

1. Dado un grafo in-forest G = (V, A), identifique el conjunto de hermanos: S1,

S2, . . . , Sk, donde Si es el conjunto de todos los nodos en V con un hijo común

child(Si).

2. A1 A.

3. Por cada conjunto Si

(a) seleccione un nodo u Si con la máxima profundidad

(b) A1 A1 - (v, child(Si)) v Si y v ≠ u

(c) A1 A1 U (v, u) v Si y v ≠ u.

4. Obtener el schedule f aplicando el algoritmo 1 en el in-forest aumentado F =

(V, A1).

5. Por cada conjunto Si en el in-forest G original si el nodo u (con la máxima

profundidad) es scheduled en f en la ranura de tiempo inmediatamente antes

de child(Si) pero en un procesador diferente, luego aplique la operación

Swapall(f, child(Si), x), donde x es la tarea asignada en la ranura de tiempo

inmediatamente después de u en el mismo procesador

Algoritmo 4

Page 36: Scheduling en un ambiente Paralelo

CL-GRID III

Ejemplo 5

-Identificamos el conjunto de hermanos con un hijo común. La figura (b) muestra cuatro conjuntos: S1 = {a, b}, S2 = {c, d}, S3 = {e, f}, S4 = {g, h}

- Seleccionamos el nodo que tenga la máxima profundidad de cada conjunto. Ya que a y b en S1 y e y f en S3 tienen la misma profundidad, seleccionamos b de S1 y f de S2 aleatoriamente. Lo mismo se hace con S2 y S4, seleccionando los nodos c y g respectivamente. Estos se muestran en gris.

Page 37: Scheduling en un ambiente Paralelo

CL-GRID III

Ejemplo 5

-El grafo de tareas aumentada (F) es construido como se muestra en la figura (c).

- El algoritmo 1 puede ser aplicado para scheduling in-forest sin considerar la comunicación al grafo de tareas aumentada (F). La figura (d) y (e) muestran las prioridades de las tareas y la asignación óptima cuando se ignora la comunic.

Page 38: Scheduling en un ambiente Paralelo

CL-GRID III

Ejemplo 5

-El schedule mostrado en la figura (e) no es correcto cuando la comunicación es considerada ya que las tareas comunicándose b y c están asignados en procesadores diferentes

- La figura (f) muestra el schedule óptimo final en dos procesadores cuando es considerada la comunicación

Page 39: Scheduling en un ambiente Paralelo

CL-GRID III

Definiciones

start-time(v,i,f) Es el tiempo mas temprano de inicio en el cual la tarea v puede iniciar la ejecución en el procesador Pi en la asignación f

task(i,t,f)

La tarea asignada en el procesador Pi en el momento t en la asignación f. Si no hay ninguna tarea asignada en el procesador Pi en el momento t en la asignación f, luego task(i,t,f) retorna la tarea vacía . Note que la prioridad de la tarea vacía es menor que la prioridad de cualquier otra tarea.

Page 40: Scheduling en un ambiente Paralelo

CL-GRID III

Algoritmo

1. El número de todos los sucesores de cada nodo es usado como la prioridad de cada nodo.

2. Los nodos con la mas alta prioridad son asignados primero.

3. Cada tarea v es asignada al procesador Pi con el tiempo de inicio mas temprano.

4. Si start-time(v,i,f) = start-time(v,j,f), 1 ≤ i,j ≤ m, la tarea v es asignada al procesador Pi si task(i, start-time(v,i,f)-1, f) tiene la prioridad mas pequeña (número mas pequeño de sucesores).

Page 41: Scheduling en un ambiente Paralelo

CL-GRID III

Ejemplo

a b c d

i j k l

e f g h

a

bcd

ef g

h

i

j

P1 P2 P3

k l

a

bcdefg

hij

56

78

432

100

Node SucessorsNumber of

k

l0

0

Task Graph Task Priority

Gantt Chart

0

1

2

3

4

5

Time

Page 42: Scheduling en un ambiente Paralelo

CL-GRID III

Algoritmos heurísticos

Una heurística genera una respuesta en menor tiempo que el tiempo exponencial, pero no garantiza una solución óptima.

Page 43: Scheduling en un ambiente Paralelo

CL-GRID III

a

b c

a

b

c

a

b

c

c

P1 P2 P1 P2

10

25

0

10

25

0

40

15

35c

40

50

x

x

x

Task Graph

Gantt Chart-2Gantt Chart-1

Task Exceution time

abc

101515

y

Arc Communication

(a,b) y

(a,c) x < y

x = 5 x = 25

30

Time TimeRetardo de Comunicación versus Paralelismo

Cuando el retardo de comunicación no puede ser despreciado, las heurísticas de scheduling

deben considerar el retardo de comunicación antes de asignar las tareas a los procesadores

Es posible que tareas listas con largos retardos de comunicación terminen siendo asignados al

mismo procesador que sus predecesores inmediatos.

Hay un compromiso entre tomar ventaja del máximo paralelismo y

minimizar el retardo de comunicación

Page 44: Scheduling en un ambiente Paralelo

CL-GRID III

Tamaño de la granularidad y Localidad de los datos

Otro tema cercanamente relacionado al compromiso entre paralelismo y retardo de la comunicación es el problema del tamaño de la granularidad.

El desafío es determinar el mejor tamaño de grano para cada nodo en un grafo de tareas representando el programa.

Un grano es definido como una o mas instrucciones secuenciales, empaquetadas juntas para hacer un módulo que es secuencialmente ejecutada en un solo procesador

Page 45: Scheduling en un ambiente Paralelo

CL-GRID III

Tamaño de la granularidad y Localidad de los datos El tamaño de un grano es alterado agregando o removiendo

instrucciones. Un grano puede ser tan pequeño como una sola operación o tan grande como un programa completo.

Si un grano es demasiado grande, el paralelismo es reducido ya que tareas potencialmente concurrentes son agrupadas juntas y ejecutadas secuencialmente por un procesador.

Por otro lado, cuando el tamaño del grano es demasiado fino, mas sobrecarga es agregado al tiempo de ejecución global en la forma de cambio de contexto, tiempo de asignación, y retardo de comunicación.

Page 46: Scheduling en un ambiente Paralelo

CL-GRID III

Algoritmo 6: Scheduling basado en prioridad

1. A cada nodo en el grafo de tareas se le asigna una prioridad. Una cola de prioridad es inicializada para tareas listas insertando cada tarea que no tenga predecesores inmediatos. Las tareas son ordenadas en orden decreciente de prioridades de tareas.

2. Con tal que la cola de prioridad no esté vacía hacer lo siguiente:

(a) Una tarea es obtenida del frente de la cola.

(b) Un procesador ocioso es seleccionado para correr la tarea usando el criterio de selección del procesador.

(c) Cuando todos los predecesores inmediatos de una tarea particular son ejecutados, ese sucesor está ahora listo para ser insertado en la cola de prioridades.

Page 47: Scheduling en un ambiente Paralelo

CL-GRID III

Clustering

La idea detrás de este tipo de scheduling heurístico es particionar el proceso de asignación en dos fases: Asignación del procesador: el cual es el

proceso de asignar las tareas en los procesadores del sistema

Ordenamiento de tareas: el cual es el proceso de scheduling las tareas asignadas en cada procesador.

Page 48: Scheduling en un ambiente Paralelo

CL-GRID III

Algoritmo 7

1. Una las tareas asumiendo un número no limitado de procesadores conectados completamente. Dos tareas en el mismo cluster son asignadas al mismo procesador.

2. Mapee los clusters y sus tareas en el numero dado de procesadores (m). En este paso, las siguientes optimizaciones son realizadas:

(a) Unir cluster: si el número de clusters es mayor que el número de procesadores disponibles, los clusters son unidos formando m clusters.

(b) mapeo físico: Si la arquitectura real no es completamente conectada. Un mapeo debe ser determinado tal que la comunicación entre clusters es minimizado.

(c) Ordenamiento de la ejecución de las tareas. Después que la asignación de las tareas a los procesadores está fijo, el ordenamiento de la ejecución es determinada para asegurar la dependencia de orden correcta entre tareas.

Page 49: Scheduling en un ambiente Paralelo

CL-GRID III

a

bc

g

d e

f

a

bc

g

d e

f

a

bc

g

d e

f

(a)(b)

(c)

a

bc

g

d e

f

(d)

Clustering Suponga que las tareas a, b, c, d, e, f y g pueden correr en cualquier procesador en un sistema distribuido en 1, 5, 1, 2, 2, 1 y 1 unidad de tiempo respectivamente.

Los retardos de comunicación entre tareas si son asignados a procesadores diferentes es mostrado en la siguiente figura

La figura también muestra 4 clustering diferentes del grafo de tareas:

Los dos clusters de la figura (a) asignados a dos procesadores se ejecutan en 9 unidades de tiempo

Los dos clusters de la figura (b) asignados a dos procesadores se ejecutan en 10 unidades de tiempo

Page 50: Scheduling en un ambiente Paralelo

CL-GRID III

Tiempos de retardo de comunicación entre tareas

Page 51: Scheduling en un ambiente Paralelo

CL-GRID III

Clusters del Caso (a)

5

1

1

2 2

1

1

1

2

Page 52: Scheduling en un ambiente Paralelo

CL-GRID III

Clusters del Caso (b)

5

1

1

2

2

1

1

1

1

Page 53: Scheduling en un ambiente Paralelo

CL-GRID III

Clusters del Caso (c) y (d)

Los tres clusters de la figura (c) asignados a tres procesadores se ejecutan en 10 unidades de tiempo

Los tres clusters de la figura (c) asignados a tres procesadores se ejecutan en 10,5 unidades de tiempo

Page 54: Scheduling en un ambiente Paralelo

CL-GRID III

Duplicación de Tareas

La duplicación de tareas puede ser usada en scheduling heurístico para reducir el efecto del retardo de la comunicación.

Ya que el costo del paso de mensajes entre procesadores diferentes es significativamente mas alto que dentro del mismo procesador, el objetivo es reducir el intercambio de mensajes entre tareas asignadas a procesadores diferentes. La idea es ejecutar múltiples copias de la tarea emisora en los procesadores corriendo las tareas receptoras cuando sea necesario.

Page 55: Scheduling en un ambiente Paralelo

CL-GRID III

a

b c

a

b c

a

b

c

P1 P2 P1 P2

xx

Task Graph

x

a

No Duplication Task a is Duplicated

Duplicación de Tareas

Page 56: Scheduling en un ambiente Paralelo

CL-GRID III

Aplicación: Simulación de Circuitos Electrónicos Integrados

Page 57: Scheduling en un ambiente Paralelo

CL-GRID III

Aplicación: Paralelismo Espacial Jerárquico

Page 58: Scheduling en un ambiente Paralelo

CL-GRID III

Aplicación: Paralelismo Temporal

Page 59: Scheduling en un ambiente Paralelo

CL-GRID III

Asignación de sub-circuitos en un cluster de anillo con 4 procesadores

Una heurística puede

asignar prioridades basado

en la longitud de la ruta

mas larga a un nodo

terminal en un grafo de

tareas

Page 60: Scheduling en un ambiente Paralelo

CL-GRID III

Implementación del scheduling

Page 61: Scheduling en un ambiente Paralelo

CL-GRID III

Paralelismo en 3 niveles

Page 62: Scheduling en un ambiente Paralelo

CL-GRID III

Colo Colo Campeón de la

Sudamericana 2006

Gracias