TWI309002B - - Google Patents

Download PDF

Info

Publication number
TWI309002B
TWI309002B TW095122714A TW95122714A TWI309002B TW I309002 B TWI309002 B TW I309002B TW 095122714 A TW095122714 A TW 095122714A TW 95122714 A TW95122714 A TW 95122714A TW I309002 B TWI309002 B TW I309002B
Authority
TW
Taiwan
Prior art keywords
compiler
power
optimization
power saving
block
Prior art date
Application number
TW095122714A
Other languages
English (en)
Other versions
TW200801925A (en
Inventor
Rong Guey Chang
zong-yan Lin
Original Assignee
Nat Univ Chung Cheng
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nat Univ Chung Cheng filed Critical Nat Univ Chung Cheng
Priority to TW095122714A priority Critical patent/TW200801925A/zh
Priority to US11/566,697 priority patent/US8108850B2/en
Publication of TW200801925A publication Critical patent/TW200801925A/zh
Application granted granted Critical
Publication of TWI309002B publication Critical patent/TWI309002B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/443Optimisation
    • G06F8/4432Reducing the energy consumption
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)
  • Devices For Executing Special Programs (AREA)

Description

;309002 * 九、發明說明: 【發明所屬之技術領域】 本發明係有關一種編譯器最佳化之方法,特別是指一種 ' 編譯器中省電最佳化排程之方法。 . 【先别技術】 近年來可攜式產品如PDA、手機、MP3播放器曰益普 及,除了外觀造型趨向小巧簡便之外,使用時間長短亦是消 _ 費者購買時會考量的因素之一,電池壽命便成為評估產品價 值的重要依據,而且增加電池壽命,可以降低成本、減少體 積以及重量,更加提升產品的價值,因此如何增加電池使用 時間’成為最近的熱門議題。 目前現有的低電壓消耗技術主要可分為三種,第一種是 以硬體架構來減少電量消耗,主要方法是藉由增加特殊硬體 來減少電壓消耗,例如英特爾等公司提出了支援動態電壓調 整(Dynamic voltage sca_, DVS)技術之處理器,可以藉 由調整合適的處理器電壓和頻率,來有效的利用處理器,^ 免不必要的電量浪費’但相對的處理器效率將會大受影響。 第二種方法是以作業系_角度來改善電量消耗,藉^ 行緒重新排定執行順序來避免尖峰時段的產生,減 浪費’但由於每增加新的執行緒就需要重新計算和排定= 順序’亦會影響處理ϋ效率。第三種是以編譯器角度來處理仃 例如由編譯器在編譯過程中於程式碼加人訊息,通 調整合適的處理器電壓和頻率,來有效個處理器,、=: 1309002 必要的電量浪眚,彳θ β & λ 、、一疋舄要硬體的配合才能實現。 由上述先前技術可歸納出先 執行效能難以同眛暴缸, 百无疋電里蝻耗與 佳,反之低錢消耗_錢行效能不 :t 讀式執行效能佳則電壓消耗高;其次1分研 究只適用於特定平a,普田门,、人邛刀研 mm σ實雜雙限;再者,部分技術需要在 耘式執仃期間,動能钟笪人 ^ 程式效率。…十h適的處理11麵及頻率,會拖慢 •種編發明即針對上述習知技術之數項缺失,提出一 、a ”電最佳化排程之方法,以有效克服上述之該 問題。 【發明内容】 本發明之主要目的在提供—種編譯H巾省電最佳化排程 之方法’其係將不具相依性之相同運算單元合併在同一基本 程式區塊中’因而當這些運算單元不使用時,編譯器不需重 籲覆判斷而浪費時間與資源,且可減少切換電源模式之次數。 本發明之另一目的在提供一種編譯器中省電最佳化排程 之方法,其係將不使用之運算單元之電壓關閉,以節省電量 ' 消耗。 本發明之再一目的在提供一種編譯器中省電最佳化排程 之方法’經過 SPEC2000、Mediabench 及 Dspstone 等標準 /則試程式,省電效果平均可達26%,且可以改善因動態電壓 ’節(Dynamic Voltage Scaling,DVS)技術所降低之程式 執行效率。 1309002 。為達上述之目的’本發明提供—種編譯財省電最佳化 排程之方法,其係建立—應隸式之控韻程(⑺ntr〇lf丨 g p )>及:貝料机程(data flow graph),依據應用程式所使 * =之運算單元’將控制流程區分為複數個基本程式區塊;接 者分析控制流程及資料流程,建立應用程式之電量模型 (powermGdel)’时配每—運算單元—電賴式;判斷閒 置之相同運算單元彼此之間是否具有相錄,若不具相依性 籲則將閒置,算單元之程式碼合併為新基本程式區塊,並關閉 閒置之運算單元,將新基本程式區塊切換為合適之電源模 式;以及助同電·紅基本程式區塊合併。由於不同之 運算皁錢基本程式區塊具有各自之省電模式,當執行到下 -個基本輕式區塊時會對電源模式進行切換,_由將基本 程式區塊合併之步驟可減少切換省f模式的次數。 底下藉由具體實_詳加㈣,t更料瞭解本發明之 目的、技術内容、特點及其所達成之功效。 •【實施方式】 /本發明係提供—種應編譯时省電最佳化排程之方法, 其係針對編譯過程中如何對應用程式之程式碼進行編排重 整’並調整其電壓,以達到省電最佳化的目的。 如第-圖為編譯之系統架構,如圖所示,本發明所提供 之方法係利用SUIF2之編譯器系統中進行模擬,提供一應用 程式^,其可為c語言所撰寫之程式碼,當應用程式1〇進 、爲畢器〇中後為低電壓通過(Low power pass)之步驟, 1309002 • 首先為第一部分,SUIF2系統22之最佳化(optimization)、 高階SUIF過程及低階SUIF過程等步驟,用以完成應用程式 10之内部程序分析,如整體別名分析(global alias)、專門 化分析(specialization)及資料流程分析。 _ 低電壓通過步驟之第二部份為機械SUIF系統24 (Machine SU丨F)之架構。請同時參考第二圖之流程圖,在 此部分中’機械SUIF系統24先分析運算單元庫及最佳化介 • 面’以建立應用程式10之控制流程(control flow graph) 及資料流程(data flow graph),如步驟S10所述,接著如 步驟S12開始進行最佳化’首先分析控制流程及資料流程, 以建立應用程式之一電量模型(p0wer model),與此同時, 更依據應用程式1〇所使用之運算單元,將控制流程區分為 複數基本程式區塊B,此基本程式區塊B係由複數區段尺所 組成,每一區段r中又包含至少一個運算單元,而此運算單 兀可為加法器或乘法器,以進行整數及浮點運算,再依據電 釀量模型分配給每—運算單元—電源模式;運算單元並不會同 時間一起運作,因此如步驟S14所述,關閉閒置的運算單元, _ 益判斷閒置運算單元中相同之運算單元彼此之間是否具有相 依性,若分別在兩基本程式區塊中之兩運算單元不具相依 性:則如步驟S16所述,將該兩閒置運算單元之基本程式區 塊合併為新的基本程式區塊,並如步驟S18所述將新基本程 式區塊之電_式城為合適之省電模式;最後,如步驟^ 所述’將相同電源模式之基本程式區塊合併。重複步驟S16 .1309002 至S20,直到沒有可合併之運算單元。 當應用程式10重排之流程結束後,此重排後之最佳化 =秋式利用-系統程式26開始進行編譯動作,此系統程 式%可為A丨pha模擬程式,並可在八丨响u峨系統下交又 、扁澤再連結至運行運算單元庫(run_tjme |jbrar^執行該 應用程式’以產生可在模擬器30上運作之執行碼。此模^ 器30可為Wattch模擬器,其提供迴圈式模擬,可量測中央 ^里器在某-組參數時之電量雜及在不同架構下之電量模 第三圖為本發明中程式碼排程之觸方法,此為虛擬碼 所撰寫’ N(B)為基本程式區塊B的執行次數,FU⑹為 基本程式區塊B中所執行之運算運算單元,FU(R)為區段R 中所執行之運算運算單元,fmem為在基本程式區塊B中所有 指令在記憶體中存取的比例,Tper(R)為基本程式區塊b執 行時間的比例,f(B)表示基本程式區塊B之電量模型,f(R) 表示區段R之電量模型。當程式被分割為複數區段後,若 Ri及Rj兩個區段符合下面兩個條件,則合併為一個區段:_ 是FU(Ri)= FU(Rj) ’其表示此兩區段皆運用同一運算單元; 一是D(Ri,Rj) = 0,其表示此兩區段並不相依。在此段虛擬 程式碼中並設有三個參數γ、α及β,其中γ為將一運算單元 開啟或關閉的臨界值,而α及β則為在賦予一個區段電源模 式時參考之臨界值;藉由區段r中Tper(R)值大於γ來決定 要開啟或關閉區段R中之運算單元。 1309002 本發明中所使用之Wattch模擬器係設定一般模式下電 壓為1.5V ’時脈解為_MHz,而電壓下降模式fd_ 壓及時脈解分別4 〇.3v及·ΜΗζ,在第三圖之虛擬程式 碼中有兩個步驟在判斷電_式,在第-步驟中,先依據α 值給予每—區段R —個電源模式,再判斷Ri及Rj是否符人 f(R〇 = f⑽且D(Ri,的條件,若符合則將民及Rj合; 為新的區段’重覆此步驟直到沒有區段可供合併為止。 在第二步驟中依據P值給予每—基本程式區段B—個電源模 式。 、 以下將以第四圖為實施例說明本發明之最佳化排程方 法。在此實施例中具有兩個for迴圈及兩個temp表示式,首 先,由於兩及兩表示式所運用之運算單元相同,且彼此 f不相依’故將兩,及兩表示式分別合併為兩個區段;接 者’先將迴_段中所包含之乘法器關,再將表示式區段 鲁所包^之加法;最後,將包含兩迴圈之區段設定為低 電 '原模式並將包含兩表示式之區段設定為一般電源模式。 .比較原程式碼及重新排程後之最佳化程式竭,後者將加法器 及乘法器分別合併至兩不同區段中,由於加法器在迴圈中須 * 執行多次,故將其電源模式設定為低電量,當執行迴圈時, 由於不使用到乘法器,可將乘法器關閉,而當執行表示式時, 由於不使用到加法器,可將其關閉,故較原程式碼更為省電。 第五圖至第七圖分別為原程式碼及經本發明最佳化排程 後之程式碼在SPEC2000、Mediabench以及Dspstone等標 1309002 - 準測試程式下執行各指令時之電量比較示意圖,如第五圖中 之matrix指令在重新排程之後,所需電量足足比未排程前節 省了 一倍多,除了 irr_biquad_one_section指令外,其餘皆 較最佳化排程前省電;同理,在Mediabench以及Dspstone 秦 兩標準測試程式下更可明顯看出本發明之省電效果。第八圖 至第十圖分別為原程式碼及經本發明最佳化排程後之程式瑪 在SPEC2000、Mediabench以及Dspstone等標準測試程式 參下執行各指令時之效能示意圖,由於程式碼在經過本發明之 省電最佳化排程後,其長度並未產生很大的變化,故執行效 能上不會產生大的影響。 >
綜上所述,本發明所提供之編譯器中省電最佳化排程方 法係將不同的基本程式區塊中相同且彼此沒有相依性之置運 算單元合併成新的基本程式區塊,以減少運算單元開關 切換不同省電模式的次數來達到省電的目的 SPEC2_、Mediabench以及叫如⑽等標 省電效果平均可達26%,且麵g= voltageScaiing,DVS)技術下不會嚴重影響程式執二率: 唯以上所述者,僅為本發明之餘實㈣Μ 來限定本發明實施之範圍。故即 並非用 特徵及精神所為之均等變化或修飾,==圍所述之 請專利範圍内。 々應^括於本發明之申 【圖式簡單說明】 第一圖為本發明之系統架構之示意圖 1309002 .第t圖為本發明編譯器中省電最佳化排程之方法流程圖。 第圖為本毛明中以虛幾碼表示排程最佳化判斷之示意圖。 第四圖為本發财以部份程式料行最佳化排程之一實施 . 例。 *第五圖至第七®分別為原程式碼及經本發明最佳化排程後之 程式碼在SPEC2000、Mediabench以及Dspstone等標準測 試程式下執行各指令時之電量比較示意圖。 鲁第八圖至第十圖分別為原程式碼及經本發明最佳化排程後之 程式碼在SPEC2000、Mediabench以及Dspstone等標準測 試程式下執行各指令時之效能示意圖。 【主要元件符號說明】 1〇應用程式 20編譯器 22 SUIF2 系統 _ 24機械SUIF系統 26系統程式 . 30模擬器 12

Claims (1)

1309002 十、申請專利範圍: 1. 一種編譯器中省電最佳化排程之方法,在編譯器中將編, 後所產生之機械碼重新排程,以達到省電最佳化之目的, 包括以下步驟: 建立一應用程式之控制流程(c〇ntr〇l f丨〇vv graph)及資 流程(data flow graph); 依據該應用程式所使用之運算單元,將該控制流程區八、 複數基本程式區塊; 乃為 分析該控制流程及該資料流程以建立該應用程式之電息# 型(power model ),並分配每一該運算單元一電源里松 判斷該運算單元中之相同且閒置者彼此之間是否具有莫式, 性,若不具相依性則將該閒置運算單元之程式碼八相依 新基本程式區塊,並關閉該閒置運算單元,將今Q併為 程式區塊切換為合適之電源模式;以及 X靳基本 將相同電源模式之該基本程式區塊合併。 2. 如申請專利範圍第1項所述之編譯器中省電最佳化 方法,其中該編譯器可為SUIF2之編譯系統。 ¥程之 3_如申請專利範圍第彳項所述之編譯器中省電最佳化排 方法’其中該控制流程及資料流程之建立係根據該庫 式經編譯後所提供之運算單元分析及最佳化i介= (optimization interface) ° ;, 4.如申請專·圍第彳項所述之編譯器中省電最佳化排程之 方法’其中每—該基本程式區塊中係可包含複數運算單元。 如申請專利範圍第彳項所述之編譯器中省電最佳化排程之 13 1309002 雜本程式區塊之電源模式係預設為一般模 6如申珠i之λ·該新基本程式區塊之電源模式則為省電模式。 方法1利範圍第1項所述之編譯器中省電最佳化排程之 做判斷。、中°亥運算單疋是否具相依性係根據該資料流程來 ==範圍第1項所述之編譯器中省電最佳化排程之 二销縣程式區軸城之電賴式係參考該 罨量杈型,以判斷是否合適。 8.::請:利範圍第!項所述之編譯器中省電最佳化排程之 狀熊/、中該運算單疋可在開始執行前預先設定開或關的 9=申睛專利範圍第彳項所述之編譯財省電最佳化排程 流=1 =算單元之間—性,_該控制 10·如申請專利範㈣i項所述之編譯器中省電最佳化挪。 之方法,其中該運算單元若需反覆使用,則其所屬該義^ 程式區塊之電源模式係設為低電量。 土
TW095122714A 2006-06-23 2006-06-23 Method for energy-efficient scheduling optimization for compiler TW200801925A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW095122714A TW200801925A (en) 2006-06-23 2006-06-23 Method for energy-efficient scheduling optimization for compiler
US11/566,697 US8108850B2 (en) 2006-06-23 2006-12-05 Power-aware compiling method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW095122714A TW200801925A (en) 2006-06-23 2006-06-23 Method for energy-efficient scheduling optimization for compiler

Publications (2)

Publication Number Publication Date
TW200801925A TW200801925A (en) 2008-01-01
TWI309002B true TWI309002B (zh) 2009-04-21

Family

ID=38924596

Family Applications (1)

Application Number Title Priority Date Filing Date
TW095122714A TW200801925A (en) 2006-06-23 2006-06-23 Method for energy-efficient scheduling optimization for compiler

Country Status (2)

Country Link
US (1) US8108850B2 (zh)
TW (1) TW200801925A (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090228874A1 (en) * 2008-03-07 2009-09-10 Interuniversitair Microelektronica Centrum Vzw (Imec) Method and system for code compilation
US8495605B2 (en) * 2008-06-16 2013-07-23 International Business Machines Corporation Policy-based program optimization to minimize environmental impact of software execution
EP2290538A3 (en) * 2009-08-31 2011-06-22 Imec Method and device for reducing power consumption in application specific instruction set processors
US8799693B2 (en) * 2011-09-20 2014-08-05 Qualcomm Incorporated Dynamic power optimization for computing devices
US9098309B2 (en) 2011-09-23 2015-08-04 Qualcomm Incorporated Power consumption optimized translation of object code partitioned for hardware component based on identified operations
US9002694B2 (en) * 2012-05-03 2015-04-07 Freescale Semiconductors, Inc. Verification of design derived from power intent
KR101959252B1 (ko) * 2012-07-16 2019-07-04 삼성전자주식회사 데이터를 기반으로 전력을 관리하는 장치 및 방법
US9557800B2 (en) 2012-08-31 2017-01-31 Micron Technology, Inc. Sequence power control
JP5981313B2 (ja) 2012-11-09 2016-08-31 株式会社東芝 電力抑制型蓄電蓄熱最適化装置、最適化方法及び最適化プログラム
US10133557B1 (en) * 2013-01-11 2018-11-20 Mentor Graphics Corporation Modifying code to reduce redundant or unnecessary power usage
US9501382B2 (en) * 2013-06-25 2016-11-22 Purdue Research Foundation Systems and methods of detecting power bugs
US9606783B2 (en) * 2013-10-14 2017-03-28 International Business Machines Corporation Dynamic code selection based on data policies
US10409513B2 (en) * 2017-05-08 2019-09-10 Qualcomm Incorporated Configurable low memory modes for reduced power consumption
US11079825B2 (en) * 2019-08-13 2021-08-03 Intel Corporation Compiler guided power allocation in computing devices
US11900156B2 (en) 2019-09-24 2024-02-13 Speedata Ltd. Inter-thread communication in multi-threaded reconfigurable coarse-grain arrays
US11175922B1 (en) 2020-04-28 2021-11-16 Speedata Ltd. Coarse-grain reconfigurable array processor with concurrent handling of multiple graphs on a single grid
US11354157B2 (en) * 2020-04-28 2022-06-07 Speedata Ltd. Handling multiple graphs, contexts and programs in a coarse-grain reconfigurable array processor

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5452401A (en) * 1992-03-31 1995-09-19 Seiko Epson Corporation Selective power-down for high performance CPU/system
US20030014742A1 (en) * 2001-07-09 2003-01-16 Sasken Communication Technologies Limited Technique for compiling computer code to reduce energy consumption while executing the code
KR101006117B1 (ko) * 2002-12-20 2011-01-07 인터내셔널 비지네스 머신즈 코포레이션 무선 애드혹 네트워크에서의 최대 수명 라우팅
EP1626328A1 (en) * 2004-08-13 2006-02-15 Dialog Semiconductor GmbH Power saving during idle loop
TWI304547B (en) * 2005-12-29 2008-12-21 Ind Tech Res Inst Power-gating control placement for leakage power reduction

Also Published As

Publication number Publication date
US8108850B2 (en) 2012-01-31
US20070300214A1 (en) 2007-12-27
TW200801925A (en) 2008-01-01

Similar Documents

Publication Publication Date Title
TWI309002B (zh)
Xie et al. Compile-time dynamic voltage scaling settings: Opportunities and limits
Hong et al. Power optimization of variable voltage core-based systems
Trefethen et al. Energy-aware software: Challenges, opportunities and strategies
Saputra et al. Energy-conscious compilation based on voltage scaling
Magklis et al. Profile-based dynamic voltage and frequency scaling for a multiple clock domain microprocessor
Srivastava et al. Predictive system shutdown and other architectural techniques for energy efficient programmable computation
Swanson et al. Greendroid: Exploring the next evolution in smartphone application processors
Parikh et al. Instruction scheduling for low power
Lo et al. Prediction-guided performance-energy trade-off for interactive applications
Rauber et al. Performance and energy metrics for multi-threaded applications on DVFS processors
Haj-Yahya et al. Energy efficient high performance processors: recent approaches for designing green high performance computing
Azevedo et al. Architectural and compiler strategies for dynamic power management in the copper project
Lu et al. A dynamic, compiler guided DVFS mechanism to achieve energy-efficiency in multi-core processors
Takase et al. An integrated optimization framework for reducing the energy consumption of embedded real-time applications
Hajiamini et al. Impact of cache voltage scaling on energy-time pareto frontier in multicore systems
Wang et al. Compiler-assisted leakage-aware loop scheduling for embedded VLIW DSP processors
Wang et al. Energy optimization by software prefetching for task granularity in GPU-based embedded systems
Ghattas et al. Energy management for commodity short-bit-width microcontrollers
Huang et al. Efficient and scalable compiler-directed energy optimization for realtime applications
Lee et al. Power-aware code scheduling assisted with power gating and DVS
Mu et al. Autonomous hardware/software partitioning and voltage/frequency scaling for low-power embedded systems
Travers et al. Power-normalized performance optimization of concurrent many-core applications
Shyam et al. Compiler-directed dynamic voltage scaling using program phases
Rauber et al. Towards an energy model for modular parallel scientific applications

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees