• 沒有找到結果。

應用於嵌入式異質多核心平台之系統軟體關鍵技術與開發工具---子計畫一:應用於嵌入式異質多核心平台之爪哇虛擬機器(I)

N/A
N/A
Protected

Academic year: 2021

Share "應用於嵌入式異質多核心平台之系統軟體關鍵技術與開發工具---子計畫一:應用於嵌入式異質多核心平台之爪哇虛擬機器(I)"

Copied!
6
0
0

加載中.... (立即查看全文)

全文

(1)

行政院國家科學委員會專題研究計畫 期中進度報告

應用於嵌入式異質多核心平台之系統軟體關鍵技術與開發

工具--子計畫一:應用於嵌入式異質多核心平台之爪哇虛擬

機器(1/2)

期中進度報告(精簡版)

計 畫 類 別 : 整合型 計 畫 編 號 : NSC 98-2220-E-009-051- 執 行 期 間 : 98 年 08 月 01 日至 99 年 07 月 31 日 執 行 單 位 : 國立交通大學資訊工程學系(所) 計 畫 主 持 人 : 楊武 處 理 方 式 : 本計畫可公開查詢

中 華 民 國 99 年 06 月 28 日

(2)

行政院國家科學委員會補助專題研究計畫

□ 成 果 報 告

▓ 期中進度報告

應用於嵌入式異質多核心平台之系統軟體關鍵技術與開發工具—

子計畫一:應用於嵌入式異質多核心平台之爪哇虛擬機器(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 日

(3)

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應用程式的開發人員無須關心底層硬體平 台所提供的資源與特色,便可以有效利用嵌入式異質多核心平台所提供的資源。

(4)

文獻探討

[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。

(5)

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項目架構圖

(6)

圖 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

數據

圖  4: Class Diagram  圖  5: Sequence Diagram  結果與討論  透過自動化的選擇執行核心,在程式不需要大量運算資源供應執行時,轉換執行核心到較低 效能的核心上,本系統將使程式更有效率的使用資源。  今年度的進度將會完成這個系統的雛型,而明年度的進度將會進一步使用與修改這個系統, 來實作更複雜核心選取機制,以期望能達到更有效率的程式執行。  參考文獻

參考文獻

相關文件

2 路組相聯的 Cache 結構 4K bytes 的 Cache 大小 4 Words 的 Cache line 大小 讀操作分配策略. 提供使 Cache line 無效的命令 提供預取 Cache line 的命令

(軟體應用) 根據商務活動之舉辦目標及系統需求,應用 Microsoft Office 文書處理 Word、電子試算表 Excel、電腦簡報 PowerPoint、資料庫 Access

(三)TTQS 評核證書於所提各訓練計畫之開訓日應仍屬有效,如於開訓日前效期 屆滿者,應於申請訓練計畫時檢附已申請 TTQS

多元就業開發方案社會型 3 年期計畫書撰寫格式

工作紙 合作學習 同質分組 腦基礎 電子學習 自主學習 異質分組 翻轉教室 生活應用 提問技巧 探究式..

符合第一項規定之青年,且有意願參與本計畫者,應登入本

Windows/ Linux/ Mac 各種平台的開發套件,使我們能夠透過各種平台來開發 Android 軟體,所有的 Android 應用程式都是使用 Java

相較於把作業系統核心置於 Ring 0 權限層級的作法,全虛擬化的方式是以 hypervisor 作為替代方案,被虛擬化的客作業系統 (guest operating system, Guest OS) 核心對