+ All Categories
Transcript
Page 1: Configurable Middleware for Distributed Real-Time Systems ...cdgill/publications/TPDS2010Zhang.pdf · Configurable Middleware for Distributed Real-Time Systems with Aperiodic and

Configurable Middleware for DistributedReal-Time Systems with Aperiodic

and Periodic TasksYuanfang Zhang, Christopher D. Gill, Member, IEEE, and Chenyang Lu, Member, IEEE

Abstract—Different distributed real-time systems (DRS) must handle aperiodic and periodic events under diverse sets of

requirements. While existing middleware such as Real-Time CORBA has shown promise as a platform for distributed systems with

time constraints, it lacks flexible configuration mechanisms needed to manage end-to-end timing easily for a wide range of different

DRS with both aperiodic and periodic events. The primary contribution of this work is the design, implementation, and performance

evaluation of the first configurable component middleware services for admission control and load balancing of aperiodic and periodic

event handling in DRS. Empirical results demonstrate the need for, and the effectiveness of, our configurable component middleware

approach in supporting different applications with aperiodic and periodic events, and providing a flexible software platform for DRS with

end-to-end timing constraints.

Index Terms—Component middleware, dynamic real-time task allocation, load balancing and admission control.

Ç

1 INTRODUCTION

MANY distributed real-time systems (DRS) must handlea mix of aperiodic and periodic events, including

aperiodic events with end-to-end deadlines whose assur-ance is critical to the correct behavior of the system.Requirements for increased software productivity andquality motivate the use of open distributed objectcomputing (DOC) middleware such as CORBA, rather thanbuilding applications entirely from scratch using proprie-tary methods. The use of CORBA middleware has increasedsignificantly in DRS domains such as aerospace, telecom-munications, medical systems, distributed interactive simu-lations, and computer-integrated manufacturing, which arealso characterized by stringent quality of service (QoS)requirements [1]. For example, in an industrial plantmonitoring system, an aperiodic alert may be generatedwhen a series of periodic sensor readings meets certainhazard detection criteria. This alert must be processed onmultiple processors within an end-to-end deadline, e.g., toput an industrial process into a fail-safe mode. User inputsand other sensor readings may trigger other real-timeaperiodic events.

While traditional real-time middleware solutions such asReal-Time CORBA [2] and Real-Time Java [3] have shownpromise as distributed software platforms for systems withtime constraints, existing middleware systems lack theflexibility needed to support DRS with diverse applicationsemantics and requirements. For example, load balancing is

an effective mechanism for handling variable real-timeworkloads in a DRS. However, its suitability for DRS highlydepends on their application semantics. Some digitalcontrol algorithms (e.g., proportional-integral-derivativecontrol) for physical systems are stateful and hence notamenable for frequent task reallocation caused by loadbalancing, while others (e.g., proportional control) do nothave such limitations. Similarly, job skipping (skipping theprocessing of certain instances of a periodic task) is usefulfor dealing with transient system overload. While jobskipping is not suitable for certain critical control applica-tions in which missing one job may cause catastrophicconsequences on the controlled system, other applicationsranging from video reception to telecommunications maybe able to tolerate varying degrees of job skipping [4].

Therefore, a key open challenge for DRS is to develop aflexible middleware infrastructure that can be easilyconfigured to support the diverse requirements of differentDRS. Specifically, middleware services such as loadbalancing and admission control must support a varietyof alternative strategies (algorithms and inputs correspond-ing to those algorithms). Furthermore, the configuration ofthose strategies must be supported in a flexible yetprincipled way, so that system developers are able toexplore alternative configurations without choosing invalidconfigurations by mistake.

Providing middleware services with configurable strate-gies, thus, faces several important challenges: 1) servicesmust be able to provide configurable strategies, andconfiguration tools must be added or extended to allowconfiguration of those strategies; 2) the specific criteria thatdistinguish which service strategies are preferable must beidentified, and applications must be categorized accordingto those criteria; and 3) appropriate combinations ofservices’ strategies must be identified for each suchapplication category, according to its characteristic criteria.To address these challenges, and thus to enhance support

IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, VOL. 21, NO. 3, MARCH 2010 393

. Y. Zhang is with Microsoft Research, One Microsoft Way, Redmond, WA98052. E-mail: [email protected].

. C.D. Gill and C. Lu are with the Department of Computer Science andEngineering, Washington University, Campus Box 1045, One BrookingsDrive, St. Louis, MO 63130-4899. E-mail: {cdgill, lu}@cse.wustl.edu.

Manuscript received 9 May 2007; revised 11 Feb. 2009; accepted 31 Mar.2009; published online 17 Apr. 2009.Recommended for acceptance by M. Yamashita.For information on obtaining reprints of this article, please send e-mail to:[email protected], and reference IEEECS Log Number TPDS-2008-05-0174.Digital Object Identifier no. 10.1109/TPDS.2009.67.

1045-9219/10/$26.00 � 2010 IEEE Published by the IEEE Computer Society

Page 2: Configurable Middleware for Distributed Real-Time Systems ...cdgill/publications/TPDS2010Zhang.pdf · Configurable Middleware for Distributed Real-Time Systems with Aperiodic and

for diverse DRS with aperiodic and periodic events, wehave designed and implemented a new set of componentmiddleware services including end-to-end event schedul-ing, admission control, and load balancing. We have alsodeveloped configuration tools to integrate these servicecomponents for each particular application according to itsspecific criteria.

Research contributions. In this work, we have

1. developed what is to our knowledge the first set ofconfigurable component middleware services sup-porting multiple admission control and loadbalancing strategies for handling aperiodic andperiodic events;

2. developed a novel component configuration pre-parser and interfaces to configure real-time admis-sion control and load balancing services flexibly atsystem deployment time;

3. defined categories of distributed real-time applica-tions according to specific characteristics, andrelated them to suitable combinations of strategiesfor our services; and

4. provided a case study that applies different config-urable services to a domain with both aperiodic andperiodic events, offers empirical evidence of theoverheads involved and the trade-offs amongservice configurations, and demonstrates the effec-tiveness of our approach in that domain.

Our work, thus, significantly enhances the applicability ofreal-time middleware as a flexible infrastructure for DRS.

Section 2 introduces the middleware systems andscheduling theory underlying our approach. Sections 3-5present our middleware architecture, configurable strate-gies, and component implementations for supporting end-to-end event handling in DRS. Section 6 describes our newconfiguration engine extensions, which can flexibly config-ure different strategies for our services according to eachapplication’s requirements. Section 7 evaluates the perfor-mance of our approach, including trade-offs amongdifferent service strategy combinations, and characterizesthe overheads introduced by our approach. Section 8presents a survey of related work, and we offer concludingremarks in Section 9.

2 BACKGROUND

Task model. We consider DRS comprised of physicalsystems generating aperiodic and periodic events that mustbe processed on distributed computing platforms subject toend-to-end deadlines. Henceforth, the processing of asequence of related events is referred to as a task. A taskTi is composed of a chain of subtasks Ti;jð1 � j � niÞ locatedon different processors. The first subtask Ti;1 of a task Ti istriggered by a periodic timer event or an aperiodic eventgenerated by the system. Upon completion, a subtask Ti;jpushes another event which triggers its successor subtaskTi;jþ1. Each subtask of a periodic task is a sequence ofsubjobs. Each periodic task is a sequence of jobs with eachjob being a chain of subjobs of each of the task’s subtasks.The arrival time of a job or subjob is when it becomesavailable for execution. The release time of a job or subjob

occurs after its arrival, following its admission by theadmission controller when it is released for execution by thesystem. Every job of a task must be completed within anend-to-end deadline that is its maximum allowableresponse time. The period of a periodic task is theinterarrival time of consecutive subjobs of the first subtaskof the periodic task. An aperiodic task does not have aperiod. The interarrival time between consecutive subjobsof its first subtask may vary widely and, in particular, canbe arbitrary small. The worst-case execution time of everysubtask, the end-to-end deadline of every task, and theperiod of every periodic task in the system are known.

Component middleware. Component middleware plat-forms are an effective way of achieving customizable reuseof software artifacts. In these platforms, components are unitsof implementation and composition that collaborate withother components via ports. The ports isolate the compo-nents’ contexts from their actual implementations. Compo-nent middleware platforms provide execution environmentsand common services, and support additional tools toconfigure and deploy the components.

In previous work, we developed the first instantiation ofa middleware admission control service supporting bothaperiodic and periodic events [5] (on TAO, a widely usedReal-Time CORBA middleware). However, our previousadmission control service only included a fixed set ofstrategies. As is shown in Section 4, a more diverse andconfigurable set of interoperating services and servicestrategies is needed to support DRS with different applica-tion semantics. Unfortunately, it is difficult to extendimplementations that rely directly on distributed objectmiddleware, such as our original admission control service.Specifically, in those middleware systems changing thesupported strategy requires explicit changes to the servicecode itself, which can be tedious and error prone in practice.

The Component-Integrated ACE ORB (CIAO) [6] imple-ments the Light Weight CORBA Component Model (CCM)specification [7] and is built atop the TAO [8] real-timeCORBA object request broker (ORB). CIAO abstractscommon real-time policies as installable and configurableunits. However, CIAO does not support aperiodic taskscheduling, admission control, or load balancing. Todevelop a flexible infrastructure for DRS, in this work, wedevelop new admission control and load balancing services,each with a set of alternative service strategies on top ofCIAO. Furthermore, we extended CIAO to configure andmanage both services.

DAnCE [9] is a QoS-enabled component deployment andconfiguration engine that implements the Object Manage-ment Group (OMG)’s Light Weight CCM Deployment andConfiguration specification [7]. DAnCE parses componentconfiguration/deployment descriptions and automaticallyconfigures and deploys ORBs, containers, and serverresources at system initialization time, to enforce end-to-end QoS requirements. However, DAnCE does not providecertain essential features needed to configure our admissioncontrol and load balancing services correctly, e.g., todisallow invalid combinations of our service strategies.

Aperiodic scheduling. Aperiodic tasks have been studiedextensively in real-time scheduling theory, including workon aperiodic servers that integrate scheduling of aperiodic

394 IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, VOL. 21, NO. 3, MARCH 2010

Page 3: Configurable Middleware for Distributed Real-Time Systems ...cdgill/publications/TPDS2010Zhang.pdf · Configurable Middleware for Distributed Real-Time Systems with Aperiodic and

and periodic tasks [10]. New schedulability tests based onaperiodic utilization bounds (AUBs) [11] and a new admis-sion control approach [12] also were introduced recently. Inour previous work [5], we implemented and evaluatedadmission control services for two suitable aperiodicscheduling techniques (aperiodic utilization bound [11]and deferrable server [13]) on TAO. Since AUB hascomparable performance to deferrable server, and requiresless complex scheduling mechanisms in middleware, wefocus exclusively on the AUB technique in this paper. Ourexperiences with AUB reported in this paper show howconfigurability of other techniques can be integrated withinreal-time component middleware in a similar way.

With the AUB approach, three kinds of service strategiesmust be made configurable to provide flexible andprincipled support for diverse DRS with aperiodic andperiodic tasks: 1) when admissibility is evaluated (to tradeoff the granularity and, thus, the pessimism of admissionguarantees), 2) when the contributions of completedsubjobs of subtasks can be removed from the schedulabilityanalysis used for admission control (to improve accuracy ofthe schedulability analysis and, thus, reduce pessimisticdenials of feasible tasks), and 3) when jobs of tasks can beassigned to different processors (to balance load andimprove system performance).

In AUB [11], the set of current tasks SðtÞ at any time t isdefined as the set of tasks that have released jobs but whosedeadlines have not expired. Hence, SðtÞ ¼ fTi j Ai � t <Ai þDig, where Ai is the release time of the first subjob ofthe current job for task Ti, and Di is the relative deadline ofthe current job of task Ti. The synthetic utilizationof processor j at time t, UjðtÞ, is defined as the sum ofindividual subtask utilizations on the processor, accruedover all current tasks. According to AUB analysis, a systemachieves its highest schedulable synthetic utilization boundunder the End-to-end Deadline Monotonic Scheduling(EDMS) algorithm under certain assumptions. UnderEDMS, a subtask has a higher priority if it belongs to atask with a shorter end-to-end deadline. Note that AUBdoes not distinguish aperiodic from periodic tasks. All tasksare scheduled using the same scheduling policy. UnderEDMS task Ti will meet its deadline if the followingschedulability condition holds [11]:

Xni

j¼1

UVij�1� UVij=2

1� UVij� 1; ð1Þ

where Vij is the jth processor that task Ti visits. A task (oran individual job) can be admitted only when this conditioncontinues to be satisfied for all currently admitted tasks andthis task. Since applications may or may not tolerate jobskipping, whether this condition is checked only when thefirst job of a task arrives or whenever each job arrivesshould be configurable.

According to the definition of the current task set inAUB, a task remains in the current task set even if it hasbeen completed, as long as its deadline has not expired. Toreduce the pessimism of the AUB analysis, a resetting rule isintroduced in [11]. When a processor becomes idle, thecontribution of all completed subjobs to the processor’ssynthetic utilization can be removed without affecting thecorrectness of the schedulability condition (inequality 1).Since the resetting rule introduces extra overhead, whether

the contribution of only completed aperiodic subjobs or ofboth completed aperiodic and periodic subjobs can beremoved early should be made configurable. Under AUB-based schedulability analysis, load balancing also caneffectively improve system performance [11]. However,some applications require persistent state preservationbetween jobs of the same task, so it also should be madeconfigurable whether a task can be reallocated to a differentprocessor for each job.

3 MIDDLEWARE ARCHITECTURE

To support end-to-end aperiodic and periodic tasks indiverse distributed real-time applications, we have devel-oped a new middleware architecture. The key feature of ourapproach is a configurable component framework that can becustomized for different sets of aperiodic and periodic tasks.Our framework provides configurable admission controller(AC), load balancer (LB), and idle resetter (IR) componentswhich interact with application components and task effector(TE) components. The AC component provides onlineadmission control and schedulability tests for tasks thatarrive dynamically at runtime. The LB component providesan acceptable task assignment plan to the admissioncontroller if the new arrival task is admissible. Each IRcomponent reports all completed subjobs on one processor tothe AC component when the processor becomes idle, so theAC component can remove their contributions from thecalculated synthetic utilization, to reduce the pessimism ofthe AUB analysis at runtime according to the idle resettingrule. On each processor a TE component notifies the ACcomponent when new jobs arrive, and releases admitted jobs.

Fig. 1 illustrates our distributed middleware architecture.All processors are connected by the TAO ORB’s federatedEvent Channel (EC) [14], indicated by EC/ORB in Fig. 1.Black arrows in Fig. 1 represent an EC event being pushedor an ORB method call being sent. The EC pushes eventsthrough local event channels, gateways, and remote eventchannels to the events’ consumers sitting on differentprocessors. We deploy one AC component and one LBcomponent which cooperate to perform task managementon one processor, and one IR component and one TEcomponent on each of multiple application processors.

Fig. 1 shows an example end-to-end task Ti composed ofthree consecutive subtasks, Ti;1; Ti;2, and Ti;3, executing onseparate processors. Ti;1 and Ti;2 have duplicates on otherapplication processors. An original component and itsduplicate(s) are alternative application components thatcan execute the same subtask, with the actual subtaskassignment decided by the LB component at runtime. Forsake of discussion, assume that task Ti arrives at applicationprocessor 3. The TE component on that processor pushes a“Task Arrival” event to the AC component and holds thetask until it receives an “Accept” event from the ACcomponent. The AC component and LB component decidewhether to accept the task, and if so, where to assign itssubtasks. The solid lines and the dashed lines show twopossible assignments of subtasks. If the first subtask Ti;1 isnot assigned to the processor where Ti arrived, we call thisassignment a task reallocation.

An advantage of this centralized AC/LB architecture isthat it does not require synchronization among distributedadmission controllers. In contrast, in a distributed task

ZHANG ET AL.: CONFIGURABLE MIDDLEWARE FOR DISTRIBUTED REAL-TIME SYSTEMS WITH APERIODIC AND PERIODIC TASKS 395

Page 4: Configurable Middleware for Distributed Real-Time Systems ...cdgill/publications/TPDS2010Zhang.pdf · Configurable Middleware for Distributed Real-Time Systems with Aperiodic and

management architecture the AC components on multipleprocessors may need to coordinate and synchronize witheach other in order to make correct decisions, becauseadmitting an end-to-end task may affect the schedulabilityof other tasks located on the multiple affected processors.

A potential disadvantage of the centralized architectureis that the AC component may become a bottleneck and,thus, affect scalability. However, the computation time ofthe schedulability analysis is significantly lower than taskexecution times in many DRS, which alleviates the scal-ability limitations of a centralized solution [5].

Centralized task management also could become a singlepoint of failure, negatively impacting system availabilityand survivability. Admission control and load balancingcould be replicated using existing active and passive fault-tolerance techniques for real-time systems [15], [16].However, addressing a complete set of fault-tolerant taskmanagement issues is beyond the scope of this paper and isleft as a potential future extension of this work. Insummary, while our real-time component middlewareapproach can be extended to use a more distributed taskmanagement architecture, we have adopted a centralizedapproach with less complexity and overhead, which allowsus to focus on achieving system flexibility throughcomponent middleware services.

4 MAPPING DRS CHARACTERISTICS TO

MIDDLEWARE STRATEGIES

A key contribution of this paper is categorizing character-istics that are common to a reasonably representative set ofDRS applications, and mapping them to suitable middle-ware service strategies. In this section, we present a set ofcriteria used to categorize DRS characteristics, and analyze

how to map those criteria to different service strategiessupported by our middleware.

4.1 DRS Characteristics

We use four criteria to distinguish how DRS with aperiodicand periodic tasks can be supported: Job Skipping (criterionC1); Overhead Tolerance (criterion C2); State Persistency(criterion C3); and Component Replication (criterion C4).

Job Skipping means that some jobs of a task areexecuted while other jobs of the same task may not beadmitted. Some applications, such as video streaming, andother loss-tolerant forms of sensing can tolerate jobskipping, while in critical control applications, once a taskis admitted, all its jobs should be allowed to execute.

Overhead Tolerance depends on an application’s spe-cific overhead constraints: we characterize different sourcesof overhead for our services in Section 7.3 so thatdevelopers of each application can decide whether thoseoverheads would be excessive or acceptable if traded forimproved schedulability.

State Persistency means that states are required to bepreserved between jobs of a same task. For proportionalcontrol systems [17], task are stateless and only requirecurrent information, so jobs can be reallocated dynami-cally. However, for integral control systems [17], tasksrequire incremental calculation and are not suitable forjob reallocation.

Component Replication depends on an application’sthroughput requirements. Replication is used here to reducelatency through load distribution, not for fault-tolerancepurposes. Only those applications with replicated compo-nents can support task reallocation, whereas those thatcannot be replicated (e.g., due to constraints on the localityof sensors or actuators) cannot support task reallocation.

According to these different application criteria, theAC, IR, and LB components can be configured to usedifferent strategies. For each component, which strategy ismore suitable depends on these criteria. Table 1 showshow these criteria help to classify DRS applications, whichin turn allows selection of corresponding middlewareservice strategies. We have designed all strategies withcorresponding configurable attributes, and provide aconfiguration preparser and a component configurationinterface (described in Section 6) to allow developers toselect and configure each service flexibly, according toeach application’s specific needs. We now examine thedifferent strategies for each component and the trade-offsamong them.

4.2 Admission Control (AC) Strategies

Admission control offers significant advantages for systemswith aperiodic and periodic tasks, by providing onlineschedulability guarantees to tasks arriving dynamically.

396 IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, VOL. 21, NO. 3, MARCH 2010

Fig. 1. Component Middleware Architecture: black arrows represent an

event push or method call; original and duplicate components are

alternatives for executing the same subtask; assume task Ti arrives at

application processor 3.

TABLE 1Criteria and Middleware Service Strategies

Page 5: Configurable Middleware for Distributed Real-Time Systems ...cdgill/publications/TPDS2010Zhang.pdf · Configurable Middleware for Distributed Real-Time Systems with Aperiodic and

Our AC component supports two different strategies: AC-per-Task and AC-per-Job. AC-per-Task performs the ad-mission test only when a task first arrives while AC-per-Jobperforms the admission test whenever a job of the taskarrives. Only applications satisfying criterion C1 are suitablefor the second strategy, since it may not admit some jobs.Moreover, the second strategy reduces pessimism at the costof increasing overhead. The application developer, thus,needs to consider trade-offs between overhead and pessi-mism in choosing a proper configuration.

AC-per-Task. Considering the admission overhead andthe fixed interarrival times of periodic tasks, one strategy isto perform an admission test only when a periodic task firstarrives. Once a periodic task passes the admission test, allits jobs are allowed to be released immediately when theyarrive. This strategy improves middleware efficiency at thecost of increasing the pessimism of the admission test. Inthe AUB analysis [11], the contribution of a job to thesynthetic utilization of a processor can be removed whenthe job’s deadline expires (or when the CPU idles if theresetting rule is used and the subjob has been completed). Ifadmission control is performed only at task arrival time,however, the AC component must reserve the syntheticutilization of the task throughout its lifetime. As a result, itcannot reduce the synthetic utilization between the dead-line of a job and the arrival of the subsequent job of thesame task, which may result in pessimistic admissiondecisions [11].

AC-per-Job. If it is possible to skip a job of a periodictask (criterion C1), the alternative strategy to reducepessimism is to apply the admission test to every job of aperiodic task. This strategy is practical for many systems,since the AUB test is highly efficient when used for AC, asis shown in Section 7.3 by our overhead measurements.

4.3 Idle Resetting (IR) Strategies

Without the AUB resetting rule, a job remains in the currentset even if it has been completed, as long as its deadline hasnot expired. Therefore, the use of the resetting rule canremove the contribution of completed subjobs earlier thanthe deadline, which reduces the pessimism of the AUBschedulability test [5], [11]. There are three strategies toconfigure IR components in our approach, according to anapplication’s overhead tolerance (criterion C2). The first ofthese three strategies avoids the resetting overhead, but isthe most pessimistic. The third strategy removes thecontribution of completed aperiodic and periodic subjobsmore frequently than the other two strategies. Although ithas the least pessimism, it introduces the most overhead.The second strategy offers a trade-off between the first andthe third strategies.

No IR. The first strategy is to use no resetting at all, sothat if the subjobs complete their executions, the contribu-tions of completed subjobs to the processor’s syntheticutilization are not removed until the job deadline. Thisstrategy avoids the resetting overhead, but increases thepessimism of schedulability analysis.

IR-per-Task. The second strategy is that each IRcomponent records completed aperiodic subjobs on oneprocessor. Whenever the processor is idle, a lowest prioritythread called an idle detector begins to run, and reports the

completed aperiodic subjobs to the AC component throughan “Idle Resetting” event. To avoid reporting repeatedly, theidle detector only reports when there is a newly completedaperiodic subjob whose deadline has not expired.

IR-per-Job. The third strategy is that each IR componentrecords and reports not only the completed aperiodicsubjobs but also the completed subjobs of periodic subtasks.

4.4 Load Balancing (LB) Strategies

Under AUB-based AC, load balancing can effectivelyimprove system performance in the face of dynamic taskarrivals [11]. We use a heuristic algorithm to assign subtasksto processors at runtime, which always assigns a subtask tothe processor with the lowest synthetic utilization among allprocessors on which the application component corre-sponding to the task has been replicated (criterion C4).1

Since migrating a subtask between processors introducesextra overhead, when we accept a new task, we onlydetermine the assignment of that new task and do notchange the assignment plan for any other task in the currenttask set. This service also has three strategies. The firststrategy is suitable for applications which cannot satisfycriterion C4. The second strategy is most applicable forapplications which satisfy both C4 and C3. The thirdstrategy is most suitable for applications which only satisfyC4, but cannot satisfy criterion C3.

No LB. This strategy does not perform load balancing.Each subtask does not have a replica and is assigned to aparticular processor.

LB-per-Task. Each task will only be assigned once, at itsfirst arrival time. This strategy is suitable for applicationswhich must maintain persistent state between any twoconsecutive jobs of a periodic task.

LB-per-Job. The third strategy is the most flexible. Alljobs from a periodic task are allowed to be assigned todifferent processors when they arrive.

4.5 Combining AC, IR, and LB Strategies

When we use the AC, IR, and LB components together, theirstrategies can be configured in 18 different combinations.However, some combinations of the strategies are invalid.The AC-per-Task/IR-per-Job combination is not reasonable,because per-job idle resetting means the synthetic utiliza-tions of all completed subjobs of periodic subtasks are to beremoved from the central admission controller, but per-taskadmission control requires that the admission controllerreserves the synthetic utilization for all accepted periodictasks, so an accepted periodic task does not need to gothrough admission control again before releasing its jobs.These two requirements are, thus, contradictory, and we canexclude that the corresponding configurations as beinginvalid. Removing this invalid AC/IR combination meansremoving 3 invalid AC/IR/LB combinations, so there areonly 15 reasonable combinations of strategies left. With thisdegree of complexity in making correct configuration designdecisions, an application developer would benefit fromcognitive support in configuring the different strategies. An

ZHANG ET AL.: CONFIGURABLE MIDDLEWARE FOR DISTRIBUTED REAL-TIME SYSTEMS WITH APERIODIC AND PERIODIC TASKS 397

1. The focus here is not on the load balancing algorithms themselves. Ourconfigurable middleware may be easily extended to incorporate LBcomponents implementing other load balancing algorithms according toeach application’s needs.

Page 6: Configurable Middleware for Distributed Real-Time Systems ...cdgill/publications/TPDS2010Zhang.pdf · Configurable Middleware for Distributed Real-Time Systems with Aperiodic and

advantage of our middleware architecture and configura-tion engine is that they allow application developers toconfigure middleware services to achieve any valid combi-nation of strategies, while disallowing invalid combinations,up front as we discuss in Section 6.

As Fig. 2 shows, the configuration choices can be dividedinto axes of strategy configurability for each of the threemiddleware services: admission control, idle resetting, andload balancing. Different configuration options in each ofthese axes and the impact they may have, as well asconflicting configurations, are thus delineated thoroughlyand as we discuss in Section 6, form the basis for automatedsupport of application developers in configuring theservices our middleware provides.

5 COMPONENT IMPLEMENTATION

Configurable component middleware standards, such asthe CCM [18], can help to reduce the complexity ofdeveloping DRS by defining a component-based program-ming paradigm. They also help by defining a standardconfiguration framework for packaging and deployingreusable software components. The CIAO [19] is animplementation of the Light Weight CCM specification [7]that is suitable for DRS. To support the different servicestrategies described in Section 4 and to allow flexibleconfiguration of suitable combinations of those strategiesfor a variety of applications, we have implementedadmission control, idle resetting, and load balancingservices in CIAO as configurable components. Eachcomponent provides a specific service with configurableattributes and clearly defined interfaces for collaborationwith other components and can be instantiated multipletimes with the same or different attributes. Componentinstances can be connected together at runtime throughappropriate ports to form a DRS.

As Fig. 3 illustrates, we have designed and implementedsix configurable components to support distributed real-time aperiodic and periodic end-to-end tasks using ACE/TAO/CIAO version 5.6/1.6/0.6. The dashed vertical line inFig. 3 reflects the logical partitioning of task managementand application processing components into separate

processes. In our implementation, the task manager couldrun on an application processor, or on a separate processoras shown in Fig. 1 in Section 3. For efficiency, localinteractions are implemented via method calls, while forflexibility, remote interactions are implemented via feder-ated event handling.

The TE component holds the arriving tasks, waits for theAC component decision, and releases tasks. The AdmissionControl (AC) component decides whether to accept tasks.The Load Balancing (LB) component decides task alloca-tions so as to balance the processors’ synthetic utilizations.The First/Intermediate (F/I) Subtask component executesthe first or an intermediate subtask at a given priority. TheLast Subtask component executes the last subtask at a givenpriority. The Idle Resetting (IR) component reports thecompleted subjobs when a processor goes idle.

Each component may have several configurable attri-butes, so that it can be instantiated with a differentcriticality and execution time (for application components)or a different strategy (for AC, IR, and LB components). Aswe discussed in Section 3, our admission control and loadbalancing approaches adopt a centralized architecture,which employs one AC component instance and one LBcomponent instance running on a central processor (calledthe “Task Manager” processor).

Each application processor contains one instance of a TEcomponent and one instance of an IR component. The TEcomponent on each processor reports the arrival of tasks onthat processor to the AC component, which then releases orrejects the tasks based on the admission control policy. Eachend-to-end task is implemented by a chain of F/I Subtaskcomponents and one Last Subtask component. We nowdescribe the behavior of each component in detail.

TE component. When a task arrives, the TE componentputs it into a waiting queue and pushes a “Task Arrival”event to the AC component. When the TE componentreceives an “Accept” event from the AC component, thecorresponding task waiting in the queue will be releasedimmediately. The TE component has two configurableattributes. One is a processor ID, which distinguishes TEcomponent instances deployed on different processors. Theother is the Per-job/Per-task attribute, which indicates

398 IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, VOL. 21, NO. 3, MARCH 2010

Fig. 2. Strategy dimensions of middleware services.

Fig. 3. Component implementation.

Page 7: Configurable Middleware for Distributed Real-Time Systems ...cdgill/publications/TPDS2010Zhang.pdf · Configurable Middleware for Distributed Real-Time Systems with Aperiodic and

whether before releasing any job of a periodic task the TEcomponent will hold it until receiving an “Accept” eventfrom the AC component. If the attribute is set to be Per task,when a periodic task is admitted all subsequent jobs fromthat periodic task can be released immediately. Theseattributes can be set at the creation of a TE componentinstance and also may be modified at runtime.

First/Intermediate (F/I) and Last Subtask Components.

Both the F/I and Last Subtask components executeapplication subtasks. The only difference between thesetwo kinds of components is that the F/I Subtask componenthas an extra port that publishes “Trigger” events to initiatethe execution of the next subtask. The Last Subtaskcomponent does not need this port, since the last subtaskdoes not have a next subtask. Each instance of these kinds ofcomponents contains a dispatching thread that executes aparticular subtask at a specified priority. Both kinds ofcomponents have three configurable attributes. The firsttwo attributes are the task execution time and priority level,which are normally set at the creation of the componentinstances as specified by application developers. The thirdattribute is No IR, IR-per-task, or IR-per-job, which meansthe resetting rule either is not enabled or is enabled per taskor per job, respectively. Per task means the Idle Resettingcomponent will not be notified when periodic subjobscomplete. Since each job of an aperiodic task can be treatedas an independent aperiodic task with one release, the idleresetting component is notified when aperiodic subjobscomplete. Both F/I Subtask and Last Subtask componentscall the “Complete” method of the local IR componentinstance when needed. The dispatching threads in an F/ISubtask or a Last Subtask component are triggered by eithera “Release” method call from the local TE componentinstance or a “Trigger” event from a previous F/I Subtaskcomponent instance.

Idle Resetting (IR) Component. It receives “Complete”method calls from local F/I or Last Subtask components,and pushes “Idle Resetting” events to the AC component. Ithas one attribute, the processor ID, which distinguishescomponent instances sitting on different processors.

Admission Control (AC) Component. It consumes “TaskArrival” events from the TE components and “Idle Reset-ting” events from the IR components. It publishes “Accept”events to the TE components to allow task releases. It makes“Location” method calls on the LB component to ask forproposed task assignment plans. The AC component has aNo LB/LB-per-task/LB-per-job attribute, which indicateswhether load balancing is enabled, and if it is enabledwhether it is per task or per job. If that attribute is set to LB-per-task, once a periodic task is admitted its subtaskassignment is decided and kept for all following jobs.However, aperiodic tasks do not have this restriction asthey are only allocated at their single job arrival time. A valueof LB-per-job means the subtask assignment plan can bechanged for each job of an accepted periodic task.

Load Balancing (LB) Component. It receives “Location”method calls from the AC component, which fetches assign-ment plans for particular tasks. The LB component tries tobalance the synthetic utilization among all processors, andmay modify a previous allocation plan when a new job of the

task arrives. It returns an assignment plan that is acceptableand attempts to minimize differences among syntheticutilizations on all processors after accepting that task.Alternatively, the LB component may tell the AC componentthat the system would be unschedulable if the task wereaccepted.

6 DEPLOYMENT AND CONFIGURATION

While our configurable components represent an importantstep toward flexible middleware services for handlingaperiodic and periodic events, DRS developers still facethe challenges of choosing the best combinations ofstrategies and assembling and deploying the components,which are tedious and error prone if performed by hand.Therefore, we have developed a tool that automates theselection, deployment, and configuration of these compo-nents. Our tool has two key advantages: 1) it allowsapplication developers to specify the characteristics of theDRS and automatically map them to suitable middlewarestrategies, and 2) it identifies incorrect combinations ofservice strategies to prevent erroneous middleware config-urations. CIAO’s realization of the OMG’s Light WeightDeployment and Configuration specification [7] is calledthe Deployment and Configuration Engine (DAnCE) [9].DAnCE can translate an XML-based assembly specificationinto the execution of deployment and configuration actionsneeded by an application. Assembly specifications areencoded as descriptors which describe how to build DRSusing available component implementations. Informationcontained in the descriptors includes the number ofprocessors, what component implementations to use, howand where to instantiate components, and how to connectcomponent instances in an application.

Front-end Configuration Engine. Although tools such asCoSMIC [20] can help generate the XML files, those tools donot consider the configuration requirements of the newservices we have created. We, therefore, provide a specificconfiguration engine (illustrated in Fig. 4) that acts as afront end to DAnCE, to configure our services forapplication developers who require configurable aperiodicscheduling support. This extension to DAnCE helps toalleviate complexities associated with deploying and con-figuring our services. The application developer firstprovides a workload specification file which describes eachend-to-end task and where its subtasks execute. Our front-end configuration engine asks the application developer tospecify the characteristics of the DRS, via a simple textualinterface as shown in Fig. 5.

The front-end configuration engine parses the workloadspecification file and automatically maps application char-acteristics specified by the developer to proper configura-tion settings for the admission control, idle resetting, andload balancing services. Finally, an XML-based deploymentplan is generated, which can be recognized by DAnCE. Asan example, Fig. 4 shows one set of answers to those fourquestions. Based on those answers, the AC, IR, and LBservices should all be configured using per-task (PT)strategy. Fig. 4 also shows part of the XML file generatedby our configuration engine, with the LB strategy setting of

ZHANG ET AL.: CONFIGURABLE MIDDLEWARE FOR DISTRIBUTED REAL-TIME SYSTEMS WITH APERIODIC AND PERIODIC TASKS 399

Page 8: Configurable Middleware for Distributed Real-Time Systems ...cdgill/publications/TPDS2010Zhang.pdf · Configurable Middleware for Distributed Real-Time Systems with Aperiodic and

PT, which is due to the developer’s answers to second andthird questions.

To enforce end-to-end deadline monotonic scheduling,the F/I Subtask and Last Subtask components both exposean attribute called “priority.” When our configurationengine reads the workload specification file, it assignspriorities in order of tasks’ end-to-end deadlines, and writesthis priority information into the generated XML deploy-ment plan, to be parsed by DAnCE later. Our front-endconfiguration engine not only generates well-formedassembly specifications, according to the application devel-opers’ instructions, but it also performs a feasibility checkon configuration settings, to ensure correct handling ofdependent constraints. For example, per-task admissioncontrol with per-job idle resetting would be contradictory,as we mentioned in Section 4.5. Since a developer mightspecify incompatible service configuration combinations,our approach should be able to detect and disallow them. Ifapplication characteristics are not provided by the devel-opers, our configuration engine also can supply defaultconfiguration settings, i.e., per-task admission control, idleresetting, and load balancing.

We have used the <configproperty> feature of DAnCE toextend the set of attributes that can be configured flexiblyaccording to other configuration settings. For example, ifthe load balancing service is configured using the per-taskstrategy, the corresponding property of the AC componentshould also be set to per task. DAnCE’s Plan Launcherparses the XML-based deployment plan and stores theproperty name (LB_Strategy) and value in a data structure(Property) which is a field of the AC instance definitionstructure. The definitions of the AC instance and all othercomponent instances comprise a deployment plan (Deploy-ment::DeploymentPlan) that is then passed to DAnCE’sExecution Manager. The Execution Manager propagates thedeployment plan data structure to DAnCE’s Node Applica-tion Manager, which parses it into an initialization datastructure (NodeImplementationInfo). Finally, the Node

Application Manager passes the initialization data structureto the Node Application. When the Node Applicationinstalls the AC component instance, it also initializes theLB_Strategy attribute of the AC component through astandard Configurator interface (set_configuration), usingthe initialization data structure it received.

7 EXPERIMENTAL EVALUATIONS

To validate our approach and to evaluate the performance,overheads and benefits resulting from it, we conducted aseries of experiments which we describe in this section. Theexperiments were performed on a testbed consisting of sixmachines connected by a 100 Mbps Ethernet switch. Twoare Pentium-IV 2.5 GHz machines with 1G RAM and512,000 cache each, two are Pentium-IV 2.8 GHz machineswith 1G RAM and 512,000 cache each, and the other two arePentium-IV 3.4 GHz machines with 2G RAM and 2,048,000cache each. Each machine runs version 2.4.22 of the KURT-Linux operating system. One Pentium-IV 2.5 GHz machineis used as a central task manager where the AC and LBcomponents are deployed. The other five machines are usedas application processors on which TE, F/I Subtask, LastSubtask, and IR components are deployed.

7.1 Random Workloads

We first randomly generated 10 sets of nine tasks, eachincluding four aperiodic tasks and five periodic tasks. Thenumber of subtasks per task is uniformly distributedbetween 1 and 5. Subtasks are randomly assigned to fiveapplication processors. Task deadlines are randomly chosenbetween 250 ms and 10 s. The periods of periodic tasks areequal to their deadlines. The arrival of aperiodic tasksfollows a Poisson distribution. The synthetic utilization ofevery processor is 0.5, if all tasks arrive simultaneously.Each subtask is assigned to a processor, and has a duplicatesitting on a different processor which is randomly pickedfrom the other four application processors.

In this experiment, we evaluated all 15 reasonablecombinations of strategies, since it is convenient to chooseand run different combinations with the help of ourconfiguration engine. We ran 10 task sets using eachcombination and compared them. Each task set ran for5 minutes for each combination. The performance metric weused in these evaluations is the accepted utilization ratio, i.e.,the total utilization of jobs actually released divided by thetotal utilization of all jobs arriving. To be concise, we usecapital letters to represent strategies: N when a service isnot enabled in this configuration; T when a service isenabled for each task; and J when a service is enabled for

400 IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, VOL. 21, NO. 3, MARCH 2010

Fig. 4. Front-end engine and its interaction with DAnCE.

Fig. 5. Questions to determine characteristics for strategy selection.

Page 9: Configurable Middleware for Distributed Real-Time Systems ...cdgill/publications/TPDS2010Zhang.pdf · Configurable Middleware for Distributed Real-Time Systems with Aperiodic and

each job of a task. In the following figures, a three elementtuple denotes each combination of settings for the threeconfigurable services: first for the admission control service,then for the idle resetting service, and last for the loadbalancing service.

The bars in Fig. 6 show the average results over the10 task sets. As is shown in Fig. 6, enabling either idleresetting or load balancing can increase the utilization oftasks admitted. Moreover, the experiment shows thatenabling IR-per-job (� J �) significantly outperforms theconfigurations which enable IR-per-task (� T �) or not at all(� N �). This is because IR-per-job removes the contributionof all completed periodic subjobs to the synthetic utiliza-tions which greatly helps to admit more jobs. Enabling allthree services per job (J J J) performed comparably to theother (J J �) configurations (averaging higher though thedifferences were not significant) and outperformed all otherconfigurations significantly, even though the J J J config-uration introduces the most overhead. We also notice thedifference is small when we only change the configurationof the LB component and keep the configuration of othertwo services the same. This is because when we randomlygenerated these 10 task sets, the resulting syntheticutilization of each processor was similar. To examine thepotential benefit of the LB component, we designed anotherexperiment that is described in the next section.

7.2 Imbalanced Workloads

In the second experiment, we use an imbalanced workload. Itis representative of a dynamic DRS in which a subset of thesystem processors may experience heavy load. For example,in an industrial control system, a blockage in a fluid flowvalve may cause a sharp increase in the load on the processorsimmediately connected to it, as aperiodic alert and diagnostictasks are launched. In this experiment, we divided the fiveapplication processors into two groups. One group containsthree processors hosting all tasks. The other group containstwo processors hosting all duplicates. Ten task sets arerandomly generated as in the above experiment, except thatall subtasks were randomly assigned to three applicationprocessors in the first group and the number of subtasks pertask is uniformly distributed between 1 and 3. The synthetic

utilization for any of these three processors is 0.7. Eachsubtask has one replica sitting on one processor in the secondgroup.

Each of 10 task sets was run for the 15 different validstrategy setting combinations, and for each combination wethen averaged the accepted utilization ratio over the10 results. We varied the load balancing strategy from noneto per task, then to per job, for each of the five validcombinations of admission control and idle resettingstrategies. As Fig. 7 shows, under the conditions ourexperiment studied LB-per-Task provides a significantimprovement when compared with the results withoutLB. However, there is not much difference between LB-per-Task versus LB-per-Job. Note that since there are fiveapplication processors and a total task utilization of 2.1, ifwe can assign tasks almost evenly among processorsthrough load balancing all tasks are schedulable (asindicated by the accepted utilizations near 1.0 in Fig. 7 forJ J T and J J J). However, two processors in the secondgroup are not used when load balancing is disabled,resulting in a lower accepted utilization ratio with J J N.

From the two experiments described in this section andin Section 7.1, we found that configuring different strategiesaccording to application characteristics can have a signifi-cant impact on the performance of a DRS with aperiodicand periodic events. Our design of the AC, IR, and LBservices as easily configurable components allows applica-tion developers to explore and select valid configurationsbased on the characteristics and requirements of theirapplications, and based on the trade-offs indicated by theseempirical results.

7.3 Overheads of Service Components

To evaluate the efficiency of our component-based middle-ware services, we measured overheads using three of theprocessors to run application components and anotherprocessor to run the AC and LB components. The workloadis randomly generated in the same way as described inSection 7.1, except that the number of subtasks per task isuniformly distributed between 1 and 3. Each experiment ranfor 5 minutes. We examined the different sources ofoverhead that may occur when a task arrives at TE

ZHANG ET AL.: CONFIGURABLE MIDDLEWARE FOR DISTRIBUTED REAL-TIME SYSTEMS WITH APERIODIC AND PERIODIC TASKS 401

Fig. 6. Accepted utilization ratio for different (AC, IR, and LB)

combinations.

Fig. 7. LB strategy comparison for different (AC, IR, and LB)

combinations.

Page 10: Configurable Middleware for Distributed Real-Time Systems ...cdgill/publications/TPDS2010Zhang.pdf · Configurable Middleware for Distributed Real-Time Systems with Aperiodic and

component TE1, after which AC and LB components run thetask in component TE1 or reallocate it to another TEcomponent, TE2. Fig. 8 shows how the total delay for eachservice includes the costs of operations located in severalcomponents. Table 2 lists the operation numbers shown inFig. 8 to provide a detailed accounting of the delays resultingfrom different combinations of service configurations.

To calculate the delays for AC without LB, AC with LBwithout reallocation, and LB without reallocation, we cansimply calculate the interval between when one taskarrives on a processor and when the task is released onthe processor. However, if the LB component reallocatesthe first subtask on a different processor using itsduplicate, as in the case of AC with LB, it is difficult todetermine a precise time interval between when one taskarrives on one processor and when it is released onanother processor, because our experiment environmentdoes not provide sufficiently high-resolution time synchro-nization among processors, which is an inherent limitationfor many DRS. We, therefore, measure the overheads on allinvolved processors individually, then add them togetherplus twice the communication delays (step 2 in Fig. 8)between the processors. Three processors are involved: theprocessor where the task arrives (step 1), the central taskmanager processor (step 3), and the processor where theduplicate task is released (step 6). We ran this experimentusing KURT-Linux version 2.4.22, which provides a CPU-supported time stamp counter with nanosecond resolution.By using instrumentation provided with the KURT-Linuxdistribution, we can obtain a precise accounting ofoperation start and stop times and communication delays.To measure the communication delay between the applica-tion processor and the admission control processor on ourexperimental platform, we pushed an event back and forthbetween the application processor and the admissioncontrol processor 1,000 times, then calculated the meanand max value among 1,000 results. We then divided theround trip time by 2 to obtain the approximate mean andmaximum communication delays between the applicationprocessor and the admission control processor.

The total delay for LB when reallocation happens, ismeasured in the same way as for the case of AC with LBwith reallocation. To calculate the delay from the IRcomponent, we divide its execution into two parts. The

small overhead on the admission control component mustbe counted in the overall delay. The large overhead on theapplication processor and the communication delay onlyhappen during CPU idle time, and although it represents anadditional overhead induced by the IR component, it doesnot affect performance, which is why we report the twoparts separately in Table 2. From the results in Table 2, wecan see that all of the delays induced by our configurableservices are less than 2 ms, which is acceptable for manyDRS. For applications with tight schedules, a developer canmake further decisions on how to configure services basedon this delay information and based on the effects of thedifferent configurations on task management, which wediscussed in Section 4.

8 RELATED WORK

In this section, we consider related work on middlewaredesigned for managing applications QoS requirements, ofwhich real-time requirements are a subset. We first describeapproaches that are not based on component middleware,and then consider component-based approaches.

QoS-aware middleware. Quality Objects (QuO) [21], [22]is an adaptive middleware framework developed by BBNTechnologies that allows developers to use aspect-orientedsoftware development techniques to separate the concernsof QoS programming from application logic. A Qosket is theunit of encapsulation and reuse in QuO. QuO emphasizesdynamic QoS provisioning whereas our approach empha-sizes static QoS provisioning. The dynamicTAO [23] projectapplies reflective techniques to reconfigure ORB policiesand mechanisms at runtime. Similar to dynamicTAO, theOpen ORB [24] project also aims at highly configurable anddynamically reconfigurable middleware platforms to sup-port applications with dynamic requirements. Zhang andJacobsen [25] also use aspect-oriented techniques to im-prove the customizability of the middleware core infra-structure at the ORB level.

QoS-aware component middleware. Component mid-dleware architectures have been leveraged to enable meta-programming of QoS attributes in a number of ways. Forexample, aspect-oriented techniques can be used to plug indifferent behaviors [26] into the containers that host compo-nents. This approach is similar to ours in that it providesmechanisms to configure system attributes at the middle-ware level. de Miguel [27] further develops QoS-enabledcontainers by extending an EJB container interface to allow

402 IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, VOL. 21, NO. 3, MARCH 2010

Fig. 8. Sources of overhead/delay.

TABLE 2Service Overheads (�s)

Page 11: Configurable Middleware for Distributed Real-Time Systems ...cdgill/publications/TPDS2010Zhang.pdf · Configurable Middleware for Distributed Real-Time Systems with Aperiodic and

the exchange of QoS-related information among componentinstances. To take advantage of this QoS-container, acomponent must implement QoSBean and QoSNegotiationinterfaces. However, this requirement increases dependenceamong component implementations. The QoS-EnabledDistributed Objects (Qedo) [28] project is another effort tomake QoS support an integral part of the CCM. Qedo’sextensions to the CCM container interface and ComponentImplementation Framework (CIF) require component im-plementations to interact with the container QoS interfaceand negotiate the level of QoS contract directly. Althoughthis approach is suitable for certain applications, it tightlycouples the QoS provisioning and adaptation behaviors intothe component implementation, which may limit thereusability of components. In comparison, our approachexplicitly avoids this coupling and composes real-timeattributes declaratively. There have been several other effortsto introduce QoS attributes in conventional componentmiddleware platforms. The FIRST Scheduling Framework(FSF) [29] proposes to compose several applications and toschedule the available resources flexibly while guaranteeinghard real-time requirements. A real-time component typemodel [30], which integrates QoS facilities into componentcontainers also was introduced based on the EJB and RMIspecifications. A schedulability analysis algorithm [31] forhierarchical scheduling systems has been introduced fordependent components which interact through remoteprocedure calls. None of these approaches provides theconfigurable services for mixed aperiodic and periodic end-to-end tasks offered by our approach.

9 CONCLUSIONS

The work presented in this paper represents a promisingstep toward configurable middleware services for diverseDRS applications with aperiodic and periodic events. Wehave identified a common set of key characteristicsrepresentative of many DRS applications, and have shownhow to map those characteristics to suitable strategies forreal-time middleware task management services. We havedesigned and implemented configurable middleware com-ponents that provide effective online admission control andload balancing and can be easily configured and deployedon distributed computing platforms. The front-end config-uration engine we have developed can automaticallyprocess specified application characteristics to generate acorresponding deployment plan for DAnCE, thus, makingit easier for developers to select suitable configurations, andto avoid invalid ones. Results of the experiments we haveconducted to evaluate our approach show that 1) ourconfigurable component middleware approach is wellsuited for supporting different applications with alternativecharacteristics and requirements, and 2) the delays imposedby our component middleware services are below 2 ms on arepresentative Linux platform.

The purpose of this research is to demonstrate theefficacy of allowing a variety of strategy combinations tobe configured, to support applications with differentcriteria. While application-specific studies would certainlyoffer further insight into the trade-offs among strategyconfigurations in each application domain, the random tasksets used in this paper demonstrate the potential benefit of

having such flexibility. The results presented in Section 7

encourage further investigation as future work into how

well specific task sets from real-time application domains

such as real-time image transmission [32], shipboard

computing [11], and avionics mission computing [33] can

be supported using the guidance offered in Section 4.1.

ACKNOWLEDGMENTS

This research has been supported in part by the US

National Science Foundation (NSF) grant CCF-0615341

(EHS) and the NSF CAREER award CNS-0448554. Y. Zhang

was with the Department of Computer Science and

Engineering, Washington University, Campus Box 1045,

One Brookings Drive, St. Louis, MO 63130-4899.

REFERENCES

[1] D.C. Schmidt, “Successful Project Deployments of ACE and TAO,”www.cs.wustl.edu/~schmidt/TAO-users.html, WashingtonUniv., 2009.

[2] Real-Time CORBA Specification, 1.1 ed., Object Management Group,Aug. 2002.

[3] G. Bollella, J. Gosling, B. Brosgol, P. Dibble, S. Furr, D. Hardin, andM. Turnbull, The Real-Time Specification for Java. Addison-Wesley,2000.

[4] G. Koren and D. Shasha, “Skip-Over: Algorithms and Complexityfor Overloaded Systems That Allow Skips,” Proc. IEEE Real-TimeSystems Symp. (RTSS), 1995.

[5] Y. Zhang, C. Lu, C. Gill, P. Lardieri, and G. Thaker, “MiddlewareSupport for Aperiodic Tasks in Distributed Real-Time Systems,”Proc. IEEE Real-Time and Embedded Technology and ApplicationsSymp. (RTAS), 2007.

[6] Institute for Software Integrated Systems, “Component IntegratedACE ORB (CIAO),”www.dre.vanderbilt.edu/CIAO/, VanderbiltUniv., 2009.

[7] Light Weight CORBA Component Model Revised Submission, OMGDocument Realtime/03-05-05 ed., Object Management Group,May 2003.

[8] Institute for Software Integrated Systems, “The ACE ORB(TAO),”www.dre.vanderbilt.edu/TAO/, Vanderbilt Univ., 2009.

[9] G. Deng, D.C. Schmidt, C. Gill, and N. Wang, QoS-EnabledComponent Middleware for Distributed Real-Time and EmbeddedSystems. CRC Press, 2007.

[10] L. Sha et al., “Real Time Scheduling Theory: A HistoricalPerspective,” J. Real-Time Systems, vol. 10, pp. 101-155, 2004.

[11] T.F. Abdelzaher, G. Thaker, and P. Lardieri, “A Feasible Regionfor Meeting Aperiodic End-to-End Deadlines in Resource Pipe-lines,” Proc. Int’l Conf. Distributed Computing Systems (ICDCS),2004.

[12] B. Andersson and C. Ekelin, “Exact Admission-Control forIntegrated Aperiodic and Periodic Tasks,” Proc. IEEE Real-Timeand Embedded Technology and Applications Symp. (RTAS), 2005.

[13] J. Strosnider, J.P. Lehoczky, and L. Sha, “The Deferrable ServerAlgorithm for Enhanced Aperiodic Responsiveness in Real-TimeEnvironments,” IEEE Trans. Computers, vol. 44, no. 1, Jan. 1995.

[14] T.H. Harrison, D.L. Levine, and D.C. Schmidt, “The Design andPerformance of a Real-Time CORBA Event Service,” Proc. Conf.Object-Oriented Programming Systems, Languages, and Application(OOPSLA), 1997.

[15] P. Narasimhan, T. Dumitras, A. Paulos, S. Pertet, C. Reverte, J.Slember, and D. Srivastava, “MEAD: Support for Real-Time Fault-Tolerant CORBA,” Concurrency and Computation: Practice andExperience, vol. 17, pp. 1527-1545, 2005.

[16] J. Balasubramanian, S. Tambe, C. Lu, A. Gokhale, C. Gill, and D.C.Schmidt, “Adaptive Failover for Real-time Middleware withPassive Replication,” Proc. IEEE Real-Time and Embedded Technol-ogy and Applications Symp. (RTAS), 2009.

[17] F.H. Raven, Automatic Control Engineering, fifth ed. Mcgraw-Hill,1994.

[18] CORBA Components, OMG Document Formal/2002-06-65 ed.,Object Management Group, June 2002.

ZHANG ET AL.: CONFIGURABLE MIDDLEWARE FOR DISTRIBUTED REAL-TIME SYSTEMS WITH APERIODIC AND PERIODIC TASKS 403

Page 12: Configurable Middleware for Distributed Real-Time Systems ...cdgill/publications/TPDS2010Zhang.pdf · Configurable Middleware for Distributed Real-Time Systems with Aperiodic and

[19] N. Wang, C. Gill, D.C. Schmidt, and V. Subramonian, “Config-uring Real-Time Aspects in Component Middleware,” Proc. Int’lSymp. Distributed Objects and Applications (DOA), 2004.

[20] A. Gokhale, “Component Synthesis Using Model IntegratedComputing,” www.dre.vanderbilt.edu/cosmic, 2003.

[21] R. Schantz, J. Loyall, M. Atighetchi, and P. Pal, “Packaging Qualityof Service Control Behaviors for Reuse,” Proc. IEEE Int’l Symp.Object-Oriented Real-Time Distributed Computing (ISORC), 2002.

[22] J.A. Zinky, D.E. Bakken, and R. Schantz, “Architectural Supportfor Quality of Service for CORBA Objects,” Theory and Practice ofObject Systems, vol. 3, no. 1, pp. 1-20, 1997.

[23] F. Kon, F. Costa, G. Blair, and R.H. Campbell, “The Case forReflective Middleware,” Comm. ACM, vol. 45, no. 6, pp. 33-38,June 2002.

[24] G.S. Blair, G. Coulson, A. Andersen, L. Blair, M. Clarke, F. Costa,H. Duran-Limon, T. Fitzpatrick, L. Johnston, R. Moreira, N.Parlavantzas, and K. Saikoski, “The Design and Implementationof Open ORB 2,” IEEE Distributed Systems Online, vol. 2, no. 6, June2001.

[25] C. Zhang and H.-A. Jacobsen, “Resolving Feature Convolution inMiddleware Systems,” Proc. Conf. Object-Oriented ProgrammingSystems, Languages, and Application (OOPSLA), 2004.

[26] D. Conan, E. Putrycz, N. Farcet, and M. DeMiguel, “Integration ofNon-Functional Properties in Containers,” Proc. Int’l WorkshopComponent-Oriented Programming (WCOP), 2001.

[27] M.A. de Miguel, “QoS-Aware Component Frameworks,” Proc.Int’l Workshop Quality of Service (IWQoS), 2002.

[28] FOKUS, “Qedo Project Homepage,”http://qedo.berlios.de/, 2009.[29] M. Aldea, G. Bernat, I. Broster, A. Burns, R. Dobrin, J.M. Drake, G.

Fohler, P. Gai, M.G. Harbour, G. Guidi, J.J. Gutierrez, T. Lennvall,G. Lipari, J.M. Martınez, J.L. Medina, J.C. Palencia, and M.Trimarchi, “FSF: A Real-Time Scheduling Architecture Frame-work,” Proc. IEEE Real-Time and Embedded Technology and Applica-tions Symp. (RTAS), 2006.

[30] M.A. de Miguel, “Integration of QoS Facilities into ComponentContainer Architectures,” Proc. IEEE Int’l Symp. Object-OrientedReal-Time Distributed Computing (ISORC), 2002.

[31] J.L. Lorente, G. Lipari, and E. Bini, “A Hierarchical SchedulingModel for Component-Based Real-Time Systems,” Proc. WorkshopParallel and Distributed Real-Time Systems (WPDRTS), 2006.

[32] X. Wang, M. Chen, H.-M. Huang, V. Subramonian, C. Lu, and C.Gill, “Control-Based Adaptive Middleware for Real-Time ImageTransmission over Bandwidth-Constrained Networks,” IEEETrans. Parallel and Distributed Systems, vol. 19, no. 6 pp. 779-793,June 2008.

[33] C. Gill, F. Kuhns, D.C. Schmidt, and R. Cytron, “EmpiricalDifferences between COTS Middleware Scheduling Paradigms,”Proc. Int’l Symp. Distributed Objects and Applications (DOA ’02), Oct.2002.

Yuanfang Zhang received the BS and MSdegrees in computer science from Fudan Uni-versity, China, in 1999 and 2002, respectively.She received the PhD degree in computerscience from Washington University in St. Louisin 2008. Her research interests include real-timemiddleware, real-time systems, and multicoreplatforms. She is now with the Cloud ComputingFuture team at Microsoft Research, Redmond,Washington.

Christopher D. Gill is an associate professor ofcomputer science and engineering in the Depart-ment of Computer Science and Engineering,Washington University in St. Louis. His researchinterests include formal modeling, verification,implementation, and empirical evaluation ofpolicies and mechanisms for enforcing timing,concurrency, footprint, fault tolerance, and se-curity properties in distributed, mobile, em-bedded, and real-time systems. He developed

the Kokyu real-time scheduling and dispatching framework that has beenused in several AFRL and US Defense Advanced Research ProjectsAgency (DARPA) projects. He led the development of the nORB small-footprint real-time object request broker at Washington University in St.Louis. He has also led research projects under which a number of real-time and fault-tolerant services for The ACE ORB (TAO) and theComponent-Integrated ACE ORB (CIAO) were developed. He has morethan 50 refereed and invited technical publications and has an extensiverecord of service in review panels, standards bodies, workshops, andconferences for distributed real-time and embedded computing. He is amember of the IEEE and the IEEE Computer Society.

Chenyang Lu received the BS degree from theUniversity of Science and Technology of Chinain 1995, the MS degree from the ChineseAcademy of Sciences in 1997, and the PhDdegree from the University of Virginia in 2001,in computer science. He is an associateprofessor of computer science and engineeringat Washington University in St. Louis. He is theauthor and coauthor of more than 80 publica-tions, and received the NSF CAREER Award in

2005 and the Best Paper Award at the International Conference onDistributed Computing in Sensor Systems in 2006. He is an associateeditor of the ACM Transactions on Sensor Networks and theInternational Journal of Sensor Networks, and guest editor ofthe Special Issue on Real-Time Wireless Sensor Networks of Real-Time Systems. He also served as program chair and general chair ofthe IEEE Real-Time and Embedded Technology and ApplicationsSymposium in 2008 and 2009, track chair on Wireless SensorNetworks for IEEE Real-Time Systems Symposium in 2007 and2009, and demo chair of the ACM Conference on EmbeddedNetworked Sensor Systems in 2005. He serves on the executivecommittee of the IEEE Technical Committee on Real-Time Systems.His research interests include real-time embedded systems, wirelesssensor networks, and cyber-physical systems. He is a member of theACM and the IEEE.

. For more information on this or any other computing topic,please visit our Digital Library at www.computer.org/publications/dlib.

404 IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, VOL. 21, NO. 3, MARCH 2010


Top Related