Title: 為未來的雲端運算環境設計與製作高效能軟體與系統整合---總計畫
High Performance Software and System Integration for Future Cloud Computing
Authors: 楊武
Keywords: 雲端計算;二元碼轉譯系統;LLVM 中間碼;OpenCL;TLP-aware 暫存器管理;cloud computing;binary translation;LLVM IR;OpenCL;GPU;TLP-aware register allocation
Issue Date: 2011
Abstract: 雲端計算(cloud computing)是目前非常被看好的計算環境,它有許多項讓人看好的經濟優勢,在雲端計算環境裡,平行處理是電腦運作的常態,目前多數的電腦系統都屬於多核心(multicores)、多處理器(multiprocessors)、多電腦(multicomputing)系統,這類的電腦系統都能平行執行工作,只是他們內部的平行架構發展於不同層次。我們也需要使用不同的技術,來充分發展各自系統的特長。在子計畫一裡面,我們針對在新的指令集上缺少應用程式對於設計的問題,設計及實作了一個以LLVM為基礎的新的靜態二元碼轉譯系統。本計畫設計及實作了一個以LLVM為基礎的新的靜態二元碼轉譯系統,除了移植性高,更可以利用LLVM現有的分析以及優化技術來轉譯二元碼。實驗結果證明我們的靜態轉譯器所產生的二元碼能夠的執行速度是QEMU的動態轉譯速度的3至64倍。在子計畫二裡面,我們在高階程式語言的層次加入自發性的 actor (autonomous actors) 的模型。我們對雲端計算系統作效能的實驗依據各種物件模型(onventional object model, active object model,hybrid object model),根據這些結果提出一個新的程式語言CLAOD,也開發一個CLAOD的編譯器。在子計畫三裡面,我們將含有 annotation LLVM 中間碼 (VMIR),根據註解(annotation)轉換成OpenCL 的程式碼,並加入動態優化技術。主要議題有資料/工作平行性(data/task parallelism)專用之 annotation 的設計和支援 data/task parallelism annotation 之 OpenCL 後端(backend)之設計與實作。在子計畫四裡面,將集中研究與精進 OpenCL 系統,將 OpenCL 的程式碼編譯成適當的 GPU機器碼,並加上適當的輔助程式碼。現針對 OpenCL runtime的實作運行於系統虛擬化架構下Guestruntime library,並設計了在hypervisor中可能的GPU抽象化daemon以利 resource management並進行初步的測定與驗證,以及提出針對GPU核心的TLP-aware register allocation。
Cloud computing gradually becomes a hot topic in the research community because it reflects the capabilities of current computer and network systems and users‘ expectations of this technology. Cloud computing offers significant economic advantages compared to the traditional private computer centers and private network connections. This advantage comes mainly from the sharing of computer and network resources.One characteristic of the cloud computing is that it provides much parallelism and heterogeneity. Our integrated project focuses on the systems software that can harness this inherent parallelism. Our integrated project consists of four subprojects:1. Build a hybrid (including both dynamic and static) binary translator that translates existing binary code into LLVM IR. The code generated by our translator can run 3 to 64 times faster than the one by QEMU on the EEMBC benchmark suite.2. Design and implement an actor-based concurrent languages, called CLOAD.3. Extract loops from LLVM IR (with the help of programmer-supplied annotations) and translate them into OpenCL kernel functions so that they can execute concurrently.4. Develop scheduling and management tools for the OpenCL programming system.The four subprojects together will create a comprehensive program development environment that intends to fully utilize the heterogeneous computing and communicating resources.
Gov't Doc #: NSC100-2218-E009-009-MY3
URI: http://hdl.handle.net/11536/99304
Appears in Collections:Research Plans