<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Adaptive Resource Synchronization In Hierarchical Real-Time Systems</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>Tom Springer, Steffen Peter, and Tony Givargis Center for Embedded Computer Systems University of California</institution>
          ,
          <addr-line>Irvine</addr-line>
          ,
          <country country="US">USA</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2000</year>
      </pub-date>
      <fpage>759</fpage>
      <lpage>768</lpage>
      <abstract>
        <p>In this paper we outline the Adaptive Resource Allocation Protocol (ARAP) as an improved resource synchronization algorithm for hierarchically scheduled real-time systems. ARAP exploits knowledge about task utilization, using a proportionalintegral-derivative (PID) controller, to estimate required resource bandwidth and improve scheduling decisions. Our analysis and experiments with RTSIM show that ARAP provides better temporal isolation and resource utilization during periods of transient overload compared to state-of-the-art resource synchronization algorithms. Implemented as part of VxWorks, the results are confirmed using an avionic system, for which ARAP substantially reduced the number of hard real-time deadline misses.1</p>
      </abstract>
      <kwd-group>
        <kwd>Real-time systems</kwd>
        <kwd>hierarchical scheduling</kwd>
        <kwd>resource sharing</kwd>
        <kwd>operating systems</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>This requirement for temporal isolation is challenged by two
major properties we address in this paper. First, the amount of
data and resulting computation times may vary significantly. Such
variations are not easy to predict neither in their magnitude nor
their duration. The second challenge is that the temporal behavior
of the subsystems is often influenced by resources which are
shared among tasks. For instance, if an interface to a sensor
device is locked by a task in one subsystem the temporal isolation
of other subsystems requiring access to the sensor could be
violated.</p>
      <p>To address these challenges a variety of solutions have been
proposed. The most common approach is “over-engineering.”
Historically, systems were designed and considered “safe” with a
utilization factor U of less than 70% [18], while systems with a
higher utilization were deemed “unsafe”. Traditional resource
access protocols, such as Priority Inheritance Protocol (PIP) [4],
the Priority Ceiling Protocol (PCP) [4] or the Stack Resource</p>
      <p>Policy (SRP) [5] are not a viable solution either because there is
no system wide visibility across subsystems. To cope with these
issues, the Hierarchical Scheduling Framework (HSF) has been
introduced to simplify the development and integration of
embedded systems and shown to be particularly useful in the area
of open systems [1].</p>
      <p>The primary goal of hierarchical scheduling is to bind the
temporal behavior of those applications whose execution times
deviate considerably, allowing for the predictable integration of
the various subsystems. However, in order to provide this
temporal isolation the basic HSF model assumes the absence of
shared resources. The problem with this assumption is that most
embedded systems share global resources and need to be
synchronized. While traditional resource access protocols can be
used to synchronize resources locally, within a subsystem, global
resource access presents added challenges such as the
unpredictable holding times between globally shared resources.
In this paper we present the Adaptive Resource Allocation
Protocol (ARAP) which is a new resource synchronization policy
for globally shared resources in an HSF, focused in a single
processor environment. ARAP utilizes knowledge about previous
task utilization, by applying the concept of control theory using a
proportional-integral-derivative (PID) controller, to adapt to
changes in the system. The primary benefit of this new strategy is
that the system can now adapt to computational changes
dynamically. The result being that temporal isolation is
maintained between subsystems even during periods of overload.
We applied ARAP in an actual embedded system that was
experiencing overload conditions resulting in missed deadlines
due to soft and hard real-time tasks sharing the same resource.
Our experiments demonstrated the benefit of ARAP specifically
during overload conditions and as a result deadline misses for
hard real-time tasks were eliminated. Other contributions of this
paper include: the performance analysis of ARAP as compared to
other synchronization protocols, the ARAP protocol implemented
as part of the resource manager class in an open source real-time
scheduling simulator, a simulation model of transient overload
conditions for performance analysis and the first time
implementation (to the best of our knowledge) of an HSF as part
of the VxWorks real-time operating system.</p>
      <p>The remainder of the paper is structured as follows: In Section 2
we provide an overview of hierarchical scheduling. Related work
is reviewed in Section 3 while Section 4 presents the adaptive
resource access mechanism used in our protocol. Performance
analysis and results are provided in Section 5. Section 6 describes
the simulation environment and Section 7 presents the
implementation in an actual embedded system application.</p>
    </sec>
    <sec id="sec-2">
      <title>2. PRELIMINARIES</title>
      <p>This section presents the overall architecture of a hierarchical
scheduled system as well as the definition of a system overload
condition.</p>
    </sec>
    <sec id="sec-3">
      <title>2.1 Hierarchical Scheduling</title>
      <p>The basic framework of a hierarchically scheduled system [2] [3]
is composed of multiple applications (subsystems) where each
application could be composed of multiple tasks (see Figure 1). A
global scheduler controls which application can use the processor
while the local scheduler determines which application’s task
should actually execute. Every application is allocated a separate
service manager, known as the server. Each server is allocated a
CPU capacity reserve, which is assigned as a pair where
is defined as the time quantum and is defined as the period.
Each task gets to execute for its assigned time quantum , when
the task’s time quantum is exhausted the task is blocked until
its next period. In effect, the server functions as an independent
processor virtually limiting the bandwidth of each application.</p>
    </sec>
    <sec id="sec-4">
      <title>2.2 Resource Sharing</title>
      <p>Resource sharing in an HSF can be classified as either local or
global. Tasks that share resources within the same subsystem are
considered local resource sharing. Tasks that share resource
across applications are classified as global resource sharing which
requires the resource be protected at the local as well as global
level. Therefore a task that locks a global resource will also cause
its server to lock the resource. This creates an added complication
of increased resource holding times due to the server budget
exhaustion.</p>
      <p>Researchers have proposed several solutions [8][6] to the problem
of this added delay in critical sections due to server budget
exhaustion. One such approach called budget check checks to see
if there is sufficient server budget before allowing a task to enter a
critical section. If the budget is insufficient the task is not granted
access to the resource until the next budget replenishment. In
another approach the task is allowed to enter a critical section
without checking for a sufficient budget. As a result, if the budget
is exhausted while still inside the critical section the task is just
allowed to continue and consume extra budget until the end of the
critical section.</p>
    </sec>
    <sec id="sec-5">
      <title>2.3 Overload Conditions</title>
      <p>The problem of server budget exhaustion while a task is inside a
critical section can be amplified during periods of overload
because it could unnecessarily increase the time a critical task
would have to wait for the resource. As a consequence, task
overruns can result because tasks execute longer than expected
which can have an increasingly negative impact on resource
holding times. Thus, before we proceed any further, we will take
the time to provide a brief definition of an overload condition.
Overall system load is defined in [18] as the equivalent to the
processor utilization factor U:
(1)
where is the computational time and is the task period. A
load value of means the system is overloaded (requested
computation time exceeds the available processor time).
Consequently, there are two broad classifications of overload
conditions also defined by the authors in [18]:
1. Transient overload is defined for a limited time where the
average load is but the maximum load is
.
2. Permanent overload is defined for an unpredictable duration
where the average load is .</p>
      <p>It is important to note that in this paper our approach was to only
consider transient overload conditions. As a result, the primary
benchmark of our work is to practically eliminate hard real-time
task deadline misses and manage soft real-time task misses so
that the system can recover gracefully from an occasional
transient overload condition.</p>
    </sec>
    <sec id="sec-6">
      <title>3. RELATED WORK</title>
      <p>Initially an HSF was proposed by authors in [3][9] as a means to
perform composability analysis for open systems development.
The motivation being that it can quickly become intractable to
accurately verify the timing behavior of the embedded system as
the complexity increases. The approach was to verify the timing
behavior of each individual subsystem independently then
compose each subsystem into the overall system. However,
typical embedded systems are not entirely independent because
subsystems may need to share resources which are why previous
research on HSFs was extended to include schedulability analysis
of semi-independent real-time components [8] [5].</p>
      <p>
        The SIRAP [8] protocol was developed for fixed-priority
preemptive scheduling while the BROE [
        <xref ref-type="bibr" rid="ref9">10</xref>
        ] protocol was
developed for dynamic-priority scheduling. Both protocols use a
form of budget check to determine if there was enough budget left
to enter the critical section. If the remaining budget was deficient
to complete the critical section the task was blocked from locking
the resource until the next budget replenishment. The limitation
with the budget check approach is that the critical section
execution time is based upon worst-case analysis. This could lead
to resource under utilization due to conservative WCET
estimations. Additionally, a priori knowledge of the WCET for a
critical section is required which is often difficult to evaluate in
applications with variable execution times.
      </p>
      <p>
        Hierarchical scheduling with resource sharing HSRP [2] and later
extended to OPEN-HSRP [
        <xref ref-type="bibr" rid="ref9">10</xref>
        ] utilized a budget overrun approach
to reduce the resource holding times during budget expiration.
While this approach does provide better flexibility for applications
with variable execution times there are some disadvantages. One
such drawback is that even though a task is allowed to overrun its
budget there still has to be a limit placed upon the maximum
overrun time. In order to prevent unbounded blocking a task is
forcefully preempted if it is still holding the resource during the
next budget replenishment. This leads to limitations being placed
upon the types of shared resources used to those that can safely be
aborted to relatively short critical section execution times.
Another consideration is because a task can overrun its budget the
strict temporal isolation between subsystems could be violated. It
is for these reasons that HSRP based systems are typically only
used for soft real-time systems.
      </p>
      <p>
        Other recently published work, known as RRP [
        <xref ref-type="bibr" rid="ref10">11</xref>
        ], took a
different approach to resource locking before budget exhaustion.
Instead of performing a budget check the task is allowed to enter
the critical section and unlike HSRP if the budget has expired the
task is simply preempted and rolled back. The RRP protocol
improved the average case response times and task schedulability
compared to SIRAP and the OPEN-HSRP protocols. However,
the limitation with RRP is that it can only be used with shared
resources that can be safely rolled back (e.g. databases).
Our approach does not rely on WCET analysis of critical section
executions times but instead uses feedback which is more flexible
since it represents the actual operating environment. Previous
research has proposed using feedback to manage CPU scheduling
reservations [
        <xref ref-type="bibr" rid="ref11">12</xref>
        ] [
        <xref ref-type="bibr" rid="ref12">13</xref>
        ] then extended it to include application
defined Quality of Service (QoS) parameters. However, ARAP is
the first to apply a feedback mechanism to resources that are
shared across subsystems in a hierarchically scheduled system.
Past research has demonstrated [14][15] that previous task
behavior is a valid indicator for future task behavior and because
our method incorporates feedback ARAP is better positioned to
respond to transient overload conditions. Consequently, SIRAP is
too conservative by using static WCET analysis while
OPENHSRP overrun mechanisms could affect the deadlines of higher
priority tasks specifically during periods of transient overload.
      </p>
    </sec>
    <sec id="sec-7">
      <title>4. ADAPTIVE RESOURCE ACCESS</title>
    </sec>
    <sec id="sec-8">
      <title>PROTOCOL (ARAP)</title>
      <p>This section provides an overview of ARAP which is a resource
access protocol that synchronizes access to shared resources in a
hierarchically scheduled system. In this paper we only consider
shared memory as the mutually exclusive resource. However,
ARAP could also be extended to include other shared resources
(e.g. memory-mapped areas, device registers, and peripheral
devices) as well. The access to these resources are performed as
part of a critical section and protected by a semaphore.</p>
    </sec>
    <sec id="sec-9">
      <title>4.1 Protocol Description</title>
      <p>Similar to the SIRAP and OPEN-HSRP protocols ARAP utilizes a
two-level hierarchy for resource management. Resources that are
shared within a subsystem are managed with SRP and resources
that are shared across subsystems are managed with an extended
version of HSRP. The overall sequence of actions for ARAP is
provided by the flowchart depicted in Figure 2.</p>
      <sec id="sec-9-1">
        <title>4.1.1 Budget Exhaustion</title>
        <p>The primary difference between the various resource access
protocols in an HSF is how the budget exhaustion of a
subsystem’s server is handled. As mentioned in Section 3 the
SIRAP protocol performs a budget check while OPEN-HSRP
permits budget overflow. Similar to the SIRAP protocol our
method also performs a form of budget check. However, instead
of using a static a-priori calculation of the Critical Section
Execution Time (CSET) ARAP incorporates feedback to estimate
the next resource holding time for that critical section
execution instance.</p>
        <p>The primary benefit of incorporating feedback is that the system
can dynamically adapt to changes in CSET specifically during
periods of transient overload. In this situation the SIRAP protocol
tends to be too conservative because with SIRAP the overload
condition would have to be factored into the CSET calculation
resulting in task under utilization. While the OPEN-HSRP
protocol can better adapt to overload conditions the overrun
mechanism could adversely affect the response times of higher
priority tasks. Therefore, our approach leads to a more robust and
better utilized system with a higher degree of determinism.</p>
      </sec>
      <sec id="sec-9-2">
        <title>4.1.2 Feedback Mechanism</title>
        <p>Our feedback architecture is implemented as part of the kernel
(see Figure 3) and consists of a PID which is used to estimate the
execution time for a task executing inside a critical section. The
output or observed value of the PID is the estimated error ratio
(ER) which is defined as the ratio between the actual measured
critical section execution time and the previous window of past
error ratios. The semaphore request mechanism is used as the
actuator of the system determining whether a task is granted
access to the critical section. The control action is performed by
either allowing the task to acquire the semaphore or to block the
task waiting on the semaphore. If a task requests a semaphore
(e.g. srp_wait ()) it has to pass the budget check test to acquire the
semaphore. The budget check test uses information from the PID
controller as well as information from the scheduler to determine
if there is enough remaining budget to complete the critical
section. To apply the feedback control ARAP uses the PID
controller to compute which is used to project the next
critical section execution time based upon the ER. Using the basic
form a general PID controller [19] defined as:
(2)
where , and are the PID control parameters, IW is the
integration window and DW is the size of the differentiation
interval.</p>
      </sec>
      <sec id="sec-9-3">
        <title>4.1.3 Implementation Considerations</title>
        <p>The implementation of ARAP is similar to SIRAP but the locking
operations (srp_wait, and srp_signal) are modified to utilize the
feedback mechanism. The locking operation is performed by the
srp_wait function so when a task tries to acquire a resource the
local scheduler performs a check to determine if there is enough
budget to complete the critical section. At the semaphore request
time t let the function calcRHT(), which utilizes the PID
controller, calculate the projected resource holding time so that
. At the same time let the function
getCurBudget() get the subsystem server’s remaining budget such
that . If the task’s projected resource
holding time then the task is allowed to lock the
resource and execution continues according to the rules of HSRP.
On the other hand, if then the task is not permitted to
lock the resource until the next subsystem budget replenishment,
this is known as self-blocking. The release operation is performed
by the srp_signal function which signifies the completion of the
critical section. The time that is spent in the critical section is used
as the feedback to the PID controller. At the semaphore release
time t’ the function recordRHT( records the actual time
spent in the critical section.</p>
      </sec>
    </sec>
    <sec id="sec-10">
      <title>5. PERFORMANCE ANALYSIS</title>
      <p>This section provides the background for the performance analysis
of ARAP as part of a hierarchically scheduled system (equations
are applied in subsection 5.3). Given that both ARAP and SIRAP
perform a budget check the analysis performed for SIRAP [8] can
be applied to ARAP as well. The difference is that ARAP uses a
projected CSET based upon feedback whereas SIRAP uses static
a-priori CSET.</p>
    </sec>
    <sec id="sec-11">
      <title>5.1 Local Performance Analysis</title>
      <p>According to the authors in [7] each subsystem
schedulable if
where is the supply bound function used by authors [8] to
calculate the minimum CPU allocations required during an
interval of time. Authors in [7] presented a periodic processor
model to characterize the allocations defined by what they called
the virtual processor model represented as . The supply
bound function (see Figure 4) of the virtual processor model is
defined as:
is
(3)
(4)
where
interval
and
.</p>
      <p>is defined as the
The resource holding time for is defined as the maximum
critical section execution plus the interference from the tasks
with a higher preemption level than the ceiling of the resource
during the CSET of . Such that is computed using
as follows:
where is the ceiling of the resource accessed within the
critical section and are the worst-case execution time
and period of the task that has a higher preemption level than
. The value u represents the maximum resource
within a subsystem.</p>
    </sec>
    <sec id="sec-12">
      <title>5.2 Global Performance Analysis</title>
      <p>For global scheduling analysis the virtual processor model can be
extended to a global model where multiple subsystems
can be verified according to equation (3). Therefore, the
schedulability test for a fixed priority global scheduler is defined
as:
where of subsystem is the maximum resource holding time
with a preemption level less than .</p>
    </sec>
    <sec id="sec-13">
      <title>5.3 Performance Results</title>
      <p>Schedulability analysis for HSRP was performed by authors in [2]
which is very similar to the SIRAP analysis which excludes
selfblocking but has to consider the overrun mechanisms. Similar to
SIRAP as well the analysis for OPEN-HSRP is extended from
equation (3) as follows:
where is the maximum blocking time when
lower priority task. The supply bound function
by equation (4) and the request bound function
defined as follows:
is blocked by a
is defined
is
where is the set of tasks with priorities higher than . The
global schedulability is defined as:
where the load bound function
is defined as follows:
where
where is the set of subsystems with a higher priority than
subsystem and is the maximum time that is blocked by
lower priority subsystems. The performance of ARAP is
evaluated as the minimum value of the request bound function
that would guarantee schedulability. For the synthetic
workload we generated random variances of a hierarchical system
consisting of 3 separate subsystems such that . Each
subsystem consisted of 3 tasks with a global resource being
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
shared between each subsystem. Each subsystem has a total
utilization of 15%. Task periods ranged between 100 and 1000.
Figure 5 represents the overall task acceptance rate for the
simulated task sets required for task schedulability as defined by
equation (3). Notice that ARAP has an improved acceptance rate
over SIRAP. The reason for this improvement is that the WCET
calculation for ARAP adapts to the current workload which
provides greater flexibility than SIRAP’s static approach.
Additionally, because ARAP is adaptable it is comparable to
OPEN-HSRP but without the added complexity of managing the
overruns of the OPEN-HSRP protocol.</p>
    </sec>
    <sec id="sec-14">
      <title>6. SIMULATION ENVIRONMENT</title>
      <p>This section describes the simulation environment we used to
further analyze ARAP which was implemented as a simulation
component within RTSIM [16]. RTSIM (Real-Time System
Simulator) is a task scheduler simulation and is used primarily for
simulating real-time control systems. In order to implement
ARAP in RTSIM we extended the existing resource manager
class to include the feedback mechanisms.</p>
    </sec>
    <sec id="sec-15">
      <title>6.1 Modeling and PID Tuning</title>
      <p>A Heaviside step function was used to model the transient
overload condition. Heaviside functions are used extensively in
control theory to represent different loads. The discontinuous
nature of this function maps nicely to an overload situation where
we can model periods of nominal, ramp-up and ramp-down
behaviors. The Ziegler-Nichols [17] tuning method was used to
tune the feedback mechanism.</p>
    </sec>
    <sec id="sec-16">
      <title>6.2 Example Task Set</title>
      <p>The example task set consisted of a total of five periodic tasks,
two hard real-time and three soft real-time tasks but only two
tasks T3 and T5 shared a critical region and therefore were
synchronized by a semaphore. For the two tasks (T3 and T5), that
shared a semaphore, execution times were modeled to exceed
their nominal rates. The Tasks T4 and T5 which represent hard
real-time tasks were allowed to execute up to their predefined
WCET while Task T3 was modeled to exceed its bandwidth,
thereby generating a transient overload condition.</p>
      <p>In order to provide a comparison of ARAP we simulated both the
traditional first-come-first-serve (FCFS) and OPEN-HSRP
resource allocation protocols in RTSIM. One note; is that due to
the simulated transient overload conditions of our scenario SIRAP
was not included in the results because it was repeatedly denied
access to the shared resource due to conservative nature of the
protocol.</p>
      <p>We ran simulations using the task set defined above with the
Heaviside function to simulate task execution times for analysis as
to how well the ARAP protocol performed against EDF
scheduling with FCFS resource allocation (no PIP) as well as EDF
using resource sharing with budget overrun (OPEN-HSRP). We
executed sample runs modeling transient overload conditions at
0%, 5%, 10%, 15%, 20% and 25% respectively. The Figures 6
and 7 separate out the miss rates between the hard and soft real
time tasks.
In the figures above EDF-FCFS represents EDF scheduling with
standard first-come-first-serve resource management (no PIP),
EDF-HSRP represents EDF scheduling with OPEN-HSRP
resource management and EDF-ARAP represents EDF scheduling
with PID feedback control. Depicted in Figure 6 the ARAP
protocol outperforms the other methods while it sacrifices some
deadline misses in soft real-time tasks. Notice that in Figure 6
both scheduling mechanisms EDF-FCFS and EDF-HSRP exhibit
hard real-time task misses. Even though EDF-HSRP manages the
soft real-time tasks with a periodic server hard real-time task
misses are realized because the overrun mechanism allows the
task to continue, even though its server budget has been
exhausted. In Figure 7 EDF-HSRP outperforms EDF-ARAP
because the overrun mechanism allows the task to continue at the
expense of hard real-time deadline misses.</p>
    </sec>
    <sec id="sec-17">
      <title>7. PRACTICAL EVALUATION</title>
      <p>To demonstrate the practicality of our approach we also
implemented ARAP as part of a ground-based command and
control test set used for satellite telemetry processing. A
hardware-in-the-loop (HWIL) simulator was used to provide the
workload for our system. This particular use case was chosen
because telemetry processing times can vary considerably
depending upon the data rate and how densely the telemetry frame
is populated. In this way, we can use the HWIL simulator to
generate transient overload conditions.</p>
      <p>The main software components of the system includes a hard
realtime periodic task that performs the frame processing of a
telemetry stream. The other primary software component is a soft
real-time task that provides the health and status monitoring for
the vehicle. The telemetry processing task and the monitoring task
both share a global resource which is the decommutated telemetry
buffer. Similar to the simulation environment we used the HWIL
simulator to model transient overloads between 0%-25%. Two
traditional resource synchronization protocols (PIP and FCFS)
were used in the evaluation for comparison.</p>
      <p>The results for the overall deadline miss rates were separated out
based upon soft and real-time tasks. Soft real-time tasks were
scheduled by the local subsystem scheduler which is scheduled by
the global fixed priority scheduler of VxWorks. Hard real-time
tasks were scheduled directly by the global VxWorks scheduler.
Soft real-time tasks were modeled to allow their execution time to
exceed their budget while the hard real-time tasks were designed
to not exceed their pre-defined utilization budget.</p>
      <p>As illustrated in Figure 8 ARAP does provide the mechanism for
eliminating the extended blocking by a lower priority task
however, the soft real-time task could be affected causing
increased missed deadlines for the soft real-time task. Notice that
in Figure 9 ARAP reports the highest number of deadline misses
for soft real-time tasks. The reason for this behavior is that during
a transient overload the task may be denied access to the resource
and have to wait until the next budget replenishment period. As
shown in the results using a feedback mechanism can directly
benefit the determinism of a hard real-time at the possible expense
of other soft real-time tasks that share the global resource.</p>
    </sec>
    <sec id="sec-18">
      <title>8. CONCLUSION</title>
      <p>In this paper we considered the problem of sharing global
resources in a hierarchical scheduled system. Traditionally, HSF
was designed for soft real-time applications, in part due to
problem of unbounded resource holding times between global
resources. Our approach which utilized feedback from the actual
system to estimate future usage provided greater flexibility and
allowed for the system to adapt to changes better than other
stateof-the-art synchronization protocols. By implementing ARAP as
part of an actual embedded system application we were able to
effectively eliminate deadline misses for a critical high priority
task. Our motivation for this work stems for the aerospace
industry where systems are routinely over engineered in the
interest of real-time determinism. It is a common perception that
an embedded system is considered “unsafe” above 70% total
utilization. As a result of this work we demonstrated that we can
build more efficient embedded systems by more effectively
managing the tasks within that system and in doing so reducing
the total number of processing elements required.
10. REFERENCES
[1]</p>
      <p>R.I. Davis and A. Burns, “Resource Sharing in Hierarchical Fixed
Priority Pre-emptive Systems.” In RTSS’06.
[16] RTSIM, http://www.rtsim.sssupit.com</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          <article-title>This work was supported in part by the National Science Foundation under NSF grant number 1136146</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          <string-name>
            <given-names>P.</given-names>
            <surname>Goyal</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Guo and H.M. Vin</surname>
          </string-name>
          , “
          <article-title>A hierarchical CPU scheduler for multimedia operating systems</article-title>
          .” In OSDI, pp.
          <fpage>107</fpage>
          -
          <lpage>121</lpage>
          ,
          <year>1996</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          <string-name>
            <given-names>L.</given-names>
            <surname>Sha</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Rajkumar</surname>
          </string-name>
          and
          <string-name>
            <given-names>J.P.</given-names>
            <surname>Lehoczky</surname>
          </string-name>
          , “
          <article-title>Priority Inheritance Protocols: An Approach to Real-Time Synchronization”</article-title>
          .
          <source>IEEE trans. Comput</source>
          . Vol
          <volume>39</volume>
          , pp.
          <fpage>1175</fpage>
          -
          <lpage>1185</lpage>
          ,
          <year>1990</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          <string-name>
            <surname>Real-Time</surname>
            <given-names>Systems</given-names>
          </string-name>
          , vol.
          <volume>3</volume>
          pp.
          <fpage>67</fpage>
          -
          <lpage>99</lpage>
          ,
          <year>1991</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          <string-name>
            <given-names>L.</given-names>
            <surname>Abeni</surname>
          </string-name>
          and
          <string-name>
            <given-names>G.C.</given-names>
            <surname>Buttazzo</surname>
          </string-name>
          , “
          <article-title>Resource reservations in dynamic real-time systems”, Real-Time Systems</article-title>
          , pp.
          <fpage>123</fpage>
          -
          <lpage>165</lpage>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          <string-name>
            <surname>Symp.</surname>
          </string-name>
          ,
          <fpage>pp99</fpage>
          -
          <lpage>110</lpage>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          <string-name>
            <given-names>M.</given-names>
            <surname>Behnam</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Nolte</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M</given-names>
            <surname>Sjodin</surname>
          </string-name>
          and
          <string-name>
            <given-names>I</given-names>
            <surname>Shin</surname>
          </string-name>
          .
          <article-title>“SIRAP: A synchronization protocol for hierarchical resource sharing real-time open systems,”</article-title>
          <source>In EM-SOFT 07.</source>
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          <string-name>
            <given-names>N.</given-names>
            <surname>Fisher</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Bertogna</surname>
          </string-name>
          and
          <string-name>
            <given-names>S.</given-names>
            <surname>Baraugh</surname>
          </string-name>
          . “
          <article-title>The Design of an EDFScheduled Resource-Sharing Open Environment”</article-title>
          .
          <source>In RTSS '07.</source>
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>M.</given-names>
            <surname>Behnam</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Nolte</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M</given-names>
            <surname>Sjodin</surname>
          </string-name>
          and
          <string-name>
            <given-names>I</given-names>
            <surname>Shin</surname>
          </string-name>
          .
          <article-title>“Overrun Methods and Resource Holding Times for Semi-Independent Real-Time Systems,”</article-title>
          <source>IEEE trans. on Indus. Informatics</source>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>M.</given-names>
            <surname>Asberg</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Nolte</surname>
          </string-name>
          and
          <string-name>
            <given-names>M.</given-names>
            <surname>Behnam</surname>
          </string-name>
          , “
          <article-title>Resource Sharing Using the Rollback Mechanism in Hierarchically Scheduled Real-Time Open Systems,”</article-title>
          <source>In RTSA '13</source>
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>L.</given-names>
            <surname>Abeni</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.C.</given-names>
            <surname>Buttazzo</surname>
          </string-name>
          , “
          <article-title>Hierarchical qos management for time sensitive applications</article-title>
          ,” In RTAS'
          <volume>01</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>L.</given-names>
            <surname>Abeni</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Palopoli</surname>
          </string-name>
          , G. Lipari, J. Walpole, “
          <article-title>Analysis of a Reservation-Based Feedback Scheduler</article-title>
          ,” In RTSS '
          <volume>02</volume>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>