'Change needed' in high-performance computing
The arrival of reconfigurable computer architectures has made it more important than ever for software-engineering practices to go through a rethink. That is the view of the head of of a specialist US centre set up last year, speaking at the Many-core and Reconfigurable Supercomputing (MRSC) in Belfast this week (April 2).
The arrival of reconfigurable computer architectures has made it more important than ever for software-engineering practices to go through a rethink. That is the view of the head of of a US centre set up last year to explore the potential of reconfigurable computing, speaking at the Many-core and Reconfigurable Supercomputing (MRSC) in Belfast this week (April 2).
Professor Alan George of the University of Florida and director of the National Science Foundation’s Center for High-Performance Reconfigurable Computing (CHREC) said a reformulation of software development is needed to go with the reformulation of computer architecture that is now happening with the shift to many-core and reconfigurable architectures. “Right now we are at the dawn of application reformulation. You could argue that the dawn is already upon us and we just slept late,” he claimed.
George said the problem is that producing the structure for an application program tends to go hand-in-hand with coding in “seat of the pants formulation”. He contrasted that with other disciplines such as aerospace and civil engineering. “We should learn lessons from other fields. In the other world, they don’t fly an aircraft just to see if it will fly or drive over bridges to see if they will stay up. We learn how they are going to behave long before they are built.
“In our world, we can afford to do that. We need to think of reconfigurable computing as being a more formal discipline. We need a reformulation of application development,” George argued.
What is needed, George said, is to analyse both the correctness of an algorithm and how it will perform on a given hardware architecture before coding even begins. “Today, we do that formulation while we are designing or while we are coding. It can be expensive because we tend to go around this loop many times,” he said, referring to the development loop involved with coding, translation into machine code and test execution.
George said his team at the university has built a tool, the reconfigurability amenability test (RAT), to predict how well a given algorithm would perform on a range of reconfigurable architectures. “Wouldn’t it be nice if we could tell that an algorithm on paper would map reasonably well to a reconfigurable architecture in our lab? That is the concept behind RAT. With RAT, you enter the basic parameters of the parallel algorithm and information on the platform.”
Although the predictions are not precise, George claimed the figures produced by RAT were reasonably close to reality. “As long as they are within 25 per cent, we are happy,” he said.
The team is now working on a simulation framework to provide users with a dynamic picture of how an algorithm would behave on a particular reconfigurable architecture. Part of the work is to develop a modelling language for algorithms, akin to the Universal Modelling Language (UML) used in mainstream computing, to let users define the mechanics of an algorithms without resorting to implementation code. The first model will be an algorithm for hyperspectral imaging, George said.
Image: Alan George speaking at the MRSC 2008 conference in Belfast