Digamos que tenemos una gran colección de tareas y una colección de procesadores idénticos (en términos de rendimiento) que operan completamente en paralelo. Para escenarios de interés, podemos suponer . Cada tarda una cierta cantidad de tiempo / ciclos en completarse una vez que se asigna a un procesador , y una vez que se asigna, no se puede reasignar hasta que se complete (los procesadores siempre eventualmente completan las tareas asignadas). Supongamos que cada \ tau_i toma una cantidad de tiempo / ciclos X_i, no conocido de antemano, tomado de una distribución aleatoria discreta. Para esta pregunta, incluso podemos suponer una distribución simple: , y todos los son independientes en pares. Por lo tanto, y .
Suponga que, estáticamente, en el tiempo / ciclo 0, todas las tareas se asignan de la manera más uniforme posible a todos los procesadores, de manera uniforme al azar; entonces a cada procesador se le asignan tareas (también podemos asumir para los propósitos de la pregunta). Llamamos al makepan el tiempo / ciclo en el que el último procesador para finalizar su trabajo asignado, finaliza el trabajo asignado. Primera pregunta:
En función de , y 's, ¿cuál es el makepan ? Específicamente, ¿qué es ? ?
Segunda pregunta:
Suponga que , y todos los son independientes en pares, entonces y . En función de , , y estas nuevas 's, ¿cuál es el makepan? Más interesante, ¿cómo se compara con la respuesta de la primera parte?
Algunos experimentos mentales simples demuestran que la respuesta a esto último es que el makepan es más largo. Pero, ¿cómo se puede cuantificar esto? Estaré encantado de publicar un ejemplo si esto es (a) controvertido o (b) poco claro. Dependiendo del éxito con este, publicaré una pregunta de seguimiento sobre un esquema de asignación dinámica bajo estos mismos supuestos. ¡Gracias por adelantado!
Análisis de un caso fácil:
Si , todas las tareas están programadas para el mismo procesador. El makepan es solo el momento para completar tareas de manera secuencial completa. Por lo tanto,
Parece que podría ser posible usar este resultado para responder la pregunta para ; simplemente necesitamos encontrar una expresión (o aproximación cercana) para donde , una variable aleatoria con y . ¿Se dirige en la dirección correcta?max ( Y 1 , Y 2 , . . . , Y m ) Y i = X i n μY=nσ 2 Y =n
fuente
Respuestas:
Como , podemos ver esto en términos de y lugar de y . Digamos que es el tiempo que le toma al procesador -ésimo terminar su trabajo.m=k×n k n n m Ti i
A medida que crece , la probabilidad de que = (al procesador se le asignaron solo tareas ) para algunos acerca a , por lo que makepan se define como , acerca a .n Ti 5k T=5 i 1 max(Ti) E[M] 5k
Para el segundo escenario, esto es por lo que aumentar el número de procesadores mejora la división 4–2.4k
¿Qué pasa con : aumentar el número de tareas por procesador? El aumento de tiene el efecto contrario, hace que sea menos probable que tenga un procesador con un conjunto de tareas desafortunadas. Me voy a casa ahora, pero volveré sobre esto más tarde. Mi "presentimiento" es que a medida que crece, la diferencia en entre la división 4–2 y la división 5–1 desaparece, vuelve igual para ambos. Por lo tanto, supongo que 4–2 siempre es mejor, excepto tal vez para algunos casos especiales (valores específicos muy pequeños de y ), incluso si eso es así.k k k E[M] E[M] k n
Entonces para resumir:
fuente
Encuentro que los argumentos heurísticos a menudo son bastante engañosos cuando se considera la programación de tareas (y problemas estrechamente relacionados como el embalaje de contenedores). Pueden suceder cosas que son contra-intuitivas. Para un caso tan simple, vale la pena hacer la teoría de la probabilidad.
Sea con un número entero positivo. Suponga que es el tiempo necesario para completar la -ésima tarea dada al procesador . Esta es una variable aleatoria con media y varianza . El makepan esperado en el primer caso es Las sumas son todas iid con media y varianza , suponiendo que son todas iid (esto es más fuerte que la independencia por pares).n=km k Tij j i μ σ2
Ahora, para obtener la expectativa de un máximo, uno necesita más información sobre la distribución o debe conformarse con límites libres de distribución, tales como:
que se puede aplicar si las sumas del procesador son iid. Este no sería necesariamente el caso si los tiempos subyacentes fueran solo independientes por pares. En particular, por el Teorema 1, el makepan esperado está limitado por Downey también proporciona una distribución particular que logra este límite, aunque la distribución cambia como , y no es exactamente natural.
Tenga en cuenta que el límite dice que el makepan esperado puede aumentar a medida que aumenta cualquiera de los parámetros: la varianza , el número de procesadores , o el número de tareas por procesador .σ2 n k
Para su segunda pregunta, el escenario de baja varianza que resulta en un makepan más grande parece ser un resultado improbable de un experimento mental. Supongamos que denota el makepan para la primera distribución, y para la segunda (con todos los demás parámetros iguales). Aquí e denotan las sumas de duraciones de tareas correspondientes al procesador bajo las dos distribuciones. Para todos , la independencia produceX=maxmi=1Xi Y=maxmi=1Yi Xi Yi k i x≥kμ
fuente