A report put together by the European Union's Hipeac embedded architecture research network claims the challenges of highly interconnected embedded systems will call for what amounts to the reinvention of computing in which techniques based on artificial intelligence will be used to make the elements of those systems more composable and interoperable.
"We find ourselves at a crossroads, as our current way of making computers and their associated software is reaching the limitations of what they can achieve in an ever-changing environment," says lead editor of the Vision 2017 report Marc Duranton of CEA, France. "What we now describe as ‘cyber-physical systems’ – such as self-driving cars – entangle the cyber and physical worlds. The increasing use of the artificial intelligence required to make them work means that we, the humans, really need to invent solutions so that we can trust systems and develop better ways to cope with the challenges of safety, security, privacy, energy efficiency and increasing complexity. It really is the right time to reinvent computing."
Heterogeneous computing changes
At the microarchitectural level, greater focus on energy efficiency will cause computing platforms to become more diverse, with many systems using accelerators that break with traditional von Neumann-type architectures. "Ensuring their interoperability and composabiilty is a significant challenge that requires new research," the report claims.
Computational predictability is another area that needs attention, according to the report, which cites projects such as Precision Timed (PRET) machines. "This project, focusing on predictable timing for embedded systems, relied on microarchitecture and memory system design to achieve precise and repeatable timing of software with no loss of aggregate performance…The project’s approach included extending instruction-set architectures with control over execution time."
Another element of predictability is how software interactions in complex architectures affect the overall system's ability to meet deadlines. These interactions may no longer be analysable at design time: "Due to the complexity challenge, predictability should perhaps not be absolutely pursued at the conception time, but enforced dynamically during the lifetime of the systems."