標題: | 應用於嵌入式異質多核心平台之工作管理演算法的設計與實作 Design and Implementation of Task Management Algorithms for Embedded Heterogeneous Mult-Core Platforms |
作者: | 單智君 SHANN JEAN JYH-JIUN 國立交通大學資訊工程學系(所) |
關鍵字: | :嵌入式系統;多核心處理器;異質多核心架構;作業系統;編譯器;靜態程式碼分割/配置/排程;動態行程配置/排程;embedded systems;multi-core processors;heterogeneous multi-core architecture;operating systems;compiler;code static partition/allocation/scheduling;process dynamicallocation/scheduling |
公開日期: | 2008 |
摘要: | 為了滿足對計算機系統日益增加的效能需求,目前處理器的架構主要藉由增加處理
器核心(processor core)的方式來達到這個目的,這樣的架構通稱為多核心(multi-core)
處理器。由於嵌入式(embedded)系統在功率消耗上的限制,因此embedded 系統中的
multi-core 處理器通常採用異質多核心(heterogeneous multi-core)架構。為了要在
heterogeneous multi-core 處理器開發與執行程式,必須有相關的軟體開發工具與作業系
統(operating system,OS)來配合;其中,又以工作(task)的靜態與動態管理(management)
為其研究重點。
因此,本計畫將以三年時間探討靜態與動態的 task management 相關的議題,並將
研究的成果以開放原始碼(open source)的方式釋出。在靜態task management 的部分,
主要的研究重點將在程式開發時程式碼分割(partition)、配置(allocation)、及排程
(scheduling)上。程式碼partition 與allocation 就是把程式碼分割成數個code segments,
並為每一個code segment 指定一個processor core 來執行;scheduling 則是根據code
segment 的相依關係來安排執行的先後次序。整個task 靜態management 的部分將包含:
(1) 程式碼分析機制的設計與開發。
(2) 程式碼靜態 partition 與allocation 演算法的設計與開發。
(3) 程式碼靜態 scheduling 演算法的設計與開發。
在 task 動態management 的部分則主要針對OS 對程式/行程(process)在執行時的管理
機制,其中包含:
(1) 各種程式/process 特性與process 動態allocation/scheduling 間的關係分析。
(2) Process 動態allocation 演算法。
(3) Process 動態scheduling 演算法。
除了上述的議題外,我們也將把開發的靜態與動態技術實作到一個常見的系統上,
並將這些技術與其他子計畫的成果做整合,其中包含:
(1) 動態與靜態技術之系統實作。
(2) Process 動態allocation/scheduling 技術與二進位碼偵測(binary instrumentation)
的整合。
(3) 程式碼靜態 partition/allocation/scheduling 以及process 動態allocation/scheduling
技術與JVM(JIT)的整合。 To meet the increasing demand for computing performance, more and more embedded systems deploy multi-core architectures to achieve this aim. Because of the diversity of architectures, multi-core architectures are usually classified into two categories: homogeneous multi-core and heterogeneous multi-core. Since heterogeneous multi-core architecture is a application-specific design, it has advantages in terms of computing performance and power consumption on many applications. These advantages are exactly what most of the embedded systems need. Nevertheless, due to the lack of software development tools and OS, it is difficult to develop and execute programs on an embedded heterogeneous multi-core system. This motivates us to design and implement several key technologies used in an embedded heterogeneous multi-core system. In the coming three years, our project will focus on several issues of static (source partition/allocation/scheduling) and dynamic (allocation/scheduling) task management. In the static task management, we will concentrate on single source code partition, allocation and scheduling. Source code partition and allocation is used to split the input source code into a number of code segments and to assign each code segment to one kind of processor core or a specific processor core for execution. According to the partition/allocation results and the dependency of code segments, code segment scheduling determines the execution order of code segments on a processor core. The design issues of static task management therefore include: (1) Design and development of the code analysis mechanism. (2) Design and development of the source partition and allocation algorithm (3) Design and development of the code segment scheduling algorithm In the dynamic task management, the attention will be paid on dynamic process allocation and scheduling which include: (1) Analysis of relation between the characteristics of program/process and process allocation and scheduling mechanism. (2) Design and development of the process dynamic allocation algorithm. (3) Design and development of the process dynamic scheduling algorithm. In addition to the above topics, the technologies of static and dynamic task management will be implemented in an embedded heterogeneous multi-core system and be integrated with other sub-projects. The design issues: (1) Implementation of the technologies of static and dynamic task management. (2) Integration of process dynamic allocation/scheduling and binary instrumentation. (3) Integration of source code static partition/allocation/scheduling as well as process dynamic allocation/scheduling and JVM (JIT). |
官方說明文件#: | NSC97-2218-E009-030 |
URI: | http://hdl.handle.net/11536/102724 https://www.grb.gov.tw/search/planDetail?id=1696247&docId=293061 |
顯示於類別: | 研究計畫 |