The Excess project includes methodology and software as well as hardware, such as the processors from Movidius, in order to achieve impressive results regarding energy efficiency.
A European research project led by Chalmers University of Technology has launched a set of tools that will make computer systems more energy efficient – a critical issue for modern supercomputing. Using the framework of the project programmers has been able to provide large data streaming aggregations 54 times more energy efficient than with standard implementations.
Energy consumption is one of the key challenges of modern computing, whether for wireless embedded client devices or supercomputing centers. The ability to develop energy efficient software is crucial, as the use of data and data processing keeps increasing in all areas of society. The need for power efficient computing is not only due to the environmental impact. Rather, we need energy efficient computing in order to even deliver on the trends predicted.
The EU funded Excess project, which finishes August 31, set out three years ago to take on what the researchers perceived as a lack of holistic, integrated approaches to cover all system layers from hardware to user level software, and the limitations this caused to the exploitation of the existing solutions and their energy efficiency. They initially analyzed where energy-performance is wasted, and based on that knowledge they have developed a framework that should allow for rapid development of energy efficient software production.
“When we started this research program there was a clear lack of tools and mathematical models to help the software engineers to program in an energy efficient way, and also to reason abstractly about the power and energy behavior of her software” says Philippas Tsigas, professor in Computer Engineering at Chalmers University of Technology, and project leader of Excess. “The holistic approach of the project involves both hardware and software components together, enabling the programmer to make power-aware architectural decisions early. This allows for larger energy savings than previous approaches, where software power optimization was often applied as a secondary step, after the initial application was written”
The Excess project has taken major steps towards providing a set of tools and models to software developers and system designers to allow them to program in an energy efficient way. The tool box spans from fundamentally new energy-saving hardware components, such as the Movidius Myriad platform, to sophisticated efficient libraries and algorithms.
Tests run on large data streaming aggregations, a common operation used in real-time data analytics, has shown impressive results. When using the Excess framework, the programmer can provide a 54 times more energy efficient solution compared to a standard implementation on a high-end PC processor. The holistic Excess approach first presents the hardware benefits, using an embedded processor, and then continues to show the best way to split the computations inside the processor, to even further enhance the performance.
Movidius, a partner in the Excess project and developers of the Myriad platform of vision processors, has integrated both technology and methodology developed in the project into their standard development kit hardware and software offering. In the embedded processor business, there has been a gradual migration of HPC class features getting deployed on embedded platforms. The rapid development in autonomous vehicles such as cars and drones, driving assist systems, and also the general development of home assist robotics (e.g. vacuum cleaners and lawnmowers) has led to the porting of various computer vision algorithms to embedded platforms. Traditionally these algorithms were developed on high performance desktop computers and systems, making them difficult to re-deploy to embedded systems. Another problem was that the algorithms were not developed with energy efficiency in mind. But the Excess project has enabled and directed the development of tools and software development methods to aid the porting of HPC applications to the embedded environment in an energy efficient way.