Responsive image
博碩士論文 etd-0713115-112214 詳細資訊
Title page for etd-0713115-112214
論文名稱
Title
以核心程式設計方式實現分散式運算管理架構
Implementation of Distributed Computing Management by Kernel Programming
系所名稱
Department
畢業學年期
Year, semester
語文別
Language
學位類別
Degree
頁數
Number of pages
76
研究生
Author
指導教授
Advisor
召集委員
Convenor
口試委員
Advisory Committee
口試日期
Date of Exam
2015-07-22
繳交日期
Date of Submission
2015-08-13
關鍵字
Keywords
CUDA、網路傳輸協定、核心模式驅動程式、分散式架構、雲端運算
Distributed Computing, Network Protocol, Kernel, CUDA, Cloud
統計
Statistics
本論文已被瀏覽 5659 次,被下載 192
The thesis/dissertation has been browsed 5659 times, has been downloaded 192 times.
中文摘要
雲端服務主要分成兩大類型:資料伺服和分散式運算架構,本論文主要在建構一個分散式運算管理平台,以較低成本實現快速且可靠的大量資料處理需求。我們提出以核心程式設計方式實現分散式運算管理架構,由管理伺服器與運算節點端、客戶端的三端交握,能夠管理眾多運算節點且有效率地分配節點運算資源的使用,達到提供給使用者更靈活的分散式運算環境之目的。
為了實現將運算節點統一管理、運算資料分散處理的目標,我們將整體架構針對其特性分為三個部分設計:管理伺服器端(Management Server)、運算節點端(Computing Node)以及客戶端(Client)。管理伺服器負責接受和管理各運算節點的資料,若客戶端發出運算請求,即分配運算資源並協助客戶端和運算節點建立資料連線,完成統一管理的動作;運算節點端則是在不同作業系統(Windows和Linux)之核心層植入我們所設計的驅動程式,此做法使一般電腦能夠透過載入核心模式驅動程式的方式加入我們的平台當作運算節點,在不影響一般化操作的狀況下,將空閒的計算資源作為分散平台之運算節點所使用。這種改善了傳統建構分散式平台運算節點端的作法,有利於節省建設大量運算設備成本;而客戶端的部份我們參考MapReduce的觀念,建立了Map Agent將資料以分散程度與運算節點數量為考量進行分配;Reduce Agent負責接收運算節點端回傳資料並進行統整。
最後透過實作驗證了我們分散式運算架構的管理模式,在Windows 7/8與Linux Ubuntu 13.10作業系統之核心層分別載入符合架構行為之驅動程式進行驗證,以核心程式設計方式實現分散式運算管理架構可以整合不同作業系統之運算節點,並解決資料統一交給伺服器進行分配所導致之資料壅塞或資源耗損(Hot-spot Problem)等問題。
Abstract
The cloud services primary divided into two types:data server and distributed computing architecture. The distributed computing can achieve rapid and reliable requirements of data processing at a lower cost. In this paper, we propose a new distributed computing management which used the kernel programming. The communication is composed of management server, computing node and client. It can manage many computing nodes effectively, to offer users a more flexible distributed computing environment.
In order to realize the target of managing computing node uniformly and processing data discretely, our architecture divided into three parts: Management server, computing node and client. The management server is responsible for accepting and managing computing node information. It should distribute computing resources and help client wired to computing node, if client send an operational request. Computing node is based on the kernel of different operation system (Windows and Linux). Let idle resources used as a platform by the computing nodes. This method can reduce the equipment cost. And we used the concept of MapReduce on client. Set the Map agent and Reduce agent to help disperse and collect data.
Finally, we prove our implementation of distributed computing management through practical verification on operation system kernel of Windows 7/8 and Linux Ubuntu 13.10. It can integrate computing nodes of different operation system, and solve the Hot-spot problem.
目次 Table of Contents
論文審定書 i
論文公開授權書 ii
誌 謝 iii
摘 要 iv
Abstract v
目 錄 vi
圖 次 ix
表 次 xii
第一章 簡介 1
1.1 研究動機 1
1.2 研究目的 2
1.3 論文架構 2
第二章 背景知識與相關研究 3
2.1 現今雲端運算平台介紹 3
2.1.1 Microsoft Azure 3
2.1.2 Google Cloud Platform 4
2.1.3 Amazon Elastic Compute Cloud 5
2.1.4 分析 5
2.2 MapReduce 5
2.3 CUDA 6
2.4 WDF概述 8
2.4.1 WDF核心框架 8
2.4.2 WDF特點 10
2.4.3 KMDF 11
2.5 Linux kernel module概述 12
2.5.1 模組化的驅動程式 13
2.6 Socket programming 15
2.6.1 WSK架構 16
2.6.2 WSK中使用IRP 17
2.6.3 Linux kernel socket programming 18
2.7 多執行緒設計 19
2.7.1 以Windows核心為基礎之多執行緒設計 20
2.7.2 以Linux核心為基礎之多執行緒設計 20
第三章 分散式運算管理架構 23
3.1 系統架構 23
3.1.1 改善Hot-spot Problem 24
3.1.2 分散式運算管理架構交握流程 25
3.1.3 運算資料的形式 27
3.2 裝置系統架構 28
3.3 軟體架構 32
3.3.1 管理伺服器端 32
3.3.2 運算節點端 40
3.3.3 客戶端 49
3.4 運算節點評估 51
3.4.1 Performance Metric 51
3.4.2 運算節點的選擇 52
第四章 實現成果與分析 53
4.1 連續的矩陣乘加 54
4.2 CUDA程式運算 57
4.3 實作分析 59
第五章 結論 60
5.1 論文總結 60
5.1.1 主要作法 60
5.1.2 實驗結果 60
5.2 未來研究方向 61
參考文獻 62
參考文獻 References
[1] Microsoft, Azure:Microsoft 雲端平台 | 雲端代管 | 雲端服務Available: http://azure.microsoft.com/zh-tw/
[2] Google, Google Cloud Platform Available: https://cloud.google.com/
[3] Amazon, Amazon Web Services (AWS) 雲端計算服務Available: http://aws.amazon.com/cn/
[4] Kernel Space - User Space Interfaces Available: http://people.ee.ethz.ch/~arkeller/linux/multi/kernel_user_space_howto-3.html
[5] 林姿華, 全世界漫步在雲端-淺談科技新知識『雲端運算』Available: http://www.nhu.edu.tw/~society/e-j/86/13.htm
[6] 財團法人資訊工業策進會 創研所, 雲端開發測試平台 Available: http://www.cloudopenlab.org.tw/ccipo_industryDefinition.do
[7] 邱日清, 蔡嘉平, 楊承澔, “Design and Implementation of Cloud Data Backup System with Load Balance Strategy” in Porc. TANET 2012台灣網際網路研討會.F-61-1, Oct. 2012, pp. 1-6.
[8] 邱日清, 王聖豪, 高志宏, “An Integrated Development Platform for Heterogeneous Multicore Constructed on Windows CE Operating System” in Porc. 2013全國計算機會議(NCS 2013) Dec.2013, pp.1-6.
[9] 邱日清, 高志宏, 黃晟育, “Mobile Computing Architecture Based on Linux Kernel” in Porc. TANET 2014台灣網際網路研討會. Oct. 2014, pp. 1-5.
[10] Ronald D. Reeves, 2011, “Windows 7 Device Driver”, 初版, p.129, 碁峯出版社
[11] 張珮, 馬勇, 董鑒源, 2011, “深入淺出Windows驅動程式開發”, 初版, p3-1, 松崗出版社
[12] MapReduce,Hadoop Available: http://sls.weco.net/CollectiveNote20/MR
[13] 深入分析Linux内核源码 Available: http://treelib.com/book-detail-id-33-aid-2311.html
[14] Linux中Workqueue机制分析 Alan's Blog for technology - EDN China电子设计技术 Available: http://bbs.ednchina.com/BLOG_ARTICLE_133253.HTM
[15] Wikipedia, Windows Driver Foundation, Available: http://zh.wikipedia.org/wiki/Windows_Driver_Foundation
[16] Visual C# 2008, Socket, Available: http://epaper.gotop.com.tw/pdf/AEL006131.pdf
[17] Nvidia, 2013, NVIDIA CUDA C Programming Guide (Version6.5)[Online] ,
Available: http://docs.nvidia.com/cuda/cuda-c-programming-guide/
[18] Microsoft, 2013, Windows API List, Available: http://msdn.microsoft.com/en-us/library/windows/desktop/ff818516(v=vs.85).aspx
[19] Jonathan Corbet, Alessandro Rubini and Greg Kroah-Hartman, (February 2005) Linux Device Drivers. O'Reilly Media.
[20] Weiwei Lin, Changgeng Guo, Deyu Qi, Yuehong Chen and Zhang Zhili1, “Implementations of Grid-Based Distributed Parallel Computing”, IEEE Computer and Computational Sciences IMSCCS '06 ,Vol.1, Hanzhou, Zhejiang, June 2006, pp.312-317.
[21] Kwang Mong Sim, ”Agent-Based Cloud Computing” IEEE Trans. Services Computing, Vol.5, No.4, pp.564-577, Fourth Quarter 2012.
[22] Yuichi Itami, Tasuku Ishigooka and Takanori Yokoyama, “A Distributed Computing Envi-ronment for Embedded Control Systems with Time-Triggered and Event-Triggered Pro-cessing”, IEEE International Conf. RTCSA '08, Kaohsiung, Aug. 2008, pp. 45–54.
[23] Pelle Jakovits, Satish Narayana Srirama, Ilja Kromonov, “Stratus: A distributed computing framework for scientific simulations on the cloud”, IEEE International Conf. HPCC-ICESS , Liverpool, June 2012, pp. 1053-1059.
電子全文 Fulltext
本電子全文僅授權使用者為學術研究之目的,進行個人非營利性質之檢索、閱讀、列印。請遵守中華民國著作權法之相關規定,切勿任意重製、散佈、改作、轉貼、播送,以免觸法。
論文使用權限 Thesis access permission:自定論文開放時間 user define
開放時間 Available:
校內 Campus: 已公開 available
校外 Off-campus: 已公開 available


紙本論文 Printed copies
紙本論文的公開資訊在102學年度以後相對較為完整。如果需要查詢101學年度以前的紙本論文公開資訊,請聯繫圖資處紙本論文服務櫃台。如有不便之處敬請見諒。
開放時間 available 已公開 available

QR Code