A Synchronization Protocol for Temporal Isolation of Software

IEEE TRANSACTIONS ON INDUSTRIAL INFORMATICS, VOL. 5, NO. 4, NOVEMBER 2009
375
A Synchronization Protocol for Temporal Isolation of
Software Components in Vehicular Systems
Thomas Nolte, Member, IEEE, Insik Shin, Member, IEEE, Moris Behnam, Student Member, IEEE, and
Mikael Sjödin
Abstract—We present a method that allows for integration of
individually developed functions of software components into a
predictable real-time system. The method has been designed to
provide a lightweight mechanism that gives temporal firewalls
between functions, preventing unpredictable side effects during
function integration. The method maps well to the AUTOSAR
(AUTomotive Open System ARchitecture) software component
model and can thus be used to facilitate seamless and predictable
integration and isolation of AUTOSAR components that have
been developed by different manufacturers.
Specifically, this paper presents a protocol for synchronization in
a hierarchical real-time scheduling framework. Using our protocol,
a software component does not need to know, and is not dependent
on, the timing behavior of software components belonging to other
functions; even though they share mutually exclusive resources. In
this paper, we also prove the correctness of our approach and evaluate its efficiency and cost in terms of system load in a vehicular
context.
Index Terms—Automotive, automotive open system architecture
(AUTOSAR), hierarchical scheduling, operating system, real-time
systems, scheduling, subsystem integration and resource allocation
policy (SIRAP), synchronization.
I. INTRODUCTION
T
HIS paper presents methods and analysis techniques that
allow integration of multiple, semi-independent, software
components, preserving their real-time properties, onto a single
CPU. The proposed methodology maps well to the industrial
standard (automotive open system architecture’s) AUTOSAR’s
software component model. Thus, the proposed methodology
can substantially aid in decreasing integration costs and effort
for automotive software functions.
Integration of the many functions present in a modern vehicle is a daunting task. Contemporary integration techniques
are mostly bus-oriented, in the sense that integration of software
Manuscript received April 05, 2009; revised July 05, 2009 and September
02, 2009; accepted September 03, 2009. First published October 13, 2009; current version published November 06, 2009. This work was supported in part
by the Swedish Foundation for Strategic Research (SSF) via the Research Program PROGRESS, IT R&D Program of MKE/KEIT of Korea [2009-F-039-01],
the National Research Foundation of Korea (2009-0086964), and KAIST ICC,
KIDCS, KMCC, and OLEV grants. This paper was presented in part at the Seventh ACM and IEEE International Conference on Embedded Software (EMSOFT’07), Salzburg, Austria. Paper no. TII-09-04-0046.R2.
T. Nolte, M. Behnam, and M. Sjödin are with the MRTC/Mälardalen
University, Västerås SE-72123 Sweden (e-mail: [email protected];
[email protected]; [email protected]).
I. Shin is with the Department of Computer Science, Korea Advanced Institute of Science and Technology (KAIST), Daejeon, Korea 305-701 (e-mail:
[email protected]).
Digital Object Identifier 10.1109/TII.2009.2033267
from different vendors is done over a shared communications
bus. Typically, each electronic control unit (ECU, i.e., a node
in the vehicular network) is developed in isolation by some supplier, and is, at late stages of the vehicle development, integrated
with other ECUs provided by (potentially) other suppliers. The
ECUs, and thereby the functions, communicate via messages
over the communications busses in the vehicle.
This approach to integration has been developed for good
reasons (beyond the scope of this paper to account for), but
has today reached its limits. The major drawback of the approach is the bloat in number of ECUs caused. Since a large
amount of functions is to be realized by a high number of suppliers the number of ECUs in a vehicle has grown tremendously
over the last decade. Top-line cars today can have close to 100
ECUs connected over a handful of busses. Needless to say, the
sheer number of ECUs and networks causes significant problems, including manufacturing costs, weight, increased power
consumption, and decreased reliability and serviceability.
To combat the limitations of this integration technique, the
automotive industry has developed the standard AUTOSAR [2].
AUTOSAR allows specification of components that implement
complex, potentially distributed, functions in a vehicle. Components have formally defined interfaces, and thus functional
integration of components is functionally predictable. Components contain compositions of software components, which are
atomic (i.e., not distributed) pieces of functionality, that can be
deployed to the physical nodes in the vehicle system. Components and software components allow for vehicle manufacturers
to structure the functions of a vehicle and to partition the labor
required to implement the functions.
However, vehicle functions are often real-time functions,
meaning that their correct behavior is not only dependent on
their functional correctness but also their temporal correctness.
That is, the right values (or right actions) have to be delivered
(taken) at the right time.
In AUTOSAR, functions are developed and constructed using
software components. These components are then, in turn, executed as tasks, predictably scheduled by the AUTOSAR OS
task scheduler. However, in guaranteeing that timing requirements of functions (and thereby also software components) is
met, complete knowledge of an ECU’s all task properties is required. Complete knowledge is not possible to achieve without
having all functions at hand, including specification of their
detailed internal composition of software components, when
performing real-time analysis (schedulability testing). This requirement may lead to unexpected problems when integrating
multiple functions on a single ECU. Functions that work well
when executed on an exclusive ECU (alone) may work incorrectly when they have to share an ECU with other functions. In
1551-3203/$26.00 © 2009 IEEE
Authorized licensed use limited to: Korea Advanced Institute of Science and Technology. Downloaded on November 18, 2009 at 00:06 from IEEE Xplore. Restrictions apply.
376
IEEE TRANSACTIONS ON INDUSTRIAL INFORMATICS, VOL. 5, NO. 4, NOVEMBER 2009
fact, the timing behavior of a software function may change in
unpredictable ways when adding or removing any other software component to/from an ECU. This may, in turn, lead to
time consuming and costly error tracing during the integration
phase. Since the integration phase occurs late in the development process for a vehicle, any disturbances and delays in this
phase may be very costly, e.g., in delayed time to market for the
product or in delays in production lines.
To remedy late integration problems, we propose the use of
server-based scheduling techniques in AUTOSAR. The servertechnology is provided by a Hierarchical Scheduling Framework
(HSF), implemented as a layer between the AUTOSAR OS and
the AUTOSAR Runtime Environment (RTE).1 A server is an
operating-system level object that is allocated a fraction of the
total CPU-capacity. By allocating a software component (or set
of components) to one server the function is guaranteed its allocated share of computing resources, regardless the computational need of any other functions in the system. Using servers,
functions’ computational resource will not change when other
components or functions are added or removed from the system.
Thus, servers provide “temporal firewalls” between functions of
components and in this way allows the temporal behavior of a
software function to be preserved regardless of the context it is
integrated in.
In order to use server-based scheduling for AUTOSAR software components the server-technology needs to support:
• Fixed-Priority Scheduling (FPS) of tasks. Software components are executed as OSEK-tasks [3], and OSEK-tasks
are scheduled with the FPS discipline.
• Resource-sharing between servers. Since the functions in
different servers are only semi-independent,2 they may
share resources. Thus, the server-technology must gracefully handle cases when one server holds a resource lock
while its allocated time is expired.
• Independency between timing-parameters. That is, the parameters of one server should not be dependent on the
parameters, or behavior, of other servers in the system.
Specifically, with respect to resource sharing, the parameters of a server should not be dependent on the resource
holding time of components in other servers.
In this paper, we present a server-technology that supports
the above requirements. Thus, it facilitates independent development and testing of AUTOSAR software functions and
late-stage timely integration of multiple software functions on
a single ECU.
Problem Description: A vehicle ECU (system) consists
of one or more servers to be executed on one single processor.
, in turn, is hosting functionality constructed
Each server
from one or more software components; each software component containing a set of tasks. Functions can be developed independently and they have their own local scheduler (resident in
the server, scheduling the tasks of the software components in
the function). This approach by isolation of tasks and software
1AUTOSAR allows for the inclusion of proprietary OSs, as long as they can
be abstracted to an AUTOSAR OS.
2The notion of semi-independent components means that they are intended
to be independent, but for various reasons they are required to synchronize
on common shared global resources. This synchronization introduces a dependency between the independent components, thereby classifying them as semiindependent.
components within functions, and allowing for their own local
scheduler, has several advantages [4]. For example, by keeping
a function isolated from other functions, and by having a server
local (exclusive) scheduler, it is possible to reuse a complete
function in a different vehicle ECU from where it was originally developed.
However, as functions are likely to share logical resources
(such as message queues, shared variables, or the AUTOSAR
Virtual Function Bus), an appropriate synchronization protocol
must be used. For a function developer, in facilitating independent function development, using this protocol should not require information from other functions in the system. It should
be enough with only the information regarding the functions
under development in isolation.
Hence, the first challenge addressed in this paper is inherent
in the development of a synchronization protocol. Then, the
second challenge is to derive appropriate timing abstractions
and analysis to allow for independent development and validation of functions.
Contributions: The contribution of this paper is threefold.
• The presentation of SIRAP, a pragmatic approach to software-component integration in the AUTOSAR architecture. SIRAP was originally presented in [1], and in this
paper SIRAP has been tailored to operate in the context
of an AUTOSAR (OSEK) compliant environment.
• The deduction of bounds on the timing behavior of SIRAP.
• The cost of using SIRAP is evaluated in a vehicular setting.
Specifically, the cost is investigated as a function of various
parameters including: cost as a function of the length of
critical sections, cost depending on the priority of the task
sharing a resource, and cost depending on the periodicity
of the function’s server.
Organization of this Paper: Section II presents related
work on server-based scheduling, hierarchical scheduling and
synchronization. Then, the system model used throughout
this paper is presented in Section III. SIRAP is presented in
Section IV. In Section V, schedulability analysis is presented,
and SIRAP is evaluated in Section VI. Finally, this paper is
summarized in Section VII.
II. RELATED WORK
This section presents related work in the areas of server-based
scheduling, HSFs as well as synchronization protocols.
A. Server-Based Scheduling
A number of server-based schedulers have been developed
for FPS systems, with the simplest one being the Polling Server
(PS) [5], [6]. A PS allocates a share of the CPU to the tasks using
(resident in) the server. This share is defined by the server’s
period and capacity. A server mediates the right to execute for
its tasks, if some of them have requested to use the server’s
capacity. Otherwise, the server’s capacity will be left unused
for that server period.
Other server-based schedulers for FPS systems include the
Deferrable Server (DS) [5], [7] and the Sporadic Server (SS)
[6]. The difference between PS, DS, and SS is that the latter
two preserve their capacity and they give better response times
when serving single requests.
Authorized licensed use limited to: Korea Advanced Institute of Science and Technology. Downloaded on November 18, 2009 at 00:06 from IEEE Xplore. Restrictions apply.
NOLTE et al.: A SYNCHRONIZATION PROTOCOL FOR TEMPORAL ISOLATION OF SOFTWARE COMPONENTS IN VEHICULAR SYSTEMS
The server-based scheduler used in this paper is a variant of
the PS which does not release all server capacity in case no
server-internal tasks are ready to execute once the PS becomes
scheduled for execution. Instead, if no server-internal task is
ready to execute, the PS is using its capacity to either execute
other non real-time tasks, e.g., background scheduling, or, if
no such tasks are available for execution, the server will consume its capacity being busy-idle. In this way, the PS will be
able to serve server-internal tasks that become activated at any
time within the server period as long as there still remains some
unused server capacity. This approach is chosen due to its efficiency in a hierarchical setting, and it has a low implementation
complexity.
B. Hierarchical Scheduling
The HSF for real-time systems, originating in open environments [8] in the late 1990s, has been receiving an increasing research attention. Since Deng and Liu [8] introduced a two-level
HSF, its schedulability has been analyzed under fixed-priority
global scheduling [9] and under Earliest Deadline First (EDF)based global scheduling [10]. Mok et al. [11], [12] proposed
the bounded-delay virtual processor model to achieve a clean
separation in a multilevel HSF. In addition, Shin and Lee [13]
introduced the periodic virtual processor model (to characterize
the periodic CPU allocation behavior), and many studies have
been proposed on schedulability analysis with this model under
fixed-priority scheduling [14]–[16] and under EDF scheduling
[13], [17]. More recently, Easwaran et al. [18] introduced Explicit Deadline Periodic (EDP) virtual processor model. However, a common assumption shared by all above studies is that
tasks are independent.
C. Synchronization
Many synchronization protocols have been introduced for arbitrating accesses to shared logical resources addressing the priority inversion problem, including Priority Inheritance Protocol
(PIP) [19], Priority Ceiling Protocol (PCP) [20], and Stack Resource Policy (SRP) [21].
When using SRP, a task may not preempt any other tasks
until its priority is the highest among all tasks that are ready to
run, and its preemption level is higher than the system ceiling.
The preemption level of a task is a static parameter assigned
to the task at its creation, and associated with all instances of
that task. A task can only preempt another task if its preemption
level is higher than the task that it is to preempt. Each resource
in the system is associated with a resource ceiling and based
on these resource ceilings, a system ceiling can be calculated.
The system ceiling is a dynamic parameter that changes during
system execution.
There have been studies on supporting resource sharing
within servers [9], [14] in HSFs. For supporting global resource
sharing across servers, some protocols [22], [23] have been
proposed. The Hierarchical Stack Resource Policy (HSRP)
[22] extends SRP for global resource sharing on the basis of
an overrun mechanism. The Bandwidth Inheritance Protocol
(BWI) [24] and the Bounded-Delay Resource Open Environment (BROE) [23] both extend the Constant Bandwidth Server
(CBS) [25] to support global resource sharing on the basis of
377
PIP and SRP, respectively. While BWI and BROE are applicable only to systems with EDF global scheduling, HSRP and
our proposed protocol SIRAP can also be applied to systems
with FPS global scheduling, which is much more commonly
used in vehicular systems. For a comparison of BROE, HSRP
and SIRAP, interested readers are referred to [26].
The main difference between these protocols is how they
prevent expiration of the server budget while locking a global
shared resource, to bound the waiting time of tasks from different servers that want to access the same shared resource.
Looking at the context of vehicular systems, HSRP and SIRAP
are interesting due to their applicability for FPS scheduled systems. Here, solving the problem of budget expiry inside a critical section is based on one of, or a combination of, the two approaches: A) The overrun mechanism—adding extra resources
to the budget of each server to prevent the budget expiration
inside a critical section (applied by HSRP). B) The skipping
mechanism—preventing a task from locking a shared resource
by skipping its execution if its server does not have enough remaining budget at the time when the task tries to lock the resource (applied by SIRAP).
HSRP is based on an overrun mechanism which extends the
SRP protocol to be appropriate for HSFs with tasks that access
globally shared logical resources. HSRP works as follows: when
the budget of a server expires and the server has a task that is still
locking a global shared resource, the task continues its execution
until it releases the locked resource. When a task is accessing
a global shared resource its priority is increased to the highest
local priority, preventing any preemption during the access of a
shared resource from other tasks that belong to the same server.
SRP is used at the global level to synchronize the execution of
servers that have tasks accessing global shared resources. Each
global shared resource has a ceiling equal to the maximum priority of servers that have a task accessing that resource. Two versions of overrun mechanisms have been presented; 1) In the first
version (with payback): whenever overrun happens in a server,
the budget of the server will, in its next execution instant, be
decreased by the amount of the overrun time. 2) In the second
version (without payback), no further actions will be taken after
the event of an overrun. Selecting which of these two mechanisms that gives better results in terms of task response times in
the general case is not decidable, as it depends on the particular
system parameters.
SIRAP is based on the skipping mechanism. The protocol
supports server integration in the presence of globally shared
logical resources, and SIRAP can be used in open environment
systems (i.e., independent development of servers). It uses a
periodic resource model to abstract the timing requirements of
each server. Each server is characterized by its period, budget
and resource holding time, and it is implemented as a variant of
the PS (a periodic server). SIRAP uses the SRP protocol to synchronize the access to global shared resources in both local and
global scheduling. SIRAP applies a skipping approach to prevent the budget expiration inside critical section problem. The
mechanism works as follows; when a job wants to enter a critical section, it enters the critical section at the earliest instant
such that it can complete the critical section execution before the
server budget expires. This can be achieved by checking the remaining budget before granting the access to the globally shared
Authorized licensed use limited to: Korea Advanced Institute of Science and Technology. Downloaded on November 18, 2009 at 00:06 from IEEE Xplore. Restrictions apply.
378
IEEE TRANSACTIONS ON INDUSTRIAL INFORMATICS, VOL. 5, NO. 4, NOVEMBER 2009
system that has a different global level scheduler for scheduling
servers.
B. Shared Resources
Fig. 1. System model: Two-level HSF with global resource sharing
requirements.
resources; if there is sufficient remaining budget then the job
enters the critical section, and if there is insufficient remaining
budget, the local scheduler delays the critical section entering of
the job until the next server budget replenishment (i.e., the task
that wants to enter the critical section will be blocked internally
inside its server until the next server budget replenishment).
Due to its applicability in open systems, where functions may
be developed independently and in parallel, SIRAP, among the
above, is the more applicable approach to enable synchronization between software components resident in different functions. The details of SIRAP are presented in Section IV.
III. SYSTEM MODEL
A. Hierarchical Scheduling Framework (HSF)
A HSF has been introduced to support CPU time sharing
among functions (servers) under different scheduling services.
In this paper we propose the use of a HSF to support time
sharing between, and with SIRAP seamless integration of, AUTOSAR software-components. Here, a system consists of one
. The HSF can be generally represented
or more servers
as a two-level tree, where each child node represents a server
with (potentially) its own local scheduler for scheduling internal
tasks, and CPU time is allocated from the parent node to the
child nodes (i.e. from the global scheduler to the servers), as illustrated in Fig. 1.
The HSF provides partitioning of the CPU between different
servers. Thus, servers, and thereby components, can be isolated
from each other for, e.g., fault containment, compositional verification, validation and certification and unit testing.
The HSF is especially useful in the domain of open environments [8], where functions may be developed and validated independently in different environments, which is typical in the
automotive domain. For example, the HSF allows a function
to be developed with its own scheduling algorithm internal to
the server containing the function, and then later included in a
A critical section is a piece of code that accesses a shared
resource in a mutually exclusive manner. That is, the critical
section should be accessed by at most one task at any time. In
general, a task first obtains a lock (e.g., semaphore) in order to
access a shared resource, and it release the lock later when it
finishes its access to the resource.
A shared resource is said to be local if it is accessed by
the tasks within a single server, or global if it is accessed by
tasks across servers (as depicted in Fig. 1). Management of
local shared resources can be done by the use of traditional synchronization protocols such as PIP, PCP, and SRP, and therefore this paper focuses on the management of global shared resources. Hereinafter, we simply refer to global shared resources
as shared resources.
C. Virtual Processor Model
The notion of real-time virtual processor (resource) model
was first introduced by Mok et al. [11] to characterize the CPU
allocations that a parent node provides to a child node in a
HSF. The CPU supply of a virtual processor model refers to the
amounts of CPU allocations that the virtual processor model can
provide. The supply bound function of a virtual processor model
calculates the minimum possible CPU supply of the virtual processor model for a time interval length .
Shin and Lee [13] proposed the periodic virtual processor
, where is a period
and is a pemodel
. The capacity
of a periodic allocation time
is defined as
. The
riodic virtual processor model
is defined to characperiodic virtual processor model
terize the following property:
(1)
computes the
where the supply function
amount of CPU allocations that the virtual processor model
provides during the interval
.
, its supply bound function
For the periodic model
is defined to compute the minimum possible CPU
supply for every interval of length as shown in the equation at
.
the bottom of the page, where
Here, we first note that an interval of length may not begin
synchronously with the beginning of period . That is, as
shown in Fig. 2, the interval of length can start in the middle
. We also note that
of the period of a periodic model
the intuition of in (2) basically indicates how many periods
of a periodic model can overlap the interval of length , more
. Fig. 2
precisely speaking, the interval of length
if
otherwise
Authorized licensed use limited to: Korea Advanced Institute of Science and Technology. Downloaded on November 18, 2009 at 00:06 from IEEE Xplore. Restrictions apply.
(2)
NOLTE et al.: A SYNCHRONIZATION PROTOCOL FOR TEMPORAL ISOLATION OF SOFTWARE COMPONENTS IN VEHICULAR SYSTEMS
379
Fig. 3. Shared resource access time.
Fig. 2. The supply bound function of a periodic virtual processor model
0(5; 2) for k = 3.
illustrates the intuition of
is defined for
and how the supply bound function
.
D. Server Model
, where is the whole system of servers, conA server
sists of a function and a scheduler. The scheduler in the server
schedules the tasks contained in the software components of the
is
server’s function (as illustrated in Fig. 1). Each server
associated with a periodic virtual processor model abstraction
, where
and
are the server period and budget,
is supposed to specify
respectively. This abstraction
the collective temporal requirements of a server, in the presence
of global resource sharing.
For each server, we assume that the server period is selected
, where
is the task with the shortest
such that
will
period. The motivation for this assumption is that higher
require more CPU resources [27]. In addition, this assumption
).
simplifies the presentation of the paper (evaluating
Task Model: We consider a periodic task model
, where and
represent the task’s period and
is
Worst-Case Execution Time (WCET), respectively, and
the set of WCETs within critical sections belonging to . Each
element
in
represents the WCET of a particular critical
includes all
.
section executed by . Note that
The set of critical sections cover for the following two cases
of multiple critical sections within one task:
contains the
1) sequential critical sections, where
WCETs of all sequential critical sections, i.e.,
, where
is the number of sequential
shared resources that task may lock during its execution;
being the length
2) nested critical sections, where
of the outer critical section.
rather than
Note that in the remaining paper, we use
for simplicity when it is not necessary to indicate .
Scheduler: In this paper we deal with vehicular applications
which are commonly developed for OSEK compatible operating
systems. Hence, we assume that each server has a FPS preemptive scheduler for scheduling its internal tasks. We also assume
that the system has the FPS global scheduler to schedule servers.
IV. THE SIRAP PROTOCOL
The subject of this paper is to develop a synchronization protocol that can address global resource sharing in hierarchical
real-time scheduling frameworks, while aiming at supporting
independent server development and validation. This section describes our proposed synchronization protocol, SIRAP.
A. Terminology
Before describing the SIRAP protocol, we define the terminology (also depicted in Fig. 3) that are related to hierarchical
resource sharing.
• Semaphore request instant: an instant at which a task tries
to enter a critical section guarded by a semaphore.
• Critical section entering (exiting) instant: an instant at
which a task enters (exits) a critical section.
• Waiting time: a duration from a semaphore request time to
a critical section entering time.
• Resource holding time: a duration from a critical section
entering instant to a critical section exiting instant. Let
denote the resource holding time of a critical section of task
.
• (Shared) resource access time: a duration from a
semaphore request instant to a critical section exiting
time.
In addition, a context switch is referred to as task-level context
switch if it happens between tasks within a server, or as serverlevel context switch if it happens between servers.
B. SIRAP Protocol Description
This section presents the description of our proposed SIRAP
protocol.
Assumption: SIRAP relies on the following assumption.
• The system’s global scheduler schedules servers ac.
cording to their periodic server parameters
The server budget is consumed every time when an internal task within a server executes, and the budget is
every server period
. Similar to trareplenished to
ditional server-based scheduling methods [28], the system
provides a runtime mechanism such that each server is
able to figure out at any time how much its remaining
server budget
is, which will be denoted as
in the
remaining of this section.
The above assumption is necessary to allow runtime checking
whether or not a task can potentially enter and execute a whole
critical section before its server’s budget expires. This is useful
particularly for supporting independent abstraction of server’s
temporal behavior in the presence of global resource accesses.
In addition to supporting independent server development,
SIRAP also aims at minimizing the resource holding time and
Authorized licensed use limited to: Korea Advanced Institute of Science and Technology. Downloaded on November 18, 2009 at 00:06 from IEEE Xplore. Restrictions apply.
380
IEEE TRANSACTIONS ON INDUSTRIAL INFORMATICS, VOL. 5, NO. 4, NOVEMBER 2009
bounding the waiting time at the same time. To achieve this goal,
the protocol has two key rules as follows.
R1: When a task enters a critical section, preemptions from
other tasks within the same server should be bounded to
keep its resource holding time as small as possible.
R2: When a task wants to enter a critical section, it enters
the critical section at the earliest instant such that it can
complete the critical section before its server’s budget expires. Hence, a task can only enter the critical section if it
can complete that critical section before the server’s budget
expires. Otherwise, it will enter the critical section once the
server’s capacity is replenished.
The first rule R1 aims at minimizing a resource holding time
so that the waiting time of other tasks, which want to lock the
same resource, can be minimized as well. The second rule R2
from entering a critical section
at any
prevents a task
. This rule guarantees that when the
time when
budget of a server expires, no task within the server locks a
global shared resource.
SIRAP: Preemption Management: SRP [21] is used to
enforce the first rule R1. Each server will have its own system
ceiling and resource ceiling according to its tasks that share
global resources. According to SRP, whenever a task locks
a resource, other tasks within the same server can preempt
it if the tasks have higher preemption levels than the locked
resource ceiling, so as to bound the blocking time of higher
priority tasks. However, such task-level preemptions generally
increase resource holding times and can potentially increase
is to allow
server utilization. One approach to minimize
no task-level preemptions, by assigning the ceiling of global
resource equal to the maximum preemption level. However,
increasing the resource ceiling to the maximum preemption
level may affect the schedulability of a server. A good approach
is presented in [29], which increases the ceiling of shared global
resources as much as possible while keeping the schedulability
of the server.
SIRAP: Self-Blocking: When a task tries to enter a critical
section, SIRAP requires each local scheduler to perform the following action. Let denote the semaphore request instant of
and
denote the server’s budget at time .
, the local scheduler executes the task .
• If
The task enters a critical section at time .
, the local scheduler de• Otherwise, i.e., if
lays the critical section entering of the task
until the
next server budget replenishment. This is defined as selfblocking. Note that the system ceiling will be equal to resource ceiling at time , which means that only the tasks
that have preemption level greater than system ceiling can
execute during the self blocking interval. This guarantees
that when the server of receives the next resource allocation, the server-budget will be enough to execute task
inside the critical section.
V. SCHEDULABILITY ANALYSIS
In this section, two schedulability tests are presented for local
and global scheduling, respectively. It should be noted that it
is possible that the worst-case scenario used as basis for these
tests does not necessarily correspond to a feasible execution of
a real-system. However, at the cost of being pessimistic, both
tests are sufficient schedulability tests.
A. Local Schedulability Analysis
that consists of a periodic task set and
Consider a server
a fixed-priority scheduler and receives CPU allocations from
. According to [13], this
a virtual processor model
server is schedulable if
(3)
where
represents the minimum CPU allocation that
a task requires during an interval of length , in order to satisfy its timing constraints in the presence of interference from
its higher priority tasks. Typically, however, for each task , it
is sufficient to investigate a limited number of points in the in[30].
terval
The goal of this section is to develop the demand bound funccalculation for the SIRAP protocol. We can
tion
with the following factors:
compute
(4)
is the maximum self blocking
where is the WCET of ,
for ,
is the maximum possible interference imposed
by a set of higher priority tasks to a task during an interval
is the maximum possible interference imof length , and
posed by a set of lower priority tasks that share resources with
preemption level (ceiling) greater than or equal to the priority
of task .
The following lemmas shows some intuitions behind how to
,
and
.
compute
Lemma 1: Self-blocking imposes to a task an extra proif a task access multiple
cessor demand of at most
shared resources.
Proof: When the task self-blocks itself, it consumes the
units being idle. If the task access
processor of at most
shared resources then the worst case will happen when the task
block itself whenever it tries to enter a critical section.
Lemma 2: A task can be interfered by a higher priority task
that access shared resources, at time units for a duration of
time units.
at most
Proof: Similar to classical response-time analysis [31], we
to
which is the worst-case self blocking from
add
higher priority tasks, the lemma follows.
Lemma 3: A task can be interfered by only one lower pri, where
.
ority task by at most
Proof: A higher priority task can be interfered by a lower
priority task . This occurs only if is released after tries
to enter a critical section but before exits the critical section.
When is released, only one task can try to enter or be inside
a critical section. That is, a higher priority task can then be
interfered by at most a single lower priority task. The processor
demand of during a critical section period is bounded by
for the worst case, where one
is due to
is due to the execution of
self blocking and the other
the critical section. The lemma follows.
From Lemma 1, the self-blocking
is given by
Authorized licensed use limited to: Korea Advanced Institute of Science and Technology. Downloaded on November 18, 2009 at 00:06 from IEEE Xplore. Restrictions apply.
(5)
NOLTE et al.: A SYNCHRONIZATION PROTOCOL FOR TEMPORAL ISOLATION OF SOFTWARE COMPONENTS IN VEHICULAR SYSTEMS
According to Lemma 2, and taking into account the interferis computed as follows:
ence from higher priority tasks,
(6)
hp
is the set of task with priority higher than that of
where
task .
The maximum interference from lower priority tasks can be
evaluated according to Lemma 3 according to
(7)
lp
is the set of task with priority lower than that of
where
task .
Based on (5)–(7), the processor demand bound function is
given by (4).
of a task that access a global
The resource holding time
resource is evaluated as the maximum critical section execution
time
from the tasks that have
preemption level greater than the ceiling of the logical resource
. Since we assume that
,
during the execution
then all tasks that are allowed to preempt while accesses a
will be activated at most one time from the
shared resource
time that self blocking happens until the end of the next subcan be computed as follows:
system period. Then,
(8)
hp
381
to the maximum preemption level among all servers. Then, for
the global scheduling, it is enough to provide periodic server paand the maximum resource holding times
rameters
for
among all global resources
each server , i.e., it is possible to develop and verify each function (server or set of servers) in isolation and then at integration
stage only provide these high level parameters for the global
schedulability test. On the other hand, assigning the ceiling of
all global resources to the maximum preemption level of the
server that access these resources is not as efficient as using the
original SRP protocol, since we may have resources with lower
ceiling which permit more preemptions from the higher preemption level servers.
Under global FPS scheduling, we present the server load
bound function as follows:
(9)
where
(10)
HPS
where
is the set of servers with priority higher than that
of server . Let
denote the maximum blocking imposed to
a server , when it is blocked by lower priority servers
(11)
is the set of servers with priority lower than that
where
of server .
A global schedulability condition under FPS is then
where
is the ceiling of the shared resource accessed
, and is the maximum ceiling
within the critical section
within the server.
(12)
C. Local Resource Sharing
B. Global Schedulability Analysis
Here, issues for global scheduling of multiple servers are
dealt with. For a server , it is possible to derive a periodic
that guarantees the scheduvirtual processor model
according to (3). Then, the server
lability of the server
uses
as its periodic server parameters.
The requirements for the global scheduler, are as follows: i)
it should schedule all servers according to their periodic server
and ii) it should be able to bound the
parameters
waiting time of a task in any server that wants to access global
resource.
To achieve those global scheduling requirements, a suitable
solution is the usage of a preemptive FPS scheduler together
with Rate Monotonic (RM) priority assignment and the usage
of SRP [21] to resolve synchronization issues. So when a server
locks a global resource, it will not be preempted by other servers
that have preemption level less than or equal to the locked resource ceiling. Each server, for all global resources accessed by
tasks within a server, should specify a list of pairs of all those
global resources and their maximum resource holding times
, where is the number of global resources in the system. However, it is possible to minimize the
required information that should be provided for each server by
assuming that all global resources have the same ceiling equal
So far, only the problem of sharing global resources between
servers has been considered. However, many real-time applications may have local resource sharing within a server as well.
Almeida and Pedreiras [14] showed that some traditional synchronization protocols such as PCP and SRP can be used for
supporting local resource sharing in a hierarchical scheduling
framework by including the effect of local resource sharing in
. That is, to combine SRP/PCP and
the calculation of
the SIRAP protocol for synchronizing both local and global resources sharing, (7) should be modified to
lp
(13)
where is the maximum duration for which a task can be
blocked by its lower priority tasks in critical sections from local
resource sharing.
VI. PROTOCOL EVALUATION
In this section, the cost of using SIRAP is investigated in
terms of extra CPU utilization required to guarantee server
schedulability. Supporting global resource sharing is expected
depends
to increase server utilizations . This increment in
on many factors such as the maximum WCET within a critical
Authorized licensed use limited to: Korea Advanced Institute of Science and Technology. Downloaded on November 18, 2009 at 00:06 from IEEE Xplore. Restrictions apply.
382
IEEE TRANSACTIONS ON INDUSTRIAL INFORMATICS, VOL. 5, NO. 4, NOVEMBER 2009
For the remaining figures [Fig. 5(a) and (b)], simulations are
performed as follows. We randomly generate 100 task sets,3
each containing five tasks. Each task set has a utilization of 25%,
and the period of the generated tasks range from 40 to 1000. For
each task set, a single task is accessing a global shared resource,
and its priority is either the highest, a medium, or the lowest. For
each task set, we use 11 different values of ranging from 10%
to 50% of the server period.
B. Impact of the Task Priority
Fig. 4. Server utilization (U ) as a function of the length of the critical section
x for two different task sets.
section
, the priority of the task sharing a global resource,
. Note that, to limit the number of
and the server period
parameters to study, we will in the evaluation generate systems
such that all global resource ceilings are equal to the maximum preemption level, which means that no tasks within a
server preempt a task inside a critical section, and therefore
. The reason for this simplifying assumption is that
the feature of allowing preemption inside critical sections is out
of the scope of this paper. Rather, we are interested in the cost
of the protocol, while varying a number of protocol and system
parameters. The assumption clarifies the experiments and their
interpretations in this section.
Sections VI-A–VI-C investigate the effect of those factors
under the assumption that task accesses a single critical section. In Section VI-D, the assumption of single critical section
access is relaxed in investigating the effect of the number of critical sections on the demand bound function. In Section VI-E, the
SIRAP protocol is evaluated using the notion of system load.
Finally, Section VI-F illustrates SIRAP applied in a realistic vehicular example.
A. Impact of the Length of Critical Sections
One of the main factors that affect the cost of using SIRAP
, i.e., the length of critical sections. It is clear
is the value of
(which equals to
) increases,
from (5)–(7) that whenever
will increase as well, potentially causing
to increase
in order to satisfy the condition in (3). Fig. 4 shows the effect of
increasing on two different task sets, where only their lowest
priority tasks access a shared resource, respectively. Each task
set contain five tasks, and their task utilization is 0.25. Task set 1
has its subsystem period set to 40, and a minimum task period of
50. Task set 2 has its subsystem period set to 40, and a minimum
task period of 180. Task set 1 is sensitive for small changes in ,
while task set 2 can tolerate the given range of without ending
up with a big change in . The reason behind the difference is
while the
that task set 1 has a task with period very close to
by more than
smallest task period in task set 2 is greater than
four times. Hence, SIRAP can be more or less sensitive to
depending on the ratio between task and server period. A good
rule of thumb is to set the server period no greater than half of
the task period of the server’s tasks.
From (5)–(7), looking how tasks sharing global logical resources affect the calculations of
, it is clear that task priority for these tasks is of importance. The contribution of low
is fixed to a specific value of [see (7)],
priority tasks on
while the increase in
by higher priority tasks depends on
many terms such as higher priority task period and execution
[see (6)]. It is fairly easy to estimate the behavior of a
time
server when lower priority tasks share global resources; on one
hand, if the smallest task period in a server is close to ,
will be significantly increased even for small values of . As the
is small for time intervals close to , the server
value of
needs a lot of extra resources in order to fulfil server schedulability. On the other hand, if the smallest task period is much
will only be affected for large values of
larger than , then
, as shown in Fig. 4.
Fig. 5(a) shows
as a function of when only a single task
within a server accesses a global shared resource with different
. In the figure, the task accessing the
priorities, where
shared resource has either the highest priority than other tasks
with lower priorities. This observation is expected as the interference from higher priority task is larger than the interference
from lower priority tasks [see (6) and (7)]. However, note that
stays within the
in the figure this is true for the case where
range of [0, 5]. If the value of is larger than 5, then
keeps
increasing rapidly without any difference among the priorities
of tasks accessing the shared resource. The reason why it happens is as follows: When using SIRAP, the server budget
should be no smaller than to enforce the second rule (R2) in
,
must be increased to
Section IV-B. Therefore, when
accommodate the desired critical section, i.e., set greater than 5
according to the R2 rule. Since server period is fixed to 15, this
with the speed of
essentially results in a rapid increase of
.
C. Impact of the Server Period
The server period is one of the most important parameters,
both in the context of global scheduling and the calculation of
the supply bound function
for a server. As
is used in
calculation,
will have a significant effect on
[see
the
(3)].
Fig. 5(b) compares average server utilization for different
and
) for
values of server period (i.e., for
the same task set. Here, only the highest priority task accesses
a global shared resource, a configuration which has shown to
have greater impact on the server’s required utilization (see
Section VI-B). It is interesting to see that a lower value of ,
, results in a lower server utilization when
is
i.e.,
3In experiments, we have run 10, 25, 50, and 100 task sets, and the difference
in their results are only visible as smoothness in the trends of Fig. 5(a) and (b).
Authorized licensed use limited to: Korea Advanced Institute of Science and Technology. Downloaded on November 18, 2009 at 00:06 from IEEE Xplore. Restrictions apply.
NOLTE et al.: A SYNCHRONIZATION PROTOCOL FOR TEMPORAL ISOLATION OF SOFTWARE COMPONENTS IN VEHICULAR SYSTEMS
383
Fig. 5. Average server utilization looking at 100 task sets, plotting their respective server utilization value as a function of the length of corresponding critical
sections x . (a) Impact of priority of task accessing a shared resource (5 = 15). (b) Impact of server period (between 5 = 20 and 5 = 40).
small, i.e.,
, and then a higher server utilization when
increases, starting at
. That is,
and
are not
dominating factors one to another, but they collectively affect
the server utilization. It is also interesting to see in Fig. 5(b)
behaves in a similar way
that the server utilization of
.
by increasing rapidly from
Hence, in general,
should be less than the smallest task period in a server. As in hierarchical scheduling without resource
gives better results (needs
sharing [27], a lower value of
less utilization). However, in the presence of global resources
sharing, the selection of the server period also depends on the
maximum value of resident in the server, i.e., it is not resource
below ; in fact there is a tradeoff beefficient to decrease
tween server period, task period, length of critical sections, and
context switch overhead.
E. Evaluation of System Load
dication of the amount of extra CPU required when running a
HSF in the presence of shared resources. We look at the extra
CPU resources needed when using a HSF itself, both with (i.e.,
when using SIRAP) and without synchronization, and we look
at the CPU resources needed when running the system using a
non-hierarchical approach. The evaluation is done by means of
simulation experiments. We start by describing the setup of our
experiments, which is followed by the results.
1) Experiment Definition: The simulation study is performed
by applying the SIRAP protocol on 1000 different randomly
generated systems using the schedulability analysis presented
in Section V, where each system consists of five subsystems4
and, in turn, each subsystem contains eight tasks. The internal
resource ceiling of the globally shared resources is assumed to
be equal to the highest task priority in each subsystem. Two to
six tasks access globally shared resources in each subsystem.
is
The worst-case critical section execution time of a task
and
. A task is assumed to
set to a value between
access at most one globally shared resource. For each system,
the number of global shared resources is two and all subsystems
have at least two internal tasks that access both global shared
resources. For each simulation study, the following settings are
changed and a new 1000 systems is generated.
1) System utilization–the system utilization, i.e., the summation of the utilization of all tasks in the system, is specified
to a desired value.
2) Subsystem period–the subsystem period is specified as a
range with a lower and upper bound. The simulation program generates a subsystem period randomly within the
specified range, following a uniform distribution.
3) Task period–the task period is specified and generated in
the same way as the period of a subsystem.
The system utilization is divided randomly among the subsystems and the assigned utilization to each subsystem is, in turn,
divided randomly to the tasks that belong to that subsystem.
Since the task period is generated to a value within the interval
as specified, the execution time is derived from the desired task
utilization. All randomized system parameters are generated following uniform distributions.
In this section, we evaluate the use of the SIRAP protocol
using the notion of system load [32], since it provides an in-
4We have tested several scenarios and the number of subsystems does not
appear to have a significant impact on the system load.
D. Impact of the Number of Critical Sections
Here, we compare the case when a task accesses multiple
critical sections, denoted MCS, with the case when a task
accesses a single critical section, denoted SCS, within dura. The comparison is done by investigating
tion
(5)–(7), needed to evaluate the demand bound function, (4). The
following shows the effect of a task’s accessing MCS or SCS on
its higher and lower priority tasks and on itself:
• On higher priority tasks, the effect from higher priority
tasks accessing MCS or SCS can be evaluated by (6). Here,
will be the same for both cases.
for MCS is less
• On lower priority tasks, (7) shows that
than for the SCS case because in the MCS case the maxwill be less than , which is used for the SCS
imum of
case.
• On the task itself. (5) shows that both accessing MCS and
SCS by a task gives the same result.
Therefore, we can see that the required server utilization for
the case of MCS will be always less than or equal to that for the
, which means that our proposed
case of SCS, if
protocol is scalable in terms of the number of critical sections.
Authorized licensed use limited to: Korea Advanced Institute of Science and Technology. Downloaded on November 18, 2009 at 00:06 from IEEE Xplore. Restrictions apply.
384
IEEE TRANSACTIONS ON INDUSTRIAL INFORMATICS, VOL. 5, NO. 4, NOVEMBER 2009
FOUR STUDIES OF CORRESPONDING
TABLE I
WHEN RUNNING HSF AND SIRAP, HSF WITHOUT SYNCHRONIZATION, OR A FLAT SYSTEM WITH SRP
2) Simulation Results: Table I shows the results of the four
different simulation studies performed.
• Study 1 is specified having a task utilization of 15%, task
periods between 400 and 1000, and subsystem periods between 50 and 200.
• Study 2 decrease task periods (compared to Study 1) to
(a task will
the interval of 400–450, and therefore also
have the same utilization compare to Study 1 and since its
period is lower then its execution time becomes lower).
• Study 3 decrease subsystem periods (compared to Study
1) to the interval of 50–60.
• Study 4 increase task utilization (compared to Study 1) to
(a task utilization will be higher
30%, and therefore also
and that increases its execution time).
In each of these studies, 1000 systems are randomly generated, and for each generated system the SIRAP protocol is apis calculated.
plied, and, in turn, for each case the
is defined as the minimum amount of CPU allocations necessary to guarantee the schedulability of the system . Under FPS
is defined as
global scheduling
(14)
where
(15)
values allow for deKeeping track of all calculated
termining min, max and average of the set of 1000 systems.
For reference, apart from—SIRAP—two other values are given
when using HSF
as well: 1) HSF–the corresponding
without sharing any global resources (to indicate the cost of running the SIRAP protocol), and 2) SRP–running a flat system
with the SRP protocol for synchronization (to indicate the cost
of using a hierarchical approach).
Looking at Table I, the results from Study 1 shows the extra
CPU resources required by SIRAP in order to enable synchronization between tasks, compared with running a HSF without
resource sharing or running a flat system and SRP.
Comparing the results of Study 1 and Study 2, the system
load values for the SIRAP and HSF studies are almost the same.
are decreased in Study 2 and that
Note that the values of
should decrease the required CPU resource (according to the results of Section VI-A). However, the task period range is also decreased, which make the task periods closer to the subsystem period than in Study 1 which increase the CPU resource required
(see Section VI-C). So the effect of decreasing task periods is
. This effect is not visible when
compensated by decreasing
running a flat system and SRP, hence Study 2 results in a lower
system load compared to Study 1 as is smaller.
The results of Study 3 are better for SIRAP compared to the
results of Study 1, and the reason for this is that the subsystem
periods’ range is decreased which makes the subsystem period
much smaller than the tasks’ periods, compared with the setting
of Study 1. Looking at the SRP case, in Study 3 the task set
is not modified and hence there is no difference compared to
Study 1. Finally, we show the effect of increasing the task set
and makes the overutilization in Study 4 which increases
head of using SIRAP higher. The same affect is seen across all
three approaches.
Note that the cost of using HSF and SIRAP is much higher
than running a flat system with SRP. This is expected as having
a hierarchical scheduler introduce overhead which results in less
efficient usage of the CPU resource. The motivation for using a
HSF and SIRAP is due to its properties of isolation, where the
contents of one server are not allowed to affect the contents of
another server. Running a flat system, i.e., without a HSF, interference is present between all tasks, and guaranteeing timeliness
of one task is dependent on the availability of all task details of
all tasks in the system. The usage of SIRAP allows for synchronization across servers while maintaining the property of isolation, hence simplifying the integration of functions that need
mutual exclusive access to shared logical resources.
F. Vehicular Example
In the previous sections, we have shown the individual effect
of various parameters on the cost of using SIRAP. In this section, the system used for experiments is constructed looking at
the characteristics of an example given in [33] from which example parameters were derived from a wheel-loader application
by Volvo Construction Equipment. The example system consists
of 250 tasks, with periods selected from {10, 20, 25, 50, 100},
such that the total system utilization is approximately 60%. The
execution time of each task is randomly selected (since we did
not have access to true execution times), and all tasks are divided
, representing five software functions.
into five servers
1) Server-Level Cost: For the purpose of showing the impact of server period configuration on the cost of using SIRAP
on server level, we consider two different configurations. One is
the identical-period configuration (configuration A), where all
. The other
servers have the same period set such that
is the different-period configuration (configuration B) where all
servers have different periods, with periods selected from {1, 2,
Authorized licensed use limited to: Korea Advanced Institute of Science and Technology. Downloaded on November 18, 2009 at 00:06 from IEEE Xplore. Restrictions apply.
NOLTE et al.: A SYNCHRONIZATION PROTOCOL FOR TEMPORAL ISOLATION OF SOFTWARE COMPONENTS IN VEHICULAR SYSTEMS
385
TABLE II
PARAMETERS OF THE VEHICULAR EXAMPLE SYSTEM CONSISTING OF 250 TASKS PARTITIONED IN FIVE SERVERS
TABLE III
CORRESPONDING SYSTEM LOAD WHEN RUNNING THE VEHICULAR EXAMPLE IN FOUR DIFFERENT SETTINGS
2.5, 4, 5}. All system parameters and resulting server utilizations under the two configurations are shown in Table II. The
table shows, for each server :
–the number of internal tasks;
•
–the number of internal tasks accessing global shared
•
resources;
•
–the maximum length of corresponding critical
sections;
–the utilization of the task set by itself;
•
and
–the server periods for configuration A and B,
•
respectively;
and
–the utilization required by the server in con•
figuration A and B, respectively;
and
–the absolute (to ) overhead
•
for each server under the two configurations, respectively;
•
and
–the relative (to ) overhead
for each server under the two configurations, respectively.
In this example, a number of properties of SIRAP are visible. First, it can be seen that, in general, a smaller server period results in a smaller server utilization, as investigated in
Section VI-C. Second, the longer the critical section, the more
overhead it induces. For example, and have the larger critical sections in the example and they both require more CPU resources compared with the other three servers. On average, each
server requires an additional 2.12% (configuration A) or 1.70%
(configuration B) of the CPU resource, i.e., each server’s required CPU resource increase with 15.37% (configuration A) or
13.11% (configuration B). In the example, a total of 10.6% (configuration A) or 8.5% (configuration B) is consumed as CPU
overhead due to running SIRAP, i.e., the CPU resources required
to execute the tasks increase with 15.92% (configuration A) or
13.18% (configuration B) compared with running them standalone without servers and critical sections.
2) System-Level Cost: Table III shows the system load
for different settings. The first setting in the table indicates
a situation where all tasks in the systems are scheduled in a
nonhierarchical manner. We consider this setting as a base
case. In the second setting, assuming there is no global resource
sharing, the system is scheduled under HSF with server periods
selected from {1, 2, 2.5, 4, 5}. This setting shows how much
more system load is required by the use of HSF (even without
using SIRAP). In this example, the use of HSF imposes 3.2%
more system load, i.e., in this example, 5.41% of the CPU
resource consumed by the system is due to the HSF itself.
In the third and fourth settings, the system is scheduled with
HSF and SIRAP together, when server periods are determined
according to the identical-period and different-period configurations, respectively. Table III shows that the use of SIRAP
increases system load to 11%–14% depending on server period
configurations (servers having different server periods, or all
servers having the same server period), i.e., the usage of SIRAP
is causing an overhead of 7.8%–10.8% given the two configurations; an increase in overhead of 11.64%–15.43% compared
with running the HSF without SIRAP.
It is also seen that a smaller system load is imposed by the
identical-period configuration than by the other configuration.
This is because servers do not get blocked by other servers when
they have the same periods (i.e., the load bound function
thereby becomes smaller in (9) with
). Hence, even
though the server utilization of individual servers are smaller
in the different-period configuration (as shown in Table II), the
overall system load becomes smaller in the identical-period configuration. That is, the identical-period configuration is a very
effective way to reduce the overhead when using SIRAP.
Typically, timing critical vehicular systems are today engineered to have a maximum load much lower than 100%, to ensure and preserve timeliness. However, due to economical reasons, load levels are continuously being pushed towards the
maximum in order to fully exploit the processing power. In
some cases ECUs are known to have loads up to 80%–90%,
Authorized licensed use limited to: Korea Advanced Institute of Science and Technology. Downloaded on November 18, 2009 at 00:06 from IEEE Xplore. Restrictions apply.
386
IEEE TRANSACTIONS ON INDUSTRIAL INFORMATICS, VOL. 5, NO. 4, NOVEMBER 2009
e.g., engine control software executed on a tailored architecture.
Considering that the use of SIRAP may allow 100% system load
without jeopardizing timeliness, we conclude that SIRAP can
be a valuable technique to achieve both higher system load and
more predictable integration of semi-independent functions.
uC/OS (which is OSEK compatible), and we are doing some experiments with Linux. The choices of operating systems is typically related to our industrial and academic partners. The next
step is to do experiments with another OSEK compatible OS,
the OSE from Enea.
VII. CONCLUSION
In this paper, we have presented our work on a synchronization protocol for temporal isolation of software components
in vehicular systems. Specifically, we have presented the Subsystem Integration and Resource Allocation Policy (SIRAP),
which provides predictable timing of servers that access global
shared resources. We have proposed the use of such servers
to schedule AUTOSAR software components, to provide predictable integration of multiple software functions on a single
ECU. Using SIRAP, a set of functions allocated to a server can
be developed, tested and analyzed without knowledge of the
temporal behavior of other software functions and components
in the system. Hence, integration of functions and components
in the later phases of product development will be smooth and
seamless.
SIRAP alleviates many of the problems that stem from temporal side-effects when integrating many software components
onto a single ECU. Without servers, components that work perfectly fine when unit-tested (which typically means that they
have the ECU dedicated to themselves) often start to exhibit failures when integrated with other components. A large portion of
these failures comes from the changed temporal behavior and
from unpredictable (or at least unanticipated) delays when accessing shared resources.
We have presented key features of SIRAP such as bounds
on delays for accessing shared resources. Further, we have provided schedulability analysis for tasks executing in the servers;
allowing for use of hard real-time application within the SIRAP
framework.
The flexibility and predictability offered by SIRAP comes
with some costs in terms of overhead, and we have evaluated this
overhead through a simulation study. From the study, we can see
that the server period should be chosen sufficiently smaller than
the smallest task period in a server and take into account the
(resource holding time) in the server to
maximum value of
prevent having high server utilization. Inherent in the tradeoff
between the server period and the resulting overhead imposed
by SIRAP, setting the server period smaller than half of the
shortest period task ensures an efficient SIRAP configuration.
In addition, having the same server periods across all servers is
a good strategy to further reduce overheads.
When studying a realistic example from an actual vehicle we
see that the system load increases with about 10%–15% compared to not using servers and SIRAP. Considering that the use
of SIRAP may allow 100% system load without jeopardizing
timeliness we conclude that SIRAP can be a valuable technique
to achieve both higher system load and more predictable integration of semi-independent functions.
In ongoing work, we have implemented the HSF for VxWorks
[34], and we are currently implementing the SIRAP protocol on
top of this implementation in order to investigate implementation overheads. Furthermore, we are doing implementations for
REFERENCES
[1] M. Behnam, I. Shin, T. Nolte, and M. Nolin, “SIRAP: A synchronization protocol for hierarchical resource sharing in real-time open systems,” in Proc. 7th ACM and IEEE Int. Conf. Embedded Software (EMSOFT’07), Oct. 2007, pp. 279–288.
[2] AUTOSAR, Automotive open system architecture (AUTOSAR), [Online]. Available: http://www.autosar.org/
[3] O. Group, OSEK/VDX Operating System Specification 2.2.1. [Online]. Available: http://www.osek-vdx.org/
[4] G. Lipari, P. Gai, M. Trimarchi, G. Guidi, and P. Ancilotti, “A
hierarchical framework for component-based real-time systems,”
in Component-Based Software Engineering. Berlin, Germany:
Springer-Verlag, May 2005, vol. LNCS-3054/2004, pp. 253–266.
[5] J. P. Lehoczky, L. Sha, and J. K. Strosnider, “Enhanced aperiodic responsiveness in hard real-time environments,” in Proc. 8th IEEE Int.
Real-Time Syst. Symp. (RTSS’87), Dec. 1987, pp. 261–270.
[6] B. Sprunt, L. Sha, and J. P. Lehoczky, “Aperiodic task scheduling for
hard real-time systems,” Real-Time Syst., vol. 1, no. 1, pp. 27–60, Jun.
1989.
[7] J. K. Strosnider, J. P. Lehoczky, and L. Sha, “The deferrable server
algorithm for enhanced aperiodic responsiveness in hard real-time environments,” IEEE Trans. Computers, vol. 44, no. 1, pp. 73–91, Jan.
1995.
[8] Z. Deng and J.-S. Liu, “Scheduling real-time applications in an
open environment,” in Proc. 18th IEEE Int. Real-Time Syst. Symp.
(RTSS’97), Dec. 1997, pp. 191–199.
[9] T.-W. Kuo and C.-H. Li, “A fixed-priority-driven open environment for
real-time applications,” in Proc. 20th IEEE Int. Real-Time Syst. Symp.
(RTSS’99), Dec. 1999, pp. 256–267.
[10] G. Lipari and S. K. Baruah, “Efficient scheduling of real-time multitask applications in dynamic systems,” in Proc. 6th IEEE Real-Time
Technol. Appl. Symp. (RTAS’00), May–Jun. 2000, pp. 166–175.
[11] A. Mok, X. Feng, and D. Chen, “Resource partition for real-time systems,” in Proc. 7th IEEE Real-Time Technol. Appl. Symp. (RTAS’01),
May 2001, pp. 75–84.
[12] X. Feng and A. Mok, “A model of hierarchical real-time virtual resources,” in Proc. 23th IEEE Int. Real-Time Syst. Symp. (RTSS’02),
Dec. 2002, pp. 26–35.
[13] I. Shin and I. Lee, “Periodic resource model for compositional real-time
guarantees,” in Proc. 24th IEEE Int. Real-Time Syst. Symp. (RTSS’03),
Dec. 2003, pp. 2–13.
[14] L. Almeida and P. Pedreiras, “Scheduling within temporal partitions:
Response-time analysis and server design,” in Proc. 4th ACM Int. Conf.
Embedded Softw. (EMSOFT’04), Sep. 2004, pp. 95–103.
[15] G. Lipari and E. Bini, “Resource partitioning among real-time applications,” in Proc. 15th Euromicro Conf. Real-Time Syst. (ECRTS’03),
Jul. 2003, pp. 151–158.
[16] R. I. Davis and A. Burns, “Hierarchical fixed priority pre-emptive
scheduling,” in Proc. 26th IEEE Int. Real-Time Syst. Symp. (RTSS’05),
Dec. 2005, pp. 289–398.
[17] F. Zhang and A. Burns, “Analysis of hierarchical EDF pre-emptive
scheduling,” in Proc. 28th IEEE Int. Real-Time Syst. Symp. (RTSS’07),
Dec. 2007, pp. 423–434.
[18] A. Easwaran, M. Anand, and I. Lee, “Compositional analysis framework using EDP resource models,” in Proc. 28th IEEE Int. Real-Time
Syst. Symp. (RTSS’07), Dec. 2007, pp. 129–138.
[19] L. Sha, J. P. Lehoczky, and R. Rajkumar, “Task scheduling in distributed real-time systems,” in Proc. Int. Conf. Ind. Electron., Control,
Instrum. (IECON’87), Nov. 1987, pp. 909–916.
[20] R. Rajkumar, L. Sha, and J. P. Lehoczky, “Real-time synchronization
protocols for multiprocessors,” in Proc. 9th IEEE Int. Real-Time Syst.
Symp. (RTSS’88), Dec. 1988, pp. 259–269.
[21] T. P. Baker, “Stack-based scheduling of realtime processes,” Real-Time
Syst., vol. 3, no. 1, pp. 67–99, Mar. 1991.
[22] R. I. Davis and A. Burns, “Resource sharing in hierarchical fixed priority pre-emptive systems,” in Proc. 27th IEEE Int. Real-Time Syst.
Symp. (RTSS’06), Dec. 2006, pp. 389–398.
Authorized licensed use limited to: Korea Advanced Institute of Science and Technology. Downloaded on November 18, 2009 at 00:06 from IEEE Xplore. Restrictions apply.
NOLTE et al.: A SYNCHRONIZATION PROTOCOL FOR TEMPORAL ISOLATION OF SOFTWARE COMPONENTS IN VEHICULAR SYSTEMS
[23] N. Fisher, M. Bertogna, and S. Baruah, “The design of an EDF-scheduled resource-sharing open environment,” in Proc. 28th IEEE Int. RealTime Syst. Symp. (RTSS’07), Dec. 2007, pp. 83–92.
[24] G. Lipari, G. Lamastra, and L. Abeni, “Task synchronization’ in reservation-based real-time systems,” IEEE Trans. Computers, vol. 53, no.
12, pp. 1591–1601, Dec. 2004.
[25] L. Abeni and G. Buttazzo, “Integrating multimedia applications in
hard real-time systems,” in Proc. 19th IEEE Int. Real-Time Syst. Symp.
(RTSS’98), Dec. 1998, pp. 4–13.
[26] M. Behnam, T. Nolte, M. Åsberg, and I. Shin, “Synchronization
protocols for hierarchical real-time scheduling frameworks,” in Proc.
1st Workshop on Compositional Theory and Technology for Real-Time
Embedded Systems (CRTS’08) in Conjunction With the 29th IEEE Int.
Real-Time Systems Symp. (RTSS’08), Nov. 2008, pp. 53–60.
[27] I. Shin and I. Lee, “Compositional real-time scheduling framework
with periodic model,” ACM Trans. Embedded Comput. Syst., vol. 7,
no. 3, pp. 1–39, Apr. 2008.
[28] M. Caccamo and L. Sha, “Aperiodic servers with resource constraints,”
in Proc. IEEE Int. Real-Time Syst. Symp. (RTSS’01), Dec. 2001, pp.
161–170.
[29] M. Bertogna, N. Fisher, and S. Baruah, “Static-priority scheduling and
resource hold times,” in Proc. 15th Int. Workshop on Parallel and Distributed Real-Time Systems (WPDRTS’07), Mar. 2007, pp. 1–8.
[30] G. Lipari and E. Bini, “A methodology for designing hierarchical
scheduling systems,” J. Embedded Comput., vol. 1, no. 2, pp. 257–269,
2005.
[31] M. Joseph and P. Pandya, “Finding response times in a real-time
system,” Comput. J. (British Computer Society), vol. 29, no. 5, pp.
390–395, Oct. 1986.
[32] M. Behnam, I. Shin, T. Nolte, and M. Nolin, “Scheduling of semi-independent real-time components: Overrun methods and resource
holding times,” in Proc. 13th IEEE Int. Conf. Emerging Technol.
Factory Autom. (ETFA’08), Sep. 2008, pp. 575–582.
[33] K. Hänninen, J. Mäki-Turja, M. Bohlin, J. Carlson, and M. Nolin, “Determining maximum stack usage in preemptive shared stack systems,”
in Proc. 27th IEEE Int. Real-Time Syst. Symp. (RTSS’06), Dec. 2006,
pp. 445–453.
[34] M. Behnam, T. Nolte, I. Shin, M. Åsberg, and R. Bril, “Towards hierarchical scheduling on top of VxWorks,” in Proc. 4th Workshop on
Operating Systems Platforms for Embedded Real-Time Applications
(OSPERT’08), Jul. 2008, pp. 63–72.
Thomas Nolte (S’01–M’07) received the B.Eng.,
M.Sc., Licentiate, and Ph.D. degrees in computer
engineering from Mälardalen University (MDH),
Västerås, Sweden, in 2001, 2002, 2003, and 2006,
respectively.
He has been a Visiting Researcher at the University
of California, Irvine (UCI), Los Angeles, in 2002, and
a Visiting Researcher at the University of Catania,
Catania, Italy, in 2005. He has been a Postdoctoral
Researcher at the University of Catania in 2006, and
at MDH in 2006 to 2007. He became an Assistant
Professor at MDH in 2008. He has been an Associate Professor of Computer
Science at MDH since 2009. His research interests include predictable execution of embedded systems, design, modeling and analysis of real-time systems,
multicore systems, distributed embedded real-time systems.
Prof. Nolte is Program Leader of the PROGRESS National Strategic Research
Centre, President of The Swedish National Real-Time Association (SNART),
and Co-Chair of the IEEE IES TCFA Real-Time Fault Tolerant Systems Subcommittee. He is a Member of the Editorial Board of Elsevier’s Journal of Systems Architecture: Embedded Software Design, since 2009, Guest Editor of the
IEEE TRANSACTIONS ON INDUSTRIAL INFORMATICS, 2008 and 2009, Co-Organizer of international events including the International Workshop on Compositional Theory and Technology for Real-Time Embedded Systems (CRTS), 2008,
2009, and 2010, and Program Co-Chair of the IEEE International Conference
on Emerging Technologies and Factory Automation (ETFA), the Real-Time and
(Networked) Embedded Systems Track, 2008, and the IEEE International Workshop on Factory Communication Systems (WFCS), the Work-in-Progress (WIP)
Track, 2008 and 2009.
387
Insik Shin (M’07) received the B.S. degree in
computer science from Korea University, Seoul,
the M.Sc. degree in computer science from Stanford University, Stanford, CA, in 1994 and 1998,
respectively, and the Ph.D. degree on compositional
schedulability analysis in real-time embedded
systems from the University of Pennsylvania,
Philadelphia, in 2006.
He has been a Postdoctoral Research Fellow
at Mälardalen University, Sweden, and a Visiting
Scholar at the University of Illinois at Urbana–Champaign until 2008. He is currently an Assistant Professor in the Department of
Computer Science, KAIST, since 2008. His research interests lie in cyber-physical systems and real-time embedded systems.
Prof. Shin received the Best Paper Award from the IEEE Real-Time Systems
Symposium (RTSS) in 2003. He has been a Co-Organizer of the International
Workshop on Compositional Theory and Technology for Real-Time Embedded
Systems (CRTS), 2008 and 2009 (co-located with the IEEE International RealTime Systems Symposium (RTSS), 2008 and 2009). He also served various
program committees in real-time embedded systems.
Moris Behnam (S’06) received the B.Eng. and
M.Sc. degrees in computer and control engineering
from the University of Technology, Iraq, and the
M.Sc. and Licentiate degrees in real-time systems
from Mälardalen University (MDH), Västerås,
Sweden, in 1995, 1998, 2005, and 2008, respectively. He is currently working towards the Ph.D.
degree at MDH.
He was a Visiting Researcher at Wayne State University in 2009. His research interests include realtime hierarchical scheduling, synchronization protocols, multiprocessor/multicore systems, and real-time control systems.
Mikael Sjödin received the M.Sc. and Ph.D. degrees
from Uppsala University, Uppsala, Sweden, in 1995
and 2000, respectively.
Since 2002, he has been pursuing research in distributed embedded systems at Mälardalen Real-Time
Research Centre (MRTC). In 2007, he joined the faculty as a Professor of Computer Science with special focus in real-time systems and vehicular software
technology. He has since 2000 also worked full-time
and part-time in industry asa software engineer in the
vehicular sector. Currently, the focus of his research
is towards analysis of nonfunctional properties, predictable execution, and efficient design of correct software.
Authorized licensed use limited to: Korea Advanced Institute of Science and Technology. Downloaded on November 18, 2009 at 00:06 from IEEE Xplore. Restrictions apply.