Are we prepared for the next generation of embedded and mobile computing devices?
Next generation devices: pocket supercomputers for doctors
Patrick Hunziker at the University Hospital in Basel, Switzerland envisions a mobile high-performance health monitoring application: “We have planned to implement an ultra-sound based heart monitor that works without any visualised images but rather uses complex mathematical algorithms to automatically detect anomalies in the blood flow and movement of the heart. The formulation of such algorithms aims for an appropriate system architecture and programming model while their execution in an acceptable time demands high computing power.”
Patrick Hunziker has studied medicine and has specialised in Internal Medicine, Cardiology and Intensive Care Medicine. During his postdoctoral education at Harvard Medical School/Massachusetts General Hospital, he has pioneered, in collaboration with the Massachusetts Institute of Technology, the application of digital motion holography of the heart based on multidimensional cardiac ultrasound. Clinically active in cardiovascular medicine at the Medical Intensive Care Unit at the University Hospital of Basel, Dr. Hunziker also heads the research work of the Computational Medicine Research Group.
Patrick Hunziker's vision may not be unreachable. Future embedded computer systems will probably follow the trend of becoming equipped with chips that have multiple processors which would allow for compute-intensive applications, so-called ‘multi-core' chips. But before getting there, several challenges have to be mastered.
Regarding the hardware itself the design has to address size limitations (as we expect embedded and mobile devices to be small), power constraints (as the small battery has limited capacity) and the heat problem (the more dense the computer processors are, the more heat they produce per space up to the point where the heat is too much). And then, there is the inner architecture of the processors and the connection of the processors with each other and the memory they share.
This aspect of connecting the parts - the processors and the memory - is becoming crucial. On the one hand, the traditionally used ‘bus' approach – which can be described as one single line connecting all parts - has simplicity in its favour, but it becomes a bottleneck when the number of parts increases. On the other hand, while new concepts have been developed such as networks of interconnects (NoC, network-on-chip), none of them can be considered simple.
The capabilities of the hardware – i.e., the processors, the memory and the connection between them - have to be reflected in software, so the development of hardware and software goes hand in hand and the developers of the software system can leverage the power of the computing device at its best.
The Native Systems Group at ETH Zurich, one of Switzerland's leading universities, is led by Jürg Gutknecht, and has more than twenty years experience in the fields of programming languages and operating systems. Niklaus Wirth and his team have developed structured programming languages - Pascal, Modula-2 and Oberon – and always put emphasis on co-designing hardware and software. More prominent outcomes are the two workstations Lilith (Modula machine) and Ceres (Oberon machine). Supported by the Innovation Cluster for Embedded Software, a joint venture of Microsoft Research Cambridge, the ETH Zurich and the EPF Lausanne, a research project has been awarded to develop the embedded ‘supercomputer in the pocket' that would help Patrick Hunziker's vision to come true. “From the software point of view, our model is designed to optimally support the mapping of parallelism in algorithms to the parallelism in our hardware. The programming language will, for example, support the abstract vectorised formulation of mathematical algorithms that are then executed utilised as many of our CPUs as available,” explains Felix Friedrich who leads the research project at ETH Zurich. “Our goal is the development of a massively parallel hardware / software architecture for embedded systems, with an emphasis on ‘portable highperformance computing for safety critical applications.'”
Breakthroughs in modelling software are only one part of the challenge - there is also a need for breakthroughs in the hardware on which the software will run. Charles (‘Chuck') Thacker from Microsoft Research in Silicon Valley has a strong interest in this field and is helping with the hardware architecture that connects a large number of processors with some novel capabilities to save scarce resources. Thacker, a technical fellow of Microsoft, was one of the main designers and builders of the Xerox Alto, the first personal computer, in 1972, and one of the inventors of the Ethernet. At Microsoft he led the creation of the Tablet PC prototype. In 2007 Thacker received the IEEE's John Von Neumann medal, which is awarded for outstanding achievements in computer related science and technology, for his central role in the creation of the personal computer and the development of networked computer systems.
With some of the greatest minds from different fields working together, the ICES research project has the ingredients to yield valuable results, not only for Patrick Hunziker's patients but for physicians and their patients everywhere.