Scheduling and Mapping Introducción Marco de referencia Módulos independientes Tareas con...

27
Scheduling and Mapping • Introducción Marco de referencia Módulos independientes Tareas con precedencia sin costo • Precedencia de tareas y retardos en la comunicación Estático basado en procesos Procesos en procesadores con una arquitectura dada

Transcript of Scheduling and Mapping Introducción Marco de referencia Módulos independientes Tareas con...

Page 1: Scheduling and Mapping Introducción Marco de referencia Módulos independientes Tareas con precedencia sin costo Precedencia de tareas y retardos en la.

Scheduling and Mapping

• Introducción

• Marco de referencia

• Módulos independientes

• Tareas con precedencia sin costo

• Precedencia de tareas y retardos en la comunicación

• Estático basado en procesos

• Procesos en procesadores con una arquitectura dada

Page 2: Scheduling and Mapping Introducción Marco de referencia Módulos independientes Tareas con precedencia sin costo Precedencia de tareas y retardos en la.

Scheduling and MappingIntroducción

• Scheduling (Calendarización)

– Programación de las actividades de un

procesador o de un grupo de ellos

• Mapping (Asignación)

– Determinación de las actividades que le

corresponden a cada procesador

Page 3: Scheduling and Mapping Introducción Marco de referencia Módulos independientes Tareas con precedencia sin costo Precedencia de tareas y retardos en la.

Scheduling and MappingIntroducción

• El objetivo principal es de reducir el

tiempo de cómputo utilizando un

número mínimo de procesadores,

tomando en cuenta las restricciones del

algoritmo del problema y de la

arquitectura de la computadora.

Page 4: Scheduling and Mapping Introducción Marco de referencia Módulos independientes Tareas con precedencia sin costo Precedencia de tareas y retardos en la.

Scheduling and MappingMarco de referencia

• ¿Cómo introducir las características de una computadora en particular en el análisis de la paralelización de un algoritmo?

• La introducción de las características de la computadora se hace con base a los tiempos que intervienen en la implantación paralela.– La partición del algoritmo

– La estructura de la computadora

– La asignación de los granos a los procesadores

Page 5: Scheduling and Mapping Introducción Marco de referencia Módulos independientes Tareas con precedencia sin costo Precedencia de tareas y retardos en la.

Scheduling and MappingMarco de referencia

• El grano es un conjunto de módulos que se asignan a un procesador

• Un módulo es una unidad de cómputo que se ejecuta secuencialmente, cuya magnitud se determinó por el algortimo

• Módulos independientes. Integran módulos que se ejecutan sin necesidad de comunicación entre ellos

Page 6: Scheduling and Mapping Introducción Marco de referencia Módulos independientes Tareas con precedencia sin costo Precedencia de tareas y retardos en la.

Scheduling and MappingMarco de referencia

• Módulos basado en tareas. Consiste en arreglos de tareas conectados en grafos dirigidos no cíclicos. Donde el arco entre un par de tareas corresponden a la relación de precedencia y al evento de la comunicación asociada.

• Módulos basados en procesos. Consiste en arreglos de procesos por medio de grafos no dirigidos, donde el arco corresponde al volumen de comunicación entre ellos. Estos modelos son utilizados para asignar explícitamente programas paralelos y se fundamentan en los sistemas distribuidos.

Page 7: Scheduling and Mapping Introducción Marco de referencia Módulos independientes Tareas con precedencia sin costo Precedencia de tareas y retardos en la.

Scheduling and MappingMarco de referencia

• La calendarización de las tareas en los procesadores

puede ser de dos tipos, determinista o dinámica.

• En la determinista se requiere conocer toda la

información para expresar las características del

problema antes de obtener una solución

• En la dinámica frecuentemente se utilizan modelos

estocásticos, donde el tiempo de ejecución de un

proceso o tarea es una variable aleatoria con una

función de distribución

Page 8: Scheduling and Mapping Introducción Marco de referencia Módulos independientes Tareas con precedencia sin costo Precedencia de tareas y retardos en la.

Scheduling and MappingMarco de referencia

• Ventajas:• Con la determinista se pueden estimar con

mayor precisión los beneficios que se alcanzarían con la paralelización del algoritmo, pero tiene la desventaja de que puede ser un problema NPC

• La dinámica se puede utilizar para demandas de recursos irregulares e impredecibles

Page 9: Scheduling and Mapping Introducción Marco de referencia Módulos independientes Tareas con precedencia sin costo Precedencia de tareas y retardos en la.

Scheduling and MappingMarco de referencia

• Para aplicar cualquiera de estos métodos en la asignación de los módulos a los procesadores, se tiene que considerar si se permite la interrupción de ejecución del proceso y su reanudación subsiguiente antes de su terminación

• Se considera la calendarización de los procesos sin interrupciones, se indicará cuando ésta no sea así.

Page 10: Scheduling and Mapping Introducción Marco de referencia Módulos independientes Tareas con precedencia sin costo Precedencia de tareas y retardos en la.

Scheduling and MappingMarco de referencia

• Se considera a los procesadores idénticos o uniformes.

• Son idénticos cuando ejecutan en el mismo tiempo el mismo módulo

• Son uniformes cuando el tiempo de ejecución de uno es un múltiplo del tiempo de ejecución del otro para el mismo módulo

Page 11: Scheduling and Mapping Introducción Marco de referencia Módulos independientes Tareas con precedencia sin costo Precedencia de tareas y retardos en la.

Scheduling and MappingMarco de referencia

• El requerido por el cálculo Tcalc(p).

– sólo depende del tamaño del módulo.

• El asociado con la transferencia de los

mensajes Tcomm(p).

– Incluye los tiempos en que inicia y termina

el envío de un mensaje

Page 12: Scheduling and Mapping Introducción Marco de referencia Módulos independientes Tareas con precedencia sin costo Precedencia de tareas y retardos en la.

Scheduling and MappingMarco de referencia

• El asociado con las operaciones locales Tlocal(p)– Contiene los “sobrecargos” locales de la

calendarización dinámica, cuando al procesador p se le asignan más de un módulo.

• El ocioso. – Es el tiempo en que el procesador gasta en

completar todos sus módulos, en esperar los mensajes en tránsito y en esperar el envío de un mensaje.

Page 13: Scheduling and Mapping Introducción Marco de referencia Módulos independientes Tareas con precedencia sin costo Precedencia de tareas y retardos en la.

Scheduling and MappingMódulos independientes

• Son algoritmos con módulos que se pueden ejecutar secuencialmente en un procesador y no requieren de una comunicación entre ellos. Esos módulos se ejecutan en cualquier orden, por tanto, el problema es de distribución junto con el balance de carga

Page 14: Scheduling and Mapping Introducción Marco de referencia Módulos independientes Tareas con precedencia sin costo Precedencia de tareas y retardos en la.

Scheduling and MappingMódulos independientes

• En este modelo sólo se consideran los tiempos de ejecución de las tareas, aunque este modelo es el más simple, el problema de asignación es NP completo en el caso de más de dos procesadores idénticos.

• Graham (1969) [Hwang88] con base a considerar el Longest Processing Time (LPT) garantiza encontrar M(4/3 - 1/3p)Mopt, donde Mopt es el tiempo óptimo para ejecutar los módulos. Posteriormente, Coffman (1978) mostró que el LPT converge estocásticamente al rango óptimo

Page 15: Scheduling and Mapping Introducción Marco de referencia Módulos independientes Tareas con precedencia sin costo Precedencia de tareas y retardos en la.

Scheduling and MappingTareas con precedencia sin costo

• Las tareas se representan en un grafo dirigido no cíclico, donde los arcos directos conectan un par de tareas distintas si y sólo si la tarea de la cabeza requiere de los resultados de cómputo de la tarea de la cola.

Page 16: Scheduling and Mapping Introducción Marco de referencia Módulos independientes Tareas con precedencia sin costo Precedencia de tareas y retardos en la.

Scheduling and MappingTareas con precedencia sin costo

• El modelo requiere la solución de dos problemas– uno de asignación de las tareas a los procesadores – uno de calendarización local de las tareas sobre los

procesadores

• Un procesador ejecuta una tarea a la vez.• Las tareas se definen por la precedencia dada

por la tarea que está terminando antes de iniciar la otra.

Page 17: Scheduling and Mapping Introducción Marco de referencia Módulos independientes Tareas con precedencia sin costo Precedencia de tareas y retardos en la.

Scheduling and MappingTareas con precedencia sin costo

• Coffman y Graham (1972) obtuvieron un algoritmo para algunos grafos de tareas. Este algoritmo genera esquemas óptimos para p = 2 y tareas unitarias. Sus algoritmos se pueden generalizar para cualquier número de procesadores, pero dejan de ser óptimos.

Page 18: Scheduling and Mapping Introducción Marco de referencia Módulos independientes Tareas con precedencia sin costo Precedencia de tareas y retardos en la.

Scheduling and MappingPrecedencia de tareas y retardos

en la comunicación

• Lo atractivo de este modelo es la posible optimización de la asignación por medio del recómputo.

• La recomputación es el cómputo local de módulos y se emplea para evitar demoras en los envíos de mensajes.

Page 19: Scheduling and Mapping Introducción Marco de referencia Módulos independientes Tareas con precedencia sin costo Precedencia de tareas y retardos en la.

Scheduling and MappingPrecedencia de tareas y retardos

en la comunicación• Thurimella y Yesha (1992), Kim y Browne (1988),

Yang y Gerasoulis (1992) y Sarkar (1989)

presentaron un algoritmo similar al paradigma de

trabajo de Brent (1974), es decir, todos se aproximan

por medio de dos etapas.

– En la primera etapa las tareas son asignadas a un

número ilimitado de procesadores

– En la segunda las tareas son re-asignadas a un

número fijo de procesadores.

Page 20: Scheduling and Mapping Introducción Marco de referencia Módulos independientes Tareas con precedencia sin costo Precedencia de tareas y retardos en la.

Scheduling and MappingPrecedencia de tareas y retardos

en la comunicación• Lee et al (1988) muestran un algoritmo

similar al LPT de Graham (1969), al cual se le refiere como la tarea lista más temprana (Earliest Ready Task ERT). En el ERT las tareas son calendarizadas en el procesador en el orden en que ellas están listas para ser computadas [Hwang89]

Page 21: Scheduling and Mapping Introducción Marco de referencia Módulos independientes Tareas con precedencia sin costo Precedencia de tareas y retardos en la.

Scheduling and MappingEstático basado en procesos

• Este modelo se usa para modelar granularidad gruesa, donde los módulos son procesos persistentes que existen durante todo el cómputo y los patrones de comunicación entre ellos son estables.

Page 22: Scheduling and Mapping Introducción Marco de referencia Módulos independientes Tareas con precedencia sin costo Precedencia de tareas y retardos en la.

Scheduling and MappingEstático basado en procesos

• Las bases de este modelo las estableció Stone (1977) [Bokha87].

– El costo total de la asignación es la suma de todos los costos de cómputo más los costos de comunicación [Quinn94].

• Stone et al (1977 y 1978) se basaron en redes de diagrama de flujo para mostrar que el algoritmo es óptimo para p=2.

• Las técnicas de branch and bound [Quinn94] se han utilizado para resolver este problema

Page 23: Scheduling and Mapping Introducción Marco de referencia Módulos independientes Tareas con precedencia sin costo Precedencia de tareas y retardos en la.

Scheduling and MappingProcesos en procesadores con

una arquitectura dada

• Este problema se plantea cuando se requiere disminuir la sobrecarga (overhead) de la comunicación con la asignación de un grafo de procesos a un grafo no

dirigido de procesadores.

Page 24: Scheduling and Mapping Introducción Marco de referencia Módulos independientes Tareas con precedencia sin costo Precedencia de tareas y retardos en la.

Scheduling and MappingProcesos en procesadores con

una arquitectura dada• ¿Se pueden localizar los procesos en los

procesadores dada una topología de la computadora para minimizar los retardos en la comunicación?

• Dado que el número de procesos es mayor que el de procesadores, los procesos se tienen que agrupar para ser asignados a los procesadores de acuerdo a algún criterio.

• Bokhari (1981) menciona que el problema de decisión del modelo 5 es una variante imaginaria de los problemas de isomorfismo de grafos

Page 25: Scheduling and Mapping Introducción Marco de referencia Módulos independientes Tareas con precedencia sin costo Precedencia de tareas y retardos en la.

Scheduling and MappingDiscusión

• En función de la granularidad, los tres primeros modelos descritos en la etapa tres se pueden usar para manejar granularidad gruesa o fina, contrario a los modelos cuatro y cinco donde se especifica que son para granularidad gruesa únicamente.

• Los tres primeros modelos son para computadoras de memoria compartida y los otros dos restantes para memoria distribuida.

Page 26: Scheduling and Mapping Introducción Marco de referencia Módulos independientes Tareas con precedencia sin costo Precedencia de tareas y retardos en la.

Scheduling and MappingDiscusión

• En función de la precedencia de las tareas y costos en las comunicaciones,

• Cuando se tiene un algoritmo del problema con precedencias, los algoritmos del modelo uno quedan descartados.

• Si a esta precedencia le aumentamos la restricción del costo de la comunicación, los algoritmos del modelo dos se descartan.

Page 27: Scheduling and Mapping Introducción Marco de referencia Módulos independientes Tareas con precedencia sin costo Precedencia de tareas y retardos en la.

Scheduling and MappingDiscusión

• Si la memoria de los procesadores es distribuida y

los procesos son persistentes durante todo el

cálculo, los algoritmos del modelo tres se descartan.

• Si agregamos que requerimos disminuir el tiempo de

comunicaciones en la computadora distribuida,

entonces los algoritmos del modelo cuatro se

descartan

– Quedando únicamente los algoritmos del modelo

cinco