The small size of many ISVs severely limits their ability to acquire even one large parallel system, much less the full variety of HPC systems from different vendors. Yet access to these systems is essential for developing ISV software applications that will run compatibly and fast on the range of hardware products available in the HPC market. Hardware vendors that once donated machines to ISVs for software development, testing and support can no longer afford to do so because of sharply reduced profit margins. Instead, ISVs must either set aside significant funds to acquire systems or, more typically, find a way to access HPC systems without acquiring them.
Limited funds also make it difficult for many ISVs to support multiple types of HPC computer platforms. They therefore tend to focus on one type of HPC system: the so-called "clusters" built from commodity components, because these lower-priced systems are the most pervasive computer products in the HPC market. This has alarmed business users whose problems are better suited to other types of HPC systems. These users believe their crucial, competitive problems are being ignored.
A close examination of the current education pipeline presents a troubling picture regarding the availability of next-generation scientists and engineers. American-born students are choosing to pursue computational science and engineering less frequently than in the past. Research institutions face an added challenge; the development schedule for HPC application software may exceed the time that graduate students spend at their facilities. “The people we need to architect these codes are unique individuals,” explained John Morrison, division leader for computing, communications & networking, Los Alamos National Laboratory. “They have to understand the science domain, computational science, computer science, and then figure out how to make these big applications run on a parallel computer and to scale.”
On a positive note, trends in desktop computing may bring new talent to bear on this problem. Multi-core processors – technology that allows multiple processors to work together on a single chip—already are finding their way to the desktop computers of many workers and could stimulate development of more parallel software. As this technology proliferates in the future, every desktop computer is likely to become a parallel computer, and the broader commercial software development community will be forced to address the same challenge that the HPC community has struggled with for years: creating applications that work in a parallel environment. This should bring extraordinary energy, money and talent to the software development process, resulting in new tools and new solutions for HPC users, too.