台灣雲端運算應用實驗中心研發計畫 計 畫 期 間:自98年7月1日至99年6月30日止 執行單位名稱 :財團法人資訊工業策進會 國立中山大學
執行單位簡報大綱 一、計畫摘要概述 二、計畫執行進度與成果(含查核點) 三、各執行單位間(含共同執行、分包與國際合作)之互動情形 四、經費動支狀況 五、人力聘用進度 六、人力培訓狀況 七、重大待協調解決問題 八、檢討與建議
一、計畫摘要概述 1. 計畫架構 2. 實施方法 3. 發展方向 4. 整體產業技術未來發展之關連性
1. 計畫架構
2. 實施方法-實施策略
2. 實施方法-產學研分工 資策會: 實驗中心建置:以X86平台之pc/伺服器架構成-叢集系統(Cluster) ,上建Multiple Virtual Machine之虛擬主機。 示範應用之導入:與廠商選定導入服務應用程式, (如:軟體工具業者、應用服務業者、資服業者、Web2.0公司、跨國企業內部網站、綠能資料中心),並提供38員額之就業機會給通過中山大學所辦之教育訓練之技術專業人員,由所參與廠商聘用。 中山大學: 關鍵研發:聯合高雄大學、義守大學,及樹德科技大學共同研發主機虛擬化以及中介軟體的開發。 教育訓練:提供3班共100~150人次的雲端技術之教育訓練及考核,以培育38位專業技術人員,供參與之廠商導入其應用程式於實驗中心。 成果目標:新聘至少38員、7項應用服務的導入,5~10家廠商的參與。
3. 發展方向 本計畫將以學研聯合研究計畫結合政府發展雲端運算策略方針,在高軟園區建立台灣雲端運算應用實驗中心,預期將產生以下主要具體效益: 在計畫執行期間聘用高級資訊人才 建立7項雲端運算應用服務展示及蒐集運轉的經驗 雲端運算實驗平台做為將來商業營運之先導雛形 未來發展方向: 做為中小企業雲端服務及支援i236創新服務之IaaS驗證與育成平台 提供共通之API及AAA(認證、授權及計量計價)之機制,以扶植中小企業之PaaS與SaaS之服務模式
4. 整體產業技術未來發展之關連性 推動產業聚落形成,及服務委外應用 以虛擬資料中心發展綠色IT,帶動國內PC產業升級 建置雲端運算實驗中心與業界進行先導性應用服務,以降低中小企業提供服務所需資訊建置之門檻,有效打造應用服務軟體產業聚落,推動軟體服務委外的應用風潮。 以虛擬資料中心發展綠色IT,帶動國內PC產業升級 利用虛擬化技術建立虛擬資料中心,提供專業化虛擬資料中心服務,提升實體運算儲存資源使用效率,並帶動國內PC產業發展雲端伺服器架構並發展台灣綠色IT。 雲端運算實驗平台做為將來建立一個商業營運之先導雛形 開發雲端運算服務的軟體開發工具與common API,本研究計畫執行結束後,此項研發成果將可幫助軟體服務業者發展符合雲端運算之應用服務;於後續推廣階段也可技轉相關之SOP給未來商業營運業者。
二、計畫執行進度與成果(第一分項) 在高雄軟體園區建構雲端運算實驗中心,進行產業群聚應用示範: Infrastructure Service (IaaS): 以x86 PC伺服器架構叢集系統,建立虛擬機器平台,協助資服業者提供SaaS 服務,並促成輔導中小型企業使用SaaS。 運用開放原始碼軟體,建置如Amazon-like雲端服務,實作IaaS試營運。 示範應用導入: 協助中小企業將現有應用程式導入雲端平台,實作SaaS服務驗證。
二、計畫執行進度與成果(第一分項-雲端計畫架構) HTTP HTTPS SSH SFTP VNC GUI Portal App (VM) MapReduce (Hadoop) AAA HBase (Hadoop) Infrastructure Management (Eucalyptus) Monitoring (Ganglia+Nagios) HDFS (Hadoop) Cluster Management(Tashi,Eucalypts) Virtualization (Centos,Xen) TRCK has 84 cores (11 nodes) TRCK Server Farm
Eucalyptus Web Service API 重要研發- 觔斗雲系統整合架構圖 Users Features to be developed Integration Unit Testing System Testing Browser Development Security mgt. Elastic IP mgt Volume mgt. Availability mgt. Key Pair mgt. AAA/Billing interface Connection mgt. Certification mgt. VM mgt. Image mgt. Protocol: SOAP, REST Cloud42 Web Portal Eucalyptus Web Service API VM Image Volume Elastic IP More… Alerting Monitoring Sys. Eucalyptus Walrus (S3 Service) Cloud Controller Scalibility Nagios Failover Ganglia Load Balance Real-time data Historical data ClusterA Controller Storage Controller ClusterB Controller Storage Controller Protocol: SOAP Protocol: SOAP Node Controller Node Controller Node Controller Node Controller Data of hosts, users… Interface: Hibernate Node Controller Node Controller Hypervisor XEN/KVM DB HSql OS CentOS/Ubuntu HW 高軟研發 與系統整合
二、計畫執行進度與成果 (第一分項-計畫進度) 雲端機房建置 GUI portal建置(http://trck.iii.org.tw) 硬體建置:X86 PC/伺服器為基礎之叢集系統,採Sun-Micro的機房建置方案,採購程序已完成。機房施工、on-site training已完成。 軟體建置:以Open Source為主進行研發,掌握Total solution。已完成評估Centos, Xen,Hadoop,Tashi, Eucalyptus, Ganglia, Nagios等開源軟體集,目前進行各項運轉測試。 整合雲端測試套件(Test Suites)。 確認示範應用導入需求及測試規格 Project portal: http://trck.iii.org.tw/info/project1 Monitoring web: http://trck.iii.org.tw/ganglia GUI portal建置(http://trck.iii.org.tw) 帳號與授權認證服 虛擬元件管理服務 監控與警示服務 示範應用服務的開發與導入 已選定七家廠商,合作發展雲端運算先導應用、並協助廠商導入現有應用程式。目前已導入完成(跨越科技) 專案管理平台、(鴻越資訊) 財會/ERP管理平台,並開始試行運轉。
建置雲端平台 機房建置 Software Hardware 軟體平台建置 採用SUN-Micro X86 PC/伺服器叢集系統的解決方案 SUN-Micro、Trend-Micro技術支援 預計2009 完成硬體虛擬化基本架構 平台測試 (Functional,Performance) 開始導入廠商應用計畫 機房建置 採用SUN-Micro X86 PC/伺服器叢集系統的解決方案 預計2009’9月底建置完成
二、計畫執行進度與成果 (第一分項-機房建置)
二、計畫執行進度與成果 (第一分項-GUI portal建置)
二、計畫執行進度與成果 (第一分項-跨越科技專案管理雲端服務)
二、計畫執行進度與成果 (第一分項-鴻越資訊財會雲端服務)
第二分項子計畫成果 - 虛擬化技術開發 自動化負載平衡: 自動化大量資料切割與整合: 技術說明 在多核系統上使用Xen控制多台虛擬機器並執行不同功能的伺服主機 變動Xen的Credit CPU排程器之weight及cap參數設定, 以觀察虛擬伺服主機之效能 利用觀察之經驗資料及機器學習演算法建立效能函數模型 利用多目標決策規劃尋找最佳之weight及cap參數設定 成果 本子計畫提供的架構可協助達成虛擬機器效能最佳化之目標, 為自動化負載平衡建立可依循之步驟 本計畫的成果獲得國際會議International Conference on Cloud Computing and Virtualization(CCV2010)最佳論文獎 自動化大量資料切割與整合: 以Java語言進行單機系統模擬大量資料切割與重組。 單機系統模擬大量資料切割與重組之多引線演算法設計。 開發修正邊緣計算效應之演算法。 分散式大量資料,若經合適的切割與重組,輔以多引線機制,可加速其運算效能。若資料有其相依特性,平行化計算需特別處理以獲取正確結果。
第二分項子計畫成果 - 虛擬化技術開發 服務品質衡量: 技術說明 透過客戶端程式(例如FTP daemon或Hadoop shell command等)與Hadoop Distributed File System(HDFS)上的NameNode daemon溝通,以得到對客戶端程式存取最有利的DataNode daemon所在的主機位置及檔案目錄。接著,客戶端程式再直接向DataNode daemon要資料或上傳資料至該主機上。 成果 在運行NameNode daemon的主機上直接上下載檔案,原則上資料區塊大小以64MB或128MB效能較佳。 資料區塊複製數越多,雖在檔案寫入時花較久的時間,在檔案讀取時速度會些許提升。 CloudShell: Target is to miniminmize bandwidth in UNIX pipes on a cloud. For example: grep –wi desk *.txt | grep –v chair | tr –dc “,” | sed ‘s/./\n/g’ | wc –l Tasks: writing the cloudshell program to convert Unix commands into scripts and HDFS commands loading the scripts onto the cloud downloading the scripts to the local nodes achieving script execution on each task allowing the script to process only the cloud file associated with the current task modify the reducer to properly handle the input, depending on the executing situation developing a means of measuring the bandwidth savings of our approach performing our extensions to Hadoop through a new flag to hdfs. When finished, our approach gives Hadoop new function at reduced communication.
第二分項子計畫成果 - 虛擬化技術開發 技術說明 GPU協同平行化程式分析與部屬: 本研究以OpenMP、 Windows API Threads進行多核心CPU分散式演算法設計,並使用NVIDIA GUDA GPU進行分散式演算法設計,使兩種不同架構下的計算進行比較與測試,也設計CPU與GPU協同運算演算法。 成果 儘管使用多核心CPU可以增加資料處理的速度,但使用大量核心的GPU加速效果更為明顯,可能為多核心CPU的數十甚至上百倍。 使用GPU及多核心CPU可降低雲端運算主機在大量資料處理上的負擔,擴充多核心CPU 及GPU 單價較新購主機低廉許多,可有效降低成本。 大量核心的GPU運算適合大量但簡單的資料運算,當資料不夠多或處理過程複雜時,就不適合使用GPU做運算加速。 OpenMP程式開發簡單快速,但無法控制細節, Threads API程式開發較困難耗時,但自行決行threads運作細節。 同一種演算法使用OpenMP或Threads API效能相近,但Threads API可進一步對硬體進行效能優化。 雲端運算主機使用CPU與NVIDIA CUDA GPU協同運算,在時間、人力充足的情況下,可以考慮使用Threads API對硬體做進一步效能優化。
第二分項子計畫成果 - Common API 技術開發 技術說明 對現有雲端服務API進行研究 (Google APIs、Microsoft Azure APIs、salesforce.com web service APIs) JAVA/JAVA Script/DWR(Direct Web Remoting)/AJAX(Asynchronous JavaScript and XML) 使用規範將定義成說明檔,以利使用者查詢。 在使用者自製雲端服務的上傳機制,也將撰寫一個網頁,以方便使用者上傳至雲端,供其他使用者使用。而在檢查機制上,也會有所限定。 成果 本子計劃利用DWR,讓javascript去呼叫在雲端的meta-api即雲端服務,以達到雲端服務的提供與實現。 預計提供的雲端服務,主要分為三類:一、資料庫:新增、查詢、刪除、匯入、匯出,二、影像處理:影像載入、灰階、二值化、直方圖等化、去雜訊,三、人工智慧:類神經網路、基因演算法、模擬退火法、蟻行演算法、粒子群體最佳化、 k-means分群法。
第二分項子計畫成果 - 示範應用 Map-Reduce 在Multi-label web mining之應用: 技術說明 進行網頁文件捉取:利用hadoop開源軟體進行雲端運算環境運行之理論研究並實際架設多機運算平台。開發網頁文件抓取程式利用種子網頁進行單層或多層結構之文件抓取。 網頁文件索引建立:開發分析與索引建立程式進行文字處理、連結提取、更新連結資料庫與建立文字索引檔。 網頁文件評價模組建立:開發MapReduce分散式運算之查詢相關評價模組訓練程式 網頁文件查詢介面提供:建立網頁文件查詢介面,將已經訓練完成之網頁文件評價模組套用在網頁文件搜尋與擷取上。 成果 利用MapReduce分散式計算可以有效加速網頁文件評價模組建立之速度。 發表多篇國際會議論文。
第二分項子計畫成果 –示範應用 P2P Video Streaming: 技術說明 成果 利用Hadoop建立的雲端運算平台上,建構有效率互動式的多媒體系統,包括伺服器建立,節目播放,使用者介面設計等等。 利用平台的Map-Reduce,對使用者所要求的影片即時作編碼轉換(Transcoding)的工作,來產生符合使用者網路環境的影片內容。 成果 即時內容格式轉換的多媒體系統,可以比傳統的單一伺服器架構提昇到數倍的效能,提供比以往傳統架構更好的服務品質。
二、計畫執行進度與成果(第二分項- 教育訓練課程表,三梯次共160名) 編號 課程名稱 上課時數 課程大綱 授課教師 1. 雲端運算系統介紹 -物件導向程式設計淺介 -作業系統淺介 -雲端運算類型及架構 -雲端運算應用 李錫智教授 2. 雲端運算系統建置 -雲端運算硬體架構 -虛擬機器監控 -雲端運算平台管理技術 -虛擬作業系統與虛擬機器 -Xen 吳志宏教授 3. 雲端運算虛擬技術 -雲端計算資料處理技術 -MapReduce -Hadoop 賴智錦教授 4. 雲端運算程式設計 12 -資料交換的平行程式 -資料切割的平行程式 -平行程式效能提升 5. 雲端運算示範應用 - API技術 -雲端運算應用服務 歐陽振森教授 6. 市場分析暨職場倫理 3 -資訊職場介紹與分析 -企業公司的要求 -正確作態度 -工作績效的提升 張振亞副主任 7. 結訓測驗 1 合計 40
三、各執行單位間(含共同執行、分包與國際 合作)之互動情形 學研互動(資策會與中山大學) 由資策會引入有實務經驗之講師授課,訓練學研RD開發人員進行雲端基礎架構之建立與整合。 資策會建置分散式運算試驗環境平台(Xen+Hadoop),提供中山大學基礎技術與示範應用開發測試 由中山大學進行QoS、平行/GPU平行運算之基礎技術研發,並將此技術引入雲端運算IaaS中之分散式運算環境中。 由中山大學開發分散式運算環境下之資料探勘(Web Mining)與高速編解碼之IPTV示範應用並佈署於分散式運算試驗環境測試。
三、各執行單位間(含共同執行、分包與國際 合作)之互動情形 產學研互動(資策會、中山大學與分包廠商) 中山大學開設雲端運算基礎課程,培訓種子研發人員,並篩選合適人選予分包廠商面試聘用,以協助開發SaaS示範應用 資策會建置雲端運算機房與基礎平台,搭配研發人員提供分包廠商初期之SaaS示範應用佈署與測試。 分包廠商提供SaaS示範應用部署於雲端運算平台,以利雲端運算平台收集軟硬體實測資料與改善。
六、人力培訓狀況 國立中山大學於98年舉辦「雲端運算培訓班」,培育160位學員,並引介至合作研究之廠商進行新聘人員面試聘用。 各單位讓新聘人力參加計畫相關內部教育訓練及課程。