研究方向
以下均為與中研院資訊所的合作計畫. 目前本實驗室計有一件國科會計畫,
兩件工研院計畫, 一件聯發科計畫, 一件教育部五年五百億分項計畫正在執行.
所有的計畫均為研究導向, 成果均可發表為碩博士生畢業論文.
雲端計算 (Cloud Computing)
本實驗室在雲端計算的研究方向包括雲端作業系統, 手機與雲端計算的系統
面整合, 雲端計算與傳統資料庫整合, 虛擬計算機動態配置, 自動服務水準校調,
虛擬計算機影像檔管理, 虛擬計算機技術比較, MapReduce 優化,
及資料探勘在雲端計算的優化.
雲端作業系統
雲端作業系統包括所有支援雲端計算的系統軟體.
雲端作業系統的功能包括了處理器虛擬化與管理, 儲存虛擬化與管理,
網路虛擬化與管理等.
本實驗室發展的 Roystonea 是一個雲端作業系統雛形.
藉由實驗室發展的虛擬計算機動態配置演算法達到節能及高效能的目標.
目前 Roystonea 系統已經在本系趨勢科技所捐贈之叢集系統上運作,
並支援本校資電中心整合型計畫的雲端計算需求.
未來將繼續發展更新的計算機動態配置演算法,
對資料中心的硬體資源做更有效的利用.
虛擬計算機動態配置
在雲端計算中, 如何動態配置計算資源, 以達到高效能, 低耗能,
高彈性的資源運用目標世非常重要的課題.
雲端計算中虛擬計算機必須動態配置到實體處理器核心,
這是非常複雜的排程問題, 必須兼顧使用者服務品質, 耗電, 系統穩定度,
系統使用程度的目標.
本實驗室的雲端作業系統雛形 Roystonea
就是為了測試我們所設計的動態配置計算資源演算法所發展的.
目前測試結果證實如果使用本實驗室發展的實體處理器核心配置演算法,
相較於傳統的 round-robin 方法可以節省可觀的能源.
自動服務水準校調
雲端作業系統必須自動校調服務水準, 才能適應瞬息萬變的網路需求.
例如在大量網路需求湧入時, 雲端作業系統必須快速增加相關資源,
保持一定的服務水準, 使絕大部分的使用者能享受到服務.
而在只有少量網路需求時, 雲端作業系統必須快速減少相關資源,
降低使用者的成本.
由於本實驗室對虛擬計算機動態配置有一定掌握,
所以目前正在進行自動服務水準校調系統的建置,
完成之後將整合進 Roystonea 系統.
虛擬計算機影像檔管理
雲端作業系統必須管理眾多的虛擬計算機影像檔,
並以以適當的檔案系統技術儲存.
檔案系統技術對雲端計算的效能也會有很大的影響.
影像檔放在各種檔案系統上都有其優缺點, 必須審慎評量.
本實驗室的雲端作業系統雛形 Roystonea 具備基本的虛擬計算機影像檔管理功能,
目前支援本校資電中心整合型計畫的雲端計算需求.
手機與雲端計算的連結
這是一個與聯發科合作的研究計畫. 主要探討手機端, 瀏覽器,
與雲端計算的結合. 針對系統面的整合使 Android 手機使用者感到更便利.
雲端計算與傳統資料庫整合
傳統關聯式資料庫, 例如 MySQL, 受限於本身結構, 很難在雲端計算平台運作.
目前在雲端計算平台上多為 key-value 式的 NoSQL 資料庫.
如何將雲端計算與傳統關聯式資料庫整合就成為極重要的研究課題.
本實驗室目前進行以 MapReduce 方式實作 MySQL 的功能,
並從系統面進行大量優化, 使大型傳統關聯式資料庫也能在雲端平台運行.
對使用大型傳統關聯式資料庫的企業而言,
將能有效降低進入雲端計算的門檻,
使企業使用的資料庫相關軟體能迅速佈建到雲端計算平台.
圖資料庫與雲端的整合
圖資料庫 (Graph Database) 是處理社群網路 (Social Network)
及物連網 (Internet of Things) 的自然結構.
相較於傳統關聯式資料庫更能表示處理網路的演算法.
但是由於資料規模龐大, 需要借助雲端的計算能力才能快速處理大量資料.
這個計畫是在雲端發展圖資料庫, 及其高階運算程序,
讓使用者能在社群網路及物連網上有效發展演算法.
資料探勘在雲端計算的優化
資料探勘在雲端計算的具有極大的潛力,
但目前雲端計算可應用的計算模式並不能有效的
實做格式各樣的資料探勘演算法.
如何在雲端計算的前提下, 將現有的資料探勘技術加以實做並優化就極其重要.
另外目前在雲端計算平台上, 大量資料處理仍以 MapReduce 技術為主流.
雖然 MapReduce 觀念簡單, 效能也不錯,
但並不能有效表示所有資料探勘演算法.
本實驗室也嘗試發展新的大量資料處理模式,
期望能有效支援並表示資料探勘常用演算法, 並提供快速的執行環境.
MapReduce 優化
MapReduce 是 Google 所提出在雲端計算中的重要程式環境.
但在許多非 Google 系統中存在許多效能優化的問題.
這個題目主要在探討如何在 MapReduce 的框架下, 優化應用程式的執行效率.
採用 open source Hadoop MapReduce 核心為實驗的平台.
本實驗室對 Hadoop 系統, HDFS 檔案系統,
以及 Hadoop, MapReduce 核心排程均有研究, 所以能從系統面進行優化,
進而提升 MapReduce 應用程式的效能.
多核心環境下動態執行檔之整備 (Dynamic Binary Translation for Multicore Architecture
現今電腦環境皆為多核心設計,
所以如何充分應用多核心環境發揮效能是非常重要的研究課題.
一般應用程式在編譯成執行檔後就直接在硬體上執行, 並無做更進一步的最佳化.
在只給定執行檔而無程式原始碼的狀況下,
在執行時透過分析執行狀況, 做進一步 之執行最佳化, 例如常用指令區塊的合併,
減少跳耀指令數目等. 這些最佳化目前均侷限在單 核心.
本研究課題之目的在於擴展動態執行檔之最佳化到多核心環境,
期能充分發揮多核心環境之效能.
另一動態執行檔之整備應用為虛擬平台. 現今處理器種類繁多, 往往須在一ISA
(instruction-set architecture) 的環境中執行另一ISA的執行檔.
這時即需執行檔轉化(binary translation)的技術, 將一
ISA的執行檔轉化為另一ISA的執行檔. 執行檔轉化即屬於一種動態執行檔之整備.
現今電腦環境皆為多核心設計, 所以在多核心環境下的執行檔轉化更形重要.
演算法 (Computer Algorithms)
演算法設計與分析 (Design and analysis of computer algorithms)
傳統循序演算法的設計與分析. 隨著應用領域的不同,
設計有效且可由數學驗證的算法.
本實驗的演算法研究強調實際問題應用.
在實際系統中遇到困難, 我們就設計可用數學驗證的演算法,
再經模擬驗證後, 整合進實際系統.