04.12.2012 Views

Towards a Platform for Widespread Embedded Intelligence - ERCIM

Towards a Platform for Widespread Embedded Intelligence - ERCIM

Towards a Platform for Widespread Embedded Intelligence - ERCIM

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

threads is based on the ticks of a single<br />

global clock. The principal challenge is<br />

to schedule concurrent threads so that<br />

within a logical tick, event producers are<br />

executed be<strong>for</strong>e event consumers. The<br />

EMPEROR processor, developed at the<br />

University of Auckland, New Zealand,<br />

employs multi-processing and uses<br />

dynamic scheduling of events. This<br />

allows it to handle many threads running<br />

on a cyclic executive on a given processor<br />

or between concurrent threads<br />

running on different processors. The<br />

Kiel Esterel Processor (KEP) family,<br />

developed at Kiel University, Germany,<br />

handles concurrency via multithreading,<br />

which minimises overall<br />

resource usage and easily scales up to<br />

very high degrees of concurrency.<br />

Unlike the dynamic self-scheduling of<br />

threads in the EMPEROR approach, the<br />

KEP approach schedules all producers<br />

be<strong>for</strong>e consumer threads to uniquely<br />

determine signal statuses. Both<br />

approaches have their advantages and<br />

limitations. However, overall they per<strong>for</strong>m<br />

much better than conventional processors<br />

while per<strong>for</strong>ming reactive computations.<br />

Apart from efficiency and determinism<br />

concerns, another advantage of reactive<br />

processors is that due to their comparatively<br />

simple structure (no caches, no<br />

pipelining) and their direct implementation<br />

of reactive control flow constructs,<br />

it becomes feasible to precisely charac-<br />

Features Reactive Processors Conventional Processors<br />

Execution progression<br />

Preemption<br />

View of the environment<br />

Concurrency<br />

Evolves in discrete<br />

instants separated by “tick<br />

delimiting instructions”.<br />

Accomplished through<br />

event reaction block with<br />

implicit priority resolution<br />

and context switching in<br />

hardware.<br />

Changes at discrete<br />

instants. Inputs are latched<br />

at the beginning and<br />

outputs are sustained till<br />

the end of a “tick”.<br />

Synchronous parallel<br />

execution and broadcast<br />

communication between<br />

threads.<br />

Table 1: Comparison between reactive and conventional processors.<br />

Evolves continuously.<br />

Accomplished through<br />

interrupt mechanism<br />

requiring explicit priority<br />

resolution, context saving<br />

and restoration in<br />

software.<br />

Changes continuously.<br />

Inputs can be read at any<br />

time, and outputs can be<br />

sustained <strong>for</strong> any duration.<br />

Asynchronous execution<br />

requiring explicit message<br />

passing/rendezvous <strong>for</strong><br />

communication between<br />

threads.<br />

terise their timing behaviour. In conjunction<br />

with the synchronous model of computation,<br />

which discretises time into logical<br />

ticks, it is possible to derive exact,<br />

tight bounds on its Worst Case Reaction<br />

Time (WCRT), which tells how much<br />

time it takes the system to react to the<br />

environment. The KEP processor series<br />

is equipped with a Tick Manager that can<br />

SPECIAL THEME: <strong>Embedded</strong> <strong>Intelligence</strong><br />

provide a constant logical tick rate and<br />

also detects internal timing over-runs.<br />

This can serve to detect hardware failures<br />

and provides another safeguard, in<br />

addition to static analyses, so that realtime<br />

deadlines are met.<br />

FPGA-based implementations of reactive<br />

processors have proved very competitive<br />

to classical processor designs.<br />

For a standard suite of Esterel benchmarks<br />

the code size is typically an order<br />

of magnitude smaller than that of the<br />

MicroBlaze, a 32-bit COTS RISC processor<br />

core. The worst case reaction time<br />

is typically improved four-fold and<br />

energy consumption is also typically<br />

reduced to a quarter.<br />

In the five years since its inception, the<br />

reactive processing approach has thus<br />

demonstrated its promise and its practicality.<br />

However, much remains to be<br />

done. On the theoretical side, a precise<br />

characterisation of the reactive execution<br />

semantics is still missing and its relationship<br />

to other semantics needs to be<br />

investigated, in particular regarding<br />

causality issues. The reactive instruction<br />

set architectures also pose interesting<br />

compiler challenges, <strong>for</strong> example,<br />

regarding the efficient mapping of concurrency<br />

with minimal context<br />

switching. Finally, the derivation of<br />

WCRT bounds is so far done very conservatively<br />

- it should be feasible to<br />

tighten these analyses further.<br />

Links:<br />

http://www.in<strong>for</strong>matik.uni-kiel.de/rtsys/kep<br />

http://www.ece.auckland.ac.nz/~roop/page<br />

Gen.php?pageid=10<br />

Please contact:<br />

Reinhard von Hanxleden, Christian-<br />

Albrechts-Universität zu Kiel, Germany<br />

Tel: +49 431 880 7281<br />

E-mail: rvh@in<strong>for</strong>matik.uni-kiel.de<br />

Partha Roop, University of Auckland, New<br />

Zealand<br />

Tel: +64 9 3737599<br />

E-mail: p.roop@auckland.ac.nz<br />

<strong>ERCIM</strong> News No. 67, October 2006 29

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!