簡易檢索 / 詳目顯示

研究生: 吳宜穎
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.

    CHAPTER 1 INTRODUCTION 14 1.1 INTRODUCTION 14 1.2 MOTIVATION 15 1.3 OVERVIEW OF THIS THESIS 16 CHAPTER 2 RELATED WORKS 18 2.1 MIDDLEWARE FOR DRE SYSTEM 18 2.2 TASK MIGRATION 21 2.2.1 TASK MIGRATION IN DISTRIBUTED SHARED MEMORY SYSTEM 21 2.2.2 TASK MIGRATION IN GRID ENVIRONMENTS 22 2.2.3 THE LOAD BALANCING 22 2.3 MIDDLEWARE FOR TASK MIGRATION 24 2.3.1 MIDDLEWARE SUPPORTING DYNAMIC TASK MIGRATION 24 2.3.2 MIDDLEWARE SUPPORTING FOR TASK MIGRATION IN MPSOC 25 2.3.3 MIDDLEWARE FOR RESOURCE MANAGEMENT 26 CHAPTER 3 BACKGROUND KNOWLEDGE 27 3.1 DISTRIBUTE REAL-TIME EMBEDDED SYSTEM 27 3.1.1 DISTRIBUTED SYSTEM 27 3.1.2 CENTRALIZED BASE DISTRIBUTED SYSTEM 28 3.1.3 REAL-TIME EMBEDDED SYSTEM 29 3.1.4 DRE SYSTEM 30 3.2 DESIGN ISSUES 32 3.2.1 HARDWARE ARCHITECTURE CONCEPT 32 3.2.2 SOFTWARE ARCHITECTURE CONCEPT 34 3.3 REAL TIME KERNEL - MICROC/OS-II 37 3.3.1 INTRODUCTION 37 3.3.2 MICROC/OS-II KERNEL STRUCTURE 37 3.3.3 MICROC/OS-II MULTI-TASK MANAGEMENT 39 3.3.3.1 MicroC/OS-II Start Multi-Tasking 41 3.3.3.2 MicroC/OS-II Task States 42 3.3.3.3 MicroC/OS-II Task Scheduler 43 3.4 LIGHTWEIGHT IP TCP/IP STACK 46 3.4.1 INTRODUCTION 46 3.4.2 LIGHTWEIGHT IP FEATURES 47 3.4.3 LIGHTWEIGHT PROTOCOL PROCESSING MODEL 48 3.4.3.1 IP Model 48 3.4.3.2 ICMP Model 49 3.4.3.3 UDP Model 49 3.4.3.4 TCP Model 50 3.4.4 LIGHTWEIGHT APPLICATION PROGRAM INTERFACE 51 3.5 MIDDLEWARE ISSUES 53 3.5.1 INTRODUCTION 53 3.5.1.1 Middleware Supporting for DRE System 54 3.5.1.2 Advantages of Middleware in DRE system 55 3.5.2 MIDDLEWARE ARCHITECTURE 55 3.5.2.1 Middleware Service Library 58 3.5.2.2 The Resource Monitor - Profile Mechanism 60 3.5.2.3 The Load Balancing 60 3.5.2.4 Middleware Supporting for Task Migration 61 CHAPTER 4 IMPLEMENTATIONS 62 4.1 SYSTEM ARCHITECTURE OVERVIEW 62 4.2 HARDWARE PLATFORM AND DEVELOPING ENVIRONMENT 64 4.2.1 HARDWARE PLATFORM OVERVIEW 64 4.2.2 DEVELOPING ENVIRONMENT 66 4.3 PORTING MICROC/OS-II AND LWIP 67 4.3.1 PORTING MICROC/OS-II ON SMDK2410 PLATFORM 67 4.3.2 PORTING LWIP ON SMDK2410 PLATFORM 70 4.3.3 OPERATION SYSTEM AND LWIP ADAPTIVE LAYER 72 4.3.4 ETHERNET CS8900A CHIP DRIVER 73 4.4 MIDDLEWARE IMPLEMENTATION 76 4.4.1 MIDDLEWARE SERVICE LIBRARY 76 4.4.1.1 Interface Architecture 76 4.4.1.2 Data Structures and Function Interfaces 77 4.4.2 THE RESOURCE MONITOR - PROFILE MECHANISM 79 4.4.3 THE LOAD BALANCING ALGORITHM 82 4.4.4 MIDDLEWARE SUPPORTING TASK MIGRATION 85 4.4.4.1 Dynamic Data Encapsulation 88 4.4.4.2 Application Code Layout 89 CHAPTER 5 EXPERIMENTAL RESULTS 92 5.1 EXPERIMENT DESCRIPTION 92 5.2 THE SYSTEM WORKLOAD CONCEPTS 93 5.3 TASK MIGRATION TIME EVALUATION 94 5.4 EXPERIMENTAL RESULT 96 5.4.1 SYSTEM EXECUTING TIME EVALUATION 96 5.4.1.1 System Executing Time with FMin Policy 96 5.4.1.2 System Executing Time with FAverage Policy 98 5.4.1.3 System Executing Time with FHalf Policy 100 5.4.1.4 Executing Time Analysis 101 5.4.2 CPU USAGE EVALUATION 102 5.4.2.1 CPU Usage with FMin Policy 102 5.4.2.2 CPU Usage with FAverage Policy 103 5.4.2.3 CPU Usage with FHalf Policy 104 5.4.2.4 CPU Usage Analysis 104 5.4.3 SUMMARY 106 CHAPTER 6 CONCLUSION AND FUTURE WORKS 107 6.1 CONCLUSION 107 6.2 FUTURE WORKS 107

    [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

    下載圖示 校內:2009-09-09公開
    校外:2009-09-09公開
    QR CODE