行政院國家科學委員會專題研究計畫 期中進度報告
應用於嵌入式異質多核心平台之系統軟體關鍵技術與開發
工具--子計畫一:應用於嵌入式異質多核心平台之爪哇虛擬
機器(1/2)
期中進度報告(精簡版)
計 畫 類 別 : 整合型 計 畫 編 號 : NSC 98-2220-E-009-051- 執 行 期 間 : 98 年 08 月 01 日至 99 年 07 月 31 日 執 行 單 位 : 國立交通大學資訊工程學系(所) 計 畫 主 持 人 : 楊武 處 理 方 式 : 本計畫可公開查詢中 華 民 國 99 年 06 月 28 日
行政院國家科學委員會補助專題研究計畫
□ 成 果 報 告
▓ 期中進度報告
應用於嵌入式異質多核心平台之系統軟體關鍵技術與開發工具—
子計畫一:應用於嵌入式異質多核心平台之爪哇虛擬機器(1/2)
Software key technologies and development tools for embedded heterogeneous multi-core platforms – A Java Virtual Machine for Embedded Heterogeneous Multiprocessor Platform
(1/2)
計畫類別:□ 個別型計畫 ■ 整合型計畫
計畫編號:NSC 98-2220-E-009-051
執行期間: 98 年 8 月 1 日至 99 年 7 月 31 日
計畫主持人:楊武
共同主持人:
計畫參與人員: 沈柏曄、孫信慶、邱筱惠、溫致絹
成果報告類型(依經費核定清單規定繳交):■精簡報告 □完整報告
本成果報告包括以下應繳交之附件:
□赴國外出差或研習心得報告一份
□赴大陸地區出差或研習心得報告一份
□出席國際學術會議心得報告及發表之論文各一份
□國際合作研究計畫國外研究報告書一份
處理方式:除產學合作研究計畫、提升產業技術及人才培育研究計畫、列管計畫
及下列情形者外,得立即公開查詢
□涉及專利或其他智慧財產權,□一年□二年後可公開查詢
執行單位:國立交通大學
中 華 民 國 99 年 6 月 14 日
1
摘要
本計畫探討在嵌入式異質多核心平台上增進程式能源使用效率的有效方法,並希望利用爪 哇虛擬機器作為程式執行的介面,依據程式執行的不同階段,透過自動化的選取核心,來達到有 效率的能源使用。Abtract
This project seeks effective ways for program execution energy efficiency on Embedded Heterogeneous Multiprocessor Platform. We would like to use Java Virtual Machine as a program execution interface. Since programs have variable characteristics during their execution, we modify Java Virtual Machine to monitor the program execution and switch program to appropriate core on Embedded Heterogeneous Multiprocessor Platform depending on their need for better performance energy efficiency.
前言
為了滿足對計算機系統日益增加的效能需求,目前處理器的架構主要藉由增加處理器 核 心 (processor core) 的 方 式 來 達 到 這 個 目 的 , 這 樣 的 架 構 通 稱 為 多 核 心 處 理 器 (multi-core processor)。由於嵌入式(embedded)系統在功率消耗上的限制,因此嵌入式系統上的多核心處理器 通常採用異質多核心(heterogeneous multi-core)的架構。 從另一方面來看,現今通訊相關產業快速發展,資訊家電、個人數位助理(PDA)及各種 中高階電子裝置需求急速增加,有許多廠商使用Java 語言來撰寫應用程式,發揮Java語言跨平台 的特性以及安全上的考量。為了要執行Java程式,必須在這些嵌入式系統上執行Java虛擬機器 (JVM)。然而,Java虛擬機器在目前嵌入式異質多核心系統架構下的設計非常困難,不同的處理 器有不同的指令集架構(instruction set architecture, ISA),不同的處理器有獨立的記憶體定址空 間,不同處理器之間需要互相溝通協調及管理等,都會增加Java虛擬機器設計時的複雜度。因為 複雜且不容易實作,目前尚未存在完整適用於嵌入式異質多核心系統之JVM整合方案。
研究目的
Java程式因為其跨平台的特性,大量的被使用在嵌入式系統中應用程式的開發。有鑒於目 前高階的嵌入式系統多採用異質多核心處理器(heterogeneous multiprocessors),為縮短Java應用程 式的開發人員在異質多核心平台上開發程式的時程,本計畫希望開發出一套適用於異質多核心平 台的爪哇虛擬機器(Java Virtual Machine, JVM),讓Java應用程式的開發人員無須關心底層硬體平 台所提供的資源與特色,便可以有效利用嵌入式異質多核心平台所提供的資源。文獻探討
[3]算是最早在異質多核心處理器上探討有關於程式執行能源使用效率的可能性。文獻中利用多 個 Alpha 處理器來模擬異質多核心處理器架構,每顆處理器有不同的效能規格。針對 applu benchmark 執行期間,不同的執行效率(instructions per sec),給予轉換執行核心來達到能源使用的效率。
這篇[1]主要在描述如何透過Dynamic Voltage Frequency Scaling,在一般的多核心處理器上做不同 頻率的設定以形成核心效能皆不同的異質多核心處理器。文獻中還探討了在此種多核心處理器上,程 式的執行期間應該要如何選擇核心。針對這樣的問題,文獻中提出了For IPC和For Cache Miss的兩種 演算法來作為核心選取的依據。
[2]總結了在執行效能皆不同的異質多核心處理器上,達到程式能源使用效率最大化的形式。主 要分成兩種。一種稱為在Thread Level Parallelism上達到使用效率,程式執行可分為序列化部份和可平 行化部份,將序列化的部分放在較快的核心上執行,而可平行化的部分就交給多個較慢的核心執行。 而另一種型式則是在Microarchitecture上取得效率,程式可分為CPU-bound的程式和Memory-bound的 程式,CPU-bound的程式使用CPU效率較高所以應該要放在效能較高的核心上執行,另一種程式則相 反。
研究方法
本 計 畫 的 嵌 入 式 異 質 多 核 心 平 台 爪 哇 虛 擬 機 器 主 要 是 採 用 現 用 的 軟 體 系 統 修 改 , 且 並 無 加 以 擴 充 之 規 劃 , 因 此 只 描 述 修 改 之 子 工 作 項 目 。 本計畫主要分成三個子工作項目,分別敘述如下: (1) 作業系統核心支援(OS Kernel Support, OSKS)修改底層作業系統核心,使其能夠提供系統呼叫(system call)用來選取想要的執行核心及 電源管理所需之功能,項目架構如圖1。
3
(2) JVM 動態執行核心選取 (Dynamic Execution Core Switch for JVM,DECS )
為了能夠達到節能的執行效率,JVM中提供動態核心選取的功能,用來選取適合的執行 核心以達到能源節省的目標,項目架構如圖2。
圖2:DECS項目架構圖
(3) JVM 功耗效能測寫 (JVM Profiling for Power Reduction, JPPR )。
為了提供DECS 子系統選取核心的依據,本子系統對JVM 執行期做側寫,以取得功耗資 訊轉交給DECS 做決策。
圖3:JPPR項目架構圖
圖 4: Class Diagram 圖 5: Sequence Diagram
結果與討論
透過自動化的選擇執行核心,在程式不需要大量運算資源供應執行時,轉換執行核心到較低 效能的核心上,本系統將使程式更有效率的使用資源。 今年度的進度將會完成這個系統的雛型,而明年度的進度將會進一步使用與修改這個系統, 來實作更複雜核心選取機制,以期望能達到更有效率的程式執行。參考文獻
[1] Rangan, Krishna K. and Wei, Gu-Yeon and Brooks, David . Thread motion: fine-grained power management for multi-core systems, SIGARCH Comput. Archit. News, 2009
[2] Fedorova, Alexandra and Saez, Juan Carlos and Shelepov, Daniel and Prieto, Manuel. Maximizing power efficiency with asymmetric multicore systems Commun. ACM ,2009
[3] R. Kumar, D. M. Tullsen, P. Ranganathan, N. P. Jouppi, and K. I. Farkas. Single-ISA heterogeneous multi-core architectures: the potential for processor power reduction. In Proceedings of the 36th Annual IEEE?ACM International Symposium on Microarchitecture, pages 81–92, Dec. 2003