<!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>Fuzzy Logic Based Adaptive Hierarchical Scheduling for Periodic Real-Time Tasks</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>2015</year>
      </pub-date>
      <issue>1136146</issue>
      <abstract>
        <p>In this paper, we present a new scheduling approach for real-time tasks in an embedded system. Our method utilizes hierarchical scheduling to provide a resource based allocation scheme while using a fuzzy logic based feedback scheduler to react to environmental changes within the application. The primary goal is to provide a scheduling mechanism that can adapt to overload conditions but still present a level of service while enforcing the temporal isolation between independent applications. The scheduler then considers this level of service to make scheduling decisions based upon a task's service requirements, such as criticality or timeliness. Implemented in VxWorks on a uniprocessor-based platform results show that our adaptive approach provides significant advantages, during overload conditions, over traditional fixed-priority scheduling schemes.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;Real-time systems</kwd>
        <kwd>hierarchical scheduling</kwd>
        <kwd>fuzzy logic</kwd>
        <kwd>real-time operating systems</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. INTRODUCTION</title>
      <p>Current embedded systems are becoming considerably more
complicated and they are expected to handle increasingly diverse
applications. No longer are they considered special-purpose
computing environments but are evolving into more
generalpurpose type platforms in terms of their processing and workload
requirements. These increasingly diverse applications present new
challenges for traditional real-time scheduling mechanisms in that
applications can have conflicting objectives. For example, one
application may be more concerned with screen update response
as opposed to whether a single update is missed. While a mission
critical application, such as a navigational task, cannot afford to
miss even a single update.</p>
      <p>The problem is that traditional real-time scheduling mechanisms
do not map well to these diverse types of applications specifically
during a processing fault or during periods of computational
overload. Faults can occur from longer than unexpected task
execution time or from programming errors which can lead to the
starvation for all lower-priority tasks. An overload can occur as
the result of too many tasks being admitted into the system
resulting into what is known as the “domino effect” where all
tasks except the newly admitted one miss their deadlines.
The challenge is that many embedded systems are expected to
perform continuous operations in potentially harsh environments
and execute at least a subset of critical operations during a fault or
overload condition. In order to enforce these strict timing
constraints required by critical functions during a fault condition a
form of temporal isolation is needed so that corresponding timing
requirements are respected. During an overload event the system
needs to be able to dynamically adapt to the current load so that
system performance can degrade gracefully.</p>
      <p>As a solution to these challenges our work utilizes hierarchical
scheduling to provide the temporal isolation for real-time tasks by
enforcing their timing constraints. The hierarchical scheduling
framework (HSF) originally proposed by researchers [1] is a
component based technique for scheduling complex real-time
systems. The initial idea in applying this approach is that
relatively simple components can be used to create larger and
more complex systems. In this way, the timing constraints of
individual components can be verified, a type of divide and
conquer approach. Therefore, by extending this framework we can
then schedule each application (i.e. component) such that their
timing constraints are satisfied. However, the current limitation
with a traditional HSF-based approach is that the scheduling
parameters for each component are assigned statically.
Unfortunately, in a dynamic system the resource demand for each
component can vary significantly especially during periods of
overload. It is for this reason that we present an adaptive
mechanism where the component parameters can adapt to
environmental changes in the system. In this way, the system can
degrade gracefully in the presence of computational overload
while still maintaining a level of serviceability for critical
applications.</p>
      <p>
        For this work we apply a novel approach where the component
parameters adapt based upon a value-based heuristic instead of a
deadline based policy. This value-based approach is applied
because authors in [
        <xref ref-type="bibr" rid="ref3">5</xref>
        ] have presented the limitations of a deadline
based model for real-time scheduling and have concluded that a
value-based approach can more accurately represent the cost or
benefit of meeting or missing a deadline. The challenge is in
assigning this value metric because in the event of an overload we
want to degrade the performance gracefully by ensuring that tasks
are provided at least some minimum level of service. Therefore,
during an overload when the current schedule is unfeasible we
want the scheduler to schedule tasks according to some intelligent
heuristic. Some possible heuristics would include scheduling the
most important tasks first while still maintaining some level of
timeliness for the less important tasks. Our approach is to utilize a
heuristic function for guiding the scheduling decisions in a
complicated situation where multiple factors may need to be
considered such as deadlines, task criticality or task response
times.
      </p>
      <p>In this paper we present a new adaptive hierarchical scheduler for
real-time systems (AHS-RT) that provides timing guarantees for
critical tasks and a minimum level of service for non-critical tasks
during overload conditions. Our approach is to utilize fuzzy logic
for the guidance mechanisms because they prove to be easier to
express, comprehend and modify than other heuristic functions.
The remainder of this paper is organized as follows. Section 2
provides an overview of the hierarchical scheduling framework
used by our scheduling mechanism. Section 3 discusses related
work and Section 4 provides an overview of the hierarchical
scheduler (AHS-RT). Section 5 presents the simulations we used
to provide comparisons between our scheduling approach and
traditional fixed priority scheduling. In Section 6 we conclude
with future work and the research summary.</p>
    </sec>
    <sec id="sec-2">
      <title>2. BACKGROUND</title>
      <p>This section provides a background of the terminology used in the
paper as well as an overview of hierarchical scheduling provided
as a reference for the overall architecture of adaptive hierarchical
scheduling.</p>
    </sec>
    <sec id="sec-3">
      <title>2.1 Hierarchical Scheduling Framework</title>
      <p>Hierarchical scheduling provides a framework for scheduling
multiple real-time applications on a single processor which is
modeled as a system S. Each system may consist of multiple
applications (subsystems ) such that . Each subsystem
consists of a number of real-time tasks. Each subsystem is
associated with a periodic server which provides the temporal
isolation between subsystems. The execution of tasks is
performed using a two-level hierarchical scheduling policy:
global and local. The global scheduling policy determines which
subsystem has access to the processor while the local scheduling
policy determines which task should actually execute (Figure 1).</p>
    </sec>
    <sec id="sec-4">
      <title>2.2 Task Model</title>
      <p>We consider a task set , such that each task
is defined as where is defined as the task period,
denotes the task worst case execution time (WCET), is the
relative deadline and represents the task criticality value. It is
assumed that each task is a constrained task such that
. The criticality value represents the importance or
weight of the task as it relates to other tasks in the set. The
criticality value along with the deadline and period are used by the
fuzzy inference engine to make scheduling decisions by the local
scheduler.</p>
    </sec>
    <sec id="sec-5">
      <title>2.3 Subsystem Model</title>
      <p>Each subsystem consists of a task set such that . The
subsystem is modeled as a periodic task so a subsystem can be
scheduled in a similar way as a simple real-time periodic task. The
subsystem is defined as where represents the
subsystem period, represents the subsystem budget and
represents the subsystem criticality level. Similar to the task
model the service value is used to make scheduling decisions at
the subsystem level. Note that during overload conditions the
subsystem with the highest criticality level is granted its full
budget at the possible expense of lower criticality subsystems.</p>
      <sec id="sec-5-1">
        <title>2.3.1 Periodic Server</title>
        <p>The virtual server is invoked with the corresponding subsystem
period . If there are any ready tasks within the subsystem then
they execute until they complete or the server’s budget is
exhausted. If there are no ready tasks to execute or no higher
priority subsystem needs to utilize some of the server’s budget
during an overload condition then the capacity is idled away as if
a background task were running. After a server’s budget is
exhausted the server suspends the execution of the subsystem
until the capacity is replenished at the start of the next period. For
this work we choose a periodic server as the fixed priority server
algorithm, in part because the simpler design has less overhead
but also because authors in [2] have shown it to dominate other
fixed-priority server algorithms.</p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>2.4 Fuzzy Systems</title>
      <p>The scheduler and the controller of AHS-RT are based upon
fuzzy-logic heuristics. The fuzzy logic based approach was
chosen because of its strength in dealing with dynamic
environments involving a certain degree of uncertainty. The fuzzy
system is defined as having n inputs , where
and , is the collection of numbers for (universe of discourse
for ) and one output , where is the universe of discourse
for (multiple input single output fuzzy system). The inputs
and output are crisp values (i.e. real numbers). The structure of
the fuzzy system consists of three stages; fuzzication stage,
inference stage and the defuzzication stage. The fuzzication stage
converts the crisp input values into fuzzy sets to be used by the
inference stage. The inference stage uses the rules defined in the
rule base to convert these fuzzy sets into other fuzzy sets that
represent the recommendations of the various rules in the rule
base. The defuzzication stage combines these fuzzy
recommendations to provide a crisp output .</p>
    </sec>
    <sec id="sec-7">
      <title>3. RELATED WORK</title>
      <p>
        Hierarchical scheduling framework (HSF) was initially proposed
by researchers [1][
        <xref ref-type="bibr" rid="ref2">4</xref>
        ][
        <xref ref-type="bibr" rid="ref4">6</xref>
        ] as a means to reduce the scheduling
complexity for open source embedded systems. Resource
partitioning [
        <xref ref-type="bibr" rid="ref5">7</xref>
        ] was introduced as a general technique for limiting
the effects of overruns in tasks with variable execution times. This
resource reservation technique can then be applied by hierarchical
schedulers to provide the temporal isolation between subsystems
for more predictable behavior, improved reusability and
composability. However, the current limitation with HSF is that in
order to determine the resource reservations all tasks parameters
must be known a priori and fixed during run-time. The problem is
that accurate task information may not be known or hard to derive
at run-time. Additionally, in order to account for overload
conditions the system may need to be over-engineered which
could lead to significant under utilization during nominal load
periods.
      </p>
      <p>
        In [
        <xref ref-type="bibr" rid="ref6">8</xref>
        ] [
        <xref ref-type="bibr" rid="ref7">9</xref>
        ] [
        <xref ref-type="bibr" rid="ref8">10</xref>
        ] authors proposed a feedback mechanism to account
for the dynamic behavior when the task parameters may not be
fully known. The approach was for the scheduler to maximize the
CPU utilization, avoid system overload and distribute the
computing resource evenly among tasks. By incorporating
feedback the scheduler reacts to changes in the workload then
tries to keep the overall utilization as close as possible to a desired
set point typically using a type of control mechanism, such as a
proportional integral derivative (PID) controller. Related work
[
        <xref ref-type="bibr" rid="ref9">11</xref>
        ] [
        <xref ref-type="bibr" rid="ref10">12</xref>
        ] adjusts the resource allocation on-line based upon a
quality-of-service (QoS) scheme where a certain level of service
is provided in cases overload. However, the primary objective of
this approach is control performance and not necessarily
minimizing the number of missed deadlines.
      </p>
      <p>
        Authors in [
        <xref ref-type="bibr" rid="ref12">14</xref>
        ] took a slightly different approach in that they
based their scheduler on a benefit based model. Their approach
was to schedule the tasks using a traditional deadline based
scheduling policy until a potential fault was detected and before
an overload condition could occur. After a fault is detected the
scheduler switches to a benefit based scheduler that considers task
importance, system state and timeliness to schedule tasks. Authors
in [
        <xref ref-type="bibr" rid="ref11">13</xref>
        ] also took a similar approach in adaptive scheduling except
they manipulated the task period of other tasks to achieve the
desired level of performance.
      </p>
      <p>
        Other research [
        <xref ref-type="bibr" rid="ref13">15</xref>
        ] [
        <xref ref-type="bibr" rid="ref14">16</xref>
        ] [
        <xref ref-type="bibr" rid="ref15">17</xref>
        ] treated the uncertainty of varying
execution times as a multi-criteria optimization problem then
applied fuzzy logic to derive a feasible schedule. Their approach
was to treat various task parameters, such as deadline, start time
or execution time, as inputs to the fuzzy scheduler then perform
fuzzy analysis to assign a task priority value. Additional work
[
        <xref ref-type="bibr" rid="ref16">18</xref>
        ] utilized fuzzy logic as a means for tuning a feedback
controller to provide optimal resource utilization through task
period re-adjustment.
      </p>
      <p>
        Recent work [
        <xref ref-type="bibr" rid="ref17">19</xref>
        ] extended hierarchical scheduling to provide an
adaptive hierarchical framework for managing overruns in tasks
with varying execution times. Their approach was to utilize a
feedback control mechanism for adapting the resource allocation
by adjusting the amount of budget assigned to a subsystem. By
adjusting the budgets at run-time the framework can better adapt
to changes in the workload.
      </p>
      <p>
        Our approach in AHS-RT is similar to the work in [
        <xref ref-type="bibr" rid="ref17">19</xref>
        ] in that we
also utilize hierarchical scheduling for determinism and temporal
isolation. However, AHS-RT differs in how the local scheduling
and global scheduling is performed. Local scheduling is based
upon a fuzzy scheduler which is more adept at making scheduling
decisions when the task parameters are vague. Research by
authors in [
        <xref ref-type="bibr" rid="ref15">17</xref>
        ] demonstrated that fuzzy logic based approaches
outperform traditional deadline based policies such as earliest
deadline first (EDF). In AHS-RT global scheduling also uses a
feedback controller but the controller is based upon a fuzzy logic
heuristic instead of a PID controller. Because fuzzy logic can
better tolerate imprecision thereby providing improved run-time
flexibility.
      </p>
    </sec>
    <sec id="sec-8">
      <title>4. AHS-RT Architecture</title>
      <p>This section describes the overall architecture (see Figure 1) of the
AHS-RT scheduling framework which consists of a two-level
hierarchical scheduling framework. The root-level contains the
global scheduler which manages how subsystems (i.e.
applications) are allocated on the processor. While the node-level
contains the local scheduler which manages how tasks are
scheduled on the processor.</p>
    </sec>
    <sec id="sec-9">
      <title>4.1 Global Scheduling</title>
      <p>At run-time the global scheduler chooses the highest priority
subsystem that has tasks ready to run. The priority is based upon
the subsystem period so the shorter the period the higher the
subsystem priority. Therefore if the priority of then
would be scheduled first with its full budget then would be
scheduled next with its full budget unless an overload condition is
detected. In the event of an overload a higher criticality subsystem
may request a budget change at the possible expense of a lower
criticality subsystem which may or may not be a lower priority
subsystem.</p>
      <p>
        The logical approach may be to re-assign budgets based upon
subsystem priority. However, during an overload event studies
have shown [
        <xref ref-type="bibr" rid="ref1">3</xref>
        ] that a value-based approach offers considerable
advantages over traditional deadline-based approaches. For this
reason, during an overload event the global scheduler of AHS-RT
temporarily switches from a deadline-based scheduling policy to a
value-based scheduling policy. Instead of the highest priority
subsystem receiving their full budget the subsystem with the
highest criticality level will receive their entire budget.
Therefore, the global scheduler redistributes budgets based upon
the criticality level which means lower criticality subsystems yield
their budgets to higher criticality subsystems. This greedy
approach can lead to starvation, even for some high priority
subsystems, but this is acceptable in that during overload
conditions the highest criticality subsystems are considered
superior to lower criticality subsystems.
      </p>
      <sec id="sec-9-1">
        <title>4.1.1 Detecting Overloads</title>
        <p>An overload condition is based upon the overall subsystem
utilization which is defined as:
and because we are using RM then an overload condition is
determined by , where m is the number of
subsystems. An overload can occur because a subsystem requests
a budget change in order to adapt to a fault or missed deadline
within a task of an individual application. A budget change does
not necessarily mean that the system is overloaded just that there
is the potential for an overload condition to exist. Consider some
unallocated system utilization denoted as such that
, and then this extra utilization could be temporarily
reallocated to the subsystem requesting the additional budget.
However, if there are not sufficient resources to satisfy all the
budget requirements then the system is considered overloaded
which implies that a budget reallocation needs to be performed.</p>
      </sec>
      <sec id="sec-9-2">
        <title>4.1.2 Budget Reallocation</title>
        <p>After the full budget has been allocated to the highest criticality
subsystem the lower criticality budgets needs to be
redimensioned. The next lower criticality subsystems are then
assigned budgets based upon the remaining utilization. The
algorithm and description for budget dimensioning is provided
below.</p>
        <p>The budget dimensioning algorithm (Algorithm 1) works by
iterating through all the subsystems in the subset of lower
criticality subsystems. In line 2 the new budget is calculated based
upon the remaining system utilization. A schedulability test (line
3) is then performed on the modified budget. If the modified
budget renders the system unschedulable then a new budget value
is attempted based upon the previous failed value. The algorithm
continues to reduce the budgets of lower criticality subsystems
until a schedulable system is found.</p>
      </sec>
    </sec>
    <sec id="sec-10">
      <title>4.2 Local Scheduling</title>
      <p>The local scheduling of AHS-RT consists of two primary
components; a fuzzy logic based scheduler and a fuzzy logic
based feedback controller. The scheduler selects the task to
execute on the processor derived from the fuzzy rules based
approach to real-time scheduling. The feedback controller gathers
system state information for subsystem budget management to
maximize utilization and minimize missed deadlines.</p>
      <sec id="sec-10-1">
        <title>4.2.1 Fuzzy Scheduler</title>
        <p>At run-time the fuzzy scheduler selects the highest priority task
that is ready for execution on the processor. The priority of the
task is determined by several parameters: task deadline, task
criticality and task execution time. The task deadline is the time
before the task should be completed. The task criticality relates to
the consequences of missing a deadline. The task execution time
is the worst-case execution time for that task. These parameters
are then fuzzified and represented as linguistic variables (i.e. a
word used to describe a variable). Fuzzy rules are then applied to
the linguistic variables to compute the service value. The
linguistic values for the three parameters are defined as: task
deadline (early, on-time, late), task criticality (hard, firm, soft)
and CPU time (very low, low, normal, high, very high). Fuzzy
rules are then applied to create a fuzzy conclusion for computing
the priority level. Figure 2 illustrates the linguistic variables used
by the inference stage of the fuzzy scheduler.
Some of the fuzzy rules for the scheduler inference mechanism
are listed as an example here:


</p>
        <sec id="sec-10-1-1">
          <title>If (CPU Time is high) and (deadline is late) and</title>
          <p>(criticality is hard) then (Priority is very high)</p>
        </sec>
        <sec id="sec-10-1-2">
          <title>If (CPU Time is normal) and (deadline is on-time)and</title>
          <p>(critically is firm) then (Priority is normal)</p>
        </sec>
        <sec id="sec-10-1-3">
          <title>If (CPU time is low) and (deadline is early) and (criticality is soft) then (Priority is low).</title>
          <p>These fuzzy conclusions are then combined to produce a fuzzy
variable that represents the criticality level of the task. The
variable is then defuzzified to create a value that is compared to
other tasks to determine which task should be scheduled next. The
decision surface illustrates the crisp output value (priority) that is
obtained based upon the input parameters (See Figure 3).
The fuzzy scheduler algorithm (Algorithm 2) iterates through all
the tasks in the task set for a particular subsystem and for each
task passes the deadline ( ), criticality value ( ) and starting
time ( ) into the fuzzy inference engine. The output from the
inference function is a crisp value used to assign a priority to each
task and stored in a priority array ( ). The task with the
highest priority is then executed until some scheduling event
occurs (task completion, new task instance arrives or server
budget exhaustion). The system status is then updated and if a task
misses its deadline such as server budget exhaustion then the
deadline miss is reported to the feedback controller which could
trigger a budget reallocation across the system.</p>
        </sec>
      </sec>
      <sec id="sec-10-2">
        <title>4.2.2 Fuzzy Feedback Controller</title>
        <p>
          The feedback controller in AHS-RT is similar to the FC-UM
algorithm [
          <xref ref-type="bibr" rid="ref18">20</xref>
          ] in that both the miss-ratio and utilization are
monitored. The reference inputs for miss-ratio and unused
budget are both set to zero. At each sampling instant the
missratio M(k) and the unused subsystem budget U(k) are fed back
into the controller. These values are then compared to their
respective set points to determine the difference where du(k)
represents the utilization error and dm(k) represents the miss-ratio
error. The output from the fuzzy controller is the budget
dimensioning factor . As part of a typical fuzzy controller
(Figure 4) we need to specify meaningful linguistic values and
membership functions for each input and output variable. The
input to the controller are miss ratio and task utilization ratio
defined as a triangular membership functions. The input
linguistic values are utilization (very low, low, normal, high, very
high) and deadline misses (zero, small, medium, high). The output
linguistic values is bandwidth adjustment (none, very small,
small, medium, big and very big).
Some of the fuzzy rules for the controller inference mechanism
are listed as an example here:



        </p>
        <sec id="sec-10-2-1">
          <title>If (misses are zero) and (utilization is normal) then (bandwidth adjustment is none)</title>
        </sec>
        <sec id="sec-10-2-2">
          <title>If (misses are small) and (utilization is high) then (bandwidth adjustment is small)</title>
        </sec>
        <sec id="sec-10-2-3">
          <title>If (misses are high) and (utilization is high) then (bandwidth adjustment is high)</title>
        </sec>
      </sec>
    </sec>
    <sec id="sec-11">
      <title>4.3 Task Scheduling Example</title>
      <p>To demonstrate AHS-RT we have provided an example
scheduling scenario. Note for illustration purposes we are only
considering one subsystem. So, the primary purpose of this
example is present how the fuzzy scheduler manages tasks within
the context of one subsystem.
Consider the task set and subsystem listed in Tables 1 and 2.
Table 3 describes the scheduling of tasks at the first scheduling
event where tasks and all have the same initial starting
time but since has the nearest deadline it is assigned the highest
priority by the fuzzy scheduler. Therefore, is allowed to
execute until completion then at time unit t3 task executes until
time unit t5 when the subsystem’s budget expires. At time unit t10
(see Table 4) the subsystem’s budget is replenished where the
tasks can continue execution. At this time the fuzzy scheduler
performs a re-ordering of task priorities to reflect the system state.
Task is assigned the highest priority because the start time is
the earliest and the deadline is the closest. Note that at time unit
10
5
10
10
5
10
10
5
10
10
5
10
10
~9
~5
~3
~5
~9
~7
~10
~5
~3
t12 task will complete execution but task will be scheduled
over even though both tasks have the same relative deadline
and start time. This is because was assigned a higher priority
by the fuzzy controller because was defined to be a higher
criticality task than . Also note, due to subsystem budget
exhaustion at time unit t15 task will miss its deadline which
would trigger a budget reallocation request to the fuzzy controller
for an increase in the subsystem budget. Finally, at time unit t20
(see Table 5) the scheduler re-orders the task priorities where once
again will be assigned the highest priority.</p>
    </sec>
    <sec id="sec-12">
      <title>4.4 Subsystem Reallocation Example</title>
      <p>Consider the following subsystems with parameters presented in
Table 6 which is used to illustrate how a subsystem is scheduled
by AHS-RT.
Suppose that at some scheduling instant subsystem has a
current budget but due to a deadline miss the fuzzy
controller recommends a budget increase to 4. Also suppose that
and report no deadline misses or under utilization so the
fuzzy controller recommends no budget changes. However, the
increased budget of causes the schedulability test to fail
because
so now the criticality level
is
considered and since has the highest criticality level it is
granted the full budget. After = 4 the budget dimensioning
algorithm is performed to redistribute the remaining utilization.
Initially, the budgets for and will be and
then a successful schedulability test will be performed. Next the
budget for will be but the schedulability test will fail.
Since the system is no longer schedulable the budget for will
now be . This time the system is schedulable so the
adjusted budgets are reallocated to their respective subsystems.</p>
    </sec>
    <sec id="sec-13">
      <title>5. SIMULATION</title>
      <p>
        AHS-RT was implemented as part of the VxWorks 6.9 real-time
operating system (RTOS). The simulations were executed using
the SIMNT vxsim simulator. For evaluation purposes we ported
the SNU Real-Time Benchmark Suite [
        <xref ref-type="bibr" rid="ref20">22</xref>
        ] to compare deadline
misses. The SNU real-time benchmark suite contains small C
programs used for worst-case execution time analysis. The
programs are mostly numeric and DSP algorithms. In order to
represent the periodic task model of an embedded system a subset
of the programs in the benchmark suite were chosen and assigned
arbitrary task rates and criticality levels. Illustrated in Figure 6
both AHS-RT and the VxWorks native fixed-priority preemptive
scheduler (FPPS) are comparable as long as the load factor is
below ~0.70 which corresponds with the lower bound for priority
based algorithms. Notice that AHS-RT experiences significantly
fewer deadline misses than FPPS when the system starts to
become overloaded (&gt; ~0.70). Also note that AHS-RT manages
10
15
20
10
2
5
3
15,30
20, 40
20,30,40
15,30
20, 40
30,40
30
40
5
10
15
20
2
5
3
2
2
3
2
5
3
overload more effectively in that it does not start to report
deadline misses until closer to a ~0.80 load factor. Another
important observation depicted in Figure 7 is that AHS-RT
manages deadline misses much more effectively than FPPS for
higher criticality tasks. Notice that AHS-RT does not even start to
report deadline misses until close to a ~1.25 load factor while
FPPS starts to report deadlines as early as ~0.85. Clearly,
AHSRT is the superior scheduling mechanism as compared to FPPS
specifically during periods of overload.
      </p>
    </sec>
    <sec id="sec-14">
      <title>6. CONCLUSIONS/FUTURE WORK</title>
      <p>In this paper we considered the problem of how to schedule tasks
with varying levels of criticality on a uniprocessor to more
effectively adapt to computational changes. Those changes were
managed by hierarchical scheduling to provide the temporal
isolation between tasks. The efficient scheduling of tasks was
accomplished using a fuzzy based heuristic which has been
proven to be more effective than traditional deadline based
approaches especially during periods of overload. The results are
a demonstrated reduction in deadline misses for all tasks during
periods of overload as compared to traditional fixed priority based
scheduling mechanisms. As further confirmation for the
practicality for this approach we implemented AHS-RT as part of
the VxWorks RTOS.</p>
      <p>Future work includes evaluating the additional overhead AHS-RT
incurs in VxWorks as compared to the traditional scheduler.
Additionally, we would like to extend AHS-RT into a multi-core
environment and consider semi-independent tasks where
subsystems would have to share a mutual resource such as a
semaphore.</p>
    </sec>
    <sec id="sec-15">
      <title>8. REFERENCES</title>
      <p>[1] Z. Deng and J. W.-S. Liu, “Scheduling real-time applications in an
open environment,” (RTSS’97), pp. 308–319.
[2] Davis, R.I.; Burns, A., "Hierarchical fixed priority pre-emptive
scheduling," (RTSS’05)</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [3]
          <string-name>
            <surname>Saini</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <article-title>"Application of fuzzy logic to real-time scheduling,"</article-title>
          <source>Real Time Conference</source>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>I.</given-names>
            <surname>Shin</surname>
          </string-name>
          and
          <string-name>
            <surname>I. Lee</surname>
          </string-name>
          , “
          <article-title>Periodic resource model for compositional realtime guarantees,” (RTSS '03).</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>C.D.</given-names>
            <surname>Locke</surname>
          </string-name>
          and
          <string-name>
            <given-names>H.</given-names>
            <surname>Tokuda</surname>
          </string-name>
          , “
          <article-title>A Time-Value Driven Scheduling Model for Real-Time Operating Systems”</article-title>
          ,
          <source>Proc. Symp. on RealTime Systems</source>
          , Nov.
          <year>1985</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>F.</given-names>
            <surname>Zhang</surname>
          </string-name>
          and
          <string-name>
            <given-names>A.</given-names>
            <surname>Burns</surname>
          </string-name>
          , “
          <article-title>Analysis of hierarchical EDF pre-emptive scheduling</article-title>
          ,”
          <source>in Proc. of the 28th IEEE International Real-Time Systems Symposium (RTSS'07)</source>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>A.</given-names>
            <surname>Mok</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Feng</surname>
          </string-name>
          and
          <string-name>
            <given-names>D.</given-names>
            <surname>Chen</surname>
          </string-name>
          , “
          <article-title>Resource partition for real-time systems,”</article-title>
          <source>in Proc of the 7th Real-Time Technology and Applications Symposium (RTAS'01)</source>
          ,
          <year>2001</year>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>J.</given-names>
            <surname>Stankovic</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Lu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Son</surname>
          </string-name>
          and G. Tao, “
          <article-title>The case for feedback control in real-time scheduling</article-title>
          ,”
          <source>in Proc. of the 11th Euromicro Conference on Real-Time Systems (ECRTS '99).</source>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>C.</given-names>
            <surname>Lu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Stankovic</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Tao</surname>
          </string-name>
          and
          <string-name>
            <given-names>S.</given-names>
            <surname>Son</surname>
          </string-name>
          , “
          <article-title>Design and evaluation of a feedback control EDF scheduling algorithm</article-title>
          ,”
          <source>in Proc. of the 20th IEEE (RTSS'99).</source>
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>C.</given-names>
            <surname>Lu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Stankovic</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Son</surname>
          </string-name>
          and G. Tao, “
          <article-title>Feedback control real-time scheduling: Framework, modeling and algorithms</article-title>
          ,”
          <article-title>Real-Time Systems</article-title>
          , vol.
          <volume>23</volume>
          , pp
          <fpage>85</fpage>
          -
          <lpage>126</lpage>
          ,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>T.</given-names>
            <surname>Abdelzaher</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Atkins</surname>
          </string-name>
          and
          <string-name>
            <given-names>K.</given-names>
            <surname>Shin</surname>
          </string-name>
          , “
          <article-title>QoS negotiation in real-time systems and its application to flight control,”</article-title>
          <source>in Proc. of the IEEE (RTSS'97).</source>
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>R.</given-names>
            <surname>Rajkumar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Lee</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Lehoczky</surname>
          </string-name>
          and
          <string-name>
            <given-names>D.</given-names>
            <surname>Siewiorek</surname>
          </string-name>
          , “
          <article-title>A resource allocation model for QoS management</article-title>
          , “
          <source>in Proc. of the IEEE RealTime Technology and Applications</source>
          <year>1997</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>S.P.</given-names>
            <surname>Dwivedi</surname>
          </string-name>
          ,
          <article-title>"Adaptive Scheduling in Real-Time Systems Through Period Adjustment"</article-title>
          ,
          <source>CoRR</source>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [14]
          <string-name>
            <surname>Richardson</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Sarkar</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <article-title>"Adaptive scheduling: overload scheduling for mission critical systems," (RTSA) 1999</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>J.</given-names>
            <surname>Yen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Lee</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Pfluger</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S.</given-names>
            <surname>Natarajan</surname>
          </string-name>
          .
          <article-title>"Designing a fuzzy scheduler for hard real-time systems</article-title>
          .
          <source>"</source>
          (
          <year>1992</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>L.</given-names>
            <surname>Jonathan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Tiao</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Yen</surname>
          </string-name>
          .
          <article-title>"A fuzzy rule-based approach to real-time scheduling." In Fuzzy Systems</article-title>
          ,
          <source>In Proc. of the 3rd IEEE Conference. IEEE</source>
          ,
          <year>1994</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>S.</given-names>
            <surname>Mojtaba</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Naghibzadeh</surname>
          </string-name>
          .
          <article-title>"A Fuzzy algorithm for real-time scheduling of soft periodic tasks</article-title>
          .
          <source>" IJCSNS International Journal of Computer Science and Network Security</source>
          <volume>6</volume>
          .2A (
          <year>2006</year>
          ):
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>X.</given-names>
            <surname>Feng</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Shen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Liu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Wang</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Y.</given-names>
            <surname>Sun</surname>
          </string-name>
          .
          <article-title>"Fuzzy logic based feedback scheduler for embedded control systems."</article-title>
          <source>In Advances in Intelligent Computing</source>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [19]
          <string-name>
            <surname>Khalilzad</surname>
            ,
            <given-names>N.M.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Behnam</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Nolte</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <article-title>"Adaptive hierarchical scheduling framework: Configuration and evaluation,"</article-title>
          <source>(ETFA)</source>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>L.</given-names>
            ,
            <surname>Chenyang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Stankovic</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Son</surname>
          </string-name>
          , and
          <string-name>
            <given-names>G.</given-names>
            <surname>Tao</surname>
          </string-name>
          .
          <article-title>"Feedback control real-time scheduling: Framework, modeling</article-title>
          , and algorithms*.
          <source>" RealTime Systems</source>
          (
          <year>2002</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [21]
          <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>I.</given-names>
            <surname>Shin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Asberg</surname>
          </string-name>
          . Towards Hierarchical Schedling in VxWorks.
          <source>(OSPERT) 2008</source>
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [22]
          <string-name>
            <given-names>SNU</given-names>
            <surname>Real-Time</surname>
          </string-name>
          <string-name>
            <surname>Benchmark</surname>
          </string-name>
          , http://www.cprover.org
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>