Re: [理工] [OS]台大100 第四題

看板Grad-ProbAsk作者時間12年前 (2012/01/31 02:19), 編輯推噓2(2019)
留言21則, 4人參與, 最新討論串2/2 (看更多)
※ 引述《DiLegend (JOU)》之銘言: : http://exam.lib.ntu.edu.tw/sites/default/files/exam/graduate/100/100417.pdf : 第四題 : a跟b完全不知道該怎麼處理 : c的演算法 : 一個要minimize average response time : 一個要real time : 是一個SJF 一個FCFS嗎? a. computation intensive表示thread幾乎都在使用cpu作運算, 如果將一個已經完成50ms的thread migrate給另一個core的話, 則原本core的cache對這個thread的block要清除(or write back), 且另一個core的cache要重新fetch block for this thread, 然後thread才可以開始繼續運算。 在這種情況下thread在new core裡要idle一段不小的時間for cache miss, 且原core也要花時間清除cache,沒辦法馬上對下一個thread開工。 這些時間對幾乎都在使用cpu運算的thread而言是很大的idle。 b. I/O intensive表示thread幾乎都在等待I/O,用cpu運算的時間很少。 如果將一個已經完成50ms的thread migrate給另一個core的話, 則此thread還在等待I/O的機會非常高,也就是它正在waiting queue裡。 雖然原本core的cache可能也要把這個thread的block清空, 但是它可以在下一個thread作I/O的時候把原thread的block清除(or write back), (or下下個 or下下下個,只要在migrate過去的thread要開工前把cache清完就好) 這樣原core不需要有thread ready卻要等core清cache的多餘時間, 而new core也可以在thread I/O時prefetch block進cache裡, 這樣I/O完成就可以馬上開工不需要有額外的等待時間。 (ab推文中有更深入的想法。) c. 要minimize average response time要用RR, 要support real-time要用preemptive priority或是multilevel queue等 可以支援preemptive priority者。 其實c的問法會讓人想回答 "preemptive priority queue給越晚到的process越高priority", 因為這種如果用這種scheduling那average reponse time幾乎是0。 不過開公司的話應該不能這樣搞XD -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.24.171.176 ※ 編輯: wheels 來自: 114.24.171.176 (01/31 02:50)

01/31 13:19, , 1F
感謝說明
01/31 13:19, 1F

01/31 14:55, , 2F
對於ab有其他想法,不過想問一下你的想法的根據是?
01/31 14:55, 2F

01/31 15:58, , 3F
根據就是migrate需要考慮各core的cache問題。
01/31 15:58, 3F

01/31 16:00, , 4F
為了避免這個問題,才會有所謂的processor affinity。
01/31 16:00, 4F

01/31 16:00, , 5F
也就是能盡量避免migration就盡量避免。
01/31 16:00, 5F

01/31 16:01, , 6F
要不要說說看你的想法一起討論?
01/31 16:01, 6F

02/01 00:15, , 7F
喔隊先問一下你是輪子嗎XD我是那個學弟
02/01 00:15, 7F

02/01 00:16, , 8F
其實關於multicore的load balancing與affinity的衝突
02/01 00:16, 8F

02/01 00:16, , 9F
我今天花了半個下午在網路上找paper= =,得出的結論
02/01 00:16, 9F

02/01 00:17, , 10F
是linux在origin上對於一個thread是否要migrate
02/01 00:17, 10F

02/01 00:18, , 11F
取決於cache是hot還是cold,若是cold表示cache
02/01 00:18, 11F

02/01 00:21, , 12F
沒有使用必須有額外的cost.之類的
02/01 00:21, 12F

02/01 00:24, , 13F
所以我覺得cpu要migrate i/o則否,其實還有好多內容
02/01 00:24, 13F

02/01 00:24, , 14F
可以討論,要不然站內信吧
02/01 00:24, 14F

02/01 13:03, , 15F
對我是XD 竟然遇到熟人XD
02/01 13:03, 15F
※ 編輯: wheels 來自: 140.112.30.141 (02/01 13:10)

02/01 13:11, , 16F
我是只引用migrate層面來解讀它,要往更深入應該要照你說的
02/01 13:11, 16F

02/01 13:11, , 17F
沒錯:)
02/01 13:11, 17F

02/01 14:03, , 18F
因為其實對於這個問題其實是一個很廣的研究@@台大出
02/01 14:03, 18F

02/01 14:04, , 19F
這題好奇怪QQ 他會有很多種演算法來決定
02/01 14:04, 19F

02/01 14:16, , 20F
而且才配3分,似乎就是要你掰東西給它XD
02/01 14:16, 20F

09/11 14:50, , 21F
可以討論,要不然站內信 https://daxiv.com
09/11 14:50, 21F
文章代碼(AID): #1F9jz58O (Grad-ProbAsk)
討論串 (同標題文章)
文章代碼(AID): #1F9jz58O (Grad-ProbAsk)