In che modo la variazione nel tempo di completamento dell'attività influisce su MakePan?


16

Diciamo che abbiamo una grande collezione di compiti τ1,τ2,...,τn e una collezione di identici (in termini di prestazioni) processori ρ1,ρ2,...,ρm che funzionano completamente in parallelo. Per scenari di interesse, possiamo assumere mn . Ogni τi richiede una certa quantità di tempo / cicli per essere completato una volta assegnato a un processore ρje, una volta assegnato, non può essere riassegnato fino al completamento (i processori alla fine completano sempre le attività assegnate). Supponiamo che ogni τi richieda una quantità di tempo / cicli Xi , non nota in anticipo, presa da una discreta distribuzione casuale. Per questa domanda, si può anche assumere una distribuzione semplice: P(Xi=1)=P(Xi=5)=1/2 , e tutto Xi sono indipendenti coppie. Pertanto μi=3 e σ2=4 .

Supponiamo che, staticamente, al tempo / ciclo 0, tutti i compiti siano assegnati nel modo più uniforme possibile a tutti i processori, uniformemente a caso; quindi a ciascun processore ρj vengono assegnate n/m attività (possiamo anche assumere m|n ai fini della domanda). Chiamiamo makepan il tempo / ciclo in cui l'ultimo processore ρ per terminare il lavoro assegnato, termina il lavoro che gli è stato assegnato. Prima domanda:

In funzione di m , n e Xi , che cos'è il makepan M ? In particolare, cos'è E[M] ? Var[M] ?

Seconda domanda:

Supponiamo P(Xi=2)=P(Xi=4)=1/2 , e tutto Xi sono indipendenti a due a due, in modo μi=3 e σ2=1 . In funzione di m , n e di questi nuovi Xi , qual è il makepan? Ancora più interessante, come si confronta con la risposta della prima parte?

Alcuni semplici esperimenti di pensiero dimostrano che la risposta a quest'ultima è che il makepan è più lungo. Ma come può essere quantificato? Sarò felice di pubblicare un esempio se questo è (a) controverso o (b) poco chiaro. A seconda del successo con questo, posterò una domanda di follow-up su uno schema di assegnazione dinamica con queste stesse ipotesi. Grazie in anticipo!

Analisi di un caso semplice: m=1

Se , tutte le n attività sono programmate sullo stesso processore. Il makepan M è il momento giusto per completare n attività in modo sequenziale completo. Pertanto, E [ M ]m=1nMn e V a r [ M ]

E[M]=E[X1+X2+...+Xn]=E[X1]+E[X2]+...+E[Xn]=μ+μ+...+μ=nμ
Var[M]=Var[X1+X2+...+Xn]=Var[X1]+Var[X2]+...+Var[Xn]=σ2+σ2+...+σ2=nσ2

Sembra che sia possibile utilizzare questo risultato per rispondere alla domanda per ; dobbiamo semplicemente trovare un'espressione (o approssimazione) per max ( Y 1 , Y 2 , . . . , Y m ) dove Y i = X i nm>1max(Y1,Y2,...,Ym) , una variabile casuale conμY=nYi=Xinm+1+Xinm+2+...+Xinm+nmeσ 2 Y =nμY=nmμX . Questa direzione è nella direzione giusta?σY2=nmσX2


Bella domanda Se solo non ci fosse una scadenza oggi ....
Dave Clarke,

Risposte:


8

Come , possiamo osservarlo in termini di k e n invece di n e m . Diciamo che T i è il tempo che impiega l' ho processore -esimo di terminare il suo lavoro.m=k×nknnmTii

Man mano che cresce, la probabilità che T i = 5 k (al processore siano state assegnate solo T = 5 attività) per alcuni i si avvicina a 1 , quindi si fa definirepan come m a x ( T i ) , E [ M ] si avvicina a 5 k .nTi5kT=5i1max(Ti)E[M]5k

Per il secondo scenario si tratta di quindi aumentare il numero di processori migliora la divisione di 4–2.4k

Che dire di - aumentare il numero di attività per processore? L'aumento di k ha l'effetto opposto, rende meno probabile avere un processore con una serie sfortunata di attività. Ora vado a casa ma ci tornerò più tardi. Il mio "sospetto" è che quando k cresce, la differenza in E [ M ] tra la divisione 4–2 e la divisione 5–1 scompare, E [ M ] diventa la stessa per entrambi. Quindi suppongo che 4–2 sia sempre migliore, tranne forse per alcuni casi speciali (valori specifici molto piccoli di k e n ), se anche quello.kkkE[M]E[M]kn

Quindi per riassumere:

  • La varianza inferiore è migliore, tutto il resto è uguale.
  • Con l'aumentare del numero di processori, la varianza inferiore diventa più importante.
  • Con l'aumentare del numero di attività per processore, la varianza inferiore diventa meno importante.

+1 Ottima intuizione, e questo aiuta a chiarire anche il mio pensiero. Quindi aumentare i conteggi dei processori tende ad aumentare il makepan sotto un presupposto di ridimensionamento debole; e l'aumento del conteggio delle attività tende a ridurre makepan sotto una forte assunzione di ridimensionamento (ovviamente ci vuole più tempo; intendo dire che il rapporto lavoro / makepan migliora). Queste sono osservazioni interessanti e sembrano vere;
Patrick87,

il primo è giustificato dal fatto che tende a 1 per k fisso e aumentando n ; quest'ultimo per il fatto che V a r [ X + X ] = V a r [ X ] + V a r [ X ] = 2 σ 24 σ 2 = 41(1P(X=5)k)n1knVar[X+X]=Var[X]+Var[X]=2σ24σ2=4Var[X]=Var[2X]... so the variance doesn't increase linearly as a function of k. Is that compatible with your thinking (that's how I'm interpreting what you have so far)?
Patrick87

I don't know where the "hunch" came from; it is not consistent with the rest of the heuristic reasoning.
András Salamon

2

I find that heuristic arguments are often quite misleading when considering task scheduling (and closely related problems like bin packing). Things can happen that are counter-intuitive. For such a simple case, it is worthwhile actually doing the probability theory.

Let n=km with k a positive integer. Suppose Tij is the time taken to complete the j-th task given to processor i. This is a random variable with mean μ and variance σ2. The expected makespan in the first case is

E[M]=E[max{j=1kTiji=1,2,,m}].
The sums are all iid with mean kμ and variance kσ2, assuming that Tij are all iid (this is stronger than pairwise independence).

Now to obtain the expectation of a maximum, one either needs more information about the distribution, or one has to settle for distribution-free bounds, such as:

  • Peter J. Downey, Distribution-free bounds on the expectation of the maximum with scheduling applications, Operations Research Letters 9, 189–201, 1990. doi:10.1016/0167-6377(90)90018-Z

which can be applied if the processor-wise sums are iid. This would not necessarily be the case if the underlying times were just pairwise independent. In particular, by Theorem 1 the expected makespan is bounded above by

E[M]kμ+σkn12n1.
Downey also gives a particular distribution achieving this bound, although the distribution changes as n does, and is not exactly natural.

Note that the bound says that the expected makespan can increase as any of the parameters increase: the variance σ2, the number of processors n, or the number of tasks per processor k.

For your second question, the low-variance scenario resulting in a larger makespan seems to be an unlikely outcome of a thought experiment. Let X=maxi=1mXi denote the makespan for the first distribution, and Y=maxi=1mYi for the second (with all other parameters the same). Here Xi and Yi denote the sums of k task durations corresponding to processor i under the two distributions. For all xkμ, independence yields

Pr[Xx]=i=1mPr[Xix]i=1mPr[Yix]=Pr[Yx].
Since most of the mass of the probability distribution of the maximum will be above its mean, E[X] will therefore tend to be larger than E[Y]. This is not a completely rigorous answer, but in short, the second case seems preferable.
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.