Enhancing efficiency of multi-core processors
Software development for embedded multi-core processors is considered to require a large expenditure and to be difficult. Under the ALMA EU project, researchers developed a new integrated tool chain to facilitate programming. According to tests, the ALMA tool chain reduces the time and, hence, cost expenditure of programming by up to 58%. Compared to single-core processors, applications are accelerated by about a factor of three. The project that has now been completed was coordinated by Karlsruhe Institute of Technology (KIT).
Latest desktop PCs, notebooks, tablets, smartphones, cameras, and many other electronic products are equipped with so-called multi-core systems that integrate several processor cores on one chip. The cores can work in parallel, as a result of which, computing capacity is increased. However, these advantages may only be reached, if the software is parallelized, which means that it can distribute its tasks to two or more processor cores. So far, programming has required a high time and cost expenditure as well as specialized knowledge.
Within the framework of the ALMA EU project coordinated by Professor Jürgen Becker, Head of the Institute for Information Processing Technology (ITIV) of KIT, a consortium of research and industry has developed a tool chain that considerably facilitates the work of programmers. Usually, a programmer has to adapt his code, i.e. the instructions given to the computer, to the parallel hardware architecture. This is not only associated with a high expenditure, but also prevents the reuse of the code for other hardware architectures. The ALMA tool chain eliminates this drawback by an automatic parallelization. In this way, ALMA hides the complexity of embedded multi-core processors and, at the same time, generates an optimized parallel code.
At the end of the ALMA project, two project partners, the Fraunhofer Institute of Optronics, System Technologies, and Image Exploitation (IOSB, Karlsruhe and Ettlingen) and Intracom SA Telecom Solutions (Greece), evaluated the tool chain. Both used the ALMA tool chain to port existing software programmed for single-core processors to a four-core processor. As reference software, the Fraunhofer IOSB used an application for multi-object recognition and tracking. Intracom Telecom used a WIMAX (Worldwide Interoperability for Microwave Access) application for wireless access to broadband internet. The results are remarkable, even more so, as two completely different applications were tested: Both partners reported that the application on the four-core processor was about three times faster than its single-core version. Fraunhofer IOSB calculated that, the time and hence the costs needed for programming the multi-core processor with ALMA was reduced by 30% compared to programming the single-core processor. Intracom even reported a reduction of the time needed by up to 58%.
Programmers working with ALMA write their application in the open source software Scilab that is compatible with the commercial software MATLAB. Both were originally developed for the solution of mathematical problems. Then, the application is integrated into ALMA. Afterwards, ALMA compiles the application in the programming language C and parallelizes and optimizes it automatically. "Programmers do no longer have to take the effort of parallelization; the application development time is reduced by roughly one third," Dr. Timo Stripf of ITIV explains. "It is highly reasonable to use the ALMA tool chain at companies that already apply MATLAB in their development process." To commercialize the tool chain, Stripf, together with colleagues of ITIV, are currently establishing the spinoff emmtrix Technologies (www.emmtrix.com).
ALMA (Greek for "leap") is an acronym of "Algorithm parallelization for Multicore Architectures"). Apart from the KIT, the Fraunhofer IOSB, the University of Rennes (France), Recore Systems B.V. (the Netherlands), the University of Peloponnese, the Technological Educational Institute of Western Greece, and Intracom Telecom (all Greece) were involved in the consortium. ALMA was funded by the EU with EUR 3.2 million.