貪心排程原則簡單來說就是我們使用p
pp個處理器來處理某個wor
k=wwork=w
work=w
,s pa
n=sspan=s
span=s
的計算任務時,某個處理器處於空閒狀態當且僅當此時沒有可被執行的子任務.
上面的計算過程圖對應的乙個wor
k=10,
span
=4work=10,span=4
work=1
0,sp
an=4
的平行計算過程,有通路連線的節點的之間有執行順序要求. 當某個子任務也即是某個節點,被執行完畢之後,將其點標記為藍色,而未執行的子任務標記為紅色. 在此處我們假設我們擁有p=2
p=2p=
2個處理器. 可見當執行第0層的所有任務時會出現處理器空閒的情況(第0層只有1這個節點),而執行第二層的2、3節點時所有的處理器都被使用按照. 貪心排程原則,在下一步執行時應當同時執行4、5兩個節點,因為此時處理器數目小於可執行的節點數(4、5、6均可被執行). 這時我們將貪心排程「程度」降低一些,改為某一層執行完畢之前不能執行下一層的任何節點,換句話說就是按照層序遍歷這顆計算樹,則下一步只能執行4節點.
顯然貪心排程所需時間tg≤
t_g\leq
tg≤
「層序排程」所需時間t
lt_l
tl,下面我們計算t
lt_l
tl的上確界.對於任何乙個wor
k=w,
span
=swork=w,span=s
work=w
,spa
n=s的計算任務,可設其第i
ii層的wor
k=wi
work=w_i
work=w
i,則每一層的時間ti=
⌈wi/
p⌉t_i= \lceil w_i/p\rceil
ti=⌈w
i/p
⌉,進而有:
t g≤
tl=∑
i=1s
⌈wip
⌉≤∑i
=1s(
⌊wip
⌋+1)
≤⌊wp
⌋+s\begin t_g\leq t_l&=\sum_^s\lceil \rceil\\ &\leq\sum_^s(\lfloor \frac\rfloor+1)\\ &\leq\lfloor \frac\rfloor+s \end
tg≤tl
=i
=1∑s
⌈wi
p⌉≤
i=1∑
s(⌊
pwi
⌋+1
)≤⌊p
w⌋+
s 至此已經證明出使用貪心排程原則時,所需時間tg≤
w/p+
st_g\leq w/p+s
tg≤w/
p+s.
下面是貪心排程更為精確的上界計算與分析:
假設每一步執行時所有的p
pp個處理器都需要進行「準備執行」的過程,執行完整個過程之後,總共有k
kk次「準備執行」過程,則易知t=k
/pt=k/p
t=k/
p. 如果我們能夠確定k
kk的上界,就可以很輕鬆的得到t
gt_g
tg的上界。將「準備執行」過程分為兩類,第一類為「有效準備」,即準備好的處理器確實立刻執行了某個子任務,設該類過程共計k
ek_e
ke個;第二類為「無效準備」,即準備好的處理器在這一步中處於閒置狀態,設該類過程共計k
wk_w
kw個.
首先不論使用什麼排程方式,每乙個子任務都需要被執行,因此執行每個子任務的處理器都經過了「有效準備」. 又因為每個經過了「有效準備」的處理器都執行了乙個子任務,因此可認為ke=
wk_e=w
ke=
w. 其次每一步執行的時候最少需要執行乙個子任務,因此每步最多有p−1
p-1p−
1個處理器閒置,故對第i
ii步來說有kwi
≤p−1
k_\leq p-1
kwi≤
p−1.
下面考慮哪些步驟可能出現處理器閒置的情形. 在貪心排程原則下,只有當可執行的子任務數量小於p
pp時才會出現閒置的情況,仍舊參考前文中的計算圖作為示例:由圖可知在執行下一步時節點4、5、6均可以被執行,因此當p≥4
p\geq4
p≥4時會出現「無效準備」過程. 進一步觀察可知,當我們只考慮剩餘的子任務(子節點)時,計算樹變成了計算森林,此時所有已經可以被執行的節點作為森林中的每棵樹的根節點(樹與樹之間可以共用非根結點). 如果下一步的執行有閒置的處理器,則說明所有的根節點均被執行的同時仍有處理器閒置。而所有的根節點都被執行就代表著這個森林中的任何一條(到達樹葉節點的)通路的長度均會減111.
小結一下上一段的核心觀點:如果某一執行步驟存在「無效準備」則該步驟一定會使「未處理子任務森林」中的任何一條「通路」的長度減1
11. 注意到在開始執行整個計算任務之前,計算森林就是整顆計算樹,因此「森林」中的最長「通路」長為s
ss,因此整個計算過程中最多有s
ss步會出現閒置處理器,也就是存在「無效準備」過程.
綜合前面三段的內容可知kw≤
s⋅(p
−1)k_w\leq s\cdot(p-1)
kw≤s⋅
(p−1
),因此有:
k =k
e+kw
≤w+s
⋅(p−
1)\begin k&=k_e+k_w\\ &\leq w+s\cdot(p-1)\\ \end
k=ke
+kw
≤w+s
⋅(p−
1)tg=
kp≤w
p+s⋅
p−1p
t_g=\frac\le \frac+s\cdot\frac
tg=pk
≤pw
+s⋅
pp−1
至此已經得到了貪婪排程原則下執行時間的更精確的上界.
搶占程序排程的原則
1 時間片原則 各程序按系統分配給的乙個時間片執行,當該時間片用完或由於該程序等待某事件發生而被阻塞時,系統就停止該程序的執行而重新進行排程。2 優先順序原則 每個程序均賦於乙個排程優先順序,通常一些重要和緊急的程序賦於較高的優先順序。當乙個新的緊迫程序到達時,或者乙個優先順序高的程序從阻塞狀態變成...
電梯排程需求分析
電梯排程需求分析 結對成員 信1201 1班 黃亞萍 信1201 1班 袁亞姣 1.引言 1.1目的 為便於廣大師生同學們合理使用基礎教學樓的電梯,以使在上下課的高峰時期,電梯得到合理的排程,減少同學們因為電梯使用不合理所帶來的時間浪費現象等,讓電梯發揮其最大的功效。1.2背景 石家莊鐵道大學基礎教...
電梯排程需求分析
結對成員 信1201 1 班 黃亞萍 信1201 1 班 袁亞姣 1.引言 1.1目的 為便於廣大師生同學們合理使用基礎教學樓的電梯,以使在上下課的高峰時期,電梯得到合理的排程,減少同學們因為電梯使用不合理所帶來的時間浪費現象等,讓電梯發揮其最大的功效。1.2背景 石家莊鐵道大學基礎教學樓的電梯配置...