Project description

Energy is a main concern in current society as limited natural resources and high production costs lead to energy shortages, and energy consumption causes complex and undesirable phenomena such as pollution and global warming. IT accounts for a surprisingly large fraction of global energy consumption, estimated at 10%. Hence, energy efficiency in computing is a critical and necessary research area, called green computing. The laws of physics, Landauer principle in particular, fix a lower bound to the amount of energy needed to perform an irreversible computation, proportional to the number of bits of information discarded by it. Classical computing discards large amounts (e.g. x=0 on 64 bits discards 64 bits), while reversible computing (RC) discards none, avoiding Landauer’s lower bound. Although the fraction of energy lost due to Landauer principle is a currently small (around 1‰), it will become increasingly relevant as hardware technology improves. It is our conviction that in the near future RC will become a main player in the quest for energy-efficient computing. We call such transition the RC revolution.

The world, EU research, and software industry in particular, are not ready for the RC revolution. RC is a young and relatively small area, albeit with breakthrough applications in robotics, debugging, and parallel simulation. Reversible programming languages exist, but they are at the stage of academic prototypes, missing key elements such as error handling and modularity, libraries of relevant algorithms, and high-level tool support. E-CoRe aims at setting the stage for the RC revolution by forming a community of experts with deep understanding of RC intricacies, who will improve and popularize RC languages, algorithms and architectures, in particular in energy-intensive applications such as machine learning, blockchains and drones. Beyond energy efficiency, RC also benefits other aspects of software, including ease of debugging, reliability and security.

The project scientific part is structured into 4 workpackages, targeting respectively architectures, languages, algorithms, and specific application areas. Details of PhD topics are available in the related page.