Candidate
Hany Kashif
Title
Deployment of Real-Time Applications on Multicore Architectures
Supervisors
Sebastian Fischmeister and Hiren Patel
Abstract
Of all computers, 98% are embedded systems and plenty of those are real-time control systems (DARPA, 2000). There are two problems that exist in the field of real-time embedded systems. The first problem is debugging of embedded software. In general, corrective costs of software are more than two folds the development costs (NASA, Bohem). Therefore, it is important to spend efforts in finding various means of debugging to reduce costs and increase productivity. The second problem is scalability. Modern chip-multiprocessors (CMPs) connect a large number of embedded processing elements using a pipelined communication interconnect. While the use of CMPs is becoming widespread in general purpose computing, its adoption for hard real-time systems has been cautious at best. This is because of the need to provide provable guarantees that the hard real-time software always meets its timing requirements. My main research focus is, thus, (1) providing solutions to debugging real-time embedded software and (2) providing solutions to the usability of CMPs as a platform for real-time systems.
Addressing
the
first
problem:
One
method
for
debugging
real-time
software
is
through
tracing.
Instrumentation
is
the
process
of
inserting
code
in
programs
to
allow
tracing.
Instrumentation
modifies
the
program
code
and,
hence,
causes
perturbation.
Perturbation
is
especially
harmful
for
safety-critical
real-time
applications
as
these
applications
have
stringent
timing
requirements
and
small
deviations
can
easily
lead
to
altered
behaviour
during
testing
and
certification.
Hence,
I
investigate
mechanisms
to
instrument
programs
without
affecting
their
original
behaviour.
Currently,
I
investigate
time-aware
instrumentation.
The
underlying
idea
is
to
instrument
programs
while
honouring
their
timing
constraints.
Addressing
the
second
problem:
Analyzing
the
worst-case
latencies
of
the
communication
in
CMPs
is
difficult
and
pessimistic.
Therefore,
the
deployment
and
worst-case
latency
analysis
of
hard
real-time
software
on
CMPs
remains
a
prominent
challenge,
and
an
impediment
to
adopting
CMPs
for
hard
real-time
systems.
To
address
this
challenge,
researchers
propose
the
use
of
resource
reservation,
and
run-time
arbitration
as
potential
solutions.
Resource
reservation
allocates
resources
before
the
start
of
the
communication
to
ensure
that
there
is
no
contention
between
any
two
packets
for
a
resource.
Run-time
arbitration
on
the
other
hand,
uses
routers
that
arbitrate
access
to
links
at
run-time.
Hence,
contention
is
expected,
and
the
analysis
accounts
for
these
contentions
to
produce
the
worst-case
latencies.
I
contend
that
for
successful
adoption
of
CMPs
for
hard
real-
time
systems,
we
must
provide
tight
analysis
techniques
that
also
facilitate
other
aspects
of
software
deployment
such
as
path
selection
and
and
buffer
space
analysis.