| 研究生: |
張雅松 Chang, Ya-Sung |
|---|---|
| 論文名稱: |
適用於Low-MIPS的多處理器平台的分散式暨嵌入式作業系統的實作 The implementation of the Distributed Embedded Operating System for a Low-MIPS Multiprocessor Platform |
| 指導教授: |
楊中平
Young, Chung-Ping |
| 學位類別: |
碩士 Master |
| 系所名稱: |
電機資訊學院 - 資訊工程學系 Department of Computer Science and Information Engineering |
| 論文出版年: | 2007 |
| 畢業學年度: | 95 |
| 語文別: | 英文 |
| 論文頁數: | 151 |
| 中文關鍵詞: | 即時核心 、MicroC/OS-II 、分散式架構 、嵌入式作業系統 |
| 外文關鍵詞: | Real-Time Kernel, Distributed Architecture, Embedded OS, MicroC/OS-II |
| 相關次數: | 點閱:75 下載:1 |
| 分享至: |
| 查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
MCS-51族系始於1980年,由Intel所研發出來。由於MCS-51 MCU的功能強大,價格便宜,在工業界廣受歡迎,歷久不衰。直到今日,其所衍生的改良型MCU的種類更是不計其數,這些改良型的MCS-51 MCU具有更高的時脈,更好的電源管理機制,更強大的運算能力。在各行各業的簡單控制的應用上,具有指標的地位。對於比較複雜的應用,單一顆8051或許在運算能力上力有未逮,但是如果我們能夠充分的利用8051相對便宜的優勢,建構出一個使用多顆8051當作核心的運算平台,在性能價格比上將擁有莫大的優勢,因為這樣的平台將相當便宜,而且能夠負擔一定程度的複雜應用。在這篇論文中,我們實做了一個適用於low-MIPS的多處理器平台的分散式暨嵌入式作業系統,平台所使用的作業系統是MicroC/OS-II,一種高效能的即時作業系統。整體系統採用high throughput的架構,每一個8051核心上均運行自己的作業系統,都具有獨立性,核心之間能夠透過溝通機制進行資料的傳遞。為了達到high throughput的目的,我們實做了核心之間的任務轉移(task migration)的機制。使用task migration的機制,我們就能夠實現核心之間的負載平衡(load balancing),這將大大的提高系統整體的效能,更有效率的使用每一個8051核心所擁有的計算能力。同時為了具有擴充性(scalable)跟移植性(portable),我們也實做了高度抽象化的MPI(Message Passing Interface)溝通機制。
MCS-51 series was first developed in 1980 by Intel. It had become so popular in the industry for its high performance and low cost until now. Nowadays, there are so many kinds of advanced 8051-based MCUs developed, and these advanced 8051-based MCUs have higher frequency, better power consumption management mechanism, and more powerful computing power. It has great influence in all kinds of simple control applications. Single 8051 may has many limitations on complicated applications because of its lower computing power. But we could improve its computing power by building the platform with distributed multi-8051 core. This platform would have such advantages, including low cost and higher performance and would be capable of performing some complicated application. Moreover, this platform could have very good cost/performance ratio.
In this paper, we propose and implement a distributed embedded operating system for a low-MIPS multiprocessor platform and we use the MicroC/OS-II as our real-time operating system. The whole platform adopts the architecture of high throughput. Every 8051 core is independent and has its own operating system to control all resource it has. All of these cores could pass data through communicating mechanism to one another. For the object of high throughput, we propose the mechanism of task migration among all cores. By task migration, we could achieve the load balancing for our platform. It means that we could improve the performance of our platform by using the computing power of every 8051 core more efficiently. As for the scalability and portability, we propose the mechanism of MPI (Message Passing Interface) with abstraction description.
[1] MPI: A Message Passing Interface Standard.
http://www.mpi-forum.org/docs/mpi-11-html/mpi-report.html
[2] Load Balancing Computing.
http://en.wikipedia.org/wiki/Load_balancing_(computing)
[3] David Stepner, Nagarajan Rajan, David Hui, “Embedded Application Design Using a Real-Time OS”,36th Annual Conference on Design Automation (DAC’99), pp151-156, IEEE 1999.
[4] Andrew S. Tanenbaum, Prentice-Hall Inc, “Distributed Operating Systems” ,ISBN: 0-13-219908-4, 1995.
[5] Distributed Operating Systems.
http://www-vs.informatik.uni-ulm.de:81/DOSinWWW/DOS.html
[6] A distributed system with micro-kernel architecture.
http://www.cs.vu.nl/pub/amoeba/
[7] Sape J. Mullender, Guido van Rossum, Andrew S. Tanenbaum, Robert van Renesse and Hans van Staveren, “Amoeba: A Distributed Operating System for the 1990s”, IEEE Computer, pp. 44-53, May 1990.
[8] Sape. J. Mullender and Andrew. S. Tanenbaum, “The Design of a Capability-Based Distributed Operating System”, Computer Journal 29, No. 4, pp. 289-299, March 1986.
[9] Sape J. Mullender, “The Amoeba Distributed Operating System II”, Amsterdam, Centre for Mathematics and Computer Science, CWI Newsletter, No.12, September 1986.
[10] John K. Ousterhout, Andrew R. Cherenton, Frederick Douglis, Michael N. Nelson and Brent B. Welch, “The Sprite Network Operating System”, IEEE Computer, Vol. 21 No. 2, pp. 23-36, February 1988.
[11] D. Milojicic, F. Douglis, Y. Paindaveine, R. Wheeler, S. Zhou, “Process
Migration Survey”, ACM Computing Surveys, September 2000.
[12] Bertozzi. S. , Acquaviva.A. , Bertozzi. D. , and Poggiali, A. , “Supporting Task Migration in Multi-Processor System-on-Chip: A Feasibility Study”, Design, Automation and Test in Europe, 2006, DATE '06 Proceedings, pp.1-6, 6-10 March 2006.
[13] S. Dharmasanam, “Multiprocessing with real-time operating systems”.
http://www.embedded.com/story/OEG20030512S0080
[14] Linux Scalability Effort: NUMA Group Homepage.
http://lse.sourceforge.net/numa/
[15] A NUMA API for Linux.
http://www.novell.com/collateral/4621437/4621437.pdf
[16] Non-Uniform Memory Access.
http://en.wikipedia.org/wiki/Non-Uniform_Memory_Access
[17] R. D. Nelson, M. S. Squillante, “Modeling and Analysis of Task Migration in
Shared-Memory Computer Systems”, MASCOTS, pp. 261–266, 1996.
[18] Weisong Shi, Weiwu Hu, Zhimin Tang, Eskicioglu, M.R. “Dynamic Task Migration in Home-based Software DSM Systems”, High Performance Distributed Computing, 1999. Proceedings. The Eighth International Symposium on, pp.339-340, AUG.1999.
[19] S. Subramaniam, D. L. Eager, “Affinity scheduling of unbalanced workloads”, In Proc. of Siipercompuring '94, pages 214-226, Nov. 1994.
[20] Mark S. Squillante, Randolph D. Nelson. ”Analysis of Task Migration in Shared-Memory Multiprocessor Scheduling”, Proceedings of the 1991 ACM SIGMETRICS conference on Measurement and modeling of computer systems, pp. 143-155, 1991.
[21] Frechette, S. Avresky, D.R. “Method for Task Migration in Grid Environments”, Network Computing and Applications, Fourth IEEE International Symposium on, pp. 49-58, JULY 2005.
[22] Denial of Service Attack.
http://en.wikipedia.org/wiki/Denial-of-service_attack
[23] Beitz, A. Kent, S. Roe, P., “Optimizing Heterogeneous Task Migration in the Gardens Virtual Cluster Computer”, Heterogeneous Computing Workshop, 2000, (HCW 2000) Proceedings. 9th, pp. 140-146, 1 May 2000.
[24] C. Shao , B. Schnabel, “A Task Migration System for Parallel Scientific Computations in Heterogeneous NOW Environments”, In Proceedings of the Ninth SIAM Conference on Parallel Processing for Scientific Computing, San Antonio, TX, 1999.
[25] V. Nollet, P. Avasare, J-Y. Mignolet, D. Verkest , “Low Cost Task Migration Initiation in a Heterogeneous MP-SoC”, Design, Automation and Test in Europe, 2005, Proceedings, pp. 252-253, 2005.
[26] I. Ahmad and A. Ghafoor, “Semi-Distributed Load Balancing for
Massively Parallel Multicomputer Systems”, IEEE Trans. Software Eng., vol. 17, no. 10, pp. 987-1004, Oct. 1991.
[27] Ka-Po Chow, Yu-Kwong Kwok, “On load balancing for distributed multiagent computing”, Parallel and Distributed Systems, IEEE Transactions on, pp. 787-801, Aug. 2002.
[28] M. Kafeel and I. Ahmad, “Optimal Task Assignment in Heterogeneous
Distributed Computing Systems”, IEEE Concurrency, vol. 6, no. 3, pp. 42-51, July 1998.
[29] T. Kunz, “The Influence of Different Workload Descriptions on a Heuristic Load Balancing Scheme”, IEEE Trans. Software Engineering, vol. 17, no. 7, pp. 725-730, July 1991.
[30] Park, S.-Y. Lee, J. Hariri, S., “A multithreaded message-passing system for high performance distributed computing applications”, Distributed Computing Systems, 1998 Proceedings. 18th International Conference on, pp. 258-265, 26-29 May 1998.
[31] Larsson Traff, J., “SMP-aware message passing programming”, High-Level Parallel Programming Models andSupportive Environments, 2003 Proceedings. Eighth International Workshop on, pp. 56-65, 22 April 2003.
[32] Cotronis, J.Y. “Reusable message passing components”, Parallel and Distributed Processing, 2000 Proceedings. 8th Euromicro Workshop on, pp. 398-405, 19-21 Jan. 2000.
[33] Oleg Maslennikov, Juri Shevtshenko, Anatoli Sergyienko, “Configurable Microcontroller Array”, Proceedings of the international conference on Parallel Computing in Electrical Engineering, pp.47-49, 2002.
[34] PVM: Parallel Virtual Machine.
http://www.csm.ornl.gov/pvm/
[35] MPI: Message Passing Interface.
http://www.mpi-forum.org/docs/mpi-11-html/mpi-report.html
[36] Jean J. Labrosse, CMPBooks, “MicroC/OS-II, the Real-Time Kernel”, Second Edition, 2002
[37] THE I2C BUS SPECIFICATION, version 2.1, Philips Semiconductors, January 2000.
[38] I2C Bus Technical Overview and Frequently Asked Questions.
http://www.esacademy.com/faq/i2c/index.htm
[39] Message Passing Overview.
http://www.hku.hk/cc/sp2/workshop/html/message_passing/message_passing.html
[40] WINBOND W78E516B specification http://www.winbond.com/hq/enu/ProductAndSales/ProductLines/mCAndmC-basedConsumerIC/Microcontroller/8-bitMCUSeries%2880C51-based%29/W78E516B.htm
[41] 62256 datasheet download.
http://www.datasheet4u.com/html/6/2/2/62256_Samsungsemiconductor.pdf.html
[42] MicroC/OS-II homepage.
http://www.ucos-ii.com/
[43] Atmel Corporation.
http://www.atmel.com/
[44] Ishfaq Ahmad, Arif Ghafoor, Kishan Mehrotra, “Performance Prediction of Distributed Load Balancing on Multicomputer Systems”, Conference on High Performance Networking and Computing, Proceedings of the 1999 ACM/IEEE conference on Supercomputing, on pp. 830-839, 1991.
[45] 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.
[46] Microtime Computer Inc.
http://www.microtime.com.tw/intro/intro.htm
[47] ARM Documentation – Software Development Tools
http://www.arm.com/documentation/Software_Development_Tools/index.html