||Multimedia applications have become widespread today, from streaming over the
Internet to portable music and video players. Increasingly multimedia applications
are implemented using embedded architectures, which have very tight constraints in
terms of cost, performance, power consumption, size, etc. Examples of such systems
are smart-phones, an iPod or a TV set-top-box.
Designing embedded systems implementing multimedia applications is difficult because
of the inherent variability of functionality execution times (which depend on
the video or audio streams processed, their resolution, frame rate, etc.) and stringent
Quality-of-Service (QoS) requirements on their performance (e.g., a playback of 25
frames per second for a video device).
Real-time systems theory provides analysis methods that can determine if an application
implemented on an embedded architecture meets its timing constraints. There
are a lot of results for hard real-time systems, which have to meet their deadlines
even in the worst-case, otherwise something catastrophic can happen. In contrast,
a multimedia application is a soft real-time system, where certain degradation of
performance can be accepted, provided it is not below a given level of QoS.
Multimedia systems are difficult to analyse using existing schedulability analysis
theory. Designing an architecture based on the worst-case leads to over design: too
much computing power, which is seldom used. Hence, the focus of this thesis is to
implement a simulator that can support the designer in evaluating very early in the
development process several embedded architecture implementations, and deciding
which one meets the QoS requirements for a given multimedia application. This can
reduce the time-to-market and development costs by avoiding building a physical
prototype, which is costly and time-consuming.
Besides evaluating hardware architectures (CPUs, dedicated hardware, buses), we are
also interested in using the simulator to evaluate several scheduling policies, which
have a strong impact on the behaviour of the application. Our simulator, which
is based on the SystemC library, can take into account Fixed-Priority preemptive
scheduling (FP), Earliest Deadline First scheduling (EDF), the Linux 2.6 scheduler
and Constant-Bandwidth Server scheduling (CBS). The idea of the CBS is to divide
a resource (CPU or bus) into virtual resources, which are given a certain budget.
This is especially useful if several applications (both hard and soft real-time) have
to share the same architecture.
The simulator has been used to evaluate several architecture alternatives for a settop-
box application, using different hardware components and scheduling policies.
As the experiments show, using the simulator we can choose very quickly the right
architecture and scheduling policy. The simulator can also help in deciding the
scheduling parameters, such as the bandwidth for the CBS servers.