Bottlenecks in Parallel Programming Hurt Productivity
By Jessica Davis -- Electronic News, 10/10/2006
Difficulties in programming the code supercomputers run on is becoming one of the biggest productivity killers of engineering and scientific discovery, according to a new survey from the Simon Management Group sponsored by Interactive Computing Inc.
Writing parallel code, programming efficiency, translation, debugging and the limits of high-performance computing software are the most frequently cited bottlenecks across all industries that use supercomputers, the survey of 500 users of parallel high-performance computers (HPCs) found.
To complete the survey the Simon Management Group spoke with users in education, government, aerospace, healthcare, manufacturing, geo-sciences, bio-sciences and semiconductors. The report examines the software tools currently used, probes current application development environments, practices, and limitations, and catalogs critical issues and bottlenecks.
The majority of parallel application prototypes, 65 percent, are developed in very high level languages (VHLLs) such as MATLAB, Mathematica, Python, and R. And while C and Fortran are frequently used to prototype, respondents overwhelmingly said they would prefer to work with an interactive desktop tool if the prototype could be easily bridged to work with HPC servers.
The disconnect stems from the fact that desktop computers cannot handle the processing and memory requirements of the huge amounts of data that many scientific and engineering problems analyze, the survey said. And the problem is only getting worse. According to the study, the average median-sized data set used in a technical computing application today ranges from 10 to 45 gigabytes and is expected to swell to 200 to 600 gigabytes in just three years.
"This study demonstrates that programming tools have not kept pace with the advances in the computing hardware and affordability of high-performance computers," said Peter Simon, president of Simon Management Group, in a statement. "Technical computing users would prefer to continue working with their favorite desktop tools while tapping into the computing muscle of parallel systems. But there is clearly pain involved with re-programming their desktop models to run on parallel systems."

















