標題: 為未來的雲端運算環境設計與製作高效能軟體與系統整合-子計畫三:在雲端計算環境中根據含指導性註解之虛擬機器中間表示碼產生OpenCL程式碼之動態優化與轉換器的設計與實作
Dynamic Optimizer/Translator for Annotated Virtual-Machine Intermediate Representation to OpenCL in Cloud Computing Environment
作者: 單智君
SHANN JEAN JYH-JIUN
國立交通大學資訊工程學系(所)
關鍵字: 雲端運算;虛擬機器;編譯器;動態編譯語言;開放計算語言;程式碼至程式碼轉換/編譯器;Cloud computing;Virtual machine;Compiler;Dynamic compilation language;OpenCL;Source-to-source translator/compiler
公開日期: 2013
摘要: 因應雲端運算(cloud computing)的興起,雲端程式的開發也成為相當熱門且重要的研究議題。目前在雲端上的程式開發多半是使用 Java、Python、Ruby 等動態編譯語言。這些語言都必須透過虛擬機器(virtual machine,簡稱 VM)來執行。雖然透過 VM 執行可增加系統的安全性,卻亦導致程式在執行效率上往往較靜態編譯語言(如:C/C++)差許多。在本子計畫中,我們將藉由結合動態編譯語言與開放計算語言(Open Computing Language,簡稱 OpenCL)來試著解決動態編譯語言執行效率不佳的問題。然而,目前OpenCL 的程式多半是使用 C/C++來撰寫且不易開發。因此,本子計畫擬提出一套程式碼轉換系統,使程式開發者在無需大幅修改程式碼的前提下將所編寫之程式碼加上指導性註解(annotation)後轉成含有annotation 的虛擬機器中間碼(virtual-machine intermediate representation, VMIR),並透過 VM 在程式執行(runtime)時將含有 annotation 資訊的VMIR 自動轉換成 OpenCL 的程式碼。此外,亦將設計迴授驅動最佳化技術(feedback-driven optimization,簡稱 FDO)機制,以提高轉換出之 OpenCL 程式碼的執行效率。本子計畫在本年度主要的研究議題包含有:I. 資料/工作平行性(data/task parallelism)專用之 annotation 的設計。II. 支援 data/task parallelism annotation 之 OpenCL 後端(backend)之設計與實作。
Because of the emergence of cloud computing, how to develop an application in cloud platform becomes an interesting and hot research issue. Most of applications in cloud are developed using dynamic compilation language, such as Java, Python, and Ruby. All of these languages have to be executed on a virtual machine (VM). Compared with static compilation language (e.g., C/C++), VM has higher system security but weak in its execution performance. To overcome this problem (poor performance), our project integrates dynamic compilation language and Open Computing Language (OpenCL) together. Since the application of OpenCL is programmed in C/C++ language and very difficult to develop, our project proposes a source-to-source translator/compiler that compiles input (source) code with annotation to annotated virtual-machine intermediate representation (VMIR). During runtime, VM translates all annotated VMIRs to OpenCL code. In addition, our project also discusses and realizes several feedback-driven optimization (FDO) algorithms used to further enhance the execution of performance of translated OpenCL code. In this year, our project focuses on the following topics:I. Design of annotation for data/task parallelism.II. Design and development of OpenCL backend.
官方說明文件#: NSC100-2218-E009-012-MY3
URI: http://hdl.handle.net/11536/95845
https://www.grb.gov.tw/search/planDetail?id=2860247&docId=406291
顯示於類別:研究計畫