中央研究院 資訊科學研究所
中央研究院資訊科學研究所
  
電腦系統實驗室
Principal Investigators:
吳真貞 Jan-Jan Wu(Chair) 王建民Chien-Min Wang 李丕榮 Pei-Zong Lee
張原豪 Yuan-Hao Chang 陳昇瑋 Sheng-Wei Chen

[研究群介紹]
電腦系統實驗室成立於2009 年。由李丕榮研究員、吳真貞研究員、陳昇瑋研究員、王建民副研究員、張原豪副研究員及其研究群共同組成,實驗室主要研究領域跨足多核心系統、虛擬化技術、雲端運算相關系統支援及其應用、嵌入式系統之儲存系統開發設計。以下為實驗室研究內容簡介:
(1) 動態二進制碼轉譯及平行度最佳化系統
平行化技術在過去幾年間有了相當大的進展。許多新的平行運算單元不斷被提出來,例如:多核心架構(multicore,many-core),圖形處理器(GPU),通用圖形處理器(GPGPU),以及單指令流多資料流(SIMD)。然而這些運算單元所使用的平行運行模型有相當大的差異,因此產生了許多問題:(1) 軟體開發者必須根據執行的處理器,使用不同的平行模型重新編寫程式,增加了軟體開發所需的時程。(2) 當執行舊有程式於新的平行運算單元時,通常無法充分利用新硬體上具備的較佳平行度,因此無法達到預期的執行效能。(3) 程式在異質環境中執行上的困難,例如:軟體同時利用多核心與圖形處理器運算。針對這些問題,我們發展了一個高效能且跨多指令集的動態二進制碼轉譯系統。此系統將執行中的程式,動態地從原本的平行模型轉譯成目標平台的平行化模型,我們將單指令流多資料流在不同長度之間轉換 (short SIMD to long SIMD),並達到顯著的效能提升。利用此系統的優點,軟體開發者無須重新改寫軟體,並能有效利用目標運算單元的最佳平行度。我們的下一個目標是支援更多不同的平行運算單元,以及利用處理器指令集的新功能,帶來更多可能的效能提升。
排版插圖
動態二進制碼轉譯及平行度最佳化系統

(2) 雲端遊戲系統設計與實作
在雲端遊戲系統中,雲端伺服器負責遊戲畫面的繪製與編碼,並透過網際網路將結果串流至客戶端。客戶端程式則負責將來自遊戲搖捍、鍵盤、滑鼠的使用者輸入傳至雲端伺服器。藉由雲端遊戲系統,使用者可以:(1) 避免為了玩最新遊戲而必須不斷更新電腦設備,(2) 可透過客戶端程式在不同平台(如 PC、筆記型電腦、平板電腦、及智慧型手機)遊玩同一款遊戲,(3) 將省下的軟硬體成本拿去玩更多的遊戲。另一方面,遊戲開發者將能夠:(1) 讓遊戲支援更多平台,(2) 避免軟硬體相容性問題,(3) 增加淨利。基於上述種種優點,雲端遊戲系統已成功吸引了許多使用者、遊戲開發者、及服務提供者的觀注。我們開發了一套開放源碼的雲端遊戲系統 - GamingAnywhere。雲端遊戲開發者、雲端服務提供者、和系統研究者可利用它建構出完整的雲端遊戲測試平台。GamingAnywhere 是第一套完全開放的雲端遊戲測試平台。此外,我們還設計了一系列實驗來測量GamingAnywhere 的效能及運行成本,也藉由實驗推導出最佳的系統設置參數,可做為使用者自行在其伺服器上安裝並運行GamingAnywhere 的依據。我們期望雲端遊戲開發者、雲端服務提供者、系統研究者、以及其他個人用戶能基於GamingAnywhere 建立符合各自不同需求和目的的雲端遊戲測試平台。我們相信 GamingAnywhere 能啟發更多關於雲端遊戲,甚至其他多媒體串流相關應用的創新研究。
(3) 具備高效能和規模擴充性之雲端計算架構
MapReduce 是目前利用雲端計算來處理巨量資料方面最常用的平行計算模型。然而我們發現有一類雲端應用,雖然非常適合MapReduce 模型,但是其執行效能卻非常低落,而且計算規模也有很大的有限制。這類應用被稱為Expansive MapReduce(EMR),其中包括用於基因定序的後綴陣列排序。我們針對EMR 應用,對於現有雲端計算平台進行擴充和改進,以達到高效能和規模擴充性這兩個目標。首先我們在雲端計算平台引入記憶體內資料儲存來儲存輸入資料,以減少部分重複儲存的資料。其次我們研究將MapReduce 中間傳送資料減量的技術,以減少雲端計算平台內部排序所占用的硬碟空間和花費的硬碟讀寫時間。這樣的架構在規模擴充性方面遠遠地勝過現有雲端計算平台的架構。至於效能方面我們可以大幅減少硬碟讀寫的時間,卻也需要多付出一些時間於記憶體內資料儲存的操作,因此要如何去提升記憶體內資料儲存系統的速度,降低對於整體效能的影響,將是我們的另一個研究重點。我們已實作後綴陣列排序,來驗證我們所提出的雲端計算架構對於EMR 應用的執行效能和應用規模的提升。未來我們將對現有的雲端計算平台進行擴充和改進,融合記憶體內資料儲存,提出一個泛用的加強型雲端計算平台,使其對於各種的EMR 應用,都能提升執行效能和規模擴充性。我們相信這樣的雲端計算平台不但對於學術研究有很大的貢獻,還能大幅拓展雲端計算平台的應用。
(4) 非揮發性記憶體為主記憶體兼儲存體之系統效能最佳化設計
當越來越多資料密集的應用程式在電腦系統上執行時,如何提升I/O 存取效能成為未來重要的議題;此外,除了現今儲存裝置的存取效能問題之外,當DRAM 的容量被擴增來支援更多資料密集應用程式時,其所帶來的能耗問題使得問題更加複雜。在此一發展趨勢下,具有可位元組存取、非揮發性、容量可擴性及快速存取特性的非發揮性記憶體提供一個新的可能解決方案。基於這樣的觀察,我們提出使用非揮發性記憶體為電腦系統的主記憶體兼儲存體,用來取代DRAM 以解決能耗問題,並取代硬碟或快閃記憶體來提升I/O 存取效能。為了達成上述目標,我們提出非揮發性記憶體位址轉換層,此一轉換層為一在非揮發性記憶體裝置內的韌體設計,除了監控作業系統如何使用主記憶體之外,同時改變主記憶體與儲存體間的資料存取行為。此一位址轉換層中藉由輪流分配所有非揮性記體的儲存單元來給主記憶體空間使用,以提升非揮發性記憶體的耐用度及壽命;同時利用記憶體空間與儲存體空間互換與位置轉換的方式,來降低真實資料搬動的頻率,以提升資料在主記憶體空間與儲存體空間之間交換的效能。未來,我們將進一步從作業系統的角度出發,重新思考主記憶體管理與檔案系統設計的方式,以最佳化非揮發性記憶體為主記憶體兼儲存體所帶來的優勢。
排版插圖
圖: 非揮發性記體轉換層