精華區beta CSSE 關於我們 聯絡資訊
※ 引述《WYchuang (打不留歪莊)》之銘言: : ※ 引述《saker ()》之銘言: : : ※ 引述《WYchuang (打不留歪莊)》之銘言: : : : 說到實際面 ... : : : 我只看果有某paper利用OS的排程機制來省電(某位老中的paper) : : : 理由很簡單,但是做起來頗麻煩,就是在schedule的時候 : : : 把所有的task作個分析,預測一下每個task下個時間點的IO (這邊是最難的部分) : : : 然後把一樣IO的task排在一起執行,當這些一樣IO的task都跑過之後 : : : 把該IO調到idle (因為暫時沒有task會需要它了) : : : 其他的都是一堆機率,看都看不懂 XD 就字面上看來, 就是找出task有用到哪些module(Hardware), 然後讓那些module睡久一點, 這個基礎是module的operation mode switch很耗時or耗能. 沒用的module就去睡, 睡越多, power越低. : : 看到這個我有一點疑問..... : : 基本上task的新增是隨時都有可能的吧... : : 難道每次schedule時都要重新分析一次? 這樣loading會不會太大阿 : : 而且在embedded上還有硬體限制說 我之前聽老師說過 基本上 : : 這種想法只能在paper寫寫而已 因為他們都是考慮理想狀況 : : 要真正拿來使用幾乎不可能.....不過我沒有看過這篇paper : : 所以我也只是隨便說說而已..... :) : : ㄟ ... 詳細的狀況由於年代久遠,我早忘了 :-P : 不過我記得他有實做,然後還有數據的樣子 ... : 即時動態分析就可以了, 那paper我也沒看過 :) 但有類似的方式用於cache. 一般cache中的內容, 馬上有用到的部份只有被hit的部份, 所以那paper就將原本的3.3v降到1v, 這樣速度變的很慢, 但很省power. 降壓是部分降, 一部分還是處於高壓(快速), 然後有一些方法判定哪些要由高壓變低壓, 哪些低壓變高壓, 假如猜對的話, 那個區域的power省很多, 假如猜錯的話....花時間由低壓變高壓 (就是變慢 Orz ) 不管CPU如何access memory, 那個cache都不會有問題, 頂多power很大且效能很差 XD 不過那是最差的情況, 在paper的實驗中還不錯! Krisztian Flautner, Nam Sung Kim, Steve Martin, David Blaauw,Trevor Mudge. "Drowsy Caches: Simple Techniques for Reducing Leakage Power," ISCA'02, p.p. 148-157. 應該有特定的方式在收集資料, 例如某module的使用情況, 所以每次schedule時, 就可以愈預測這個task和module之間的關係, 進而排出low power的順序, 所以才有一堆機率. loading! 就要看演算法和low power的需求度, 就像IA32的主力CPU的power都很高, 而ARM的CPU都不高(有的還很低), 就是看哪個是主要,那個是次要. 在實作中, 都是case by case沒有定則, 只有候選方案(建議方法). : : : 我只看過在即時系統的討論 : : : 由於real-time sys知道每個task的最短執行時間(理論上啦) : : : 如果系統可以降速度跑,但依然可以符合此task的時間需求 : : : 那就降速跑,理論上似乎可以省電 : : 那降速跑的功能是作在軟體還是硬體阿 : : 如果是軟體handle 那不是又要多task來處理這一件工作 : : 那摸分析的task + 降速後的task 會不會反而耗電量比原task還多?? : : 降速度跑大概是軟體決定,硬體執行 ... : (比較dynamic的東西,硬體做應該會想死吧) 其實也有硬體決定,硬體執行. 只是user沒感覺而已, 只發現這個機器的power好像很低 XD 大部分還是體決定,硬體執行. 因為這個能玩的花樣很多, 例如在校能極度不需要的妝況下, 關閉cache的電, 這樣會省很多電! 或者關閉32 bit的module, 只有16 bit的module! 但這些一但關了, 會影響CPU的正常運做, 所以之後run的code(or功能)要挑選過, 所以當然是軟體決定, 不然之後的code要誰保證是挑選過! 也許有人覺得硬體決定,硬體執行的部份沒舉例不好了解, 那我舉個例子: CPU的電壓,速度和溫度! 電壓高->速度快,溫度低, 電壓低->速度慢,溫度高, 我有看過一個電路能偵測溫度, 以溫度調整CPU的電壓來降溫, 但有額外的介面, 給軟體調這電路能調整電壓的範圍(包含關閉這電路) : : 我自己是覺得,system的東西總是牽涉廣泛,往往牽一髮而動全身 : 比如說我上次去聽清大的某教授報告(專精compiler的教授), : 他說他們認為OS的low power機制一定要搭配Compiler,效果才會好 : 我到現在還是參不透這句話 XD 簡單地說,老王賣瓜! 他是專精compiler的教授, 他會說搭配Compiler的效果不大嗎? XD -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.230.224
damon98:http://0rz.net/f80zM 140.123.103.40 08/17
damon98:compiler的確可以達到比較好的low power 140.123.103.40 08/17