“There aren’t enough people on planet Earth with the right kind of brainpower and experience to tackle this, but there are some. We need to motivate universities to produce more.”
Those are the words of Steve Conway, research VP for high performance computing (HPC) at analyst house IDC. He’s talking about the challenge of rethinking and rewriting HPC applications to take advantage of multicore supercomputers, and his story at Scientific Computing highlights one of the barriers to widespread adoption of parallel programming: Some applications have too great an investment in legacy code to start over. He cites the example of HPC applications that have tens or hundreds of thousands of lines of code. Navigating this code, and updating it, is likely to be an expensive activity it seems to me. Many organisations will be unwilling to take that project on until the pain becomes too great and the software obviously slows as single-core processor speeds fall, which could make for interesting times over the next five to ten years.
What was particularly interesting about the story was the implication that we need to fundamentally rethink some of the core algorithms that HPC practitioners have been depending on for years. The basic building blocks of these applications stem from an era before parallel programming was a serious concern. IDC research suggests that 56% of HPC applications do not scale beyond eight threads and only 6% can exploit more than 128 threads. You could argue that we now we need to go back to basics and rethink the algorithms from the start.
What do you think? Are there enough smart people to take on that challenge, or is HPC doomed to a spiral of declining performance as only multithreaded applications can reap the rewards of new hardware?
Filed under: High performance computing Tagged: | High Performance Computing, hpc




