ALMA project

ALgorithm parallelization for Multicore Architectures.

Simplifying programming for multi-cores

Why must a programmer care for the hardware architecture when programming embedded applications on a multiprocessor Systems-on-Chip?
The ALMA project intends to change that 'MUST' into a 'MAY'. We work to develop a programming tool chain that hides the complexity of applications and architectures from the programmer, and creates optimized code at the same time.

The ALMA project

ALMA (Greek for ‘leap’) is an acronym for ALgorithm parallelization for Multicore Architectures. Driven by the technology restrictions in chip design, the end of Moore’s law and the quest for increasing computing performance, ALMA is a fundamental step forward in the necessary introduction of novel computing paradigms and methodologies.

The ALMA tool-chain will implement parallelization and optimization algorithms for a whole class of multi-cores. ALMA intends to show how various embedded reconfigurable multi-cores from Karlsruhe Institute of Technology and Recore Systems can be efficiently programmed using the same tool-chain and the same application code.

The ALMA Spin-Off: emmtrix Technologies

The ALMA technology is commercialized in a spin-off company called emmtrix Technologies to simplify the software development process for multicore embedded systems in order to break down the barriers preventing the deployment of multicore processors. To this end, emmtrix will provide a development tool for programming multicore processors. The innovative interactive parallelization technology creates a parallel application directly from sequential MATLAB or Scilab code.

emmtrix Technologies

The project partners

The ALMA consortium brings together partners from industry and academia. The industry partners Recore Systems (The Netherlands) and Intracom Telecom (Greece) contribute their expertise in reconfigurable hardware technology for multi-core systems-on-chip software development tools and real world applications.

Five academic partners contribute their outstanding expertise in reconfigurable computing and compilation tools development: the project coordinator Karlsruhe Institute of Technology (KIT) (Germany), Université de Rennes I (France), University of Peloponnese (Greece), Technological Educational Institute of Mesolonghi (Greece) and the Fraunhofer Institute of Optronics, System Technologies and Image Exploitation (Germany).

The focus: practical applications

To ascertain that programmers can directly apply the programming tool chains that the ALMA consortium develops in the course of the project, ALMA targets two cases in market domains with different, complementary requirements.

The first case is from the field of telecom, and intends to support the fast development of next generation of Point-to-Point / Point-to-Multipoint wireless communication systems. Multi-core architectures are a very good fit, since many performance-critical functions must be executed in parallel in order to meet real-time constraints. The call for short time-to-market at a minimum design effort requires high-quality models that produce optimized code, and release the designer from the code optimization burden through a set of tools that allow efficient optimization and parallelization of system-level models with minimum designer intervention.

The second application is in the area of multi-object detection and tracking. Multi-object tracking is often implemented on embedded systems with strong restrictions on power consumption and heating. The algorithms cope with a variable number of objects and must process data on each object within a small time frame. The computational load can vary heavily from image to image. For embedded systems offering low computational power, algorithms must be adapted and parallelized over multiple processors, often resulting in poor performance of the application. ALMA's tool supported, guided development, which hides the complexity of the architecture of the embedded system and the algorithm from the developer, should result in an enormous increase of the system performance and definitely to a reduction of time consuming implementation.

© 2012-2014 ALMA project | Disclaimer | Glossary