A European research project named REPARA and coordinated by Universidad Carlos III de Madrid (UC3M) is studying how to improve parallel computing applications to increase their performance and energy efficiency, as well as easing programming and source code maintenance.
Parallel heterogeneous computing combines several processing elements with distinct characteristics that share a single memory system. Normally, multicore processors are used (such as those in some smartphones or personal computers), combined with graphic cards and other components to process large amounts of data. These computation tasks have applications in several domains such as healthcare (protein docking), transportation (monitoring of railway systems), robotics (stereoscopic vision and navigation), and industry (defects detection in manufactured parts).
Parallel heterogeneous architectures may provide important benefits in terms of both energy efficiency and performance. The REPARA project's main objective is to make these benefits available to users without the enormous development efforts that these complex architectures entail. And the key to achieve this goal lies, among other things, in "source code refactoring", a technique used in software engineering to improve the internal structure of a program without altering its observable behavior. This is something akin to changing the distribution of the pipes and pumps in a building so that the water will come out of the faucet in a faster, cleaner and more ecological manner.
Within REPARA project, whose name can be interpreted as "Refactoring for Parallelism" in allusion to the usage of source code refactoring, scientists are attempting to improve three basic properties: application performance (increasing execution speed), energy efficiency (reducing energy consumption) and the ease of source code maintenance and modification. "The tools and technologies that REPARA is intended to produce are expected to reduce development costs and the products' time to market, which will in turn make the products more competitive," points out the project coordinator, José Daniel García, from the ARCOS (Computer Architecture, Communications and Systems) research group at UC3M.
First prototype in 2015
Researchers expect to have prototypes of these new tools by February 2015, and test them in an evaluation phase together with their industrial partners. "We hope to obtain substantial improvements in both execution speed and energy efficiency," states Professor José Daniel García. "We can also reduce the time that the engineers need to fine-tune a software product in a parallel heterogeneous environment, which will significantly reduce development costs and increase software development industry competitiveness," he says.
In a research paper recently published in the New Generation Computing journal, these researchers analyzed how programming models affect productivity and energy efficiency in the case of multicore processor architectures. This work was the base for the project idea, because it's necessary to help developers in the transition to different programming models, as well as in the selection of the best programming model depending on the concrete characteristics of their application," explains Professor García.
The REPARA (Reengineering and Enabling Performance and Power of Applications) project, which began in September 2013 and is expected to continue for three years, joins experts in heterogeneous parallel systems, from academia as well as from the industry, from five European countries.
Explore further: KIT: Fast and easy programming
"A Comparative Study and Evaluation of Parallel Programming Models for Shared-Memory Parallel Architectures." Luis Miguel Sánchez, Rafael Sotomayor, J. Daniel García, Javier Fernández, Soledad Escolar. New Generation Computing, 31(3):139–161. July 2013. Springer, Japan. ISSN: 0288-3635. DOI: 10.1007/s00354-013-0301-5.