| 研究生: |
吳宜穎 Wu, Yi-Ying |
|---|---|
| 論文名稱: |
支援工作遷移之同質性分散式嵌入式作業系統與中介軟體實作 The Implementation of Homogeneous Distributed Embedded Operating System and Middleware Supporting Task Migration |
| 指導教授: |
楊中平
Young, Chung-Ping |
| 學位類別: |
碩士 Master |
| 系所名稱: |
電機資訊學院 - 資訊工程學系 Department of Computer Science and Information Engineering |
| 論文出版年: | 2008 |
| 畢業學年度: | 96 |
| 語文別: | 英文 |
| 論文頁數: | 113 |
| 中文關鍵詞: | 分散式架構 、嵌入式作業系統 、MicroC/OS-II 、中介軟體 、負載平衡 、工作遷移 |
| 外文關鍵詞: | Middleware, Load Balancing, Task Migration, MicroC/OS-II, Embedded Operation System, Distributed Architecture |
| 相關次數: | 點閱:123 下載:2 |
| 分享至: |
| 查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
由於對系統功能性(functionality)、複雜度(complexity)以及擴充性(scalability)要求的提升,即時性嵌入式系統的發展趨勢從較早期小規模的獨立式架構逐漸發展成大規模的分散式(DRE)架構。在這分散式的架構之下,系統和系統之間除了透過網路交換訊息之外,彼此之間也會建立起一層分工與合作的機制,因此,再這逐漸複雜的環境下,如何建立起一套系統資源管理、監控與溝通的機制並且讓系統的效能達到最大的發揮將會是我們主要探討的問題。在這篇論文中,我們建立了一個分散式即時性的嵌入式系統平台,使用的作業系統是MicroC/OS-II,一種高效能的即時作業系統,並且在這作業系統上架構一層中介軟體(middleware)來幫助我們達到系統資源管理、監控與溝通的目的。中介軟體在一般的分散式環境中被廣泛的使用,主要的目的是用於系統和系統之間功能性的整合。換句話說,中介軟體包含了一層系統之間溝通的介面並且提供特定的功能性服務,讓系統之間可以透過固定的訊息交換機制來完成某些特定的功能。因此在我們的系統中為了達到 high throughput 的目的,我們在中介軟體中實作了核心的使用率監控以及工作遷移(task migration)的機制。透過中介軟體提供的監控機制判斷是否有系統的負載過重,並且利用工作遷移的方式達到核心之間的負載平衡(load balancing),讓我們可以得到最佳的系統效能。
Because the requirements in system functionality, complexity and scalability are getting higher and higher, the real-time embedded systems which are relatively small-scale and standalone in historically have become large-scale and distributed architecture now. In this distributed environment, different systems can communicate between each other through network and construct a cooperative environment. Therefore, how to establish efficient resource management, control and communication mechanisms and achieve high throughput are the objectives in our system. In this thesis we propose and implement a distributed real-time embedded platform and we use the MicroC/OS-II as our real-time operating system. We also implement a middleware based on the operation system to help us to manage and control the system resources. On the other hands, middleware has been used generally in distributed environment in order to integrate the system functionality. In other words, middleware will provide fixed interfaces for specific mechanisms so that systems could perform these mechanisms between each other. In our design in order to improve the system performance and throughput, we implement the CPU usage monitor and task migration mechanism in our middleware. The middleware will monitor the CPU usage and determine weather need to perform task migration or not. Finally, by performing this task migration mechanism, we could achieve the objective of load balancing between each core.
[1] Real-time operating system
http://en.wikipedia.org/wiki/Real-time_operating_system
[2] Andrew S. Tanenbaum, Prentice-Hall Inc, “Distributed Operating Systems”, ISBN: 0-13-219908-4, 1995.
[3] Arno Puder, Kay Romer, and Frank Pilhofer, “Distributed Systems Architecture: A Middleware Approach”, ISBN: 1-55-860648-3, 2005.
[4] Douglas C. Schmidt, Aniruddha Gokhale, Richard E. Schantz, and Joseph P. Loyall, “Middleware R&D Challenges for Distributed Real-time and Embedded System” Processing in ACM 2004, volume 1, issue 1, pp. 6-12.
[5] U. Brinkschulte, A. Bechina, and F. Picioroaga, and E. Schneider, “A Microkernel Middleware Architecture for Distributed Embedded Real-Time Systems”, In Proceedings of the 20th International Symposium on Reliable Distributed Systems, page(s): 218-226, IEEE Computer Society, 2001.
[6] E. Schneider, F. Picioroaga, and A. Bechina, “Distributed Real-Time Computing for Microcontrollers - The OSA+ Approach”, In Proceedings of the Fifth IEEE International Symposium on Object-Oriented Real-Time Distributed Computing, page 169, IEEE Computer Society, 2002.
[7] J. Hugues, L. Pautet, and F. Kordon, “Revisiting COTS middleware for DRE systems”, in Proceedings of the Eighth IEEE International Symposium on Object-Oriented Real-Time Distributed Computing, pp.72-79, 2005.
[8] B. Dobbing and A. Burns, “The Ravenscar tasking profile for high integrity real-time programs”, in Proceedings of SigAda’98, Washington, DC, USA, Nov. 1998.
[9] Weisong Shi, Weiwu Hu, Zhimin Tang, Eskicioglu, M.R. “Dynamic Task Migration in Home-based Software DSM Systems”, in Proceedings of the High Performance Distributed Computing, pp.339-340, AUG.1999.
[10] R. D. Nelson, M. S. Squillante, “Modeling and Analysis of Task Migration in Shared-Memory Computer Systems”, in Proceedings of MASCOTS, pp. 261–266, 1996.
[11] S. Subramaniam, D. L. Eager, “Affinity scheduling of unbalanced workloads”, In Proceedings of Siipercompuring '94, pages 214-226, Nov. 1994.
[12] Frechette, S. Avresky, D.R. “Method for Task Migration in Grid Environments”, in Proceedings of Fourth IEEE International Symposium on Network Computing and Applications, pp. 49-58, JULY 2005.
[13] Denial of Service Attack.
http://en.wikipedia.org/wiki/Denial-of-service_attack
[14] B. T. Akgun, E. Peksen, A. E. Harmanci, N. Erdogan, and G. Menderes, “BAG Distributed Real-Time Operating System and Task Migration” in Proceedings of the Third International Conference on High-Performance Computing, pp.120, 1996.
[15] B.T. Akg¨un, et al., “An Implementation of a Load Balancing Algorithm for the BAG System”, in Proceedings of 14th IASTED Int. on Applied Informatics, Austria, pp. 43-45, 1996.
[16] M. Stumm, “The Design and Implementation of a Decentralized Scheduling Facility for aWorkstation Cluster”, in Proceedings of Second Conf. Computer Workstations, IEEE CS Press, pp. 12-22, 1988.
[17] Liang Chen Qian Zhu and Gagan Agrawal, “Supporting Dynamic Migration in Tightly Coupled Grid Applications” in Proceedings of the 2006 ACM/IEEE conference on Supercomputing, 2006.
[18] Bertozzi. S. , Acquaviva.A. , Bertozzi. D. , and Poggiali, A. , “Supporting Task Migration in Multi-Processor System-on-Chip: A Feasibility Study”, in Proceedings of the Design, Automation and Test in Europe, pp.1-6, March 2006.
[19] V. Nollet, P. Avasare, J-Y. Mignolet, D. Verkest, “Low Cost Task Migration Initiation in a Heterogeneous MP-SoC”, in Proceedings of the Design, Automation and Test in Europe, pp. 252-253, 2005.
[20] Peng Li, B. Ravindran, Jinggang Wang, and G. Konowicz, “Choir: a real-time middleware architecture supporting benefit-based proactive resource allocation”, in Proceedings of the IEEE International Symposium on Object-Oriented Real-Time Distributed Computing, page(s): 292- 299, May 2003.
[21] Distributed System
http://code.google.com/edu/parallel/dsd-tutorial.html
[22] Client-Server Model for Distributed System
http://en.wikipedia.org/wiki/Client-server#Advantages
[23] Real-Time Computing
http://en.wikipedia.org/wiki/Real-time_computing
[24] MicroC/OS-II homepage.
http://www.ucos-ii.com/
[25] Jean J. Labrosse, CMPBooks, “MicroC/OS-II, the Real-Time Kernel”, Second Edition, 2002
[26] Adam Dunkels, “Design and Implementation of the lwIP TCP/IP Stack”, First Edition, 2001
[27] Douglas C. Schmidt, “Douglas C. Schmidt, Middleware for Real-time and Embedded Systems”, in Proceedings of the Adaptive middleware, CACM, volume 45, issue 6, pp. 43-48, 2002.
[28] Douglas C. Schmidt, “Middleware Techniques and Optimizations for Real-time, Embedded Systems”, in Proceedings of the IEEE International Conference on System Synthesis, pp. 12-16, 1999
[29] The Source Code of lwIP TCP/IP Stack
http://www.sics.se/~adam/lwip/
[30] CS8900A Datasheet Download
http://www.datasheetsite.com/datasheet/CS8900
[31] Muhammad Kafil, Ishfaq Ahmad, “Optimal Task Assignment in Heterogeneous Distributed Computing Systems”, 6th Heterogeneous Computing Workshop (HCW ‘97), IEEE Concurrency July – September 1998 (vol. 6, No. 3), on pp. 42-51, 1998.
[32] Samsung S3C2410 MCU
http://www.keil.com/dd/chip/4252.htm
[33] DMA2410 Platform
http://www.dmatek.com.tw/tn/viewproc.asp?id=1452
[34] ARM Documentation – Software Development Tools
http://www.arm.com/documentation/Software_Development_Tools/index.html
[35] T. Kunz, “The Influence of Different Workload Descriptions on a Heuristic Load Balancing Scheme”, in Proceedings of the IEEE Transactions On Software Engineering, vol. 17, no. 7, pp. 725-730, July 1991.
[36] Ishfaq Ahmad, Arif Ghafoor, Kishan Mehrotra, “Performance Prediction of Distributed Load Balancing on Multicomputer Systems”, in Proceedings of the ACM/IEEE conference on High Performance Networking and Computing, pp. 830-839, 1991.
[37] I. Ahmad and A. Ghafoor, “Semi-Distributed Load Balancing for
Massively Parallel Multicomputer Systems”, in Proceedings of the IEEE Transactions On Software Engineering, vol. 17, no. 10, pp. 987-1004, Oct. 1991.
[38] Ka-Po Chow, Yu-Kwong Kwok, “On load balancing for distributed multiagent computing”, , in Proceedings of the IEEE Transactions on Parallel and Distributed Systems, pp. 787-801, Aug. 2002.
[39] M. Kafeel and I. Ahmad, “Optimal Task Assignment in Heterogeneous
Distributed Computing Systems”, in Proceedings of the IEEE Concurrency, vol. 6, no. 3, pp. 42-51, July 1998.
[40] T. Kunz, “The Influence of Different Workload Descriptions on a Heuristic Load Balancing Scheme”, , in Proceedings of the IEEE Transactions on Software Engineering, vol. 17, no. 7, pp. 725-730, July 1991.
[41] Remote Procedure Call
http://en.wikipedia.org/wiki/Remote_procedure_call
[42] DMA2410 User Manual
http://www.dmatek.com.tw/
[43] MIMD Architecture
http://carbon.cudenver.edu/~galaghba/mimd.html