Information Technology Reference
In-Depth Information
With Real-Time Performance Analysis
and Monitoring to Timing Predictable
Use of Multi-core Architectures
Kai Lampka
Uppsala University
Motivation
With future societies and individuals possibly becoming more and more depen-
dent on highly capable (control) systems, the ability to carry out precise system
analysis and to enforce the expected behaviour of systems at run-time, i.e., dur-
ing their operation, could become an irrevocable requirement. -Who would accept
that a computer takes full or partial control over one's car without believing that
the system is always reacting as expected?- Correctness of system designs and
their implementations is only one aspect. The other major aspect is the capa-
bility to build cost-effective systems. Advances in (consumer) electronics have
brought about multi-cored micro-controllers equipped with considerably large
memory. This will stimulate the building of embedded (control) systems where
multiple applications can be integrated into a single controller and thereby ef-
fectively lower the per unit costs of a system as a whole.
The integration of embedded control software brings, via the joint use of
hardware, the potential for hidden dependencies between applications. The de-
pendencies can provoke unwanted side effects that are di cult to anticipate and
potentially corrupting to the system's behaviour. As an examples to this, one
may think of a dual core system with a shared L2-cache. The software executing
on the different cores will mutually over-write their cache entries. This in turn,
will significantly add to their execution times as code segments and data items
must be re-fetched from the main memory. However, this interference does not
stop at the level of caches. When fetching items from the main memory, cores
need to wait for getting access to the memory. As the Dynamic Memory Access
(DMA) controller might implement complex access patterns, on top of the non-
deterministically arriving access requests, waiting times may also drastically add
to the execution time of the software. For these reasons, it might be the case that
a (control) software misses its assumed deadline and a control signal does not
reach the actor in time. This in turn can do harm to the overall systems stability
and provoke its damage or complete loss, not to mention human casualties.
The challenge inherent to the analysis of such integrated systems is to not
drastically over-estimate the execution time of a software component, e.g. by
pessimistically bounding the number of cache misses and the waiting times of
memory accesses. The challenge inherent to the design of the run-time envi-
ronment of such integrated system is to not waste compute-capacity, but still
 
Search WWH ::




Custom Search