LFBS Home Lehrstuhl für Betriebssysteme RWTH
Disclaimer/
Haftungsausschluss
Webmaster
(admin@lfbs...)
Home > Bachelor- / Masterarbeiten > Diplom-/Masterarbeiten > Compiler for Coordination of parallel realtime-processes  

Implementation and Evaluation of a compiler for the coordination of parallel realtime-processes

The Chair for Operating Systems (Univ.-Prof. Dr. habil. Th. Bemmerl) provides in cooperation with Siemens AG the following diploma thesis in the range of
parallel computer:

Implementation and Evaluation of a Compiler for the Coordination of parallel realtime-processes


Background

For developing software for multicore-processors a model is required, that supports a description of parallel processes. Beside the level of parallelity and the communication between the processors, the ability of composition and determinsm differ the models of parallel programming.
As a dominating model threads are considered. Their disadvantages are the possible non-determinsm and the missing predictability, which have an important role in embeded systems.
An deterministic and composable alternative to threads are models based on data flow diagramms, which represents dependabilities of operations (vertices) by edges of a graph. Data reach a vertex by an incoming edge, become processed and leave the vertex by outgoing edges. Vertices can be replaced by further data flow diagramms without interactions.
Instead of the usual graphical design in signaling processing, textual forms of description like data flow-languages seem to be a good option. They are related with functional languages, but include constructs for the description of loops. Due to the reason, that both data flow-languages as well as functional languages allow the assignment of a value to a variable only once, the parallelity of a program is not restricted over the dependency of data.
Parallelity is given then by the amount of executable vertices of the data flow-graph.

Assingment

  • Implementation of a parser for a given grammar
  • Development of a data structure for intern representation of the data flow graph
  • Development of a simple code-generator using POSIX-threads
  • Extension and improvement of the code-generator using existing libraries for parallel programming, e.g. threading building blocks
  • Generation of example programs, e.g. in the area of signal-processing
  • experimental comparison of the code-generators and analysis of different execution-models (eager, lazy, static, dynamic and so forth)
  • editing and presentation of the results

Goals of the thesis

The goal of the thesis is the implementation and evaluation of a compiler for the parallel execution of realtime-processes based on data flow-graphs. The vertices of the graph match with complex operations, which are implemented in imperativ programming languages like C++. A data flow-graph then can be seen as a model for the coordination of (sequetiell) processes. Models and langauges for process-coordination support the development of parallel applications by seperating the calculation from the communication.
This coarse grained approach reduces the effort of a data flow graph and the related communication-overhead. Further more programs written in inmperative languages could be parallelized with low effort. Therby existing parts of the programm can be reused. This enables to merge the benefits of imperativ languages and data flow-graphs.

We offer

  • comfortable working-environment, as well as a good equipped Computer-infrastructur
  • personal and engaged supervision
  • directly access to the hardware of the target-plattform (Cell-Blade-Systeme von IBM)

Profil of requirements

  • intermediate diploma of Electro- and Informationstechnics or (technical) computer sience
  • fundamental knowledgment in system-oriented programming
  • Knowledge in the programminglanguage C
  • competence to work autonomous and creative

Contact

Stefan Lankes
Chair for Operating Systems (LfBS), RWTH Aachen
Modulbau Kopernikusstraße, D-52074 Aachen
Tel.: +49 241 80 25162
E-Mail: lankes@lfbs.rwth-aachen.de

Print Version