Download as pdf or txt
Download as pdf or txt
You are on page 1of 16

1138 IEEE TRANSACTIONS ON COMPUTERS, VOL. 54, NO.

9, SEPTEMBER 2005

Time/Utility Function Decomposition


Techniques for Utility Accrual Scheduling
Algorithms in Real-Time Distributed Systems
Haisang Wu, Student Member, IEEE, Binoy Ravindran, Senior Member, IEEE,
E. Douglas Jensen, Member, IEEE, and Peng Li

Abstract—We consider Real-Time CORBA 1.2’s distributable threads (DTs), whose time constraints are specified using time/utility
functions (TUFs), operating in legacy environments. In legacy environments, system node resources—both physical and logical—are
shared among time-critical DTs and local applications that may also be time-critical. Hence, DTs that are scheduled using their
propagated TUFs, as mandated by Real-Time CORBA 1.2’s Case 2 approach, may suffer performance degradation, if a node utility
accrual (UA) scheduler achieves higher locally accrued utility by giving higher eligibility to local threads than to DTs. To alleviate this,
we consider decomposing TUFs of DTs into “sub-TUFs” for scheduling segments of DTs. We present five decomposition techniques,
called UT , SCEQF , SCALL, OP T CON, and T UF S, which are specific to different classes of UA scheduling algorithms, such as
those that use utility density and those that use deadline as their key decision metric. Our experimental studies identify the
decomposition technique that performs best for each class of UA scheduling algorithms. In particular, our studies show that OP T CON
and T UF S perform best for utility density-based UA algorithms, while SCEQF and SCALL perform best for deadline-based
UA algorithms.

Index Terms—Distributable thread, time/utility function, value function, time constraint decomposition, Real-Time CORBA 1.2.

1 INTRODUCTION

T HEObject Management Group’s recent Real-Time


CORBA 1.2 standard [1] (abbreviated here as RTC2)
and Sun’s upcoming Distributed Real-Time Specification
locks) resources and for scheduling DTs to optimize system-
wide timeliness. Though this scheduling approach may only
result in approximate, system-wide timeliness optimality,
for Java (DRTSJ) [2] specify distributable threads (or DTs) as RTC2 explicitly supports it, called Distributed Scheduling:
the programming and scheduling abstraction for system- Case 2 in the standard, due to its simplicity and capability for
wide, end-to-end scheduling in real-time distributed sys- coherent end-to-end scheduling.2 Fig. 1, cited from [1], shows
tems.1 A DT is a single thread of execution with a globally execution of DTs.
unique identifier that transparently extends and retracts
1.1 Time/Utility Functions and Utility Accrual
through local and remote objects. Thus, a DT is an end-to-
Scheduling
end control flow abstraction, with a logically distinct locus
of control flow movement within/among objects and nodes. In this paper, we focus on dynamic, adaptive, embedded real-
A DT carries its execution context as it transits node time control systems at any level(s) of an enterprise—e.g.,
boundaries, including its scheduling parameters (e.g., time devices in the defense domain from phased array radars [6]
constraints, execution time), identity, and security creden- up to entire battle management systems [7]. Such embedded
tials. Hence, DTs require that Real-Time CORBA’s Client systems include time constraints that are “soft” (besides those
Propagated model be used and not the Server Declared model. that are hard) in the sense that completing an activity at any
The propagated thread context is used by node schedulers for time will result in some (positive or negative) utility to the
resolving all node-local resource contention among DTs such system and that utility depends on the activity’s completion
as that for a node’s physical (e.g., CPU, I/O) and logical (e.g., time. These soft time constraints are subject to optimality
criteria such as completing all time-constrained activities as
1. Distributable threads first appeared in the Alpha OS [3], [4] and later close as possible to their optimal completion times—so as to
in Alpha’s descendant, the MK7.3 OS [5].
yield maximal collective utility. The soft time constraints are
generally as mission and safety-critical as the hard time
. H. Wu and B. Ravindran are with the Electrical and Computer constraints.
Engineering Department, Virgina Tech, Blacksburg, VA 24061. Jensen’s time/utility functions [8] (or TUFs) allow the
E-mail: {hswu02, binoy}@vt.edu. semantics of soft time constraints to be precisely specified.
. E.D. Jensen is with the MITRE Corporation, Bedford, MA 01730.
E-mail: jensen@mitre.org. A TUF, which is a generalization of the deadline constraint,
. P. Li is with Microsoft Corporation, Redmond, WA 98052. specifies the utility to the system resulting from the
E-mail: pengli@microsoft.com. completion of an activity as a function of its completion
Manuscript received 8 Jan. 2004; revised 22 Oct. 2004; accepted 8 Mar. 2005;
published online 15 July 2005. 2. RTC2 also describes Cases 1, 3, and 4, which describe non-real-time,
For information on obtaining reprints of this article, please send e-mail to: global and multilevel distributed scheduling, respectively [1]. However,
tc@computer.org, and reference IEEECS Log Number TC-0009-0104. RTC2 does not support Cases 3 and 4.
0018-9340/05/$20.00 ß 2005 IEEE Published by the IEEE Computer Society
WU ET AL.: TIME/UTILITY FUNCTION DECOMPOSITION TECHNIQUES FOR UTILITY ACCRUAL SCHEDULING ALGORITHMS IN REAL-TIME... 1139

that maximize locally accrued utility and approximate global


accrued utility.
In legacy environments, resource-contention resolution
and scheduling of DTs using their propagated TUFs may not
always be the best approach—the propagated TUFs may fail
to capture the timeliness requirements of DTs. For example,
local threads on a node may always be favored by that node’s
UA scheduler, at the expense of the DTs of RTC2 applications,
because the node scheduler may find that favoring the local
threads leads to higher locally accrued utility (due to the
particular shape of the TUFs of local threads, for example).
However, higher local utility does not necessarily imply
Fig. 1. Distributable threads. higher system-wide utility in terms of the sum of utilities
attained by all DTs, which is our optimization objective. Thus,
time. Fig. 2 shows example TUF time constraints: Fig. 2a DTs of an RTC2 application can suffer interference from local
shows an AWACS tracker’s time constraint [9]; Fig. 2b and threads and perform poorly.
Fig. 2c show a coastal air defense system’s time constraints Besides the shape of TUFs, other factors may also affect
[10]. The classical deadline is a binary-valued, downward the performance of DTs. Example factors include the
“step” TUF; Fig. 2d shows examples of step TUFs. mixture of local threads and DTs, laxity of those local
When activity time constraints are expressed with TUFs, threads with deadlines, execution times of DTs and local
the scheduling optimality criteria are based on maximizing threads, and node UA scheduling algorithms.
accrued activity utility—e.g., maximizing the sum of the To help a DT properly compete with local threads and
activities’ attained utilities. Such criteria are called utility improve its performance in legacy environments, a “sub-
accrual (or UA) criteria, and sequencing (scheduling, TUF” for each segment of the DT can be derived from the
dispatching) algorithms that consider UA criteria are called DT’s TUF for node-local resource-contention resolution and
UA sequencing algorithms. In general, the criteria may also UA scheduling. We call this process decomposition of the
include other factors, such as resource dependencies. TUF of a DT. Since we consider real-time distributed
Several UA algorithms are presented in the literature [11], systems whose nodes use UA scheduling algorithms (as
[12], [13], [14], [15], [16], [17]. RTC2 has IDL interfaces for DTs are subject to TUF time constraints and UA scheduling
the UA discipline, besides others such as fixed priority and optimality criteria), the DT TUF decomposition problem
earliest deadline first. (abbreviated here as DTD) naturally raises fundamental
questions such as “how to decompose TUFs for UA
1.2 TUF Decomposition: Problem, Solution, and scheduling algorithms, both step shaped and nonstep
Paper Outline shaped?” Furthermore, “under what conditions can TUF
In this paper, we consider integrating RTC2 applications, decomposition help DTs improve their performance in
whose DT time constraints are specified using TUFs, into legacy environments?”
legacy environments. In legacy environments, a system node’s In this paper, we answer these questions. We broadly
physical (processor, disk, I/O, etc.) and logical (locks, etc.) categorize UA scheduling algorithms based on their key
resources are shared between one or more RTC2 applications decision-making metrics such as potential utility density
and other non-RTC2 applications, some of which include (e.g., DASA [13], GUS [11]) and deadline (e.g., LBESA [12]).
threads having TUF time constraints. We refer to such threads For each UA algorithm class, we present class-appropriate
as “local threads.” decomposition techniques that derive sub-TUFs for
When DTs are subject to TUF time constraints, under DT segments. Our DTD techniques are called UT ,
RTC2’s Case 2 scheduling approach, scheduling of DTs is SCEQF , SCALL, OP T CON, and T UF S (see Section 4 for
done using their propagated TUFs. The propagated TUFs details on the techniques).
are used by node-local UA scheduling algorithms to resolve We conduct extensive and comprehensive experimental
local resource contentions and to construct local schedules studies to identify the conditions that affect the performance

Fig. 2. Example TUF time constraints. (a) MITRE/TOG AWACS association TUF [9]. (b) and (c) GD/CMU coastal air defense plot correlation, track
maintenance, and missile control TUFs [10]. (d) Some step TUFs.
1140 IEEE TRANSACTIONS ON COMPUTERS, VOL. 54, NO. 9, SEPTEMBER 2005

of the DTD techniques for each algorithm class. Further,


we identify those DTD techniques that perform superiorly
for each class by considering a variety of factors, including
TUF shapes, resource dependencies, system load, and
mixture of local threads and DTs. The major result from
our study is that OP T CON and T UF S perform best for
potential utility density-based UA algorithms and SCEQF
and SCALL perform best for deadline-based UA algo-
rithms (see Section 5.3 which summarizes our comprehen-
sive results).
Thus, the paper’s contribution includes identification
and formulation of the DTD problem, decomposition
techniques, and determination of superior DTD techniques
for each UA algorithm class. To the best of our knowledge,
we are unaware of any other efforts that have studied the Fig. 3. The distributed system model.
DTD problem (though deadline-decomposition—a special
case of the DTD problem—has been studied). 2.2 Resource Model
The rest of the paper is organized as follows: In Section 2,
Local threads and OLTs of different DTs can access non-
we describe our application, timeliness, and system models. CPU resources, which, in general, are serially reusable.
Section 3 describes the scheduling algorithms that we Examples include physical (e.g., disks) and logical (e.g.,
consider and lists the possible factors affecting the DTD locks) resources.
problem. Section 4 discusses our decomposition techniques. Similarly to fixed-priority resource access protocols (e.g.,
In Section 5, we describe our experimental setup, experi- priority inheritance, priority ceiling) [18] and resource access
mental evaluation, and analyze the results. In Section 6, we mechanisms for UA algorithms [13], [11], we consider a
overview past research on time constraint decomposition in single-unit resource model. Thus, only a single instance of a
real-time distributed systems and contrast them with our resource is present and an OLT or a local thread must
work. Finally, the paper concludes and identifies future explicitly specify the resource that it wants to access.
work in Section 7. Resources can be shared and can be subject to mutual
exclusion constraints. An OLT or a local thread may request
multiple shared resources during its lifetime. The requested
2 THE APPLICATION, TIMELINESS, AND SYSTEM time intervals for holding resources may be nested, over-
MODELS lapped, or disjoint. We assume that an OLT or a local thread
2.1 The Thread Model explicitly releases all granted resources before the end of its
We assume that the application consists of a set of DTs and execution.
local threads. A local thread is generated and executed at OLTs of different DTs can have precedence constraints.
For example, an OLT OLTik can become eligible for
one and only one node. DTs follow the exact same
execution only after an OLT OLTjl has completed because
semantics as in RTC2 and DRTSJ. A DT executes in objects
OLTik may require results of OLTjl . As in [11], [13], we
that are distributed across computing nodes by location-
program such precedences as resource dependencies.
independent invocations and returns. A DT always has a
single execution point that will execute at a node when it 2.3 The System Model
becomes “most eligible” as deemed by the node scheduler. We consider a distributed system architecture model, where a
Within each node, a DT’s flow of control is equivalent to set of processing components, generically referred to as nodes,
normal, local thread execution. One possible implementa- are interconnected via a communication network (Fig. 3).
tion is to map a DT to a local thread while it is executing in Each node services OLTs of DTs and local threads generated
each node. We will refer to each node-local segment of a DT at the node. The order of executing the threads—OLTs and
as an object-level thread (or simply as OLT) hereafter. local threads—on a node is determined by the scheduler that
Therefore, a DT can be assumed to consist of a series of resides at the node. We consider RTC2’s Case 2 approach for
thread scheduling—i.e., node schedulers do not collaborate
OLTs that the DT is mapped to along its execution path.
and independently construct schedules. Thus, scheduling
As a shorthand, we use the notation DTk ¼ fOLTik j 1 
decisions made by a node scheduler are independent of that
i  mk g to represent the kth DT that consists of mk OLTs, made by other node schedulers.
where OLTik means the ith segment of DTk . Node schedulers make scheduling decisions using
We assume that the locus of control flow movement of thread scheduling attributes, which typically include
the DTs is known. Thus, the chain of method invocations of threads’ time constraints (e.g., deadline, TUF), importance,
each DT is assumed to be a priori known. For many and remaining execution time.
applications, it is possible to obtain this knowledge by static Nodes are assumed to be homogeneous in terms of
code analysis, such as for the GD/CMU air defense system hardware configurations (e.g., processing speed, instruction
[10]. Of course, for some applications, such static code pipeline, primary memory/cache resources) and node
analysis will be difficult and, hence, it will be difficult to scheduling algorithm (i.e., all nodes run the same schedul-
a priori know the DT chain of method invocations. ing algorithm).
WU ET AL.: TIME/UTILITY FUNCTION DECOMPOSITION TECHNIQUES FOR UTILITY ACCRUAL SCHEDULING ALGORITHMS IN REAL-TIME... 1141

2.4 Timeliness Model existing output schedule the highest PUD thread with the
We use TUFs to specify the time constraints of a DT, an threads on which it depends. DASA also calculates PUD for
OLT, or a local thread, generically referred to as T , and each thread after building its dependency chain; it then
denote the TUF of a thread T as UðT Þ. Thus, the completion inserts the threads, from high PUDs to low PUDs, into a
of T at a time t will yield a timeliness utility U ðT ; tÞ. DTs tentative schedule in an EDF order. Upon inserting a thread,
propagate their TUFs as they transit nodes and we DASA performs a feasibility check and ensures that the
decompose the propagated TUF of a DT into sub-TUFs for predicted completion time of each thread left in the tentative
node-local scheduling.
schedule never exceeds its deadline. DASA and Dover only
Though TUFs can take arbitrary shapes, here we focus on
deal with step TUFs, while GUS and LBESA can deal with
unimodal TUFs. Unimodal TUFs are those that have a single,
optimal, completion time interval. Fig. 2 shows examples. arbitrary shapes of TUFs. LBESA examines threads in an EDF
Our motivation to consider this TUF class is that they order and performs a feasibility check where it rejects threads
encompass the majority of time constraints in our motivat- with low PUDs until the schedule is feasible.
ing applications (see Fig. 2). GUS, DASA, and LBESA have the best performance
Each TUF UðT Þ is assumed to have an initial time arðT Þ among existing UA algorithms [11]. Moreover, DASA and
and a deadline time dlðT Þ. Initial time is the earliest time for LBESA mimic EDF to reap its optimality during under-
which the function is defined, while deadline time is the loads. For independent threads with step TUFs, Dover has
latest time at which the function drops to a zero utility the optimal competitive factor [14].
value. In this paper, we assume that arðT Þ is equal to the Different characteristics of the scheduling algorithms
arrival time of a thread T , which is simply the time at which require different DTD mechanisms to improve DT perfor-
the thread becomes ready for execution. The arrival time of mance. To find good techniques for UA algorithms, we also
a DT is the arrival time of the first OLT of the DT. We also analyze other factors that can influence the DTD problem,
assume that UðT Þ is defined from arðT Þ until the future
potentially affecting DT performance:
indefinitely. Thus, the term “deadline time” (or “deadline”
in abbreviation) is used to denote the last point that a TUF 1. TUF Shape. TUF shapes can affect DTD and thread
crosses the t-axis. For a downward step TUF, the deadline scheduling. For example, it would be beneficial to
time is its discontinuity point. Further, we assume that schedule a thread with a decreasing TUF as early as
U ðT ; tÞ  0; 8t 2 ½arðT Þ; dlðT Þ and U ðT ; tÞ ¼ 0; 8t  dlðT Þ. possible to accrue high utility. However, it may be
The execution time of a DT/OLT/local thread T is beneficial to delay the execution of a thread with a
denoted as exðT Þ. We incorporate the transmission delays strictly concave TUF so as to complete it at the time
of all inter-OLT messages of a DT into the DT’s execution corresponding to the optimum TUF value. In this
time. Thus, a DT’s execution time simply denotes the total paper, we only consider unimodal TUFs (e.g., step
workload of all its OLTs. TUFs, linear TUFs). Further, different scheduling
algorithms focus on TUFs with different shapes.
2. Task Load. We define task load (or load, for short) as
3 UA SCHEDULERS AND FACTORS CONSIDERED IN
the ratio of the rate of work generated to the total
THE DTD PROBLEM processing capacity of the system. The analytical
The type of the scheduling algorithm employed at a node expression for load is given in Section 5.1. Different
can impact the DTD problem and, thus, DT performance. scheduling algorithms produce different behaviors
We consider UA scheduling algorithms including the under different loads; thus, load may affect DTD for
Generic Utility Scheduling algorithm (GUS) [11], Depen- these algorithms. For example, EDF is optimal
dent Activity Scheduling Algorithm (DASA) [13], Locke’s during underload situations in terms of satisfying
Best Effort Scheduling Algorithm (LBESA) [12], and Dover all deadlines [20], but suffers domino effects during
[14], and a non-UA algorithm—the Earliest Deadline First overload situations [12]. DASA and LBESA are also
(EDF) [19] for comparison. LBESA, Dover , and EDF consider optimal during underloads, but provide much better
independent threads, while GUS and DASA allow threads performance during overloads than EDF [12], [13].
to share resources. To deal with arbitrary shapes of TUFs, GUS does not
These algorithms make scheduling decisions based on maintain the EDF order for the ready queue, so it
different metrics. EDF exclusively considers a thread’s yields a different timeliness utility from EDF, DASA,
deadline and suffers significant domino effect during and LBESA [11].
overloads [12]. Dover is a timer-based UA algorithm which 3. Global Slack Factor (GSF). We define a DT’s
requires a timer for Latest Start Time. GUS, DASA, and Global Slack F actor (GSF) as the ratio of the DT’s
LEBSA use a metric called Potential Utility Density (or PUD). execution time to its TUF’s deadline time, which is the
The PUD of a thread simply measures the amount of utility sum of the DT’s execution time and its slack. For
that can be accrued per unit time by executing the thread example, Fig. 4 shows the slack and deadline time of a
and the thread(s) that it depends upon for obtaining (non- DT with four segments (m ¼ 4). Thus, the DT’s GSF
CPU) resources. Thus, the PUD of a thread measures the which describes its global stack is
“return on investment” for the thread. exðT Þ
At each scheduling event, GUS builds the dependency GSF ðT Þ ¼ :
dlðT Þ  arðT Þ
chain for each thread in the ready queue and appends to the
1142 IEEE TRANSACTIONS ON COMPUTERS, VOL. 54, NO. 9, SEPTEMBER 2005

classes of EDF and GUS. But, a more precise categorization of


the algorithms cannot be given until we experimentally test
their performance (we do so in Section 5.2.1).
Based on this broad algorithm classification, we propose
heuristics to derive DTD methods. The DTD methods that
we propose can be broadly categorized into three classes:
1) those that change no properties (we describe this in
Section 4.1), 2) those that change an OLT’s deadline time
(Sections 4.2 and 4.3 describe this), and 3) those that change
an OLT’s PUD (we describe this in Sections 4.4 and 4.5).
4.1 Ultimate TUF (UT )
Fig. 4. Global slack of a TUF.
Without any specific knowledge on the execution times of
the OLTs, the only available measure of their time
Intuitively, the larger GSF ðT Þ, the less global slack
requirement is the deadline and shape of their DT’s TUF.
of T , which means a more stringent time constraint
Thus, a simple strategy is to set the deadline time of an OLT
is imposed on T and it is more prone to complete to be equal to the deadline time of its DT, i.e.,
after its deadline and accrue zero utility. Thus, in the
DTD process, a DT’s GSF can be considered to dlðOLTik Þ ¼ dlðDTk Þ; 1  i  mk ;
change the relative importance of an OLT to compete
and to set UðOLTik Þ ¼ UðDTk Þ. We call this strategy
with local threads.
Ultimate TUF (UT). Thus, UT does not decompose a DT’s
4. Homogenous/Heterogeneous TUFs. Each DT’s end-
TUF. The propagated (ultimate) TUF is used by all node
to-end time constraint can possibly be specified
schedulers for scheduling OLTs of a DT.
using different TUFs. This can lead to DTs having
homogenous or heterogenous TUFs. As different 4.2 Scaling Based on EQF (SCEQF )
TUF shapes can affect the performance of DTD, it is A problem with UT is that the time for the execution of a
possible that a given DTD strategy can perform later OLT of a DT is considered slack to an earlier OLT. This
better for one kind of TUFs while performing poorly may give the scheduler incorrect information about how
for another kind of TUFs. Thus, TUF homogeneity/ much time an OLT can be delayed in its execution. To avoid
heterogenity can affect TUF decomposition and this, we can “slice” the deadline of a DT’s TUF to change the
DT performance. deadline time for each of its OLT. We adopt the Equal
5. Resource Dependencies. It is possible that there Flexibility (or EQF) strategy presented in [21] for such
exist resource dependencies among OLTs of differ- slicing. EQF decomposes the end-to-end deadline of a
ent DTs, among local threads, and among OLTs and global task (a DT in our case) into deadlines for subtasks
local threads. Such dependencies include resource (OLTs in our case) by dividing the total remaining slack
access constraints such as mutual exclusion con- among the OLTs in proportion to their execution times; it
straints and interthread precedence relationships. can significantly improve the performance of global tasks
Dependencies cause additional interference to the [21]. The slicing is done such that the longer the execution
contention among OLTs and local threads, under time of a subtask, the longer its deadline is.
which a thread is more likely to miss its deadline. After deriving the deadlines of the OLTs of a DT from its
Thus, DTD under dependencies is more unlikely to TUF using EQF, we also change the height of a sub-TUF to
improve DT performance. convey more accurate information to the node-local
6. Local Threads. On each node, the OLTs of DTs scheduler. We call this DTD strategy Scale on EQF
compete with each other and they also compete with
(SCEQF). The sub-TUF of an OLT is defined as the scaled
the local threads. In addition, there also exists
TUF of the DT between the OLT’s arrival time and deadline.
contention among local threads. The three types of dlðOLT k ÞarðOLT k Þ
contention, which we describe as global-global, The scaling factor is selected to be dlðDTik ÞarðDTk Þi to make
global-local, and local-local, should be resolved by the sub-TUFs’ heights in proportion to the OLTs’ relative
the node-local schedulers. Even though we do not deadline times.
decompose the TUFs of local threads, their proper- Fig. 5 illustrates the method with an example DT whose
ties will affect two types of contention, i.e., global- segment number m is 3.
local and local-local, which can in turn affect the
performance of DTs whose TUFs are decomposed 4.3 Scaling Based on TUF Shape (SCALL)
and allocated to their OLTs. We also try to slice the deadline of a DT’s TUF based on its
shape. We define the time at which the TUF reaches its
extremum as Opt (for the unimodal TUFs that we consider
4 TUF DECOMPOSITION METHODS
here, the extremum is the maximum). The utility value that
We categorize UA scheduling algorithms based on their key corresponds to the Opt time is denoted OptV alue. One
decision-making metrics as follows: Dover is a timer-based intuition in DTD is that a DT should complete near its Opt to
algorithm, EDF is completely deadline-based, and GUS is accrue as much utility as possible. Thus, we modify SCEQF
PUD-based. LBESA and DASA consider both PUDs and so that only when arðOLTik Þ þ exðOLTik Þ > Opt do we derive
deadlines in their scheduling and, thus, they fall between the dlðOLTik Þ by EQF. Otherwise, we set dlðOLTik Þ ¼ Opt.
WU ET AL.: TIME/UTILITY FUNCTION DECOMPOSITION TECHNIQUES FOR UTILITY ACCRUAL SCHEDULING ALGORITHMS IN REAL-TIME... 1143

Fig. 5. The SCEQF technique.


Fig. 6. The OPTCON technique.
We then scale the height of the TUF by the factor
dlðOLTik ÞarðOLTik Þ
dlðDTk ÞarðDTk Þ and allocate the scaled sub-TUF to each 4.5 Scaling the TUF (T UF S)
OLT. We call this strategy the SCALL method. Instead of the complicated method OP T CON, for compar-
ison, we also consider a simple strategy to improve the
4.4 Decomposing into Linear-Constant TUF OLT’s PUD that is seen by the local scheduler. This is
(OP T CON) realized by: 1) using the DT’s deadline as the OLT’s
To change the PUD of an OLT, we design a method to deadline and 2) scaling the DT’s propagated TUF and
decompose the DT’s TUF into a linear-constant TUF and assigning the scaled TUF as the OLT’s TUF. The scaling of
allocate it to the OLT without slicing the deadline of a DT’s the DT’s TUF can be done by using a factor (fctr) that is
TUF as SCEQF and SCALL. This method, which is called determined exactly the same as in OP T CON. We call this
OptValue and Constant Value Function (OPTCON), is strategy Time/Utility Function Scaling (TUFS).
illustrated in Fig. 6.
The terms Opt and OptV alue have the same mean-
5 EXPERIMENT EVALUATION
ings as before. As shown in the figure, for DTk and its
ith segment OLTik , we first set dlðOLTik Þ ¼ dlðDTk Þ. The We experimentally study the DTD strategies by conducting
times t1 and t2 are then defined as t1 ¼ arðOLTik Þ and simulation experiments. We believe that simulation is an
appropriate tool for this study as it would allow us to
t2 ¼ arðOLTik Þ þ exðOLTik Þ. OP T CON decomposes a DT’s
evaluate a number of different DTD techniques under a
TUF to allocate sub-TUFs to OLTs with the following steps
broad range of system conditions. We first present the
(Fig. 6 also illustrates the steps):
simulation model and then discuss the results.
1. Let the OLTik obtain its highest utility at its
5.1 Simulation Model
expected finish time t2 , which means we set
UðOLTik ; t2 Þ ¼ OptV alue. Our simulator is written with the simulation tool OMNET++
2. We then increase the TUF of the OLT from time t1 [22], which provides a discrete event simulation environ-
with utility value UðOLTik ; t1 Þ linearly until the ment. Each simulation experiment (generating a single data
utility value OptV alue at time t2 , after which we point) consists of three simulation runs with different random
keep the TUF constant at OptV alue until its deadline seeds, each lasting 200 sec (at least 10,000 events are generated
time dlðOLTik Þ. per run; many more for high load experiments). Since the
3. The TUF of the OLTik is then scaled by a factor fctr basic time unit in OMNET++ is a second, we will refer to a
so that the expected PUD of the OLT is increased. time unit as a second hereafter. The structure of our
The factor is determined as: simulation model follows the conceptual model described
! in Section 2, with the following characteristics:
P UDlocal
fctr ¼ max ;1 ; . Nodes. There are k homogeneous nodes in the
P eakP UDOLTik system. Each node services their threads (OLTs of
OptV alue DTs and local threads) according to a given real-time
where P eakP UDOLTik ¼ exðOLT k and P UDlocal is the scheduling algorithm. We consider both UA and
i Þ
PUD of local threads. Therefore, fctr is chosen in non-UA scheduling algorithms such as GUS, DASA,
such a way that an OLT’s TUF is not scaled if its LBESA, Dover , and EDF for our experiments.
peak PUD is larger than the PUD of local threads; . Local threads. Local threads are generated at each
otherwise, it is scaled up by the ratio of PUDs of local node according to a Poisson distribution with mean
interarrival time 1=local seconds. (Poisson distribu-
threads to PUDs of OLTs. The OLT’s TUF will never
tions are typically used in experimental studies like
be scaled down because our goal is to improve DTs’ ours because of their simplicity and because they
performance instead of local threads’ performance. yield useful insights.) Since there are k nodes, the
1144 IEEE TRANSACTIONS ON COMPUTERS, VOL. 54, NO. 9, SEPTEMBER 2005

TABLE 1
Baseline Settings

total average arrival rate is k=local per second. of TUFs to evaluate our methods. The parameter
Execution times of local threads are exponentially setting of our baseline experiment is summarized in
distributed with mean in 1=local seconds. The rate of Table 1. We select different shapes of TUFs, but keep
work due to local threads is thus klocal =local . OptV alue of each TUF to be 10 and its deadline time
. DTs. Similarly to local threads, DTs are generated as to be 20. In Table 1, T UF1 is the right half of a
n streams of Poisson processes with mean inter- quadratic function in the first quadrant and T UF2 is
arrival 1=DT time. For simplicity, we assume that a linear function, so they are both nonincreasing.
DTs are homogeneous. In particular, we assume that T UF3 is a downward step function. T UF4 is a
all DTs consist of the same number of segments and complete quadratic function in the first quadrant, so
the execution times of all the segments (OLTs) follow it is strictly concave. T UF5 is the combination of
the same exponential distribution with a mean different TUFs. The TUFs of local threads are
1=OLT seconds. We assume that the number of downward step functions with variable heights.
OLTs contained in a DT is m. The total execution
times of DTs thus follow an m-stage Erlang 5.2 Experimental Results
distribution with mean m=OLT . The rate of work The primary performance metric that we use to evaluate the
due to DTs is therefore mDT =OLT . The execution DTD methods is accrued utility ratio (or AUR). AUR is
node of an OLT is selected randomly and uniformly simply the ratio of the accrued utility to the maximum
from the k nodes. possible total utility (which is the sum of each DT’s
. System Load. We define the normalized load (or load, maximum utility).
for short) as the ratio of the rate of work generated to We use the notation AURB A ðCÞ to denote the AUR
the total processing capacity of the system. That is, obtained under a scheduling algorithm
 
n  m  DT k  local A 2 fGUS; DASA; LBESA; Dover ; EDF g;
load ¼ þ k: ð1Þ
OLT local
a DTD technique
For a stable system, we have 0  load  1. We also
B 2 fUT ; SCEQF ; SCALL; OP T CON; T UF Sg;
define frac local as the least fraction of PUD that can
possibly be contributed by local threads in node- and a TUF C 2 fT UF1 ; T UF2 ; T UF3 ; T UF4 ; T UF5 g. Thus,
local scheduling, i.e., for example, AURSCEQF
GUS ðT UF4 Þ denotes the AUR that DTs
can accrue under the GUS scheduler, SCEQF decomposi-
P UDlocal tion technique, and T UF4 .
frac local ¼ : ð2Þ
P UDlocal þ P eakP UDOLT In Section 3, we evaluate the effects of all factors
presented on system performance in a collective way, so
. TUFs. Different threads have different TUFs. Each all simulations are performed with variation of several
DT has a propagated TUF and we define five classes parameters describing the factors.
WU ET AL.: TIME/UTILITY FUNCTION DECOMPOSITION TECHNIQUES FOR UTILITY ACCRUAL SCHEDULING ALGORITHMS IN REAL-TIME... 1145

Fig. 7. Accrued Utility Ratio with GUS under T UF3 . (a) AUR versus load. (b) AUR versus GSF .

Fig. 8. Accrued Utility Ratio with LBESA under T UF3 . (a) AUR versus load. (b) AUR versus GSF .

5.2.1 DTD Methods with Different Scheduling the same operations with downward step functions and
Algorithms they perform better than AURSCEQF GUS . The methods
We first study how our designed DTD techniques work on OP T CON and T UF S perform the best. For example, at
different scheduling algorithms. We consider downward load ¼ 0:6, AURSCEQF
GUS ¼ 42%, while
step functions (i.e., T UF3 ) for the DTs as all the algorithms, AURSCALL ¼ AURUT
GUS GUS ¼ 56%
with the exception of GUS and LBESA, cannot deal with
arbitrarily shaped TUFs. Further, we do not consider and AUROP T CON
GUS ¼ AURTGUS
UF S
¼ 73%.
resource dependencies, as LBESA, Dover , and EDF cannot The performance results of the DTD strategies under the
directly address resource dependencies. LBESA algorithm are shown in Fig. 8a and Fig. 8b. In both
The TUFs of local threads are set to downward step figures, SCEQF performs better than others, especially at
functions with heights of 40 and the maximum heights of high load and GSF , and the other four strategies produce
DT TUFs are bounded at 10. Thus, the frac local in these almost identical results.
experiments is 0.8. Since we only focus on T UF3 here, for Fig. 9 shows the performance of DTD techniques under
simplicity, we denote AURB B
A ðT UF3 Þ as AURA . AURs of
the DASA algorithm, which has very similar trends as those
different methods are recorded as the load and GSF varies under GUS. From the figure, we observe that, under DASA,
from 0 to 1. When we refer to the GSF of a task set, it has as load and GSF varies, the performance trend is
the same value as the GSF of each task in the set. As OP T CON ¼ T UF S > UT ¼ SCALL > SCEQF .
shown in Table 1, when load varies, we keep the In Fig. 10, we show performance of the DTD methods
execution time OLT ¼ local ¼ 1:0, but change the mean under the Dover algorithm. The AUR of DTs in Fig. 10 drops
interarrival time 1=DT and 1=local ; when GSF varies, we to under 0:2 when load or GSF is larger than 0:5. All curves
keep DT ¼ local ¼ 1=8:33, but change OLT and local . are very close to each other, which indicates that the
Fig. 7 shows AURGUS of the DTD methods under different DTD methods have little effect on Dover ’s schedul-
varying load and GSF. From Fig. 7, we observe that the ing decisions.
curves in both figures indicate similar trends. For example, As a comparison, the performance of the EDF algorithm
in Fig. 7a, when load increases, AURGUS of all DTD under the different DTD strategies is shown in Fig. 11.
strategies decreases. This is reasonable because more Under EDF, SCEQF performs better than the others when
threads miss their deadlines and, thus, fewer utilities are load or GSF is low (in the figure, approximately less than
accrued. But, GUS under different DTD strategies accrues 0.5) because deadline slicing gives OLTs shorter deadline
different utilities, even when the load is very light. times, which in turn gives them higher priorities for
AURSCEQF
GUS has the worst performance among all strategies. accessing resources under EDF. But, when load or GSF
AURUT GUS and AURSCALL
GUS are identical because they perform approach 1.0, SCEQF shows worse performance than the
1146 IEEE TRANSACTIONS ON COMPUTERS, VOL. 54, NO. 9, SEPTEMBER 2005

Fig. 9. Accrued Utility Ratio with DASA. (a) AUR versus load. (b) AUR versus GSF .

Fig. 10. Accrued Utility Ratio with Dover . (a) AUR versus load. (b) AUR versus GSF .

Fig. 11. Accrued Utility Ratio with EDF. (a) AUR versus load. (b) AUR versus GSF .

others. This is because if slack is too tight or the load too From Fig. 7, Fig. 8, Fig. 9, Fig. 10, and Fig. 11, we can infer
high, with SCEQF , it is easy for an OLT in the DT to miss that different metrics employed in the scheduling algo-
its subdeadline, which is shorter than the DT’s deadline, rithms result in their different scheduling behaviors; thus,
resulting in failure of the DT. the performance of a given DTD method will be differently
EDF is not a UA scheduler, but its primary performance influenced by different underlying schedulers. For this
measure—i.e., deadline miss ratio, can be converted to reason, large performance gaps, in terms of AURs, are
AUR. Intuitively, the more deadlines that are met by DTs, particularly interesting to us.
the more utilities are accrued. Thus, the deadline miss ratio To understand such differences, we consider three types
performance metric of EDF can be a reasonable metric for of resource competition among threads. These include local-
UA scheduling. The results in Fig. 11a are consistent with local, local-global, and global-global. DTs are subject to
Kao and Garcia-Molina’s experimental results on the serial local-global and global-global contention. A scheduling
subtask problem (SSP) presented in [21], where the deadline algorithm resolves the contention mainly by its scheduling
miss ratio of EQF is lower than the ultimate deadline (UD) metric. In Section 4, we categorize the DTD methods into
strategy as load varies from 0.1 to 0.5. Kao and Garcia- three classes and they alter only the OLTs’ metrics used by
Molina also argue in [21] that “if the slack is too tight or if the schedulers, so they only impact local-global and global-
the load is too high, no matter what SSP policy we use, global contention. Thus, the choice of a DTD strategy
many deadlines will be missed.” significantly affects DTs and their AURs.
WU ET AL.: TIME/UTILITY FUNCTION DECOMPOSITION TECHNIQUES FOR UTILITY ACCRUAL SCHEDULING ALGORITHMS IN REAL-TIME... 1147

Fig. 12. Accrued Utility Ratio with GUS under T UF4 . (a) AUR versus load. (b) AUR versus GSF .

Fig. 13. Accrued Utility Ratio with LBESA under T UF4 . (a) AUR versus load. (b) AUR versus GSF .

According to our algorithm descriptions in Section 3, performance of DTs. Thus, in this section, we study the
GUS resolves resource contention mainly by comparing the effect of DTD with different shapes of TUFs. Our study
PUDs of threads. Our simulation reveals that, under GUS, focuses on GUS and LBESA as they are the only ones that
the performance of OP T CON and T UF S, which increase allow arbitrarily shaped TUFs.
OLTs’ PUDs, are better than that of others, for various We conduct experiments with nonincreasing TUFs
parameter settings. We notice that slicing the deadline of a (T UF1 , T UF2 , and T UF3 ) and a strictly concave TUF
DT and allocating subdeadlines to its OLTs can also (T UF4 ). Note that step TUFs are also nonincreasing. To
increase the OLTs’ PUDs. But, such a deadline slicing obtain an average performance of the DTD methods on
technique, i.e., SCEQF , performs poorly for DTs. The various TUFs, we also consider T UF5 , which is a combina-
reason is that a DT consists of a series of OLTs and, if any tion of different TUFs. The experimental results show that
OLT in the DT misses its subdeadline and is aborted by the the performances of DTs with nonincreasing TUFs are quite
scheduler, the parent DT fails. Thus, deadline slicing similar and the major performance difference can be
techniques sometimes can be detrimental to DTs if too observed with T UF4 , so we only list plots with T UF4 .
“tight” subdeadline constraints are assigned to their OLTs. Fig. 12 shows the results of GUS under T UF4 . In contrast to
It is interesting to observe that Dover , as a timer-based the results under nonincreasing TUFs, different DTD
scheduling algorithm, is almost not affected by TUF strategies show different performance under strictly concave
decomposition. Both LBESA and DASA compare deadlines TUFs, respectively. But, at any load or GSF , T UF S performs
and PUDs for scheduling, but in different ways. From their the best, while SCEQF and SCALL perform the worst.
performance under different DTD methods, we can infer We show the corresponding results of LBESA with T UF4
that DASA is more “PUD-based” and LBESA is more in Fig. 13. With strictly concave TUFs, we obtain different
“deadline-based.” results from those with nonincreasing TUFs. Fig. 13 shows
Thus, from the experimental results in this section, we that SCEQF only outperforms others when load and GSF
can derive a more precise scheduler categorization than that approach 1:0; at light load and GSF , SCALL has the best
in Section 4. We now have three classes of schedulers: performance.
deadline-based (LBESA and EDF), PUD-based (GUS and Among the four shapes of TUFs considered in our
DASA), and timer-based (Dover ). We summarize the experiments, strictly concave TUFs have the most apparent
performance of DTD strategies for each class of schedulers impact on DTD in the sense that the most apparent
in Section 5.3. performance gap can be observed among different DTD
strategies. However, the results observed in Fig. 12, Fig. 13,
5.2.2 Effect of TUF Shape and other experiments are consistent with those in
Our designed DTD methods will decompose different Section 5.2.1—DTD strategies that change an OLT’s PUD
shapes of TUFs differently, possibly yielding different (OP T CON and T UF S) work better for GUS and those that
1148 IEEE TRANSACTIONS ON COMPUTERS, VOL. 54, NO. 9, SEPTEMBER 2005

Fig. 14. AUR versus frac local with GUS under T UF3 . Fig. 16. AUR versus frac local with LBESA under T UF3 .

Fig. 15. AUR versus frac local with DASA under T UF3 . Fig. 17. AUR versus frac local with Dover under T UF3 .

slice a DT’s deadline to allocate to its OLTs (SCEQF and However, when frac local exceeds 0.5, OLTs with sub-
SCALL) work better for LBESA. TUFs allocated by UT will be at a disadvantage under the
PUD-based scheduling of GUS and DASA. Thus, we
5.2.3 Effect of Local Threads observe that the higher the frac local, the worse UT
Comparing the AURs of the different DTD strategies, we performs. The performances of OP T CON and T UF S are
observe that, as the load and GSF increase, the performance almost a constant as frac local increases because these
of all strategies deteriorates. However, all of our previously methods maintain PUDs of OLTs to be comparable with
reported experiments are carried out with frac local ¼ 0:80. PUDs of local threads.
We had hypothesized that, by changing the deadlines or Figs. 16 and 17 show the performance of LBESA and
PUDs of OLTs, various DTD methods can help DTs to Dover with different DTD methods under T UF3 . In Fig. 16,
“grab” resources (including CPU) from local threads since we observe that SCALL, OP T CON, and T UF S are almost
deadlines or PUDs are key scheduling metrics used by constant as frac local increases, but only slightly outper-
UA scheduling algorithms. For example, the likelihood of form the others. This is reasonable because LBESA is in the
DTs obtaining resources can be improved by reducing the class of “deadline-based” and its scheduling decisions are
deadlines of OLTs (under LBESA) or by increasing the only partially dependent on PUDs. On the other hand, in
PUDs of OLTs (under GUS and DASA). Fig. 17, all curves converge in a narrow zone between 0.24
To verify this, we vary the relative proportion of the two and 0.29 (corresponding to the point of load ¼ 0:5 in
kinds of threads, by varying frac local from 0.3 to 0.88 and Fig. 10a). Since Dover does not consider PUDs, the results
study the AUR of different algorithms. We set OLT ¼ of Dover do not exhibit any regular pattern in Fig. 17.
local ¼ 1:0 and DT ¼ local ¼ 1=8:33 and, therefore, load is To compare the performance of GUS and LBESA with
about 0.5. changing frac local under other shapes of TUFs, we also
Figs. 14 and 15 show the performance of GUS and DASA conduct experiments with T UF1 , T UF2 , and T UF4 . Results
with different DTD methods under T UF3 . We observe that with T UF1 and T UF2 are similar to those in Fig. 14 and
GUS and DASA have similar performance. As frac local Fig. 16. But, interesting results can be observed when GUS
increases (i.e., more PUD is contributed by local threads), and LBESA are scheduling T UF4 that is strictly concave and
AURUT GUS=DASA ðT UF3 Þ drops dramatically. When GUS and the results are shown in Fig. 18 and Fig. 19.
DASA are used for scheduling OLTs and local threads and In Fig. 18, OP T CON and T UF S are apparently better
when frac local is less than or equal to 0.5, the two classes than the others, while SCEQF performs the worst. For
of threads (OLTs and local threads) have almost equal strictly concave TUFs, OP T CON and T UF S allow enough
PUDs according to the definition of frac local and, thus, slack for each OLT and also improve the OLT’s PUD with
have almost equal chances of being selected to execute. In respect to the TUF shape of the DT. Therefore, they show
such cases, intuitively, UT should perform similar to superior performance. In Fig. 19, performance gaps are
methods that increase PUDs of DTs, but better than more pronounced than those in Fig. 16. With LBESA, the
deadline slicing methods. This is illustrated in the plots. mechanism SCALL, which slices the DT’s deadline and
WU ET AL.: TIME/UTILITY FUNCTION DECOMPOSITION TECHNIQUES FOR UTILITY ACCRUAL SCHEDULING ALGORITHMS IN REAL-TIME... 1149

Fig. 18. AUR versus frac local with GUS under T UF4 . Fig. 19. AUR versus frac local with LBESA under T UF4 .

considers the Opt of the DT, performs the best. OP T CON Figs. 22 and 23 show the AURs of GUS and DASA with
and T UF S show very similar performance as that of UT , dependencies, as frac local varies, respectively.
which implies improving PUDs of OLTs has little effect on From Fig. 20, Fig. 21, Fig. 22, and Fig. 23, GUS and DASA
LBESA’s scheduling decisions. We have to note that, in exhibit similar performance with resource dependencies.
Fig. 19, the performance gaps among all DTD mechanisms From the figures, we observe that the performance drops
are within 5 percent, which means frac local has only when there are resource dependencies; AURs of GUS and
DASA under different DTD techniques decrease to less than
limited effect on DTD strategies under LBESA.
The performance of various DTD strategies under EDF is 1 percent. Moreover, we do not observe any regular pattern
in the results when load, GSF , and frac local are varied.
not affected by frac local. This is because varying frac local
This is reasonable because DTD cannot compensate for
only changes the PUD contributed by the local threads, but
major interference among OLTs. Resource access operations
it does not affect the scheduling decisions made by EDF. and consequent dependencies among OLTs and local
threads can cause unexpected, sometimes large, interfer-
5.2.4 Effect of Resource Dependencies
ence to DTD methods, resulting in their poor performance.
There are no resource dependencies among OLTs in the
We observed similar results for GUS with other TUF shapes
experiments that we have conducted so far. In this section, and resource dependencies.
we study how resource dependencies among OLTs affect
the performance of DTD strategies. 5.3 Summary of Experiments and Conclusions
We impose resource dependencies among OLTs of Our experiments in Section 5.2 verified our proposed
different DTs and among OLTs and local threads. That is, heuristics on DTD strategies for UA scheduling, by
we incorporate local-global and global-global dependencies considering possible factors that can affect the DTD
at the same time. We then study the performance of the performance. We now summarize our results and draw
DTD strategies under GUS and DASA as only these two conclusions.
UA algorithms consider TUFs under resource dependen- We use UT as a baseline method and measure the
cies. For OLTs within a single DT, there are no resource performance gains of other DTD methods over UT . For each
dependencies, but only precedence dependencies. We first class of UA algorithms, we summarize our conclusions
about class-appropriate DTD techniques as follows:
consider step TUF (T UF3 ) for these experiments and then
other shapes. 1. With “PUD-based” UA algorithms (GUS and
Figs. 20 and 21 show AURGUS and AURDASA , respec- DASA), OP T CON and T UF S always perform better
tively, as load and GSF increase. We also vary frac local to than UT , while SCEQF and SCALL always per-
study the impact of resource dependencies on performance. form worse or no better than UT for different TUF

Fig. 20. Accrued Utility Ratio with GUS Under T UF3 and resource dependencies. (a) AUR versus load. (b) AUR versus GSF .
1150 IEEE TRANSACTIONS ON COMPUTERS, VOL. 54, NO. 9, SEPTEMBER 2005

Fig. 21. Accrued Utility Ratio with DASA under resource dependencies. (a) AUR versus load. (b) AUR versus GSF .

shapes. For strictly concave TUFs, T UF S performs 5. With resource dependencies among OLTs of differ-
the best. ent DTs, all DTD strategies show very poor
2. With “deadline-based” UA algorithms (e.g., LBESA), performance because of the unexpected and large
SCEQF and SCALL always perform better than, or interference caused by resource access operations
at least as well as, UT , while OP T CON and T UF S (and consequent dependencies).
always perform no better than UT for different TUF
shapes. 6 PAST WORK
3. With “timer-based” UA algorithms (e.g., Dover ),
different DTD strategies show little difference in There are relatively few studies on the DTD problem. Most of
improving DTs’ performance. the past efforts on time constraint decomposition in real-time
The performance comparison of DTD strategies distributed systems focus on the deadline constraint. We
summarize these efforts and contrast them with our work.
(in terms of AUR) from 1, 2, and 3 is summarized in
A legacy issue that is analogous to the one that motivates
Table 2. For the baseline DTD method UT , “& ”
our DTD problem is presented in Real-Time CORBA 1.0
means that its AUR drops with the increase of load
(RTC1) [23], where any node may be shared by both RTC1
and GSF . The other entries of the table describe applications and non-CORBA applications. RTC1 priorities
performance gains of the other DTD methods over are mapped into each node’s local priority space, which is
the baseline strategy UT . shared by RTC1 and non-CORBA applications. In all three
4. For downward step TUFs with GUS and DASA, the cases of RTC1, there are end-to-end timeliness requirements
increase of frac local causes quick drops on AURs of that must be decomposed into timeliness requirements on
UT and SCALL. However, OP T CON and T UF S each node involved in a multinode computation. On those
perform better, while SCEQF performs worse than nodes, these decomposed timeliness requirements contend
UT because the former methods can improve the for resources with the timeliness requirements of strictly
OLTs’ PUDs seen by the node-local UA scheduler node-local computations. The challenge is for the scheduler
when frac local increases. With LBESA and increas- to resolve this contention in a manner that is optimal
ing frac local, no DTD strategies outperform SCALL. according to application-specific criteria for both the
The results described in 4 are shown in Table 3, distributed computations and the local computations. A
where the performance trend of UT with the multinode computation with an end-to-end deadline has
increase of frac local is described as “& ” and the local subcomputations with per-node deadlines derived
performance gains of the other DTD methods over from the end-to-end deadline; these deadlines contend with
UT are shown in the table entries. the node-local computation deadlines.

Fig. 22. AUR versus frac local with GUS under T UF3 and resource
dependencies. Fig. 23. AUR versus frac load with DASA under resource dependencies.
WU ET AL.: TIME/UTILITY FUNCTION DECOMPOSITION TECHNIQUES FOR UTILITY ACCRUAL SCHEDULING ALGORITHMS IN REAL-TIME... 1151

TABLE 2
DTD Strategies Summary I: Increasing load and GSF with Different TUFs

TABLE 3
DTD Strategies Summary II: Increasing frac local with Different TUFs

In RTC1 systems, an RTC1 thread has a 15-bit CORBA critical-path concept. The strategy used for finding slices is
(“global”) priority; when a client invokes a servant, the to determine a critical path in the task graph that minimizes
client CORBA priority is mapped into the servant node’s the overall laxity of the path. The slicing technique is
local operating system (much smaller) priority space using optimal in the sense that it maximizes the minimum task
an application or system-specific mapping; these priorities laxity. The optimality applies to task assignments and
contend with the node-local computation priorities. (The communication costs that are a priori known.
mapping is reversed when an invocation returns; care must In [28], Garcia and Harbour present an approach that
be taken in defining the mappings so as to retain priority derives deadlines for preemptive, deadline-monotonic task
fidelity end-to-end.) scheduling. Given an initial local deadline assignment, the
The DTD problem is also analogous to the problem of strategy seeks to find an improved deadline assignment
deadline decomposition in distributed real-time systems using a heuristic iterative approach.
whose time constraints are deadlines. In fact, deadline Saksena and Hong present a deadline-distribution
decomposition is a special case of DTD, where all TUFs are approach for preallocated tasks in [29] and [30]. The
binary-valued, downward step-shaped functions. approach specifies the end-to-end deadline as a set of local
Bettati and Liu [24], [25] present an approach for deadline-assignment constraints and calculates the largest
scheduling preallocated flow-shop (sequential) tasks in a value of a scaling factor based on a set of local deadline
hard real-time distributed environment. In their model, assignments known a priori. The scaling factor is then
global tasks consist of the (same) set of subtasks to be applied to the task execution time. The local deadline
executed on nodes in the same order. The goal is to devise assignment is chosen to maximize the largest value of the
efficient offline algorithms for computing a schedule for the scaling factor.
subtasks such that all deadlines are met (if such a schedule In [31], Jonsson and Shin present a deadline-distribution
exists). In their work, local deadlines are assigned by scheme that distributes task deadlines using adaptive
distributing end-to-end deadlines evenly over tasks and metrics. The authors experimentally show that their scheme
then tasks are nonpreemptively scheduled using a dead- yields significantly better performance in the presence of
line-based priority scheme. high resource contention. The deadline distribution pro-
Kao and Garcia-Molina present multiple strategies for blem that is addressed in [31] focuses on distributed hard
automatically translating the end-to-end deadline into real-time systems with relaxed locality constraints. Thus,
deadlines for individual subtasks in distributed soft real- schedulability analysis is performed at preruntime and only
time systems [21], [26]. They reduce the subtask deadline a subset of the tasks are constrained by preassignment to
assignment problem (SDA) into two subproblems: the serial specific processors.
subtask problem (SSP) and parallel subtasks problem (PSP). Thus, to the best of our knowledge, all past efforts on
The authors present decomposition strategies called Ulti- time constraint decomposition have focused on deadlines.
mate Deadline (UD), Effective Deadline (ED), Equal Slack We are unaware of any work that considered TUF
(EQS), and Equal Flexibility (EQF) for the SSP problem. decomposition.
Furthermore, they propose a strategy called DIV-x for the
PSP problem. The techniques are aimed at systems with
complete a priori knowledge of task-processor assignment. 7 CONCLUSIONS AND FUTURE WORK
Natale and Stankovic [27] present the end-to-end dead- In this paper, we consider integrating RTC2 applications,
line slicing technique for assigning slices to tasks using the which are subject to TUF time constraints and UA optimality
1152 IEEE TRANSACTIONS ON COMPUTERS, VOL. 54, NO. 9, SEPTEMBER 2005

criteria into legacy environments which contain time- [12] C.D. Locke, “Best-Effort Decision Making for Real-Time Schedul-
ing,” PhD dissertation, Carnegie Mellon Univ., 1986, CMU-CS-86-
critical, non-RTC2 applications. Since system node re- 134, http://www.real-time.org, Oct. 2004.
sources (that use UA scheduling algorithms) are now [13] R.K. Clark, “Scheduling Dependent Real-Time Activities,” PhD
shared between RTC2 and non-RTC2 applications, DTs of dissertation, Carnegie Mellon Univ., 1990, CMU-CS-90-155,
http://www.real-time.org, Oct. 2004.
RTC2 applications may suffer performance degradation [14] G. Koren and D. Shasha, “D-Over: An Optimal On-Line
due to interference from non-RTC2 application threads. Scheduling Algorithm for Overloaded Real-Time Systems,” Proc.
To alleviate this, we consider decomposing TUFs of DTs IEEE Real-Time Systems Symp., pp. 290-299, Dec. 1992.
into sub-TUFs for scheduling segments of DTs. We present [15] K. Chen and P. Muhlethaler, “A Scheduling Algorithm for Tasks
Described by Time Value Function,” J. Real-Time Systems, vol. 10,
decomposition techniques called UT , SCEQF , SCALL, no. 3, pp. 293-312, May 1996.
OP T CON, and T UF S, which are specific to different [16] D. Mosse, M.E. Pollack, and Y. Ronen, “Value-Density Algorithm
classes of UA algorithms, such as those that use utility to Handle Transient Overloads in Scheduling,” Proc. IEEE
Euromicro Conf. Real-Time Systems, pp. 278-286, June 1999.
density and those that use deadline as their key metric. Our [17] J. Wang and B. Ravindran, “Time-Utility Function-Driven
experimental studies identify the conditions that affect the Switched Ethernet: Packet Scheduling Algorithm, Implementa-
performance of the decomposition techniques. Further, our tion, and Feasibility Analysis,” IEEE Trans. Parallel and Distributed
Systems, vol. 15, no. 2, pp. 119-133, Feb. 2004.
studies show that OP T CON and T UF S perform best for [18] L. Sha, R. Rajkumar, and J.P. Lehoczky, “Priority Inheritance
utility density-based UA algorithms and SCEQF and Protocols: An Approach to Real-Time Synchronization,” IEEE
SCALL perform best for deadline-based UA algorithms. Trans. Computers, vol. 39, no. 9, pp. 1175-1185, Sept. 1990.
[19] W. Horn, “Some Simple Scheduling Algorithms,” Naval Research
There are several interesting directions for future work.
Logistics Quarterly, vol. 21, pp. 177-185, 1974.
One direction is to consider TUF decomposition under [20] C.L. Liu and J.W. Layland, “Scheduling Algorithms for Multi-
emerging stochastic UA scheduling algorithms [11]. An- programming in a Hard Real-Time Environment,” J. ACM, vol. 20,
other direction is to develop scheduling algorithms for no. 1, pp. 46-61, 1973.
[21] B. Kao and H. Garcia-Molina, “Deadline Assignment in a
scheduling DTs according to RTC2’s Cases 3 and 4. Distributed Soft Real-Time System,” IEEE Trans. Parallel and
Distributed Systems, vol. 8, no. 12, pp. 1268-1274, Dec. 1997.
[22] A. Varga, “OMNeT++ Discrete Event Simulation System,”
ACKNOWLEDGMENTS http://www.omnetpp.org/, Oct. 2004.
[23] OMG, “Real-Time CORBA Joint Revised Submission,” Object
This work was supported by the US Office of Naval Management Group, Technical Report OMG TC Document ptc/
Research under Grant N00014-00-1-0549 and the MITRE 99-05-03, May 1998, http://www.omg.org/docs/ptc/99-05-03.
Corporation under Grant 52917. pdf, Oct. 2004.
[24] R. Bettati and J.W.S. Liu, “Algorithms for End-to-End Scheduling
to Meet Deadlines,” Proc. IEEE Symp. Parallel and Distributed
Processing, pp. 62-67, 1990.
REFERENCES [25] R. Bettati and J.W.S. Liu, “End-to-End Scheduling to Meet
[1] OMG, “Real-Time CORBA 2.0: Dynamic Scheduling Specifica- Deadlines in Distributed Systems,” Proc. IEEE Real-Time Systems
tion,” Object Management Group, technical report, Sept. 2001, Symp., pp. 452-459, 1992.
OMG Final Adopted Specification, http://www.omg.org/docs/ [26] B.C. Kao, “Scheduling in Distributed Soft Real-Time Systems with
ptc/01-08-34.pdf, Oct. 2004. Autonomous Components,” PhD dissertation, Princeton Univ.,
[2] E.D. Jensen, A. Wellings, R. Clark, and D. Wells, “The Distributed Nov. 1995.
Real-Time Specification for Java: A Status Report,” Proc. Embedded [27] M.D. Natale and J.A. Stankovic, “Dynamic End-to-End Guaran-
Systems Conf., 2002. tees in Distributed Real-Time Systems,” Proc. IEEE Real-Time
[3] J.D. Northcutt, Mechanisms for Reliable Distributed Real-Time Systems Symp., 1994.
Operating Systems: The Alpha Kernel. Academic Press, 1987. [28] J.J.G. Garcia and M.G. Harbour, “Optimized Priority Assignment
[4] E.D. Jensen and J.D. Northcutt, “Alpha: A Non-Proprietary for Tasks and Messages in Distributed Hard Real-Time Systems,”
Operating System for Large, Complex, Distributed Real-Time Proc. IEEE Workshop Parallel and Distributed Real-Time Systems,
Systems,” Proc. IEEE Workshop Experimental Distributed Systems, pp. 124-132, 1995.
pp. 35-41, 1990. [29] M. Saksena and S. Hong, “An Engineering Approach to
[5] The Open Group, “MK7.3a Release Notes,” http://www.real- Decomposing End-to-End Delays on a Distributed Real-Time
time.org/docs/RelNotes7.Book.pdf, 1998. System,” Proc. IEEE Workshop Parallel and Distributed Real-Time
[6] GlobalSecurity.org, “Multi-Platform Radar Technology Insertion Systems, pp. 244-251, 1996.
Program,” http://www.globalsecurity.org/intell/systems/mp- [30] M. Saksena and S. Hong, “Resource Conscious Design of
rtip.htm/, Oct. 2004. Distributed Real-Time Systems: An End-to-End Approach,” Proc.
[7] GlobalSecurity.org, “BMC3I Battle Management, Command, IEEE Int’l Conf. Eng. of Complex Computer Systems, pp. 306-313,
Control, Communications and Intelligence,”http://www.global 1996.
security.org/space/systems/bmc3i.htm/, Oct. 2004. [31] J. Jonsson and K.G. Shin, “Robust Adaptive Metrics for Deadline
[8] E.D. Jensen, C.D. Locke, and H. Tokuda, “A Time-Driven Assignment in Distributed Hard Real-Time Systems,” Real-Time
Scheduling Model for Real-Time Systems,” Proc. IEEE Real-Time Systems, vol. 23, no. 3, pp. 239-271, Nov. 2002.
Systems Symp., pp. 112-122, Dec. 1985.
[9] R. Clark, E.D. Jensen, A. Kanevsky, J. Maurer, P. Wallace, T.
Wheeler, Y. Zhang, D. Wells, T. Lawrence, and P. Hurley, “An
Adaptive, Distributed Airborne Tracking System,” Proc. IEEE
Workshop Parallel and Distributed Systems, pp. 353-362, Apr. 1999.
[10] D.P. Maynard, S.E. Shipman, R.K. Clark, J.D. Northcutt, R.B.
Kegley, B.A. Zimmerman, and P.J. Keleher, “An Example Real-
Time Command, Control, and Battle Management Application for
Alpha,” Archons Project TR-88121, Dept. of Computer Science,
Carnegie Mellon Univ., Dec. 1988, http://www.real-time.org,
Oct. 2004.
[11] P. Li, “Utility Accrual Real-Time Scheduling: Models and
Algorithms,” PhD dissertation, Virginia Tech, 2004, http://
scholar.lib.vt.edu/theses/available/etd-08092004-230138/, Oct.
2004.
WU ET AL.: TIME/UTILITY FUNCTION DECOMPOSITION TECHNIQUES FOR UTILITY ACCRUAL SCHEDULING ALGORITHMS IN REAL-TIME... 1153

Haisang Wu is currently a PhD candidate in the E. Douglas Jensen is the chief scientist of the
Bradley Department of Electrical and Computer Information Technologies Directorate at the
Engineering at Virginia Tech. He received the MITRE Corporation. His principal focus is on
BE (cum laude) and MSE (summa cum laude) time-critical resource management in dynamic
degrees, both in electronic engineering, from distributed object systems, particularly for com-
Tsinghua University, Beijing, China, in 1999 and bat platform and battle management applica-
2002, respectively. His PhD dissertation re- tions. He directs and conducts research,
search, funded by the MITRE Corporation, performs technology transition, and consults on
focuses on energy-efficient and power-aware US Department of Defense programs. He joined
scheduling for real-time embedded systems. His MITRE from previous positions at HP, Digital
other research interests include real-time operating systems and Equipment, and other computer companies. From 1979 to 1987, he was
distributed systems, real-time and network security, and network traffic on the faculty of the Computer Science Department at Carnegie Mellon
engineering and routing. His research results have been transitioned to University, where he created and directed the largest academic real-
programs MITRE is engaged in for the US Department of Defense. He is time research group of its time. Prior to that, he was employed in the
a student member of the IEEE. real-time computer industry, where he engaged in research and
advanced technology development of distributed real-time computer
Binoy Ravindran is an associate professor in systems, hardware, and software. He is considered one of the original
the Bradley Department of Electrical and Com- pioneers, and leading visionaries, of distributed real-time computer
puter Engineering at Virginia Tech. He is systems, and is widely sought throughout the world as a speaker and
fascinated and challenged by building adaptive consultant. He is a member of the IEEE.
real-time software, i.e., real-time application and
system software that can dynamically adapt to Peng Li received the BS degree in automatic
uncertainties in their operating environments, control (1997) and the ME degree in commu-
and satisfy time constraints acceptably well with nication and information systems (2000), both
acceptable predictability, according to applica- from the University of Electronic Science and
tion-specific criteria. Toward that end, he fo- Technology of China (UESTC), and the PhD
cuses on time/utility function (TUF)/utility accrual (UA) real-time degree in computer engineering from Virginia
scheduling and resource management—an adaptive time-critical re- Polytechnic Institute and State University (Virgi-
source management paradigm invented by Doug Jensen (almost 35 nia Tech). He has been a software design
years ago) and a central concept behind the Alpha distributed real-time engineer at Microsoft Corporation, Redmond,
kernel. His students have recently developed several new results on Washington, since 2004. He has authored or
TUF/UA scheduling and resource management. In particular, the new coauthored more than 20 peer reviewed publications in real-time
results include those on stochastic scheduling, distributed scheduling, scheduling, operating systems, and distributed computing. His current
energy consumption, memory management and garbage collection, and research interests include real-time systems, embedded systems,
nonblocking synchronization. Many of these new results have been operating systems, and software engineering.
transitioned for use in US Department of Defense programs. He is a
senior member of the IEEE and the IEEE Computer Society.

. For more information on this or any other computing topic,


please visit our Digital Library at www.computer.org/publications/dlib.

You might also like