Final Press Release
Researchers from all over Europe ready with tools for green and secure software
Leading researchers from 10 European academic partners and companies in eight countries have, over the past three and half years, developed a novel set of tools for software developers. These tools, developed in the TeamPlay EU Horizon 2020 project, make it possible to balance energy consumption, computational performance, and security in various kinds of electronic devices ranging from drones to camera pills and mobile phones.
Most people know the feeling of panic that spreads when you see the battery on your phone run out before you reach your destination, and the digital train ticket "dies" along with the battery. The drone operator experiences a similar panic at the thought of their drone not having enough battery power to complete the entire scheduled flight safely such that the data does not fall into the wrong hands.
These are some of the challenges for both ordinary citizens and companies, which leading researchers from European universities, research institutions, and private companies have worked on for three and half years. The TeamPlay (Time, Energy and Security Analysis for Multi-core hetero-geneous PLAtforms) toolbox makes it possible for the software developer to balance execution speed, power consumption, and security requirements in digital devices such as drones, satellites, IoT (Internet of Things) sensors, and medical devices.
“This means that you can program the software digital devices such that they can better adapt to the available energy and time to complete a task. Take as an example the camera pills now being used for endoscopy at hospitals. You want to be sure that the camera pill gets the vital pictures taken and that data security is in order while performing the task on its way through the patient’s body, even if the battery does not provide as much energy as expected,” says Olivier Zendra, the TeamPlay project manager from the national French research institute Inria.
New way to balance speed versus energy consumption
Dr. Zendra has led the TeamPlay EU project, which apart from Inria has involved researchers and academics from the University of Amsterdam (NL), the University of Bristol (UK), Hamburg University of Technology (DE), the University of Southern Denmark (DK), and the University of St Andrews (UK). In addition, four IT and drone companies, Irida Labs (GR), Skywatch (DK), AbsInt (DE), and Thales Alenia Space Spain (ES), have taken an active role in the project.
The ambition has been to give software developers a new set of tools enabling them to balance the consideration of energy consumption, the execution speed, and the security of the software, as early as when the developer puts the first pieces of code together in a programming language such as C.
“This has been very difficult for the programmer so far, but with our tools it is now easier to balance those three properties. You have to balance them because for example you can’t get 100% focus on both security and speed without it affecting the power consumption,” mentions Olivier Zendra.
Backed by 5.1 million Euros from the European Commission, the Team-Play consortium has —since 2018— worked on developing new building blocks for programming various computing components usable for example in IoT, medical devices, drones, and satellites. “The research project ended at the end of June 2021, and now developers and researchers have a new toolbox available,” says the project manager from Inria in Rennes, France.
“Building on software previously developed by the individual partners, an integrated set of tools has been developed, based on the research results of the project. These tools make it much easier for the developer to take into account the energy consumption and the speed at which the program works, e.g., a drone battery running low before it has completed its mission. At the same time, you have better control over the level of security, for applications such as processing or transmission of confidential data where security is important,” explains Olivier Zendra.
“To achieve this, the power dissipation and energy consumption of the various computing platforms were first captured in models, and these models can then be used by new analysis tools to predict the energy consumption of code at compile time, typically without executing the code. These models can also be used to support decision making during operation, and the software developer can explicitly program tradeoffs between energy consumption and execution time into each part of the program,“ details Kerstin Eder, Professor of Computer Science at the University of Bristol, UK.
IT is 10 percent of global energy consumption
Worldwide, information technology in the form of apps on your phone, data centres and high-performance computing systems account for up to 10% of the total energy consumption1. At the same time, major security breaches and leaks of personal information regularly occur, precisely because so far, most focus has been on the execution speed e.g. optimising the speed of data encryption at the expense of possibly lowering the security of the encryption algorithm itself.
“With the tools we have developed, you can increase security by decreasing the speed of the program in a controlled and balanced way and thus reduce the risk that someone gains unauthorized access to your information, while at the same time being aware of energy consumption,” explains Chris Brown, Lecturer in Computer Science at the University of St Andrews, UK.
The research team has worked on several different cases during the project period. One of these cases is a camera pill for the healthcare sector.
“We have worked with embedded systems, for example in designing a camera pill. In this case, it was important that we have enough remaining battery charge to let the camera carry out the examination with a good quality, without the risk that all the images from one’s intestines end up on the Internet,” says Emad Ebeid, Associate Professor at the University of Southern Denmark in Odense, DK.
With the tools from TeamPlay, a developer can determine whether the time, energy consumption or security is crucial in the individual app or in the drone’s CPU. However, there may also be subtasks in a software program that need to be prioritized differently than other tasks.
“Imagine an embedded computing device used in a camera-based sensor or in a satellite. Such devices must often balance different tasks, for example processing of image data and communication, and must do so on a limited energy budget. We want images to be processed as fast as possible, and for communication to take place at precisely the right time, but if we used too much energy by trying to do everything at the same time, the system would fail. Our ability to predict the execution speed and energy consumption of computations, and to balance them based on changing conditions such as battery charge and security requirements, enables us to program such devices to reliably use the hardware to its full potential,” stresses project coordinator Olivier Zendra.
The project has just been completed. The perspectives are great and global in the work that lies ahead, the French project manager emphasizes.
“This means that we will get software and devices that automatically adjust speed and power consumption while at the same time maintaining the right level of security,” he concludes.
TeamPlay: “Time, Energy and Security Analysis for Multi-core heterogeneous PLAtforms”
A three-year project where 10 partners in eight countries since 2018 have been working on developing programming tools enabling software engineers and programmers to balance the power consumption, speed and security of a program, while developing the source code.
As more and more devices – both stationary and mobile – run on batteries and solve tasks that require a high degree of security, there is a significant focus on the area. The project has developed an integrated set of tools, including aspects such as analysis of program properties, optimising compilation, and scheduling of tasks. With these new tools, a developer will be able to work explicitly with security, speed and energy consumption and ensure the required balance using a dedicated programming framework also integrated with the tooling.
This project has received 5.1 million euros funding from the European Union’s Horizon 2020 research and innovation programme under grant agreement No 779882.