I have just returned from attending HiPEAC 2015 in Amsterdam. As part of the proceedings, I was asked by my long-time colleague Juergen Becker to participate in a panel debate on this topic.
Panels are always good fun, as they give one a chance to make fairly provocative statements that would be out of place in a peer review publication, so I took up the opportunity.
In my view, there are really two key areas where reconfigurable computing solutions provide an inherent advantage over most high performance computational alternatives:
- In embedded systems, notions of correct or efficient behaviour are often defined at the application level. For example, in my work with my colleagues on control system design for aircraft, the most important notion of incorrect behaviour is would this control system cause the aircraft to fall out of the sky? An important metric of efficient behaviour might be how much fuel does the aircraft consume? These high level specifications, which incorporate the physical world (or models thereof) in its interaction with the computational process, allow a huge scope for novelty in computer architecture, and FPGAs are the ideal playground for this novelty.
- In real time embedded systems, it is often important to know exactly how long a computation will take in advance. Designs implemented using FPGA technology often provides such guarantees – down to the cycle – where others fail. There is, however, potentially a tension between some high level design methodologies being proposed and the certainty of the timing of the resulting architecture.
Despite my best attempts to stir up controversy, there seemed to be very few dissenters to this view from other members of the panel, combined with a general feeling that the world is no longer one of “embedded” versus “general purpose” computing. If indeed we can draw such divisions, they are now between “embedded / local” and “datacentre / cloud”, though power and energy concerns dominate the design process in both places.
2 thoughts on “Where High Performance Reconfigurable Computing Meets Embedded Systems”
I thought most people had the feeling that embedded revolution already ended. The next revolution is expected to happen in the datacentre & cloud. Maybe that is why people are losing their interest in embedded systems.
It was a pleasure to see you again there! Given your comment, perhaps this would have been a more controversial panel title: “Has the embedded revolution ended?” or “Is embedded computing dead?” Perhaps we can organise one on this topic soon?!
Of course it depends, I think, on the definition of “embedded computing”. If we take the broad definition I posed, that an embedded computer is any computer not sold as a computer, then I think the embedded computer is far from dead (though perhaps now goes by names like Internet of Things or Wearable Computing.)
I do think that much work needs to be done to determine the appropriate balance of cloud-based processing with local processing for a given task. In this sense, perhaps it makes sense to focus more attention on the codesign of the system infrastructure.
I hope we can catch up again soon.