Middleware Support for Real-Time Tasks on Distributed and Multicore Platforms

Size: px
Start display at page:

Download "Middleware Support for Real-Time Tasks on Distributed and Multicore Platforms"

Transcription

1 Department of Computer Science & Engineering Middleware Support for Real-Time Tasks on Distributed and Multicore Platforms Authors: Yuanfang Zhang Abstract: While traditional real-time middleware such as Real-Time CORBA have shown promise as distributed software platforms for systems with time constraints, existing middleware systems lack (1) schedulability analysis and run-time enforcement mechanisms needed to give online real-time guarantees for aperiodic tasks, (2) flexible configuration mechanisms needed to manage end-to-end timing easily for a wide range of dfferent distributed real-time systems with both periodic and aperiodic tasks, and (3) support for scheduling soft real-time tasks on multicore platforms while guaranteeing their time constraints will be satisfied. To address the limitations of current generation real-time middleware, this dissertation makes three major contributions to the state of the art in real-time middleware: we have developed (1) the first instantiation of an integrated scheduling framework supporting both periodic and aperiodic tasks (on TAO, a widely used Real-Time CORBA middleware); (2) the first configurable component middleware services for admission control and load balancing of periodic and aperiodic tasks in distributed real-time systems (on CIAO, a Component-Integrated Real-Time middleware); and (3) MC-ORB, the first real-time object request broker (ORB) designed to exploit the features of multicore platforms, with admission control and task allocation services that can provide schedulability guarantees for soft real-time tasks on multicore platforms. Type of Report: PhD Dissertation Department of Computer Science & Engineering - Washington University in St. Louis Campus Box St. Louis, MO ph: (314)

2 copyright by Yuanfang Zhang 2008

3 ABSTRACT OF THE DISSERTATION Middleware Support for Real-Time Tasks on Distributed and Multicore Platforms by Yuanfang Zhang Doctor of Philosophy in Computer Science Washington University in St. Louis, 2008 Professor Christopher D. Gill, Chairperson While traditional real-time middleware such as Real-Time CORBA have shown promise as distributed software platforms for systems with time constraints, existing middleware systems lack (1) schedulability analysis and run-time enforcement mechanisms needed to give online real-time guarantees for aperiodic tasks, (2) flexible configuration mechanisms needed to manage end-to-end timing easily for a wide range of different distributed real-time systems with both periodic and aperiodic tasks, and (3) support for scheduling soft real-time tasks on multicore platforms while guaranteeing their time constraints will be satisfied. To address the limitations of current generation real-time middleware, this dissertation makes three major contributions to the state of the art in real-time middleware: we have developed (1) the first instantiation of an integrated scheduling framework supporting both periodic and aperiodic tasks (on TAO, a widely used Real-Time CORBA middleware); (2) the first configurable component middleware services for admission control and load balancing of periodic and aperiodic tasks in distributed real-time systems (on CIAO, a ii

4 Component-Integrated Real-Time middleware); and (3) MC-ORB, the first real-time object request broker (ORB) designed to exploit the features of multicore platforms, with admission control and task allocation services that can provide schedulability guarantees for soft real-time tasks on multicore platforms. iii

5 Acknowledgments I gratefully acknowledge the guidance of my two research advisors: Dr. Christopher D. Gill and Dr. Chenyang Lu. They both introduced me to the challenging world of real-time systems. Without their guidance and encouragement in my Ph.D. research, I can not successfully complete my dissertation. I wish to thank Donald K. Krecker and Gautam H. Thaker from Lockheed Martin Advanced Technology Laboratories for being great collaborators. Parts of my work are funded by DARPA program and are the result of my collaboration with them. I am indebted to Dr. Patrick Crowley, Dr. Ron K. Cytron, Dr. Shirley Dyke, Dr. Anirüddhā Gokhālé, Dr. Christopher D. Gill and Dr. Chenyang Lu for serving on my dissertation committee, and for insightful discussions and helpful advice. I also take this chance to thank everyone in the department of computer science and engineering at Washington University for helping my everyday student life. Yuanfang Zhang Washington University in Saint Louis August 2008 iv

6 Contents Abstract Acknowledgments List of Tables ii iv viii List of Figures ix 1 Introduction Motivation Design and Implementation Challenges Contributions Middleware Support for End-to-End Periodic and Aperiodic Tasks Configurable Component Middleware Middleware for Multicore Platforms Chapter Organization Background Task Model Shipboard Computing System Model Inter-processor Synchronization Protocol Schedulability Test Time-Demand Analysis Aperiodic Utilization Bound Real-Time ORBs Event Channel Component Middleware Middleware Services Task Scheduling v

7 2.8.2 Admission Control Linux Kernel Middleware Support for End-to-End Periodic and Aperiodic Tasks Integrated Scheduling Framework Scheduling and Dispatching Middleware Services Admission Control Service Time-Demand Analysis Approach Schedulability Analysis Release Guard Mechanism for End-to-End Periodic Tasks Deferrable Server Mechanism for Aperiodic Tasks Aperiodic Utilization Bound Approach Empirical Evaluation Deferrable Server Overhead Admission Control Overhead Acceptance Ratio Comparisons Conclusion Configurable Component Middleware Mapping DRS Characteristics to Middleware Strategies DRS Characteristics Admission Control (AC) Strategies Idle Resetting (IR) Strategies Load Balancing (LB) Strategies Combining AC, IR and LB Strategies Component Implementation Middleware Architecture Deployment and Configuration Experimental Evaluation Random Workloads Imbalanced Workloads Overheads of Service Components Conclusion vi

8 5 Real-Time Performance and Middleware on Multicore Linux Platforms Experimental Study of Linux on Multicore Platforms Clock Differences between Cores Load Balancing Between Cores Thread Migration Between Cores Middleware Design Middleware Evaluation Overhead Measurement Real-Time Performance Conclusion Related Work Aperiodic Scheduling Approaches Component Middleware QoS-aware Middleware QoS-aware Component Middleware Linux Deficiencies Real-Time Operating System Conclusions References vii

9 List of Tables 3.1 Mean/Max Overhead of Deferrable Server Mechanisms (µs) Admission Control Step Delays (µs) Criteria and Middleware Strategies Service Overheads (µs) Round Trip Delay Measured on Two Cores Offset Between Cores Overhead of Load Balancing Checks during Each 5-minutes Run Thread Migration Overhead Comparison Overhead of MC-ORB Extensions Average Acceptance Ratio when Total Utilization is 1.6 and Balance Factor is Increased from 0.1 to viii

10 List of Figures 2.1 Federated Event Channel Structure Dispatching Framework for DS with RG Dispatching Framework for AUB Admission Control Mechanisms Release Guard Mechanism Scheduling with Greedy Protocol Scheduling with Release Guard Deferrable Server Operations Acceptance Ratio Comparison Effect of Criticality-aware Admission Control Middleware Services and Strategies Component Implementation Distributed Middleware Architecture Dynamic Configuration Process Configuration Interface Accepted Utilization Ratio LB Strategy Comparison Sources of Overhead/Delay Round Trip Delay Clock Offset Measurement Offset Between Cores Offset Between Cores After Reversing The Signs Of Values Collected On Core Self Migration Running Thread Migration Sleeping Thread Migration ix

11 5.8 Single Manager Thread Architecture Misses when Total Utilization is Misses when Total Utilization is Misses when Total Utilization is x

12 Chapter 1 Introduction 1.1 Motivation Supporting the quality of service (QoS) demands of real-time applications requires middleware that is flexible, efficient and predictable. These days, addressing that challenge has become increasingly complicated. Real-time applications (1) contain both periodic and aperiodic tasks, (2) require diverse services with configurable strategies, and (3) are more likely deployed on multicore platforms even today. Existing middleware, which only considers the requirements of real-time periodic tasks on unicore processors, can not satisfy such needs. This dissertation addresses the gap between new properties of applications and platforms, and state-of-the-art middleware support for aperiodic task scheduling, configurable services and multicore platforms. First, many distributed real-time systems must handle a mix of periodic and aperiodic tasks, including aperiodic tasks with end-to-end deadlines whose assurance is critical to the correct behavior of the system. For example, in an industrial plant monitoring system, an aperiodic alert event may be generated when a series of periodic sensor readings meets certain hazard detection criteria. This event must be processed on multiple processors within an end-to-end deadline. User inputs and sensor readings may trigger various other real-time aperiodic tasks. A key challenge in such systems is providing on-line real-time guarantees to critical aperiodic tasks that arrive dynamically. 1

13 In such systems, schedulability analysis is essential for achieving predictable real-time properties. Aperiodic scheduling has been studied extensively in real-time scheduling theory. Earlier work on aperiodic servers has integrated scheduling of periodic and aperiodic tasks [56, 50, 30, 52, 45, 46, 31, 13, 53], and new schedulability tests based on aperiodic utilization bounds [2] and a new admission control approach [5] were introduced recently. However, despite significant theoretical results on aperiodic scheduling, these results have not been applied to the standards-based middleware that is increasingly being used for developing distributed real-time applications. For example, current implementations of Real-Time CORBA (RT-CORBA) [39] do not provide any of the schedulability tests or run-time mechanisms required by aperiodic servers. As a result, those middleware implementations are currently unsuitable for applications with real-time aperiodic tasks. Admission control has been proposed as an effective approach to handle dynamic real-time tasks in distributed operating systems [54, 51]. However, those kernel-level mechanisms cannot be ported to distributed middleware that lacks fine-grained resource control. Admission control also has been implemented in real-time middleware services [3], but they do not support aperiodic end-to-end tasks, which are essential to many distributed real-time applications. It is thus essential to develop mechanisms in middleware that can provide predictability to critical aperiodic tasks. Second, existing middleware systems lack the flexibility needed to support distributed real-time systems (DRS) with diverse application semantics and requirements. For example, load balancing is an effective mechanism for handling variable real-time workloads in a DRS. However, its suitability for DRS highly depends on their application semantics. Some digital control algorithms (e.g., proportional-integral-derivative control) for physical systems are stateful and hence not amenable for frequent task re-allocation caused by load balancing, while others (e.g., proportional control) do not have such limitations. Similarly, job skipping (skipping the processing of certain instances of a periodic task) is an admission control strategy for dealing with transient system overload. However, job skipping is not suitable for certain critical control applications in which missing one job may cause catastrophic consequences on the controlled system. In contrast, other applications ranging from video reception to telecommunications may be able to tolerate varying degrees of job skipping [29]. As a result, middleware should provide services with a variety of strategies that can be configured flexibly. 2

14 Third, as evidenced by recent products from major CPU vendors, multicore processors (which include several cores on a single chip) are poised to dominate the real-time and embedded systems development space. Dual-core chips are popular in today s market, and many CPU vendors have released designs with more than two cores. Applications that process large numbers of transactions with soft real-time constraints are likely deployed on multicore platforms even today. However, standard operating systems such as Linux can not effectively schedule soft real-time workloads on such platforms. Moreover, the real-time performance of Linux primitives on multicore platforms has not been systematically evaluated. Benchmarking the real-time performance of Linux primitives is essential for developing predictable real-time applications on multicore platforms. While traditional real-time middleware such as Real-Time CORBA [40] object request brokers (ORBs) have shown promise for distributed systems with soft real-time constraints, existing middleware lacks support for guaranteeing such constraints on multicore platforms. For example, existing admission control (AC) and task allocation (TA) services do not consider thread CPU affinity and migration issues that arise with a multicore architecture. Processors are the minimum granularity for task assignment in existing middleware. However, on a multicore platform once a task is assigned to a processor, it could be executed on any core or even migrated among cores in that processor, which is not controlled by existing middleware. Any AC based on such an imprecise assignment necessarily loses its reliability. To support soft real-time tasks on multicore platforms, real-time middleware should therefore be able to provide AC and TA services not only among separate processors, but also among cores within each processor. 1.2 Design and Implementation Challenges To fulfill these new requirements of real-time applications and to overcome the deficiencies of existing middleware in the previously mentioned areas, the following design and implementation challenges must be resolved: (1) Providing on-line real-time guarantees to critical aperiodic tasks that arrive dynamically: 3

15 although aperiodic scheduling theories exist, applying those theories to a real-world middleware environment still faces several important challenges as it requires (a) consideration of the specific requirements of the system model in applying that theory, and (b) highly efficient design and implementation of the run-time mechanisms on standard operating system platforms. (2) Developing a flexible middleware infrastructure that can be easily configured to support the diverse requirements of different DRS: specifically, middleware services such as load balancing and admission control must support a variety of strategies. Furthermore, the configuration of those strategies must be supported in a flexible yet principled way, so that system developers are able to explore alternative configurations but invalid configurations cannot be chosen by mistake. Providing middleware services with configurable strategies thus faces several important challenges: (a) services must be able to provide configurable strategies, and configuration tools must be added or extended to allow configuration of those strategies; (b) the specific criteria that distinguish which service strategies are preferable must be identified, and applications must be categorized according to those criteria; and (c) appropriate combinations of services strategies must be identified for each such application category, according to its characteristic criteria. (3) Making full use of all cores while guaranteeing time constraints of real-time tasks on multicore platforms: getting a real-time application running on a multicore processor is, in many cases, fairly easy. The real challenge is getting the application to make full use of all cores while guaranteeing its time constraints. Migration to multicore platforms creates significant challenges and complexity for middleware developers as it requires (a) the solid understanding of how Linux supports new multicore platforms and its corresponding deficiencies in doing so, and (b) how to overcome those deficiencies efficiently in middleware while guaranteeing time constraints of real-time tasks. For example, a real-time ORB should not only take advantage of multicore capabilities, but should also significantly reduce the complexity of multicore application development. 4

16 1.3 Contributions To address these challenges in three areas, this dissertation makes three major contributions to the state-of-the-art of real-time middleware. 1. To provide on-line real-time guarantees to critical aperiodic tasks that arrive dynamically, Section describes our integrated scheduling framework for supporting both periodic and aperiodic task scheduling. 2. To support diverse requirements of different DSR, Section describes our configurable component middleware services supporting multiple admission control and load balancing strategies for handling periodic and aperiodic tasks. 3. To make full use of all cores while guaranteeing time constraints of real-time tasks on multicore platforms, Section describes the first real-time ORB for multicore platforms, with AC and TA services that enforce real-time task constraints on multicore platforms Middleware Support for End-to-End Periodic and Aperiodic Tasks To support end-to-end periodic and aperiodic tasks in dynamic distributed real-time systems, we have developed an integrated scheduling framework for end-to-end periodic and aperiodic task scheduling in The ACE ORB (TAO) [25]. We have developed what are to our knowledge the first middleware-layer (1) mechanisms for deferrable servers and release guards, in TAO s federated event service [23]; and (2) on-line admission control service supporting both periodic and aperiodic end-to-end tasks. Our work bridges an important gap between aperiodic scheduling theory and state-of-theart real-time middleware. Our empirical results on a Linux testbed demonstrate the success of our approach in supporting deferrable servers and on-line admission control for both periodic and aperiodic end-to-end tasks, efficiently in middleware. 5

17 1.3.2 Configurable Component Middleware To support diverse DRS with periodic and aperiodic tasks, in this work we have (1) developed what is to our knowledge the first set of configurable component middleware services supporting multiple admission control and load balancing strategies for handling periodic and aperiodic tasks; (2) developed a novel component configuration pre-parser and interfaces to configure real-time admission control and load balancing services flexibly at system deployment time; (3) defined categories of distributed realtime applications according to specific characteristics, and related them to suitable combinations of strategies for our services; and (4) provided a case study that applies different configurable services to a domain with both periodic and aperiodic tasks, offers empirical evidence of the overheads involved and the trade-offs among service configurations, and demonstrates the effectiveness of our approach in that domain. Our work thus significantly enhances the applicability of real-time middleware as a flexible infrastructure for DRS Middleware for Multicore Platforms To address the limitations of current generation real-time middleware in supporting soft real-time tasks on multicore platforms, we have: (1) provided an experimental analysis of the real-time performance for vanilla Linux on multicore platforms, the results of which are valuable for both real-time middleware developers and realtime application developers alike; (2) developed what is to our knowledge the first real-time ORB for multicore platforms (MC-ORB), with AC and TA services that enforce real-time task constraints on multicore platforms; and (3) performed an empirical evaluation of MC-ORB, the results of which demonstrate the efficiency and effectiveness of our middleware on multicore platforms. 1.4 Chapter Organization The rest of this dissertation is organized as follows. Chapter 2 surveys background information on the real-time systems, middleware and the Linux kernel. Chapter 3 6

18 presents a new integrated scheduling framework based on TAO s federated event service [23] for a representative mix of end-to-end periodic and aperiodic tasks. Chapter 4 describes the first configurable component middleware services for admission control and load balancing for handling periodic and aperiodic tasks in a DRS. Chapter 5 first presents a new experimental analysis of real-time performance for vanilla Linux primitives on multicore platforms, and then describes MC-ORB, the first real-time ORB specifically intended for multicore platforms. Chapter 6 presents a survey of related work. Finally, Chapter 7 offers concluding remarks. 7

19 Chapter 2 Background 2.1 Task Model We consider distributed real-time systems, potentially connected to or integrated with physical systems, generating periodic and aperiodic events that must be processed on distributed computing platforms within specified to end-to-end deadlines. Henceforth the processing of a sequence of related events is referred to as a task. A task T i is composed of a chain of subtasks T i,j (1 j n i ) located on different processors. The release of the first subtask T i,1 of a task T i is triggered by a periodic timer event or an aperiodic event generated by the physical system. Upon completion, a subtask T i,j pushes another event which triggers the release of its successor subtask T i,j+1. Each release of a subtask is called one subjob, and each release of a task is a job composed of a chain of subjobs. Every job of a task must be completed within an end-to-end deadline that is its maximum allowable response time. The period of a periodic task is the interarrival time of consecutive subjobs of the first subtask of the periodic task. An aperiodic task does not have a period. The interarrival time between consecutive subjobs of its first subtask may vary widely and, in particular, can be arbitrary small. The worst-case execution time of every subtask, the end-to-end deadline of every task, and the period of every periodic task in the system are known. 8

20 2.2 Shipboard Computing System Model Military shipboard computing [60] is moving toward a common computing and networking infrastructure that hosts the mission execution, mission support and quality of life systems required for shipboard operations. The objective of the middleware architecture presented in Chapter 3 is to ensure that in the complex large-scale distributed real-time computing environments envisioned, mission critical and safety critical tasks will meet their real-time performance requirements, even in the presence of a myriad of other competing non-critical real-time tasks. The physical system architecture consists of a number of display consoles that host primarily human/computer interface software, and are connected by a real-time network to a large number of inter-connected servers that host the software that delivers much of the system s mission computing capability. The software running on this distributed infrastructure comprises a mix of periodic and aperiodic tasks, which are subject to a mix of critical and non-critical performance requirements. On the servers, many tactical applications are implemented as end-to-end tasks each consisting of multiple subtasks that may be located on different processors. An example of such an application is sensor data processing, which consists of multiple subtasks. The majority of this data processing is periodic and non-critical. However, if a series of sensor reports meets certain threat criteria, an urgent self defense mode may be enabled. Further processing of the data becomes a critical aperiodic task with a deadline, i.e., to make an engagement decision. Should the decision be to engage, a critical periodic task is then launched, i.e., to manage countermeasures. The shipboard computing system model is representative of many other complex distributed real-time systems. In general, such a system is composed of a set of periodic and aperiodic tasks. A task is composed of a chain or a graph of subtasks which may be located on multiple processors. A subtask cannot be released until its predecessor has been completed. A task is subject to an end-to-end deadline which may be critical or non-critical. Since new periodic and aperiodic tasks may arrive dynamically, it is impossible to provide realistic off-line guarantees of the schedulability of the system. Instead, an admission control strategy is needed to provide on-line guarantees to aperiodic tasks. Our middleware architecture described in Chapter 3 is designed 9

21 to support this general system model, though some of the specific policies supported by our current implementation are driven by the characteristics of the shipboard computing system model in particular. 2.3 Inter-processor Synchronization Protocol For every end-to-end periodic task, its first subtask is released at the beginning of each period. When the subjobs in the subsequence sibling subtasks are released, they critically affect the schedulability, completion-time jitter, and average response time of end-to-end tasks. We call a protocol that governs when the schedulers on different processors release the subjobs of sibling subtasks an inter-processor synchronization protocol. Such a synchronization protocol is correct if it (1) never releases subjobs in any first subtask before the end-to-end release times of the subjobs and (2) never allows the violation of any precedence constraint among sibling subtasks. Except for these criteria, the scheduler of each processor has the freedom to advance or delay the release of the subjobs on the processor. There are two types of synchronization protocols: greedy and nongreedy. The release guard synchronization protocol [59] is one of a number of nongreedy synchronization protocols. Since only a greedy synchronization protocol and a release guard synchronization protocol are used in this dissertation, we introduce them here as background to discussions based on them. Greedy Synchronization Protocol. The greedy synchronization protocol simply releases a subjob as soon as the subjob s immediate predecessor completes. Since every subjob is released and becomes ready for execution at the earliest possible instant, the greedy synchronization protocol yields the shortest average end-to-end response time of all tasks, compared with nongreedy protocols [58]. However, the interrelease intervals of consecutive subjobs in a later subtask (i.e., a subtask other than the first one) can be shorter than the period of the subtask. The bursty nature of the later subtasks thus may have undesirable effects on the schedulability of endto-end tasks in a priority-driven system [59]. 10

22 Release Guard Synchronization Protocol. This protocol [59] ensures that the time between two consecutive subjobs of the same periodic subtask is not less than the period. This guarantees that the release of periodic subtasks remains as periodic as possible. This behavior adds little overhead since the protocol only needs to know the period of a task and the last time the subtask was released. As Sun mentioned in his doctoral thesis [58], the following three rules are used to update release guard g for subtask T. 1. g is initially equal to When a subjob of subtask T is released, update g to the current time plus the period p of T. 3. Update g to the current time if the current time is a processor idle point on the processor where T executes. The release guard protocol releases subjob T at a time equal to g, or when the immediate predecessor of T completes, whichever is later. Comparison of the Two Protocols. The greedy synchronization protocol is unsuitable for hard real-time applications because tasks thus synchronized may have extremely large end-to-end response times when scheduled on a fixed-priority basis because of clumping effects [59]. Furthermore, with the current analysis techniques we can derive less than or equal end-to-end response time upper bounds under the release guard (RG) protocol than under the greedy protocol. Calculating the upper bound on the end-to-end response time (EERT) for each task is a kind of schedulability analysis approaches. If the upper bound on the EERT for each task is no greater than the task s deadline, the system is schedulable. Thus lower upper bounds on the EERTs imply better schedulability of the system. This fact motivated us to use the RG protocol in real-time systems. However, this upper bound for the EERT may not occur in the real systems, because the upper bounds produced by the current analysis technique are not tight. It is therefore very possible that the system which is not schedulable under the schedulability test is in fact schedulable. For the RG and Greedy protocols, there is no precise conclusion which one is better in real 11

23 scheduling, but RG leads to a better schedulability analysis results with the current analysis techniques. 2.4 Schedulability Test In real-time systems, meeting time constraints is crucial, as missing deadlines may cause disastrous failures. As a consequence, providing reliable certification evidence for those systems is essential. We call a test for validating that the given application can indeed meet all its hard deadlines when scheduled according to the chosen scheduling algorithm, a schedulability test. The schedulability test can be done either off-line before the system executes or on-line during when the system executes. The schedulability test is based on the knowledge of the release times and the execution times of all tasks. The off-line schedulability test is useful when the system is highly deterministic, meaning that the release times and the execution times of all tasks are known, and either do not vary or vary only slightly. However, for systems in which tasks may arrive dynamically at run time, it is impossible to provide an off-line schedulability test. On-line admission controllers can perform the schedulability test at tasks arrival times in dynamic systems. Two popular schedulability test approaches for end-to-end real-time tasks are time-demand analysis and schedulable utilization analysis Time-Demand Analysis Earlier work on aperiodic servers has integrated scheduling of periodic and aperiodic tasks [56, 50, 30, 52, 45, 46, 31, 13, 53]. On each processor, one (or multiple) aperiodic servers executes all aperiodic subtasks on that processor. The use of aperiodic servers is intended to bound the influence of aperiodic tasks and make the time demand analysis for periodic tasks and aperiodic tasks feasible. In this dissertation, we choose deferrable server (DS) [56] instead of other more sophisticated servers because it allows a simple and efficient implementation at the middleware layer. Here, we introduce the DS approach. 12

24 Deferrable Servers. In the DS approach, one (or sometimes multiple) server executes all aperiodic subtasks on a processor. Each server has a budget and a period. The budget is replenished at the beginning of each period. The budget decreases whenever the server is executing an aperiodic subtask, and it is preserved till the end of the current period when the server is idle. A server can execute aperiodic subtasks as long as its budget has not been exhausted. The time demand analysis for independent periodic and aperiodic tasks on a single processor based on the DS is given in [33] and [8]. The analysis often must be adapted to accommodate different scheduling policies Aperiodic Utilization Bound Aperiodic utilization bound (AUB) [2] is a kind of schedulable utilization analysis. It provides sufficient utilization conditions for accepting hard deadline periodic and aperiodic work while guaranteeing that all deadlines of those tasks will be met. According to AUB analysis, a system achieves its highest schedulable synthetic utilization bound under the end-to-end deadline monotonic scheduling (EDMS) algorithm. Under EDMS, a subtask has a higher priority if it belongs to a task with a shorter end-to-end deadline. The subtasks of a given task are synchronized by a greedy synchronization protocol, because the AUB analysis does not require their inter-release times to be bounded. Note that AUB does not distinguish aperiodic from periodic tasks. All tasks are scheduled using the same scheduling algorithm. In the AUB analysis, the set of current tasks S(t) at any time t is defined as the set of tasks that have released but whose deadlines have not expired. Hence, S(t) = {T i A i t < A i + D i }, where A i is the release time of the first subtask of task T i, and D i is the deadline of task T i. The synthetic utilization of processor j, U j (t), is defined as the sum of individual subtask utilizations on this processor, accrued over all current tasks. Under EDMS task T i will meet its deadline if the following condition holds [2]: n i j=1 U Vij (1 U Vij /2) 1 U Vij 1 (2.1) where V ij is the j th processor that task T i visits. All completed jobs are also counted as current tasks before their deadlines in the AUB analysis. To reduce the pessimism 13

25 of the AUB analysis, a resetting rule is introduced in [2]. When a processor becomes idle, the contribution of all completed aperiodic subtasks to the processor s synthetic utilization is removed. 2.5 Real-Time ORBs The OMG s Real-Time CORBA specification [40] provides standard policies and mechanisms that support quality-of-service requirements end-to-end, which enhances the effectiveness of distributed object computing middleware for performance-sensitive systems. ORBs send requests between clients and servers transparently. A real-time ORB end-system provides standard interfaces so that applications can specify their resource requirements. The policy framework defined by the CORBA Messaging specification [37] lets applications configure ORB end-system resources, such as thread priorities, buffers for message queuing, transport-level connections, and network signaling, to control ORB behavior end-to-end. TAO [25] is a real-time CORBA ORB that is compliant with the Real-time CORBA specification [40]. Our integrated scheduling framework for end-to-end periodic and aperiodic task scheduling in Chapter 3 is based on TAO. norb [57] is a light weight real-time ORB for memory-constrained networked embedded systems. norb is developed and maintained at Washington University and achieves comparable real-time performance to TAO, while reducing footprint significantly. We developed our MC-ORB implementation, and its AC and TA middleware services for multicore platforms, by extending norb. 2.6 Event Channel The CORBA [42] Event Service [23] implements the Mediator design pattern [18]. The nodes of the resulting distributed communication network are classified as suppliers and consumers according to their roles in using each Event Channel (EC). Suppliers register the types of events which they produce (supply), with an EC. Consumers subscribe to the types of events on which they rely. The Event Channel acts as an 14

26 intermediary between suppliers and consumers so that they do not need to know explicitly about each other. The concept of an Event Service has been extended in the context of RT-CORBA to account for the quality-of-service (QoS) requirements of real-time systems [42]. The QoS parameters of suppliers and consumers may be specified to the EC so that it can distribute events according to those requirements. The TAO Event Channel [23] applies the RT features described in [42] to the CORBA Event Service [36]. The TAO EC adds guarantees for real-time event dispatching and scheduling, through the Kokyu Dispatching Framework [20]; centralized event filtering and correlation; and periodic processing support for the CORBA Event Service [23]. A Federated Event Channel [23] is used to coordinate the processors in which subtasks execute. Each processor has its own EC, and the ECs exchange events via a Gateway, as described in [23]. The Event Channels for a subtask s supplier and consumer exchange events through a Gateway, which acts as a Consumer of the supplier s events and a Supplier of the consumer s events. The Gateway can reside in either processor, but for our implementation it is on the supplier side. Each subtask is implemented as a supplier-consumer pair. The supplier publishes events which trigger the subtask execution in a single consumer. If the subtask is the first subtask in a task, then the supplier has an associated timeout handler registered with the EC to receive timeout events. When the timeout handler receives a timeout event, it triggers the supplier to publish an event to the consumer. If the subtask is not the first subtask, then when a consumer finishes executing its predecessor, the consumer notifies the supplier for this subtask, which behaves as if the supplier had been triggered by a timeout handler. Of course, the final subtask s consumer has no supplier for the next subtask. For example, consider a simple task chain which contains three subtasks. The structure of timers, suppliers, and consumers in the processors P 1, P 2, and P 3 is shown in Figure 2.1. In processor P 1, a supplier S 1,1 with a timer (depicted as a clock) pushes events (arrows) to a consumer C 1,1, which then executes subtask T 1,1 and pushes another event to the processor P 2 through another supplier S 1,2. Processor P 2 s consumer executes subtask T 1,2 then pushes yet a third event to the processor P 3, whose 15

27 consumer executes the final subtask, T 1,3. This sequence of events may happen more than once, every time the timer determines that it is time for T 1 to execute again. C1,1 EC S1,1 Consumer Supplier Event Channel S1,2 Gateway Gateway Processor 1 C1,2 C1,3 EC Gateway EC S1,3 Processor 3 Processor 2 Figure 2.1: Federated Event Channel Structure 2.7 Component Middleware Component middleware platforms are an effective way of achieving customizable reuse of software artifacts. In these platforms, components are units of implementation and composition that collaborate with other components via ports. The ports isolate the components contexts from their actual implementations. Component middleware platforms provide execution environments and common services, and support additional tools to configure and deploy the components. In Chapter 3, to support periodic and aperiodic task scheduling, we developed the first instantiation of a middleware admission control service [67] (on TAO, a widely used Real-Time CORBA middleware). However, this original admission control service only included a fixed set of strategies. As is shown in Section 4.1, a more diverse and configurable set of inter-operating services and strategies is needed to support DRS with different application semantics. Unfortunately, it is difficult to extend implementations that rely directly on distributed object middleware, such as our admission control service in Chapter 3. Specifically, in those middleware systems 16

28 changing the supported strategy requires explicit changes to the service code itself, which can be tedious and error-prone in practice. The Component-Integrated ACE ORB (CIAO) [24] implements the Light Weight CORBA Component Model (CCM) specification [41] and is built atop the TAO [25] real-time CORBA object request broker (ORB). CIAO abstracts common real-time policies as installable and configurable units. However, CIAO does not provide direct support for aperiodic task scheduling, admission control or load balancing. To develop a flexible infrastructure for DRS, in Chapter 4 we develop new admission control and load balancing services, each with a set of alternative strategies on top of CIAO. Furthermore, we have extended CIAO to configure and manage both services. DAnCE [16] is a QoS-enabled component deployment and configuration engine that implements the Object Management Group (OMG) s Light Weight CCM Deployment and Configuration specification [41]. DAnCE parses component configuration/deployment descriptions and automatically configures and deploys ORBs, containers, and server resources at system initialization time, to enforce end-to-end QoS requirements. However, DAnCE does not provide certain essential features needed to configure our admission control and load balancing services correctly, e.g., to disallow invalid combinations of our service strategies. We therefore provide a specific configuration engine that acts as a front-end to DAnCE, to configure our services for application developers who require configurable aperiodic scheduling support. 2.8 Middleware Services Task Scheduling Traditionally, there have been two main approaches for scheduling tasks on multiprocessors: partitioning and global scheduling. In global scheduling, all eligible tasks are stored (at least abstractly) in a single priority-ordered queue. The global scheduler selects for execution the highest priority tasks from this queue. All tasks thus compete for the use of all processors. Unfortunately, using this approach with optimal 17

29 uniprocessor scheduling algorithms, such as the rate-monotonic (RM) and earliestdeadline-first (EDF) algorithms, may result in arbitrarily low processor utilization in multiprocessor systems. In partitioning, each task is assigned to a single processor, on which each of its jobs will execute, and processors are scheduled independently. The main advantage of partitioning approaches is that they reduce a multiprocessor scheduling problem to a set of uniprocessor ones. Unfortunately, partitioning has two negative consequences. First, finding an optimal assignment of tasks to processors is a bin-packing problem, which is NP-hard in the strong sense. Thus, tasks are usually partitioned using non-optimal heuristics. Second, task systems exist that are schedulable if and only if tasks are not partitioned. Still, partitioning approaches are widely used by system designers, e.g., task allocation among multiprocessors. In addition to the above approaches, we consider a new intermediate approach in which each job is assigned to a single processor, while a task is allowed to migrate. In other words, inter-processor task migration is permitted but only at job boundaries Admission Control On-line admission control also offers significant advantages to real-time applications. When a new task arrives at an application processor, the application processor can release the task only if the admission controller verifies that its execution on multiple application processors can meet its end-to-end deadline and will not affect the schedulability of all previous accepted tasks. The responsibility of the admission controller is to guarantee all admitted tasks can meet their deadlines, but it can not guarantee all critical tasks will be admitted if their workload exceeds the schedulable region. However, it may be acceptable to eject non-critical tasks in order to accept new critical tasks. There are two main alternative admission control (AC) architectures: central AC and distributed AC. A key advantage of the central AC architecture is that it does not require synchronization among distributed ACs. In contrast, in a distributed architecture the ACs on multiple processors may need to coordinate and synchronize with each other in order to make correct decisions, because admitting an end-to-end task may affect the schedulability of other tasks located on the multiple affected processors. A potential disadvantage of the centralized architecture is that the AC may become a communication bottleneck and thus affect scalability. Which 18

30 architecture is more suitable depends on the application characteristics and the actual system properties. 2.9 Linux Kernel Kernel support for multicore processors was introduced in Linux 2.0, but it wasn t until the 2.6 kernel that the power of multicore processors was fully realized. The pre- 2.6 scheduler used a single runqueue for all cores in a multicore processor. This meant that a task could be scheduled on any core, which can be good for load balancing but could disrupt memory caches. The pre-2.6 scheduler also used a single runqueue lock, so that in a multicore processor even the selection of which task to execute locked out any other cores from manipulating the runqueues, resulting in idle cores awaiting release of the runqueue lock and accordingly decreasing efficiency. The 2.6 kernel [1, 6] introduced a new O(1) scheduler that included better support for multicore platforms. Since the 2.6 kernel maintains a runqueue for each core, the number of running threads on each of the cores in the processor can be balanced. At regular intervals, the kernel tries to redistribute threads to maintain a balance in the number of running threads per core, across the core complex. In addition, with a runqueue per core, a thread generally shares affinity with a core and can better utilize the core s hot cache. The better support for multicore architectures in Linux 2.6 moves it closer to being an efficient soft real-time operating system on those platforms. However, Linux still can not fulfill important real-time requirements, such as guaranteeing system schedulability. Chapter 5 therefore focuses on characterizing the timing of Linux features on multicore platforms, and then on providing necessary AC and TA services in middleware for real-time systems. 19

31 Chapter 3 Middleware Support for End-to-End Periodic and Aperiodic Tasks In this chapter, we first introduce a new integrated framework for scheduling end-toend periodic and aperiodic tasks. Our framework can be configured to support two different aperiodic scheduling approaches: deferrable server and aperiodic utilization bound. Each of them requires different supporting mechanisms in the middleware. We evaluate the performance of our framework and characterize the different overheads introduced by two approaches. 3.1 Integrated Scheduling Framework To support end-to-end aperiodic tasks, we have developed a new middleware architecture based on TAO s Federated Event Service [23]. The key feature of our architecture is an integrated scheduling framework for a mix of critical/non-critical and aperiodic/periodic tasks. Our integrated scheduling framework is composed of two key components: (1) end-to-end middleware services for scheduling and dispatching both periodic and aperiodic tasks; and (2) an admission controller that provides on-line admission control and schedulability tests for tasks that arrive dynamically at run time. 20

Real-Time Performance and Middleware for Multiprocessor and Multicore Linux Platforms

Real-Time Performance and Middleware for Multiprocessor and Multicore Linux Platforms Real-Time Performance and Middleware for Multiprocessor and Multicore Linux Platforms Yuanfang Zhang, Christopher Gill and Chenyang Lu Department of Computer Science and Engineering, Washington University,

More information

Real- Time Scheduling

Real- Time Scheduling Real- Time Scheduling Chenyang Lu CSE 467S Embedded Compu5ng Systems Readings Ø Single-Processor Scheduling: Hard Real-Time Computing Systems, by G. Buttazzo. q Chapter 4 Periodic Task Scheduling q Chapter

More information

Operatin g Systems: Internals and Design Principle s. Chapter 10 Multiprocessor and Real-Time Scheduling Seventh Edition By William Stallings

Operatin g Systems: Internals and Design Principle s. Chapter 10 Multiprocessor and Real-Time Scheduling Seventh Edition By William Stallings Operatin g Systems: Internals and Design Principle s Chapter 10 Multiprocessor and Real-Time Scheduling Seventh Edition By William Stallings Operating Systems: Internals and Design Principles Bear in mind,

More information

4. Fixed-Priority Scheduling

4. Fixed-Priority Scheduling Simple workload model 4. Fixed-Priority Scheduling Credits to A. Burns and A. Wellings The application is assumed to consist of a fixed set of tasks All tasks are periodic with known periods This defines

More information

Multiprocessor Scheduling and Scheduling in Linux Kernel 2.6

Multiprocessor Scheduling and Scheduling in Linux Kernel 2.6 Multiprocessor Scheduling and Scheduling in Linux Kernel 2.6 Winter Term 2008 / 2009 Jun.-Prof. Dr. André Brinkmann Andre.Brinkmann@uni-paderborn.de Universität Paderborn PC² Agenda Multiprocessor and

More information

How To Guarantee A Service In A Distributed Real Time System

How To Guarantee A Service In A Distributed Real Time System Dynamic Guarantee in Component-Based Distributed Real-Time Systems Cssia Yuri Tatibana Romulo Silva de Oliveira* Carlos Montez Departamento de Automao e Sistemas Universidade Federal de Santa Catarina

More information

Long-term monitoring of apparent latency in PREEMPT RT Linux real-time systems

Long-term monitoring of apparent latency in PREEMPT RT Linux real-time systems Long-term monitoring of apparent latency in PREEMPT RT Linux real-time systems Carsten Emde Open Source Automation Development Lab (OSADL) eg Aichhalder Str. 39, 78713 Schramberg, Germany C.Emde@osadl.org

More information

How To Provide Qos Based Routing In The Internet

How To Provide Qos Based Routing In The Internet CHAPTER 2 QoS ROUTING AND ITS ROLE IN QOS PARADIGM 22 QoS ROUTING AND ITS ROLE IN QOS PARADIGM 2.1 INTRODUCTION As the main emphasis of the present research work is on achieving QoS in routing, hence this

More information

Scheduling Aperiodic and Sporadic Jobs in Priority- Driven Systems

Scheduling Aperiodic and Sporadic Jobs in Priority- Driven Systems Scheduling Aperiodic and Sporadic Jobs in Priority- Driven Systems Ingo Sander ingo@kth.se Liu: Chapter 7 IL2212 Embedded Software 1 Outline l System Model and Assumptions l Scheduling Aperiodic Jobs l

More information

Lecture 3 Theoretical Foundations of RTOS

Lecture 3 Theoretical Foundations of RTOS CENG 383 Real-Time Systems Lecture 3 Theoretical Foundations of RTOS Asst. Prof. Tolga Ayav, Ph.D. Department of Computer Engineering Task States Executing Ready Suspended (or blocked) Dormant (or sleeping)

More information

CHAPTER 4: SOFTWARE PART OF RTOS, THE SCHEDULER

CHAPTER 4: SOFTWARE PART OF RTOS, THE SCHEDULER CHAPTER 4: SOFTWARE PART OF RTOS, THE SCHEDULER To provide the transparency of the system the user space is implemented in software as Scheduler. Given the sketch of the architecture, a low overhead scheduler

More information

Commonly Used Approaches to Real-Time Scheduling

Commonly Used Approaches to Real-Time Scheduling Integre Technical Publishing Co., Inc. Liu January 13, 2000 8:46 a.m. chap4 page 60 C H A P T E R 4 Commonly Used Approaches to Real-Time Scheduling This chapter provides a brief overview of three commonly

More information

Periodic Task Scheduling

Periodic Task Scheduling Periodic Task Scheduling Radek Pelánek Motivation and Assumptions Examples of Periodic Tasks sensory data acquisition control loops action planning system monitoring Motivation and Assumptions Simplifying

More information

Huang-Ming Huang and Christopher Gill. Bala Natarajan and Aniruddha Gokhale

Huang-Ming Huang and Christopher Gill. Bala Natarajan and Aniruddha Gokhale Replication Strategies for Fault-Tolerant Real-Time CORBA Services Huang-Ming Huang and Christopher Gill Washington University, St. Louis, MO {hh1,cdgill}@cse.wustl.edu Bala Natarajan and Aniruddha Gokhale

More information

Scheduling. Yücel Saygın. These slides are based on your text book and on the slides prepared by Andrew S. Tanenbaum

Scheduling. Yücel Saygın. These slides are based on your text book and on the slides prepared by Andrew S. Tanenbaum Scheduling Yücel Saygın These slides are based on your text book and on the slides prepared by Andrew S. Tanenbaum 1 Scheduling Introduction to Scheduling (1) Bursts of CPU usage alternate with periods

More information

System Software Integration: An Expansive View. Overview

System Software Integration: An Expansive View. Overview Software Integration: An Expansive View Steven P. Smith Design of Embedded s EE382V Fall, 2009 EE382 SoC Design Software Integration SPS-1 University of Texas at Austin Overview Some Definitions Introduction:

More information

3. Scheduling issues. Common approaches /1. Common approaches /2. Common approaches /3. 2012/13 UniPD / T. Vardanega 23/01/2013. Real-Time Systems 1

3. Scheduling issues. Common approaches /1. Common approaches /2. Common approaches /3. 2012/13 UniPD / T. Vardanega 23/01/2013. Real-Time Systems 1 Common approaches /1 3. Scheduling issues Clock-driven (time-driven) scheduling Scheduling decisions are made beforehand (off line) and carried out at predefined time instants The time instants normally

More information

Priority-Driven Scheduling

Priority-Driven Scheduling Priority-Driven Scheduling Advantages of Priority-Driven Scheduling Priority-driven scheduling is easy to implement. It does not require the information on the release times and execution times of the

More information

Improved Handling of Soft Aperiodic Tasks in Offline Scheduled Real-Time Systems using Total Bandwidth Server

Improved Handling of Soft Aperiodic Tasks in Offline Scheduled Real-Time Systems using Total Bandwidth Server Improved Handling of Soft Aperiodic Tasks in Offline Scheduled Real-Time Systems using Total Bandwidth Server Gerhard Fohler, Tomas Lennvall Mälardalen University Västeras, Sweden gfr, tlv @mdh.se Giorgio

More information

Methods and Tools For Embedded Distributed System Scheduling and Schedulability Analysis

Methods and Tools For Embedded Distributed System Scheduling and Schedulability Analysis Methods and Tools For Embedded Distributed System Scheduling and Schedulability Analysis Steve Vestal Honeywell Labs Steve.Vestal@Honeywell.com 18 October 2005 Outline Background Binding and Routing Scheduling

More information

Lecture Outline Overview of real-time scheduling algorithms Outline relative strengths, weaknesses

Lecture Outline Overview of real-time scheduling algorithms Outline relative strengths, weaknesses Overview of Real-Time Scheduling Embedded Real-Time Software Lecture 3 Lecture Outline Overview of real-time scheduling algorithms Clock-driven Weighted round-robin Priority-driven Dynamic vs. static Deadline

More information

Modular Real-Time Linux

Modular Real-Time Linux Modular Real-Time Linux Shinpei Kato Department of Information and Computer Science, Keio University 3-14-1 Hiyoshi, Kohoku, Yokohama, Japan shinpei@ny.ics.keio.ac.jp Nobuyuki Yamasaki Department of Information

More information

Real-Time Scheduling 1 / 39

Real-Time Scheduling 1 / 39 Real-Time Scheduling 1 / 39 Multiple Real-Time Processes A runs every 30 msec; each time it needs 10 msec of CPU time B runs 25 times/sec for 15 msec C runs 20 times/sec for 5 msec For our equation, A

More information

Proactive, Resource-Aware, Tunable Real-time Fault-tolerant Middleware

Proactive, Resource-Aware, Tunable Real-time Fault-tolerant Middleware Proactive, Resource-Aware, Tunable Real-time Fault-tolerant Middleware Priya Narasimhan T. Dumitraş, A. Paulos, S. Pertet, C. Reverte, J. Slember, D. Srivastava Carnegie Mellon University Problem Description

More information

Real-Time Scheduling (Part 1) (Working Draft) Real-Time System Example

Real-Time Scheduling (Part 1) (Working Draft) Real-Time System Example Real-Time Scheduling (Part 1) (Working Draft) Insup Lee Department of Computer and Information Science School of Engineering and Applied Science University of Pennsylvania www.cis.upenn.edu/~lee/ CIS 41,

More information

Quality of Service su Linux: Passato Presente e Futuro

Quality of Service su Linux: Passato Presente e Futuro Quality of Service su Linux: Passato Presente e Futuro Luca Abeni luca.abeni@unitn.it Università di Trento Quality of Service su Linux:Passato Presente e Futuro p. 1 Quality of Service Time Sensitive applications

More information

Aperiodic Task Scheduling

Aperiodic Task Scheduling Aperiodic Task Scheduling Jian-Jia Chen (slides are based on Peter Marwedel) TU Dortmund, Informatik 12 Germany Springer, 2010 2014 年 11 月 19 日 These slides use Microsoft clip arts. Microsoft copyright

More information

Real- Time Mul,- Core Virtual Machine Scheduling in Xen

Real- Time Mul,- Core Virtual Machine Scheduling in Xen Real- Time Mul,- Core Virtual Machine Scheduling in Xen Sisu Xi 1, Meng Xu 2, Chenyang Lu 1, Linh Phan 2, Chris Gill 1, Oleg Sokolsky 2, Insup Lee 2 1 Washington University in St. Louis 2 University of

More information

Aperiodic Task Scheduling

Aperiodic Task Scheduling Aperiodic Task Scheduling Gerhard Fohler Mälardalen University, Sweden gerhard.fohler@mdh.se Real-Time Systems Gerhard Fohler 2005 Non Periodic Tasks So far periodic events and tasks what about others?

More information

Predictable response times in event-driven real-time systems

Predictable response times in event-driven real-time systems Predictable response times in event-driven real-time systems Automotive 2006 - Security and Reliability in Automotive Systems Stuttgart, October 2006. Presented by: Michael González Harbour mgh@unican.es

More information

Today. Intro to real-time scheduling Cyclic executives. Scheduling tables Frames Frame size constraints. Non-independent tasks Pros and cons

Today. Intro to real-time scheduling Cyclic executives. Scheduling tables Frames Frame size constraints. Non-independent tasks Pros and cons Today Intro to real-time scheduling Cyclic executives Scheduling tables Frames Frame size constraints Generating schedules Non-independent tasks Pros and cons Real-Time Systems The correctness of a real-time

More information

Real-time Scheduling of Periodic Tasks (1) Advanced Operating Systems Lecture 2

Real-time Scheduling of Periodic Tasks (1) Advanced Operating Systems Lecture 2 Real-time Scheduling of Periodic Tasks (1) Advanced Operating Systems Lecture 2 Lecture Outline Scheduling periodic tasks The rate monotonic algorithm Definition Non-optimality Time-demand analysis...

More information

Evaluating the Performance of Middleware Load Balancing Strategies

Evaluating the Performance of Middleware Load Balancing Strategies Evaluating the Performance of Middleware Load Balancing Strategies Jaiganesh Balasubramanian, Douglas C. Schmidt, Lawrence Dowdy, and Ossama Othman fjai,schmidt,ossamag@dre.vanderbilt.edu and larry.dowdy@vanderbilt.edu

More information

CHAPTER 1 INTRODUCTION

CHAPTER 1 INTRODUCTION CHAPTER 1 INTRODUCTION 1.1 Background The command over cloud computing infrastructure is increasing with the growing demands of IT infrastructure during the changed business scenario of the 21 st Century.

More information

Resource Reservation & Resource Servers. Problems to solve

Resource Reservation & Resource Servers. Problems to solve Resource Reservation & Resource Servers Problems to solve Hard-deadline tasks may be Periodic or Sporadic (with a known minimum arrival time) or Non periodic (how to deal with this?) Soft-deadline tasks

More information

RECENT years have seen increasing attention being given

RECENT years have seen increasing attention being given IEEE TRANSACTIONS ON COMPUTERS, VOL. 58, NO. 8, AUGUST 2009 1095 Towards Controllable Distributed Real-Time Systems with Feasible Utilization Control Xiaorui Wang, Member, IEEE, Yingming Chen, Chenyang

More information

PERFORMANCE COMPARISON OF COMMON OBJECT REQUEST BROKER ARCHITECTURE(CORBA) VS JAVA MESSAGING SERVICE(JMS) BY TEAM SCALABLE

PERFORMANCE COMPARISON OF COMMON OBJECT REQUEST BROKER ARCHITECTURE(CORBA) VS JAVA MESSAGING SERVICE(JMS) BY TEAM SCALABLE PERFORMANCE COMPARISON OF COMMON OBJECT REQUEST BROKER ARCHITECTURE(CORBA) VS JAVA MESSAGING SERVICE(JMS) BY TEAM SCALABLE TIGRAN HAKOBYAN SUJAL PATEL VANDANA MURALI INTRODUCTION Common Object Request

More information

Operating System Aspects. Real-Time Systems. Resource Management Tasks

Operating System Aspects. Real-Time Systems. Resource Management Tasks Operating System Aspects Chapter 2: Basics Chapter 3: Multimedia Systems Communication Aspects and Services Multimedia Applications and Communication Multimedia Transfer and Control Protocols Quality of

More information

CHAPTER 2 MODELLING FOR DISTRIBUTED NETWORK SYSTEMS: THE CLIENT- SERVER MODEL

CHAPTER 2 MODELLING FOR DISTRIBUTED NETWORK SYSTEMS: THE CLIENT- SERVER MODEL CHAPTER 2 MODELLING FOR DISTRIBUTED NETWORK SYSTEMS: THE CLIENT- SERVER MODEL This chapter is to introduce the client-server model and its role in the development of distributed network systems. The chapter

More information

2. is the number of processes that are completed per time unit. A) CPU utilization B) Response time C) Turnaround time D) Throughput

2. is the number of processes that are completed per time unit. A) CPU utilization B) Response time C) Turnaround time D) Throughput Import Settings: Base Settings: Brownstone Default Highest Answer Letter: D Multiple Keywords in Same Paragraph: No Chapter: Chapter 5 Multiple Choice 1. Which of the following is true of cooperative scheduling?

More information

LBPerf: An Open Toolkit to Empirically Evaluate the Quality of Service of Middleware Load Balancing Services

LBPerf: An Open Toolkit to Empirically Evaluate the Quality of Service of Middleware Load Balancing Services LBPerf: An Open Toolkit to Empirically Evaluate the Quality of Service of Middleware Load Balancing Services Ossama Othman Jaiganesh Balasubramanian Dr. Douglas C. Schmidt {jai, ossama, schmidt}@dre.vanderbilt.edu

More information

DYNAMIC SCHEDULING STRATEGIES FOR AVIONICS MISSION COMPUTING. David L. Levine, Christopher D. Gill, and Douglas C. Schmidt

DYNAMIC SCHEDULING STRATEGIES FOR AVIONICS MISSION COMPUTING. David L. Levine, Christopher D. Gill, and Douglas C. Schmidt DYNAMIC SCHEDULING STRATEGIES FOR AVIONICS MISSION COMPUTING David L. Levine, Christopher D. Gill, and Douglas C. Schmidt flevine,cdgill,schmidtg@cs.wustl.edu Department of Computer Science, Washington

More information

CHAPTER 1 INTRODUCTION

CHAPTER 1 INTRODUCTION 1 CHAPTER 1 INTRODUCTION 1.1 MOTIVATION OF RESEARCH Multicore processors have two or more execution cores (processors) implemented on a single chip having their own set of execution and architectural recourses.

More information

Embedded Systems. 6. Real-Time Operating Systems

Embedded Systems. 6. Real-Time Operating Systems Embedded Systems 6. Real-Time Operating Systems Lothar Thiele 6-1 Contents of Course 1. Embedded Systems Introduction 2. Software Introduction 7. System Components 10. Models 3. Real-Time Models 4. Periodic/Aperiodic

More information

Model Driven Development of Inventory Tracking System*

Model Driven Development of Inventory Tracking System* Model Driven Development of Inventory Tracking System* Gan Deng, Tao Lu, Emre Turkay Andrey Nechypurenko Aniruddha Gokhale, Douglas Schmidt ISIS, Vanderbilt University Siemens Nashville, TN 37221 Germany

More information

N. Audsley. A. Burns Department of Computer Science, University of York, UK. ABSTRACT

N. Audsley. A. Burns Department of Computer Science, University of York, UK. ABSTRACT REAL-TIME SYSTEM SCHEDULING N Audsley A Burns Department of Computer Science, University of York, UK ABSTRACT Recent results in the application of scheduling theory to dependable real-time systems are

More information

AN OVERVIEW OF QUALITY OF SERVICE COMPUTER NETWORK

AN OVERVIEW OF QUALITY OF SERVICE COMPUTER NETWORK Abstract AN OVERVIEW OF QUALITY OF SERVICE COMPUTER NETWORK Mrs. Amandeep Kaur, Assistant Professor, Department of Computer Application, Apeejay Institute of Management, Ramamandi, Jalandhar-144001, Punjab,

More information

Internet Quality of Service

Internet Quality of Service Internet Quality of Service Weibin Zhao zwb@cs.columbia.edu 1 Outline 1. Background 2. Basic concepts 3. Supporting mechanisms 4. Frameworks 5. Policy & resource management 6. Conclusion 2 Background:

More information

174: Scheduling Systems. Emil Michta University of Zielona Gora, Zielona Gora, Poland 1 TIMING ANALYSIS IN NETWORKED MEASUREMENT CONTROL SYSTEMS

174: Scheduling Systems. Emil Michta University of Zielona Gora, Zielona Gora, Poland 1 TIMING ANALYSIS IN NETWORKED MEASUREMENT CONTROL SYSTEMS 174: Scheduling Systems Emil Michta University of Zielona Gora, Zielona Gora, Poland 1 Timing Analysis in Networked Measurement Control Systems 1 2 Introduction to Scheduling Systems 2 3 Scheduling Theory

More information

Online Scheduling for Cloud Computing and Different Service Levels

Online Scheduling for Cloud Computing and Different Service Levels 2012 IEEE 201226th IEEE International 26th International Parallel Parallel and Distributed and Distributed Processing Processing Symposium Symposium Workshops Workshops & PhD Forum Online Scheduling for

More information

GEDAE TM - A Graphical Programming and Autocode Generation Tool for Signal Processor Applications

GEDAE TM - A Graphical Programming and Autocode Generation Tool for Signal Processor Applications GEDAE TM - A Graphical Programming and Autocode Generation Tool for Signal Processor Applications Harris Z. Zebrowitz Lockheed Martin Advanced Technology Laboratories 1 Federal Street Camden, NJ 08102

More information

CPU Scheduling Outline

CPU Scheduling Outline CPU Scheduling Outline What is scheduling in the OS? What are common scheduling criteria? How to evaluate scheduling algorithms? What are common scheduling algorithms? How is thread scheduling different

More information

CPU SCHEDULING (CONT D) NESTED SCHEDULING FUNCTIONS

CPU SCHEDULING (CONT D) NESTED SCHEDULING FUNCTIONS CPU SCHEDULING CPU SCHEDULING (CONT D) Aims to assign processes to be executed by the CPU in a way that meets system objectives such as response time, throughput, and processor efficiency Broken down into

More information

Chapter 5 Linux Load Balancing Mechanisms

Chapter 5 Linux Load Balancing Mechanisms Chapter 5 Linux Load Balancing Mechanisms Load balancing mechanisms in multiprocessor systems have two compatible objectives. One is to prevent processors from being idle while others processors still

More information

Multi-core real-time scheduling

Multi-core real-time scheduling Multi-core real-time scheduling Credits: Anne-Marie Déplanche, Irccyn, Nantes (many slides come from her presentation at ETR, Brest, September 2011) 1 Multi-core real-time scheduling! Introduction: problem

More information

Quality of Service on the Internet: Evaluation of the IntServ Architecture on the Linux Operative System 1

Quality of Service on the Internet: Evaluation of the IntServ Architecture on the Linux Operative System 1 Quality of Service on the Internet: Evaluation of the IntServ Architecture on the Linux Operative System 1 Elisabete Reis elreis@dei.uc.pt Polytechnic Institute of Coimbra Fernando Melo fmelor@dei.uc.pt

More information

Road Map. Scheduling. Types of Scheduling. Scheduling. CPU Scheduling. Job Scheduling. Dickinson College Computer Science 354 Spring 2010.

Road Map. Scheduling. Types of Scheduling. Scheduling. CPU Scheduling. Job Scheduling. Dickinson College Computer Science 354 Spring 2010. Road Map Scheduling Dickinson College Computer Science 354 Spring 2010 Past: What an OS is, why we have them, what they do. Base hardware and support for operating systems Process Management Threads Present:

More information

Analysis of IP Network for different Quality of Service

Analysis of IP Network for different Quality of Service 2009 International Symposium on Computing, Communication, and Control (ISCCC 2009) Proc.of CSIT vol.1 (2011) (2011) IACSIT Press, Singapore Analysis of IP Network for different Quality of Service Ajith

More information

Real-Time Component Software. slide credits: H. Kopetz, P. Puschner

Real-Time Component Software. slide credits: H. Kopetz, P. Puschner Real-Time Component Software slide credits: H. Kopetz, P. Puschner Overview OS services Task Structure Task Interaction Input/Output Error Detection 2 Operating System and Middleware Applica3on So5ware

More information

OpenMosix Presented by Dr. Moshe Bar and MAASK [01]

OpenMosix Presented by Dr. Moshe Bar and MAASK [01] OpenMosix Presented by Dr. Moshe Bar and MAASK [01] openmosix is a kernel extension for single-system image clustering. openmosix [24] is a tool for a Unix-like kernel, such as Linux, consisting of adaptive

More information

A Periodic Events - For the Non- Scheduling Server

A Periodic Events - For the Non- Scheduling Server 6. Aperiodic events 6.1 Concepts and definitions 6.2 Polling servers 6.3 Sporadic servers 6.4 Analyzing aperiodic tasks 6.5 Modelling aperiodic events GRUPO DE COMPUTADORES Y TIEMPO REAL REAL-TIME SYSTEMS

More information

CHAPTER 5 WLDMA: A NEW LOAD BALANCING STRATEGY FOR WAN ENVIRONMENT

CHAPTER 5 WLDMA: A NEW LOAD BALANCING STRATEGY FOR WAN ENVIRONMENT 81 CHAPTER 5 WLDMA: A NEW LOAD BALANCING STRATEGY FOR WAN ENVIRONMENT 5.1 INTRODUCTION Distributed Web servers on the Internet require high scalability and availability to provide efficient services to

More information

Real-Time (Paradigms) (51)

Real-Time (Paradigms) (51) Real-Time (Paradigms) (51) 5. Real-Time Communication Data flow (communication) in embedded systems : Sensor --> Controller Controller --> Actor Controller --> Display Controller Controller Major

More information

Scheduling. Scheduling. Scheduling levels. Decision to switch the running process can take place under the following circumstances:

Scheduling. Scheduling. Scheduling levels. Decision to switch the running process can take place under the following circumstances: Scheduling Scheduling Scheduling levels Long-term scheduling. Selects which jobs shall be allowed to enter the system. Only used in batch systems. Medium-term scheduling. Performs swapin-swapout operations

More information

The simple case: Cyclic execution

The simple case: Cyclic execution The simple case: Cyclic execution SCHEDULING PERIODIC TASKS Repeat a set of aperiodic tasks at a specific rate (cycle) 1 2 Periodic tasks Periodic tasks (the simplified case) Scheduled to run Arrival time

More information

A very short history of networking

A very short history of networking A New vision for network architecture David Clark M.I.T. Laboratory for Computer Science September, 2002 V3.0 Abstract This is a proposal for a long-term program in network research, consistent with the

More information

Real-Time Multi-Core Virtual Machine Scheduling in Xen

Real-Time Multi-Core Virtual Machine Scheduling in Xen Department of Computer Science & Engineering 23-9 Real-Time Multi-Core Virtual Machine Scheduling in Xen Authors: Sisu Xi, Meng Xu, Chenyang Lu, Linh T.X. Phan, Christopher Gill, Oleg Sokolsky, Insup Lee

More information

Bigdata High Availability (HA) Architecture

Bigdata High Availability (HA) Architecture Bigdata High Availability (HA) Architecture Introduction This whitepaper describes an HA architecture based on a shared nothing design. Each node uses commodity hardware and has its own local resources

More information

Advanced Operating Systems (M) Dr Colin Perkins School of Computing Science University of Glasgow

Advanced Operating Systems (M) Dr Colin Perkins School of Computing Science University of Glasgow Advanced Operating Systems (M) Dr Colin Perkins School of Computing Science University of Glasgow Rationale Radical changes to computing landscape; Desktop PC becoming irrelevant Heterogeneous, multicore,

More information

QoS issues in Voice over IP

QoS issues in Voice over IP COMP9333 Advance Computer Networks Mini Conference QoS issues in Voice over IP Student ID: 3058224 Student ID: 3043237 Student ID: 3036281 Student ID: 3025715 QoS issues in Voice over IP Abstract: This

More information

CoSMIC: An MDA Tool Suite for Application Deployment and Configuration

CoSMIC: An MDA Tool Suite for Application Deployment and Configuration CoSMIC: An MDA Tool Suite for Application Deployment and Configuration Tao Lu, Emre Turkay, Aniruddha Gokhale*, Douglas Schmidt Institute for Software Integrated Systems Vanderbilt University, Nashville

More information

VIRTUAL RESOURCE MANAGEMENT FOR DATA INTENSIVE APPLICATIONS IN CLOUD INFRASTRUCTURES

VIRTUAL RESOURCE MANAGEMENT FOR DATA INTENSIVE APPLICATIONS IN CLOUD INFRASTRUCTURES U.P.B. Sci. Bull., Series C, Vol. 76, Iss. 2, 2014 ISSN 2286-3540 VIRTUAL RESOURCE MANAGEMENT FOR DATA INTENSIVE APPLICATIONS IN CLOUD INFRASTRUCTURES Elena Apostol 1, Valentin Cristea 2 Cloud computing

More information

HARD REAL-TIME SCHEDULING: THE DEADLINE-MONOTONIC APPROACH 1. Department of Computer Science, University of York, York, YO1 5DD, England.

HARD REAL-TIME SCHEDULING: THE DEADLINE-MONOTONIC APPROACH 1. Department of Computer Science, University of York, York, YO1 5DD, England. HARD REAL-TIME SCHEDULING: THE DEADLINE-MONOTONIC APPROACH 1 N C Audsley A Burns M F Richardson A J Wellings Department of Computer Science, University of York, York, YO1 5DD, England ABSTRACT The scheduling

More information

The Shortcut Guide to Balancing Storage Costs and Performance with Hybrid Storage

The Shortcut Guide to Balancing Storage Costs and Performance with Hybrid Storage The Shortcut Guide to Balancing Storage Costs and Performance with Hybrid Storage sponsored by Dan Sullivan Chapter 1: Advantages of Hybrid Storage... 1 Overview of Flash Deployment in Hybrid Storage Systems...

More information

Real Time Network Server Monitoring using Smartphone with Dynamic Load Balancing

Real Time Network Server Monitoring using Smartphone with Dynamic Load Balancing www.ijcsi.org 227 Real Time Network Server Monitoring using Smartphone with Dynamic Load Balancing Dhuha Basheer Abdullah 1, Zeena Abdulgafar Thanoon 2, 1 Computer Science Department, Mosul University,

More information

WIND RIVER SECURE ANDROID CAPABILITY

WIND RIVER SECURE ANDROID CAPABILITY WIND RIVER SECURE ANDROID CAPABILITY Cyber warfare has swiftly migrated from hacking into enterprise networks and the Internet to targeting, and being triggered from, mobile devices. With the recent explosion

More information

Deciding which process to run. (Deciding which thread to run) Deciding how long the chosen process can run

Deciding which process to run. (Deciding which thread to run) Deciding how long the chosen process can run SFWR ENG 3BB4 Software Design 3 Concurrent System Design 2 SFWR ENG 3BB4 Software Design 3 Concurrent System Design 11.8 10 CPU Scheduling Chapter 11 CPU Scheduling Policies Deciding which process to run

More information

packet retransmitting based on dynamic route table technology, as shown in fig. 2 and 3.

packet retransmitting based on dynamic route table technology, as shown in fig. 2 and 3. Implementation of an Emulation Environment for Large Scale Network Security Experiments Cui Yimin, Liu Li, Jin Qi, Kuang Xiaohui National Key Laboratory of Science and Technology on Information System

More information

Quantum Support for Multiprocessor Pfair Scheduling in Linux

Quantum Support for Multiprocessor Pfair Scheduling in Linux Quantum Support for Multiprocessor fair Scheduling in Linux John M. Calandrino and James H. Anderson Department of Computer Science, The University of North Carolina at Chapel Hill Abstract This paper

More information

Common Approaches to Real-Time Scheduling

Common Approaches to Real-Time Scheduling Common Approaches to Real-Time Scheduling Clock-driven time-driven schedulers Priority-driven schedulers Examples of priority driven schedulers Effective timing constraints The Earliest-Deadline-First

More information

Load Balancing in CORBA: A Survey. Response to the Aggregated Computing RFI

Load Balancing in CORBA: A Survey. Response to the Aggregated Computing RFI Load Balancing in CORBA: A Survey Response to the Aggregated Computing RFI Document orbos/99-07-19 Thomas Schnekenburger Siemens AG, Dept. ZT SE 2, D-81730 Munich, Germany thomas.schnekenburger@mchp.siemens.de

More information

Using EDF in Linux: SCHED DEADLINE. Luca Abeni luca.abeni@unitn.it

Using EDF in Linux: SCHED DEADLINE. Luca Abeni luca.abeni@unitn.it Using EDF in Linux: Luca Abeni luca.abeni@unitn.it Using Fixed Priorities in Linux SCHED FIFO and SCHED RR use fixed priorities They can be used for real-time tasks, to implement RM and DM Real-time tasks

More information

QoS and Communication Performance Management

QoS and Communication Performance Management Using a Real-Time, QoS-based ORB to Intelligently Manage Communications Bandwidth in a Multi-Protocol Environment Bill Beckwith Objective Interface Systems, Inc. OMG Embedded Workshop The Nature of CORBA

More information

Real-Time Operating Systems for MPSoCs

Real-Time Operating Systems for MPSoCs Real-Time Operating Systems for MPSoCs Hiroyuki Tomiyama Graduate School of Information Science Nagoya University http://member.acm.org/~hiroyuki MPSoC 2009 1 Contributors Hiroaki Takada Director and Professor

More information

Enterprise Application Performance Management: An End-to-End Perspective

Enterprise Application Performance Management: An End-to-End Perspective SETLabs Briefings VOL 4 NO 2 Oct - Dec 2006 Enterprise Application Performance Management: An End-to-End Perspective By Vishy Narayan With rapidly evolving technology, continued improvements in performance

More information

Stream Processing on GPUs Using Distributed Multimedia Middleware

Stream Processing on GPUs Using Distributed Multimedia Middleware Stream Processing on GPUs Using Distributed Multimedia Middleware Michael Repplinger 1,2, and Philipp Slusallek 1,2 1 Computer Graphics Lab, Saarland University, Saarbrücken, Germany 2 German Research

More information

White Paper. Real-time Capabilities for Linux SGI REACT Real-Time for Linux

White Paper. Real-time Capabilities for Linux SGI REACT Real-Time for Linux White Paper Real-time Capabilities for Linux SGI REACT Real-Time for Linux Abstract This white paper describes the real-time capabilities provided by SGI REACT Real-Time for Linux. software. REACT enables

More information

Module 6. Embedded System Software. Version 2 EE IIT, Kharagpur 1

Module 6. Embedded System Software. Version 2 EE IIT, Kharagpur 1 Module 6 Embedded System Software Version 2 EE IIT, Kharagpur 1 Lesson 30 Real-Time Task Scheduling Part 2 Version 2 EE IIT, Kharagpur 2 Specific Instructional Objectives At the end of this lesson, the

More information

Distributed Objects and Components

Distributed Objects and Components Distributed Objects and Components Introduction This essay will identify the differences between objects and components and what it means for a component to be distributed. It will also examine the Java

More information

RT-QoS for Wireless ad-hoc Networks of Embedded Systems

RT-QoS for Wireless ad-hoc Networks of Embedded Systems RT-QoS for Wireless ad-hoc Networks of Embedded Systems Marco accamo University of Illinois Urbana-hampaign 1 Outline Wireless RT-QoS: important MA attributes and faced challenges Some new ideas and results

More information

Multimedia Requirements. Multimedia and Networks. Quality of Service

Multimedia Requirements. Multimedia and Networks. Quality of Service Multimedia Requirements Chapter 2: Representation of Multimedia Data Chapter 3: Multimedia Systems Communication Aspects and Services Multimedia Applications and Transfer/Control Protocols Quality of Service

More information

A Management Tool for Component-Based Real-Time Supervision and Control Systems

A Management Tool for Component-Based Real-Time Supervision and Control Systems A Management Tool for Component-Based Real-Time Supervision and Control Systems Sandro Santos Andrade, Raimundo José de Araújo Macêdo Distributed Systems Laboratory (LaSiD) Post-Graduation Program on Mechatronics

More information

Designing Fluctronic Real-Time Systems

Designing Fluctronic Real-Time Systems Journal of Real-Time Systems, Special Issue on Control-Theoretical Approaches to Real-Time Computing Feedback Control Real-Time Scheduling: Framework, Modeling, and Algorithms * Chenyang Lu John A. Stankovic

More information

LinuxWorld Conference & Expo Server Farms and XML Web Services

LinuxWorld Conference & Expo Server Farms and XML Web Services LinuxWorld Conference & Expo Server Farms and XML Web Services Jorgen Thelin, CapeConnect Chief Architect PJ Murray, Product Manager Cape Clear Software Objectives What aspects must a developer be aware

More information

Model-driven Configuration and Deployment of Component Middleware Publish/Subscribe Services

Model-driven Configuration and Deployment of Component Middleware Publish/Subscribe Services Model-driven Configuration and Deployment of Component Middleware Publish/Subscribe Services George Edwards, Gan Deng, Douglas C. Schmidt, Aniruddha Gokhale, and Bala Natarajan {edwardgt,dengg,schmidt,gokhale,bala}@dre.vanderbilt.edu

More information

Efficient Scheduling Of On-line Services in Cloud Computing Based on Task Migration

Efficient Scheduling Of On-line Services in Cloud Computing Based on Task Migration Efficient Scheduling Of On-line Services in Cloud Computing Based on Task Migration 1 Harish H G, 2 Dr. R Girisha 1 PG Student, 2 Professor, Department of CSE, PESCE Mandya (An Autonomous Institution under

More information

Making Multicore Work and Measuring its Benefits. Markus Levy, president EEMBC and Multicore Association

Making Multicore Work and Measuring its Benefits. Markus Levy, president EEMBC and Multicore Association Making Multicore Work and Measuring its Benefits Markus Levy, president EEMBC and Multicore Association Agenda Why Multicore? Standards and issues in the multicore community What is Multicore Association?

More information

Smart Queue Scheduling for QoS Spring 2001 Final Report

Smart Queue Scheduling for QoS Spring 2001 Final Report ENSC 833-3: NETWORK PROTOCOLS AND PERFORMANCE CMPT 885-3: SPECIAL TOPICS: HIGH-PERFORMANCE NETWORKS Smart Queue Scheduling for QoS Spring 2001 Final Report By Haijing Fang(hfanga@sfu.ca) & Liu Tang(llt@sfu.ca)

More information

- An Essential Building Block for Stable and Reliable Compute Clusters

- An Essential Building Block for Stable and Reliable Compute Clusters Ferdinand Geier ParTec Cluster Competence Center GmbH, V. 1.4, March 2005 Cluster Middleware - An Essential Building Block for Stable and Reliable Compute Clusters Contents: Compute Clusters a Real Alternative

More information