| |
|
| \title{\bf PP \emph{Compilation Techniques for Robust Embedded Systems}} |
\title{\bf PP \emph{Compilation Techniques for Robust Embedded Systems}} |
| |
|
| \author{{\sc Ulrich Schmid}\\ |
\author{{\sc Andreas Krall and Jens Knoop}\\ |
| s@ecs.tuwien.ac.at |
\{andi,knoop\}@complang.tuwien.ac.at |
| } |
} |
| |
|
| \bibliographystyle{unsrt} |
\bibliographystyle{unsrt} |
| \begin{document} |
\begin{document} |
| \maketitle |
\maketitle |
| |
|
| PP leader: \emph{Jens Knoop} |
PP leader: \emph{Jens Knoop and Andreas Krall} |
| |
|
| Associated researchers: \emph{Andreas Krall} |
Associated researchers: \emph{} |
| |
|
| |
|
| |
|
| %\emph{Informal description of the purpose of the PP (3-5 lines)} |
%\emph{Informal description of the purpose of the PP (3-5 lines)} |
| Every embedded system consists of software which is written in a high |
Every embedded system consists of software which is written in a high |
| level language, compiled to machine language and executed on a |
level language, compiled to machine language and executed on a |
| processor. For robust embedded systems new verified compilation |
processor. For robust embedded systems new verified compilation, |
| techniques are necessary to optimize for performance, power, space, |
simulation and specification methods are necessary to optimize for |
| concurrency and reliability. |
performance, power, space, concurrency and reliability. |
| |
|
| \subsubsection*{State of the art and related work:} |
\subsubsection*{State of the art and related work:} |
| %\emph{Briefly describe the scientific state of the art (20-30 lines)} |
%\emph{Briefly describe the scientific state of the art (20-30 lines)} |
| |
|
| Compiler Verification \cite{Hoare,1328444,1314860} |
%Compilation Techniques for Reliability |
| |
|
| Reliability \cite{LeeShrivastava09} |
Because of the exponential increase of the number of transistors and |
| |
the continuing decrease of the feature sizes of current processors |
| |
soft errors mainly caused by energetic particles are becoming an |
| |
important design issue for robust embedded systems. Blome et |
| |
al.~\cite{Blome+06} observed that a majority of faults that affect the |
| |
architectural state of a processor come from the register file. Lee |
| |
and Shrivastava and proposed different solutions to cope with this |
| |
problem. The first assigns variables depending on their lifetime to |
| |
either the ECC protected or the unprotected part of a register file to |
| |
balance energy consumption and reliability \cite{LeeShrivastava09a}. |
| |
The second spills registers to ECC protected memory if the register |
| |
contents are not used for a long period \cite{LeeShrivastava09c}. |
| |
There exist complete software solutions which use different forms of |
| |
code duplications \cite{Oh+02a,Reis+05}, which do failure |
| |
virtualization \cite{WapplerMueller08} or which use techniques like |
| |
control flow checking \cite{Oh+02b}. A complete overview of processor |
| |
description languages and generation of compilers and simulators from |
| |
processors specifications gives the book of Mishra and Dutt \cite{MishraDutt08}. |
| |
A good survey of current instruction set simulators gives our chapter |
| |
in the Handbook of Signal Processing systems \cite{BrHoKr09}. A famous |
| |
instruction set simulator with modelling of energy consumtion is Wattch |
| |
\cite{BrooksTiwariMartonosi00}. |
| |
|
| ADL \cite{MishraDutt08} |
Compiler Verification \cite{Hoare,1328444,1314860} |
| |
|
| WCET \cite{} |
WCET \cite{} |
| |
|
| %to also describe and (coarsely) quantify the resources (staff, cost of |
%to also describe and (coarsely) quantify the resources (staff, cost of |
| %special equipment) required for this work in a table. (20-30 lines)} |
%special equipment) required for this work in a table. (20-30 lines)} |
| |
|
| |
Compilation techniques for robust embedded systems comprise different areas. |
| |
Therefore, the project is divided into three work packages: compilation and |
| |
simulation techniques for reliabiltiy, verified compilation and worst case |
| |
execution time analysis. |
| |
|
| |
\paragraph*{WP1 - Compilation and Simulation Techniques for Reliability} |
| |
|
| |
In previous work we have developed a processor description language |
| |
with a very concise semantics from where we automatically generate |
| |
optimized compilers \cite{BrEbKr07} and high efficient instruction set |
| |
simulators \cite{BrFeKrRi09}. This environment we use as testbed for |
| |
our compiler optimizations for embedded processors |
| |
\cite{EbBrSchKrWiKa08,PrKrHo06,MeKr07}. We will extend this |
| |
environment to do research on compilation and simulation techniques to |
| |
enhance the reliability of processor/memory systems by mixed |
| |
hardware/software and pure software techniques. |
| |
|
| |
\begin{itemize} |
| |
\item Specification method to specify an energy consumption model in |
| |
a processor specification. |
| |
\item Specification method for redundancy and error correction in the |
| |
processor specification |
| |
\item Specification method for fault injection and fault checking in |
| |
the processor specification |
| |
\item Generation of optimized instruction set simulators from the |
| |
extended processor specification |
| |
\item Generation of optimizing compilers from the extended processor |
| |
specification |
| |
\item Research into new compiler optimizations to increase reliability by |
| |
pure software solutions, mixed hardware/software solutions and |
| |
balancing performance, code space, reliability and energy consumption |
| |
\item Research of correctness proofs and validation of the new optimizations |
| |
|
| (1) WCET NN! |
\end{itemize} |
| |
|
| (2) Specification and efficient simulation of reliable processors (partial redundancy, |
\paragraph*{WP2 - Verified Compilation} |
| ECC, lockstep etc) and compiler optimizations to exploit/balance reliabiliy features. |
|
| Connection with CESAR NN2 |
|
| |
|
| (3) translation verification, specification of semantics of IRs solving |
translation verification, specification of semantics of IRs solving |
| subproblems. NN1 + NN2 |
subproblems. |
| |
|
| |
\paragraph*{WP3 - Worst Case Ececution Time Analysis} |
| |
|
| |
WCET |
| |
|
| |
|
| \begin{tabular}{llll} |
\begin{tabular}{llll} |
| |
\\ |
| \hline |
\hline |
| {\bf Pos} & {\bf Type} & {\bf Description} & {\bf Duration} \\ |
{\bf Pos} & {\bf Type} & {\bf Description} & {\bf Duration} \\ |
| NN1 & PostDoc & WCET & 4 years \\ |
NN1 & PhD & reliable compilation / simulation & 4 years \\ |
| NN2 & PostDoc & reliable compilation / simulation & 4 years \\ |
NN2 & PhD & verified compilation & 4 years \\ |
| |
NN3 & PhD & WCET & 4 years \\ |
| \hline |
\hline |
| \end{tabular} |
\end{tabular} |
| |
|
| %describe briefly the topic and nature of such a collaboration. (5-10 |
%describe briefly the topic and nature of such a collaboration. (5-10 |
| %lines)} |
%lines)} |
| |
|
| To be done. |
Aviral Shrivastava, Arizona State University, Tempe, AZ, USA |
| |
|
| |
Wolf Zimmermann, Universit\"at Halle, Halle, Germany |
| |
|
| \begin{comment} |
\begin{comment} |
| %Bitte hier die Bibtex-Entries einfuellen, z.B., |
%Bitte hier die Bibtex-Entries einfuellen, z.B., |