ความแปรปรวนของเวลาในการทำภารกิจมีผลต่อการเลื่อนอย่างไร


16

สมมติว่าเรามีคอลเลกชันขนาดใหญ่ของงานτ1,τ2,...,τnและคอลเล็กชันของโปรเซสเซอร์ (ในแง่ของประสิทธิภาพ) ที่เหมือนกันซึ่งทำงานได้อย่างสมบูรณ์แบบขนาน สำหรับสถานการณ์ที่น่าสนใจที่เราอาจคิดn แต่ละใช้เวลา / รอบในการดำเนินการให้เสร็จสมบูรณ์เมื่อกำหนดให้กับโปรเซสเซอร์และเมื่อได้รับมอบหมายจะไม่สามารถกำหนดใหม่ได้จนกว่าจะเสร็จสมบูรณ์ สมมติว่าแต่ละτ ฉันใช้เวลาระยะเวลา / รอบρ1,ρ2,...,ρmmnτiρjτiXiซึ่งไม่ทราบล่วงหน้านำมาจากการกระจายแบบสุ่มโดยสิ้นเชิง สำหรับคำถามนี้เรายังสามารถสันนิษฐานได้ว่าการกระจายง่าย:P(Xi=1)=P(Xi=5)=1/2และทุกXiมีความเป็นอิสระจากจำนวน ดังนั้นμi=3และσ2=4 4

สมมติว่าในเวลา / รอบที่ 0 งานทั้งหมดจะถูกกำหนดอย่างสม่ำเสมอเท่าที่จะเป็นไปได้สำหรับตัวประมวลผลทั้งหมดโดยการสุ่มอย่างสม่ำเสมอ ดังนั้นโปรเซสเซอร์แต่ละชิ้นρjจึงได้รับมอบหมายงานn/m (เราสามารถสมมติm|nสำหรับวัตถุประสงค์ของคำถามได้เช่นกัน) เราเรียกว่าตัวเลื่อนทำให้เวลา / รอบที่ตัวประมวลผลตัวสุดท้ายρให้เสร็จตามที่ได้รับมอบหมายจนเสร็จงานที่ได้รับมอบหมาย คำถามแรก:

ในฐานะที่เป็นฟังก์ชันของm , n , และXi , makepan Mคืออะไร? โดยเฉพาะE[M]คืออะไร? Var[M] ?

คำถามที่สอง:

สมมติว่าP(Xi=2)=P(Xi=4)=1/2และทุกXiมีความเป็นอิสระจากจำนวนดังนั้นμi=3และσ2=1 1 ในฐานะที่เป็นฟังก์ชั่นของm , nและใหม่ของiเหล่านี้Xiคืออะไร, พาเนลคืออะไร? ที่น่าสนใจกว่าคือเปรียบเทียบกับคำตอบจากส่วนแรกอย่างไร

การทดลองทางความคิดอย่างง่าย ๆ แสดงให้เห็นถึงคำตอบของสิ่งที่เกิดขึ้นหลังคือระยะเวลานานกว่า แต่สิ่งนี้สามารถวัดปริมาณได้อย่างไร ฉันยินดีที่จะโพสต์ตัวอย่างหากนี่คือ (a) การโต้เถียงหรือ (b) ไม่ชัดเจน ฉันจะโพสต์คำถามติดตามผลเกี่ยวกับรูปแบบการมอบหมายแบบไดนามิกภายใต้สมมติฐานเดียวกันนี้ทั้งนี้ขึ้นอยู่กับความสำเร็จของโครงการนี้ ขอบคุณล่วงหน้า!

การวิเคราะห์กรณีง่าย: m=1

หากงานnทั้งหมดจะถูกกำหนดเวลาไว้ในโปรเซสเซอร์เดียวกัน makespan Mเป็นเพียงเวลาที่จะเสร็จสมบูรณ์nงานในแฟชั่นลำดับที่สมบูรณ์ ดังนั้น E [ M ]m=1nMn และ 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

ดูเหมือนว่าอาจเป็นไปได้ที่จะใช้ผลลัพธ์นี้เพื่อตอบคำถามสำหรับ ; เราก็ต้องไปหาการแสดงออก (หรือใกล้เคียง) สำหรับสูงสุด( Y 1 , Y 2 , . . . , Y ม. )ที่Y ฉัน = X ฉันnm>1max(Y1,Y2,...,Ym) , ตัวแปรสุ่มที่มีμY=nYi=Xinm+1+Xinm+2+...+Xinm+nmμY=nmμX and σY2=nmσX2. Is this heading in the right direction?


Nice question. If only there wasn't a deadline today....
Dave Clarke

คำตอบ:


8

As m=k×n, we can look at this in terms of k and n instead of n and m. Let's say Ti is the time it takes the i-th processor to finish its work.

As n grows, the probability that Ti = 5k (the processor was assigned only T=5 tasks) for some i approaches 1, so makespan being defined as max(Ti), E[M] approaches 5k.

For the second scenario this is 4k so increasing the number of processors makes the 4–2 split better.

kkk grows, the difference in E[M] between the 4–2 split and the 5­­­–1 split disappears, E[M] becomes the same for both. So I would assume that 4–2 is always better except maybe for some special cases (very small specific values of k and n), if even that.

So to summarize:

  • Lower variance is better, all else being equal.
  • As the number of processors grows, lower variance becomes more important.
  • As the number of tasks per processor grows, lower variance becomes less important.

+1 Excellent intuition, and this helps to clarify my thinking as well. So increasing processor counts tends to increase makespan under a weak scaling assumption; and increasing task counts tends to decrease makespan under a strong scaling assumption (of course it takes longer; I mean the work/makespan ratio improves). These are interesting observations, and they seem true;
Patrick87

the first is justified by the fact that 1(1P(X=5)k)n tends to 1 for fixed k and increasing n; the latter by the fact that Var[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.
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.