Type |
DA, MA |
|
Supervisor |
Prof. Dr.-Ing. Alois Knoll |
Advisor |
Dipl.-Inf. Simon Barner |
Research Area |
Embedded Systems |
Associated Project |
EasyKit |
Programming Language |
C/C++ |
Required Knowledge |
Threads, processes, synchronization primitives, ... |
Printable version |
PDF |
Background
The roadmaps of major manufacturers show a soaring trend to parallel computing
architectures. Especially the emerging variety of multi-core CPU and current research on
many-core systems opens the way for totally new applications. Not only is this due to
the increased processing power but also due to lower energy consumption and expected
lower production cost (in relation to comparable traditional systems). Thus it is a logical
step that after the appearance of multi-core desktop and portable computers, parallel
systems continue to leave the area of high-performance systems and begin to reach the
domain of embedded systems. For a successful transition from single-core to multi-core
systems, scalable programming techniques are a challenging eld of current research.
Description
The subject of this student project is to evaluate frameworks that abstract the execution
of tasks on multi-processor, multi-core systems and distributed systems.
The evalation should especially focus on how these approaches can be directly used for
embedded real-time systems or if/how they can be adopted accordingly. The analysis
shall emphasize the tness of the frameworks for use with automatic code generators
such as for example found in the model-driven develeopment tool EasyLab that has been
created in the course of the EasyKit project.
Tasks
This student project consists of the following tasks:
- Literature study on the frameworks suggested in this project proposal - further suggestions are welcome.
- Denition of at least two representative application / benchmark scenarios and three reference frameworks.
- Implementation of the benchmark applications using the selected reference frameworks.
- Comparision of the results and projection to the suitability of the respective frameworks for use with embedded systems.
- Adaption of the approach that has been rate best to an embedded plattform.
References
- EasyLab: A model-based development tool for mechatronic systems.
- OpenMPI: A High Performance Message Passing Library
- OpenMP: The OpenMP API supports multi-platform shared-memory parallel programming in C/C++ and Fortran.
- Grand Central Dispatch (GCD): Kernel-based parallelization infrastruction in Mac OS-X and FreeBSD 9.
- libdispatch: User-space support library for GCD.
- Introduction to C blocks: An extension to the C programming language to express parallelism.
Related projects: