|
Steve Wallach analysed the problem of developing software for thousands of processors and to gain application performance. He believes that the high performance community needs to rethink the way HPC platforms are programmed to achieve high efficiency on PetaFlop systems.
The speaker stated that the most significant advance in software engineering is the open source model. The high performance applications software has to be rewritten each time to run optimally on new architectures, for example when moving from scalar to vector, from vector to SMP, or from SMP to MPP or to a cluster of MPP. The speed of light is the ultimate limiting factor in this.
In hardware design Moore's law is followed and designers continue to develop new architectures and topologies but the software design is being neglected, according to Steve Wallach. In addition, hardware builders are faced with the C2K problem which causes latency to grow proportionally worse over time. This can be solved with a better spatial locality through bigger SMPs, by building systems spatially and topologically, and via the design of better latency tolerant algorithms.
Steve Wallach urged the computer scientists to search for the softron and expanded on the nature of this softron which has been researched in the GeDanken experiment performed by the speaker, Norm Augustine, and Nathan Myhrhvold. Nathan P. Myhrvold who is Chief Technology Officer at Microsoft Corporation developed four laws of software.
The first law of software states that it is an expanding gas to fit the container it is in. The second law claims that software grows until it becomes limited by Moore's law. The third law tells us that it is this software growth that makes Moore's law possible. This explains why people by new hardware, why chips get faster at the same price instead of cheaper. Steve Wallach told the audience that this will continue as long as there is opportunity for new software. The fourth law of software states that software is only limited by human ambition and expectation.
Steve Wallach asked himself how the ultimate computer that has gotten as smart as humans should be programmed. We need to realize that software is an engineering discipline for both developers and managers and that productivity is as important as performance. This asks for a fundamental new approach in development and verification. This means rethinking the way computer scientists are programming. After all, as Steve Wallach stated, Fortran means Formula Translation. New language development can no longer be limited to extensions of existing languages. There has to be a trade-off between hardware performance and software productivity.
Therrefore, Steve Wallach held a plea for telescoping languages that generate self-tuning applications, high performance compilers for domain-specific languages and abstract libraries for scientific calculations. We already have standard libraries such as LaPACK and Atlas and we also have progressed to adaptive libraries including SALSA and SANS. What currently is needed, is adaptive data structures. We need to look for more symbolic representations. The hardware topology should be inputted as a MetaLanguage in the compiler formula translater which is no longer done by human hands in order to create an adaptive compiler-compiler.
Steve Wallach concluded that future development is pointing towards the conversion of prototyping languages into production languages and Formulas/Mathematics should be the basis of the softron. This is the new GeDanken experiment proposed by the speaker.
|