La planificación por lista es un algoritmo voraz para la planificación en máquinas idénticas . La entrada de este algoritmo es una lista de trabajos que deben ejecutarse en un conjunto de m máquinas. La lista está ordenada en un orden fijo, que puede determinarse, por ejemplo, por la prioridad de ejecución de los trabajos o por su orden de llegada. El algoritmo ejecuta repetidamente los siguientes pasos hasta obtener una planificación válida:
- Toma el primer trabajo de la lista (el que tenga la mayor prioridad).
- Encuentra una máquina que esté disponible para realizar esta tarea.
- Si se encuentra una máquina, programe esta tarea en esa máquina.
- En caso contrario (si no hay ninguna máquina adecuada disponible), seleccione el siguiente trabajo de la lista.
Ejemplo
Supongamos que hay cinco trabajos con tiempos de procesamiento {4,5,6,7,8} y m =2 procesadores. Entonces, la programación resultante es {4,6,8}, {5,7} y el tiempo de finalización es max(18,12)=18; si m =3, entonces la programación resultante es {4,7}, {5,8}, {6} y el tiempo de finalización es max(11,13,6)=13.
Garantía de rendimiento
El algoritmo se ejecuta en tiempodonde n es el número de trabajos. El algoritmo siempre devuelve una partición de los trabajos cuyo tiempo de finalización es como máximoveces el tiempo de finalización óptimo. [ 1 ] Esto se debe a que tanto la duración del trabajo más largo como la duración promedio de todos los trabajos son límites inferiores para el tiempo de finalización óptimo. El algoritmo puede utilizarse como un algoritmo en línea , cuando no se puede controlar el orden en que llegan los elementos.
Estrategias de pedido
En lugar de usar un orden arbitrario, se pueden preordenar los trabajos para obtener mejores garantías. Algunas estrategias conocidas de planificación de listas son: [ 2 ]
- El algoritmo de nivel más alto primero , o HLF;
- Algoritmo de ruta más larga o LP;
- Planificación de tiempo de procesamiento más largo primero , o LPT; esta variante disminuye la relación de aproximación a.
- Método de la ruta crítica .
- Tiempo de finalización más temprano heterogéneo o HEFT. Para el caso de trabajadores heterogéneos.
Anomalías
El algoritmo de planificación por lista tiene varias anomalías. [ 1 ] Supongamos que hay m = 3 máquinas y que las duraciones de los trabajos son:
3, 2, 2, 2, 4, 4, 4, 4, 9
Además, supongamos que todos los trabajos "4" deben ejecutarse después del cuarto trabajo "2". Entonces, la planificación por lista devuelve la siguiente programación:
- 3, 9
- 2, 2, 4, 4
- 2, [2 inactivos], 4, 4
y el tiempo de finalización es 12.
Anomalía 1. Si los trabajos "4" ya no dependen de trabajos anteriores, entonces la lista de programación es:
- 3, 4, 9
- 2, 2, 4
- 2, 4, 4
y el tiempo de finalización es de 16. Eliminar las dependencias ha aumentado el tiempo de finalización.
Anomalía 2. Supongamos que la duración de los trabajos disminuye en 1, a 2, 1, 1, 1, 3, 3, 3, 3, 8 (con las dependencias originales). Entonces, la lista de programación es:
- 2, 3, 3
- 1, 1, 3, 8
- 1, [1 inactivo], 3
y el tiempo de finalización es de 13. Acortar todos los trabajos ha aumentado el tiempo de finalización.
Anomalía 3. Supongamos que hay una máquina más (con las longitudes originales, con o sin dependencias). Entonces, la lista de programación es:
- 3, 4
- 2, 4, 9
- 2, 4
- 2, 4
y el tiempo de finalización es de 15. Agregar una máquina ha aumentado el tiempo de finalización.
Las anomalías se acotan de la siguiente manera. Supongamos que inicialmente teníamos m 1 máquinas y el tiempo de finalización era t 1 . Ahora, tenemos m 2 máquinas, las dependencias son las mismas o se relajan, las duraciones de los trabajos son las mismas o más cortas, la lista es la misma o diferente, y el tiempo de finalización es t 2. Entonces: [ 1 ] [ 3 ]
.
En particular, con el mismo número de máquinas, la proporción esUn caso especial se da cuando la programación original es óptima; esto produce el límite.sobre la relación de aproximación.
Referencias
- 1 2 3 Graham, Ron L. (1969-03-01). "Límites en anomalías de temporización de multiprocesamiento" . SIAM Journal on Applied Mathematics . 17 (2): 416– 429. doi : 10.1137/0117039 . ISSN 0036-1399 .
- ↑ Micheli, Giovanni De (1994). Síntesis y optimización de circuitos digitales . Nueva York: McGraw-Hill. ISBN 978-0070163331.
- ↑ Graham, Ron L. (1966). "Límites para ciertas anomalías de multiprocesamiento" . Bell System Technical Journal . 45 (9): 1563– 1581. doi : 10.1002/j.1538-7305.1966.tb01709.x . ISSN 1538-7305 .
- Algoritmos de planificación