390 likes | 526 Views
Hardware Software Co-design of an Embedded Dynamic Resource Manager with Cloud Computing Style for Many-Core SoC. 林孟諭 Dept. of Electrical Engineering National Cheng Kung University Tainan, Taiwan, R.O.C. Outline. 研究 計畫之背景、目的、與重要性 相關 研究背景 、領域 情況之 探討 2.1 雲端 運算 與虛擬化技術 2.2 微 內核與 框架
E N D
Hardware Software Co-design of an Embedded Dynamic Resource Manager with Cloud Computing Style for Many-Core SoC 林孟諭 Dept. of Electrical Engineering National Cheng Kung University Tainan, Taiwan, R.O.C
Outline • 研究計畫之背景、目的、與重要性 • 相關研究背景、領域情況之探討 2.1 雲端運算與虛擬化技術 2.2 微內核與框架 2.3 資源管理 2.4 傳統任務調度與映射 2.5 眾核系統的動態任務調度映射與負載均衡 2.6 任務遷移 • 研究方法、進行步驟及執行進度 3.1 雲端運算原理分析與研究 3.2 系統虛擬化技術研究與開發 3.3 框架與微內核理論分析與研究 3.4 眾核嵌入式動態資源管理理論研究與分析 3.5 嵌入式動態資源管理器框架模型研究與設計
1. 研究計畫之背景、目的、與重要性 (1/2) • 嵌入式眾核心(Many Cores, not Multi-core)時代來臨,單一系統晶片上容納由多核心((Multi-Cores)而至眾核心(Many Cores, MCSoC),急劇提升系統的運算規模與/或效能。 • 眾核心系統主要的優點是可以多應用任務的並行執行。為了因應各類複雜應用之平行計算性與移動(mobile)計算性需求,未來單晶片系統的眾核資源規模將不斷擴展,晶片上資源種類與能耗日益增加,其設計的重點轉為強調於諸處理器核心等資源與其上各應用之間的如何溝通、協調與合作
1. 研究計畫之背景、目的、與重要性 (2/2) • 單晶片嵌入式眾核心系統將面臨下列問題: • 可用性問題:如何增加單晶片眾核心系統之可靠度,如何防止某些核心錯誤發展成系統故障等等。 • 效能問題:如何讓單晶片眾核心系統中所有核心都發揮最好效能,如何平衡運用眾核心系統之各類資源使效能最大化,如何避免資源衝突以提昇系統效能等等。 • 能耗問題:如何提高單晶片眾核心系統之電能的利用率,如何降低眾核心系統之平均溫度以節約能量增進系統壽命。 • 複雜度問題:如何面對與有效運用單晶片眾核心系統中為數眾多之核(可幾百幾千個)與各式資源。 • 成本問題:如何以最少成本處理前述之所有問題等等。
2.1 雲端運算與虛擬化技術 (1/6) • 雲端運算有下列特色:超大規模、高通用性、虛擬化、自動化、網路化、成本低、高可用性、與高擴充性。 • 雲端運算提供以下三種服務層次: • 基礎架構即服務 (IaaS, Infrastructure as a Service): 提供了核心計算和網路資源的服務。 • 平臺即服務 (PaaS, Platform as a Service): 提供開發平臺給系統管理員和開發人員,以為它建構,測試及部署客製應用程式。 • 軟體即服務 (SaaS, Software as a Service): 透過Internet提供軟體的模式,用戶向提供商租用基於Web的軟體,來管理企業經營活動,且無需對軟體進行維護,服務提供商會全權管理和維護軟體。 • 我們的動態資源管理器將提供落在第一層之服務。但,我們與雲端運算不同的地方是:雲端運算是純軟體方式設計,而我們則採軟硬體協同方式,甚或全硬體設計之。
2.1 雲端運算與虛擬化技術 (2/6) • 眾核SoC系統是按層級來設計的,各個層級之間有定義好的介面。使用統一定義好的各種介面,掩蓋各個層次間的複雜性,硬體和軟體設計團隊可以獨立的進行系統設計。這種方式被稱為抽象。 • 在抽象層虛擬化一個系統資源(處理器、記憶體或者I/O設備)並將介面和可見資源映射到底層的系統真實資源上。這樣真實系統就看起來像一個虛擬系統甚至是多個虛擬系統共用相同系統真實資源。
2.1 雲端運算與虛擬化技術 (3/6) • 虛擬化技術具有如下優點: • 可管理性(manageability):可遠端管理和集中管理,易於管理。 • 透明性(transparent) :任務與應用可以不經修改地運行在虛擬機中,遮住了底層硬體平臺的異構性,支援軟體跨平臺運行。 • 封裝性(encapsulation) :虛擬機實例中所有軟體都封裝在一個單獨的虛擬硬碟檔中,透過這種封裝形式,虛擬機的備份、安裝、複製、分發都可以透過複製虛擬硬碟檔的方式實現。有效地降低了軟體的管理、配置的難度,增加了軟體部署的方便性和靈活性。 • 安全隔離性(isolation) :雖然虛擬機器可以共用單一平臺的實體資源,但是這些虛擬機仍然彼此隔離,就像是獨立的實體機器一樣。 • 可聚集性(consolidation) :將多台機器虛擬成一個邏輯機器,為設計實現高可靠系統提供了新的可能。
2.1 雲端運算與虛擬化技術 (4/6) • 一般可以把虛擬化技術大致分為以下幾類: • 硬體層: 直接把硬體資源劃分成很多固定分區,缺乏很好的靈活性,不能對資源做出有效調配。 • 指令集架構(ISA)層: 透過軟體方法模擬指令的執行效果,一般稱其為模擬器。對用戶作業系統的指令集進行模擬。引入的虛擬硬體的指令集 和底層真實硬體的指令集是否相同,可以再將虛擬機分為異構虛擬機和同構虛擬機兩類。同構虛擬機也稱為HAL (Hardware Abstraction Layer,硬體抽象層) 虛擬機 。
2.1 雲端運算與虛擬化技術 (5/6) • 硬體抽象層(HAL) :用虛擬機監控程式(Hypervisor)或虛擬機監視器(Virtual Machine Monitor, VMM) 直接管理系統的所有硬體資源,而將硬體資源虛擬化。Hypervisor運行在特權級上。而每個虛擬機(VM)都運行在虛擬機監控程式上。由虛擬機監視器統一管理多個虛擬機,它運行在虛擬機和硬體之間,並向運行在它上面的虛擬機和用戶作業系統提供抽象的硬體觀點,讓它們感覺獨佔了所有的硬體設備。虛擬機監視器負責硬體資源的分配和指令的調度等工作。 • 作業系統層(作業系統級虛擬):一種在作業系統和函數庫之間引入中間層的虛擬化方法。這種方法實現的所有虛擬機共用同一個作業系統內核,雖然可擴展性好,能支持更多數量的虛擬機,但無法實現故障隔離,一個虛擬機的崩潰會導致其他虛擬機的崩潰,系統穩定性較差。
2.1 雲端運算與虛擬化技術 (6/6) • 根據虛擬化架構的不同和是否需要修改Guest OS內核,可以將虛擬化技術分為兩種: • 全虛擬化(Full Virtualization):VMM可以向虛擬機虛擬出和真實硬體完全相同的硬體環境,因此任何己有的作業系統都可以不經修改直接運行在全虛擬化的VMM上。全虛擬化技術的優點在於不需要修改Guest OS的內核,所以相容性較好,但是以犧牲性能為代價。 可採用“代碼掃描”和“動態指令重寫”的方法來克服這個困難。 • 半虛擬化(Para-virtualization) :修改Guest OS的內核,讓作業系統知道自己運行在虛擬機中,因此可以對有缺陷的指令進行替換,避免了“動態指令重寫”這種成本較大的方法,性能方面得到了很大提升,但相容性較差。
2.2微內核與框架 (1/4) • 微內核(Microkernel),又稱為微核心,是一個最小化的單元而提供完整的作業系統功能。 • 微內核設計使用了極小原則 (minimalism principle):將一個概念的實現移動至內核之外,即允許外在競爭對手存在,將會阻止系統所需功能的實現時,那此概念才能在微內核內部存活(實現)。 • 這極小性意味著一個微內核不提供任何服務,就只提供實現各服務的最小機制。實際的服務系統是以使用者模式(非特權)的組件來實現。故微內核的基本實現概念是把大部分的功能從內核中移到用戶層,只保留不可缺少的核心部分,使得內核的複雜度大為降低、縮減,非常適合於嵌入式環境的應用。
2.2微內核與框架 (2/4) • 微內核是採用策略與機制分離的原則:內核提供了機制來實現資源控制,但資源控制的策略微內核本身並不提供,卻是依據那些可用資源之情況而由用戶模式的組件來實現的。 • 微內核不提供作業系統的相關服務,而是提供實現這些服務的機制,諸如底層的位址空間管理,執行緒調度以及程式間通訊。它只提供機制和資源,而把具體實現策略留給用戶層執行緒來實現 。
2.2微內核與框架 (3/4) • 框架 (Framework)從概念上來看與微內核頗有類似之處。框架整個或部分系統的可重用設計,表現為一組抽象構件(Component)及構件實例間溝通的方法;另一種定義認為,框架是可被應用開發者定制的應用骨架。前者是從應用方面而後者是從目的方面給出的定義。 • 可以說,一個框架是一個可重複使用的設計構件,它規定了應用的系統架構,闡明整個設計、協作構件之間的依賴關係、責任分配和控制流程,表現為一組抽象類別以及其實例之間協作的方法,它為構件之重複使用提供了上下文(Context)關係。
2.2微內核與框架 (4/4) • 框架的關鍵還在於框架內構件間的溝通模式和控制流模式。框架比構件可訂做性(Customization)強。 • 框架為構件提供重用的環境,為構件處理錯誤、交換資料及啟動操作提供了標準的方法。 • 框架並不是包含構件應用程式的小片程式,而是實現了某應用領域通用完備功能(除去特殊應用的部分)的底層基礎服務,類似微內核之極小原則。
2.3資源管理 (1/3) • 對於眾核並行和分散式系統的資源管理可依據任務指定的時間而有靜態與動態資源管理之分。 • 靜態資源管理適用於系統設計階段,但因其處理時間皆過長,無法用於眾核系統運行時資源使用狀況可變之動態管理。 • 動態資源管理可分為集中式與分散式、硬體設計與軟體設計、及非適應性與適應性。
2.3資源管理 (2/3) • 集中式:資源管理一般採主從式管理器架構;一個主核心運作所有資源管理功能,其他核心執行使用者的應用程式。 • 分散式:可分為 • 對稱式架構:管理功能由所有的處理器同時執行。 • 分層架構:在眾核晶片中以樹狀結構方式呈現,而有許多局部管理單元和一些為各處理器核所組成之群集單獨所用之全域管理單元。 • 獨立管理架構:每一個處理器核執行它自己的管理功能與單元,並有其相關的執行期程式庫和資料結構支援。
2.3資源管理 (3/3) • 非適應性:非適應性資源管理器設計時,往往採用依據最壞情況的估算來進行設計的方法,因而產生成本高速度慢等之缺點。 • 適應性:動態資源管理利用執行時管理單元和應用程式運行之間緊密的關連,實施以下動作來改變管理器的行為:根據應用程式行為和眾核平臺特性與其提供之各硬體功能(服務)之變動來調校管理器。
2.4 傳統任務調度與映射 (1/3) • 傳統上一個應用任務由一或多個使用系統資源之程式(process)構成。為了在眾核系統及其共用存儲環境下有效地開發應用任務的細粒度並行度,通常會將其程式分成兩部分:分割後的各子部分稱作“執行緒(thread)”或“羽量級程式(lightweight process)”,以及資源所有權的部分仍稱作程式或任務。 • 處理器核與任務執行緒間的映射分配是眾核時代提出的新概念。單核時代,沒有核資源與執行緒映射問題,因為只有一個核的計算資源可以使用。而在眾核時代,有多個核資源與其他眾資源可以使用,這就要考慮眾核資源與並行執行緒間之映射問題。
2.4 傳統任務調度與映射 (2/3) • 任務調度演算法有動態、靜態兩大類 • 靜態調度演算法有: • 先來先服務:最簡單的策略是先來先服務(FCFS),也稱作先進先出(FIFO)或嚴格排隊方案。 • 循環:為減少FCFS策略下短作業的不利情況,一種簡單的方法是基於時段的循環。以一定的間隔週期性地產生一個時鐘中斷,當中斷發生時,當前正在運行的程式被置於就緒佇列中,然後基於FCFS選擇下一就緒任務運行。 • 最短程式:減少FCFS對長的程式的偏愛的另一種方法是最短程式(Shortest Process Next,SPN)策略。這是一個非搶佔的策略。 • 速率單調 (Rate Monotonic)演算法:每個任務分配一個與事件頻率成正比的優先級,
2.4 傳統任務調度與映射 (3/3) • 動態調度演算法有: • 最短剩餘時間(Shortest Remaining Time,SRT) :是對SPN增加了搶佔機制的版本。在這種調度機制下,調度程式總是選擇預期剩餘時間最短的程式投入運行。 • 截止期最早優先 (The earliest deadline first)演算法:截止期最早的任務優先級最高,其不足之處在於:己過或幾乎要過截止期的任務,仍然因優先級最高而得以運行。 • 可達截止期最早優先演算法:此演算法是對截止期最早優先策略的改進,在調度時超過截止期的不予調度。任務預計能在截止時刻前完成(也就是說,該任務的截止期是當前可達到的),便可進行調度,否則放棄該任務的調度與執行。 • 最小裕度 (least slack first)演算法: 根據裕度的大小進行優先級排序,裕度小的優先級高。 • 最高回應比:根據排隊模型,周轉時間(turnaround time,TAT)就是駐留時間,或這一項在系統中花費的總時間(等待時間加服務時間)。
2.5 眾核系統的動態任務調度映射 (1/3) • 眾核系統的發展,對負載均衡之動態任務調度提出了新的要求和挑戰。 • 對使用者而言,當然希望從單核到眾核能夠平滑的轉變。也就是說眾核調度與管理機制對於使用者來講是透明的,使用者不知道也不關心底層的資源如何使用與實現,這需要調度與管理機制在使用者介面和寫程介面方面都保持不變。 • 如何更好地映射、組織和調度任務以便將眾核處理器架構的性能發揮到極致是負載均衡之動態任務調度系統的核心問題,這也是人們對眾核處理器最大的期望。
2.5 眾核系統的動態任務調度映射 (2/3) • 負載平衡之動態調度的一個重要目標就是縮短任務的平均回應時間,提高系統性能。負載平衡的另一個重要目標是均勻地、充分地利用整個系統的資源。這兩個目標是一致的,任務的回應時間依賴於其所運行的系統上的負載,資源的使用越平衡,任務的回應時間就越短。 • 吞吐率是指單位元時間內能運行的任務數,縮短回應時間通常也就意味著提高吞吐率。
2.5 眾核系統的動態任務調度映射 (3/3) • 回應時間可由兩部分相加而得:任務等待資源之時間與任務佔用資源之時間。負載平衡之動態調度也要儘量縮短任務的遷移時間。 • 而任務的遷移時間是指,從來源目標之任務接收遷移請求信號開始,到遷移後目的目標上任務重新開始執行的整個時間。
2.6 任務遷移 (1/2) • 任務遷移是將運行在一個核上的任務程式轉移到另外一個新的核上繼續運行,而遷移過程是要求不中斷的、透明的。 • 任務遷移能動態的均衡系統的各種負擔,支援系統的負載、溫度、與資源使用之均衡,避免系統過熱,防止錯誤發展成故障,確保系統合理有效的利用資源,提高系統整體期限、可用性,性能與損壞恢復程度。
2.6 任務遷移 (2/2) • 動態遷移的種類主要包括以下幾種: • 同構環境下的遷移:指的是遷移的兩個處理器核具有相同的硬體環境和系統架構。在這種環境下的遷移稍微簡單,因為兩個主機核之間的環境配置大致相同,在遷移的時候,不需要做過多的修改即可。 • 異構環境下的遷移:指的是遷移的兩個處理器核具有不同的外在環境(包括系統的架構)。這種遷移比同構環境下的遷移稍微複雜,因為處於遷移環境的兩個主機核的配置架構不太相同,所以在遷移的時候需要修改部分的設定檔案,這樣才能保證遷移中的服務不太會受到影響,並且遷移後目的機能夠順利地啟動。
3. 研究方法、進行步驟及執行進度 • 本計畫將使用框架(framework)方式之概念,搭配微內核之想法,用雲端運算之虛擬化方案,配合SoC軟硬體協同設計技術,來設計開發實做一個用於眾核系統嵌入式動態資源管理器。
3.1雲端運算原理分析與研究 (1/2) • 雲端運算服務具備以下幾條特徵: • 基於虛擬化技術快速部署資源或獲得服務, • 實作動態的、可伸縮的擴充功能, • 按需求提供資源、按使用量付費, • 透過網際網路提供海量導向資訊處理, • 使用者可以方便地參與, • 形態靈活,聚散自如, • 減少使用者端的處理負擔, • 降低了使用者對於IT專業知識的依賴。
3.1雲端運算原理分析與研究 (2/2) • 雲端運算部署依賴於硬體群集,也吸收了自主運算和效用運算的特點。它從硬體結構上來看是一種多 (多樣多個資源例如處理器核) 對一 (一個雲端運算系統) 的結構,從服務的角度或從功能的角度來看它是一 (一個雲端運算系統) 對多 (多樣多個應用與使用者) 的系統。 • 除了資料與資源存取方便,運作成本大幅降低,系統軟體硬體資源都能透過雲端技術的有效利用,來降低系統有形與無形的資源成本,以提核系統競爭能力。
3.2系統虛擬化技術研究與開發 (1/4) • 虛擬化之系統能夠動態組織(即分割與組合)多種運算之抽象與具體資源,隔離系統硬體資源和諸應用之間的緊密依賴關係,實現透明化的可伸縮計算系統架構,從而靈活構建滿足多種應用需求的運算環境,提高運算資源的使用效率,發揮系統運算資源聚合或分割的效能,並為用戶提供個性化和普適化的計算資源使用環境。 • 虛擬化計算系統可以更加充分合理地利用運算資源,滿足日益增多之多樣的應用需求,使使用者能夠透明、高效、可訂製地使用各運算資源,從而真正實現靈活構建、按需運算的理想。
3.2系統虛擬化技術研究與開發 (2/4) • 我們考慮使用虛擬化技術,將嵌入式眾核系統可以劃分成:硬體資源層、中間動態資源管理服務層、應用(使用者)層。 • 硬體資源層:該層指的是眾核系統中之諸硬體資源,如高性能核心、晶片上通訊連線等。 • 中間動態資源管理服務層: 包括各個資源管理器上運行的資訊收集模組,動態快速部署模組、增量部署模組,動態構建模組... 等等模組。每個模組功能應該要相對獨立而且可以很方便的根據使用要求進行調整,以更好地滿足不同應用的需求,達到優化使用硬體資源層的目的。 • 應用(使用者)層:各式各樣不同需求的應用與使用者。
3.2系統虛擬化技術研究與開發 (3/4) • 中間動態資源管理服務層將硬體資源虛擬化的技術有: • (重)映射 ((re-)mapping) 技術:映射是最為常見的虛擬化方式,透過建立映射關係,一個物件可以用以表述屬於同一資源類型的另一個對象。 • 多工(multiplexing)技術:如果一個資源在任意時刻都可以被搶佔,則這樣的資源可以在多個虛擬機之間實現多工,好比處理器中的暫存器在不同的執行緒之間所實現的共用那樣。 • 仿真(emulating)技術:如果一個資源既不能透過映射又不能透過多工來實現虛擬化,那麼就必須使用仿真的手段來加以實現,即所有對虛擬機中該資源的存取指令都會被截獲下來,並透過虛擬機系統以模擬的手段來仿真其行為。
3.2系統虛擬化技術研究與開發 (4/4) • 仿真技術又可分為: • 本地編譯 (Native Compilation):在擁有來源代碼的情況下,直接把來源機器上的應用程式在目標機器上重新編譯,得到目標機器上的可執行代碼。 • 微指令仿真 (Microcode Emulation) :利用處理器的微指令層來模擬舊機器指令的行為,雖然其性能較高,但是需要額外的硬體支援,實現的代價很高,而且不能方便的移植到其他機器。 • 解譯 (Interpreting) :把來源機器上應用程式的二進制指令逐條解碼、分析、執行,這種方法相對前面兩種更容易實現,能忠實地維護應用程式在原平臺上的行為。 • 二進制翻譯 (Binary Translation) :先把來源機器上的指令經過一個“翻譯”過程轉換成目標機器上的指令,然後直接運行翻譯後的代碼。
3.3框架與微內核理論分析與研究 (1/3) • 第二代微內核(如L4)除了採用以上最小化的內核設計原則之外,還採用了機制與策略相分離的框架理論原則。 • L4微內核遵循極簡內核與框架理論的設計原則,它提供了兩個抽象:執行緒、以及保護執行緒之間相互隔離的地址空間。也提供了三個機制: • 執行緒間通訊機制:用於執行緒間的通訊與同步等,有send, receive, wait, call, reply-wait 五種IPC (Inter Process Communication)。這些IPC 機制使用一個統一的介面來向外提供服務。 • 記憶體管理之映射機制:用於遞迴地複製地址空間。對於內核態的位址空間使用線性偏移的方式來獲得虛擬位址到真實位址的映射;對於用戶態的位址空間採用標準的段頁式模式來映射,對於頁表的查詢也需要內核來完成。 • 執行緒管理:使用兩層調度框架,為了能夠有效操縱前述兩種抽象。
3.3框架與微內核理論分析與研究 (2/3) • 由於L4採框架式的策略與機制分離設計,再加上眾核運作,因此核間與程式間通訊(IPC)變得很重要。 • L4微內核採用單純的同步非緩衝IPC,並透過多種方法使微內核中IPC性能獲得提升。 • 方法主要有以下幾點: • 盡可能地用暫存器來進行訊息傳遞,從而減少記憶體存取帶來的成本。這一點非常適合於程式間的短訊息傳遞。對於較長的訊息,還是不可避免的要用到記憶體作為傳遞介質。 • 聚合訊息:由於叫用IPC時發生的位址空間切換會產生較大的成本,因此,透過聚合訊息的方法將多個只包含發送操作的訊息(最後一個可以包含接收操作)封裝到單獨的一條IPC,這樣只需要進行一次位址空間的切換操作,可以大幅提高IPC性能。
3.3框架與微內核理論分析與研究 (3/3) • 透過臨時位址映射進行直接訊息傳輸:即內核將IPC訊息接收者的接收視窗映射至一塊由內核管轄的位址空間區域內,並將IPC訊息發送者的訊息複製到該區域內,從而只透過一次記憶體拷貝就使接收者能夠讀取到發送者的訊息。這塊由內核管轄的位址空間對於每個執行緒都是不同的,並且只有接收者可以進行讀取。 • 直接程式切換策略:即在發生IPC操作時,內核不經過調度器而直接把運行權從IPC的發起者轉交給IPC的接收者,從而避免了不必要的調度成本。特別當有大量用戶端執行緒透過IPC的形式對服務端執行緒發起遠端程式呼叫時(Remote Procedure Call, PRC),這種策略帶來的性能提升尤為明顯。
3.4眾核嵌入式動態資源管理理論研究與分析 (1/2) • 動態資源管理即對眾核系統的資源進行不斷的組織、協調、控制、分割、映射、與改善,以使其正常運作而發揮最大效用的過程。眾核系統所擁有的資源一般可分為任務(應用程式或執行緒)、處理器核、記憶空間(體)、通訊設備等四種主要資源。 • 眾核系統的資源管理考慮以下幾點 • 考慮系統的資源對應用之諸服務(執行)效能與品質的影響 - 研發眾核資源的負載模型。 • 應用在使用資源之運行中出現問題 (如負載不平衡、某些資源故障時),一定要及時予以解決,以確保其持續有效地滿足應用之服務(執行)效能要求,要研發的主要解決方法與項目有映射、調度、與遷移。
3.4眾核嵌入式動態資源管理理論研究與分析 (2/2) • 要強化影響服務(執行)效能或過程品質的重要資源與應用的管理。對關鍵過程的關鍵設施應重點管理,經常對其性能、精度進行監控、量測、統計、與紀錄,並不斷透過維修和改進以保持和提高其性能,以滿足應用對於服務(執行)效能或過程品質的要求。 • 對眾核系統的資源,特別是使用資源的過程進行必要的監控、量測、統計、與紀錄。要使嵌入式動態資源管理器要掌握資源使用原理與使用情況(狀態),發現問題能及時正確地進行調度與遷移處理。 • 在策略與機制分開之下研發及使用良好之資源管理機制,不斷引進更新管理策略進行管理,使眾核系統始終能保持高生產力。
3.5嵌入式動態資源管理器框架模型研究與設計(1/2)3.5嵌入式動態資源管理器框架模型研究與設計(1/2) • 藉由前述雲端運算原理、系統虛擬化技術、框架與微內核理論之研究、分析與應用、負載均衡調度模型、與負載均衡之映射、調度、與遷移研究,我們將進行本嵌入式動態資源管理器框架模型的設計,試圖建立一個標準化的動態資源管理框架和支援不同資源(含電能)自動化分配、調度、使用、與管理的機制框架。 • 本嵌入式動態資源管理器是資源與應用間之仲介介面,它將眾核系統上各式實體資源,即軟硬體(以處理器核為主),與抽象資源以雲端方式虛擬化之,然後能分解與結合各式虛擬化後的資源,並進行自動化管理、映射、與調度,來使用這些資源。
3.5嵌入式動態資源管理器框架模型研究與設計(2/2)3.5嵌入式動態資源管理器框架模型研究與設計(2/2) • 這個雲端虛擬化之動態資源管理器初步規劃,要具有以下功能︰ • 在執行期動態的分配資源,動態偵測系統負載與可用資源的實體去執行某一個任務。 • 在執行期動態的資源與任務間映射(mapping),映射各虛擬化的任務給一個合適的資源實體。 • 任務控制流的動態重調度,在虛擬化階段期間或之後以適應方式處理應用任務程式的控制流,而不改變原應用程式的行為。 • 任務通訊的虛擬化:在通訊接線時使用者的通訊任務可能會移動至不同的計算核心,並提供可靠的連接。