240 likes | 357 Views
Proceedings of the 9 th IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS’03) , 2003 IEEE. Collaborative Operating System and Compiler Power Management for Real-Time Applications. Nevine AbouGhazaleh, Faniel Mosse, Bruce Childers, Rami Melhem, and Matthew Craven.
E N D
Proceedings of the 9th IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS’03), 2003 IEEE Collaborative Operating System and Compiler Power Management for Real-Time Applications Nevine AbouGhazaleh, Faniel Mosse, Bruce Childers, Rami Melhem, and Matthew Craven 946304 唐文力
Compiler’s View - Offline OS’s View – Online, periodically 本篇論文在討論… • 利用 OS 和 compiler 共同合作從real-time application的 slack 中降低 power consumption 的技巧
降低 Power consumption的技巧 • DVS (Dynamic voltage scaling) technique
實作平台與結果 • ATR, MPEG4 on SimpleScalar framework • Energy reduction of up to 79% over no power management and up to 50% over a static power management scheme
Outline • Real-Time Application and DVS Models • OS-Compiler Collaboration Scheme • Support for OS-Compiler Interaction • Evaluation
Real-Time Application Models Deadline, d WCET – worst case execution time WCET – worst case execution time Static Slack ACET – actual execution time Dynamic Slack WCET => WCC ACET => ACC DVS中速度會改變,應使用cycles代替 time
Power consumption Time unit Energy Model • PαCVdd2f • C switch activity • Vdd voltage • f frequency • f is linear, Vddis quadratical • E = Pt 中,paper 未解釋 t 和 f 的關係
Processor Model • Transmeta Crusoe • 200 MHz to 700MHz, 16 levels • XScale • 150MHz to 1GHz, 5 levels
Outline • Real-Time Application and DVS Models • OS-Compiler Collaboration Scheme • Support for OS-Compiler Interaction • Evaluation
Collaborative Power Management Scheme OS Compiler Pre-Processing Offline Run-Time
Algorithm • Pre-Processing • Collect Timing Information • Compiler 在每個 path 做 • Compute ISR Interval Length • Placement Hints • OS每個 interval 都做 • Compute Hints, and set WCR (worst-case remaining cycles) • Execute Power Management Points
Example – for specific path Compiler’s View,exploiting dynamic slack OS’s View, prevent voltage changedfrequently
演算法考量點 • Placement of Hints • 好的 placement 要能夠讓每次 ISR 執行時都不會徒勞無功 • 最好恰有一Hints在每個 interval 中 • Compute Hints, and set WCR (worst-case remaining cycles) • Loop 中 WCR不必重複計算 • Procedure call 需要額外 table 來存放每個 instance 的 WCR
Execute Power Management Points fmax fmin
Outline • Real-Time Application and DVS Models • OS-Compiler Collaboration Scheme • Support for OS-Compiler Interaction • Evaluation
OS Support • SetInterval system call • 在 program 一開始時執行 • SetWcrLocation system call • 在 program 一開始時執行 • ISR • Preemption support • 需紀錄 track 的 WCR • 作者實際上根本沒做,也沒討論到
Compiler Support • Hints (PMH) • Table that stores and retrieves the remaining time at the start of each procedure instance at run time
Outline • Real-Time Application and DVS Models • OS-Compiler Collaboration Scheme • Support for OS-Compiler Interaction • Evaluation
實驗環境 • 自行修改 SimpleScalar為DVS版本,並採取兩種 model • Transmeta Crusoe • Intel XScale • 單一應用程式環境,無OS • 修改 SimpleScalar 以提供 ISR 和做 OS evaluation • 手動插入 Hints 在 program 中
Benchmark • Automatic target recognition (ATR) • Pattern matching of targets • 性質接近 gcc • MPEG video decoder • 6 training data set, 20 input data set • 每個 frame 的執行時間是非常不同的
比較對象 • No power management • Static power management
Results Crusoe XScale
Conclusion • Very small overhead, through ACC >> ISR • 0.19% to 0.4% ATR • 0.4% to 1.7% for MPEG • Reduce power consumption up to • 79% over no power management • 50% over static power management