spacer
ASCR Home Button ASCR Organization Button ASCR News Button Contact ASCR Button
DOE Homepage Science Homepage
ASCRlogo ASCR Discovery home page

Programming myths, folklore, and recurring bugs

(page 3 of 3)

For example, Basili says software developers often create a serial version of a particular code – one that works in a sequence of steps – optimize it to run efficiently, and then adapt that code to a parallel computing environment.

But when Basili asked experienced developers to critique a code that was created that way, they said the problem was in the assumption – the received wisdom – that it’s important to optimize a serial code before parallelizing it.

“Vendors tell us, ‘Go ahead and develop the serial code, but don’t do it [too] well, because optimizing serial code might actually hurt your effort to parallelize it,’” Basili says.

Tidbits like these ought to be distributed to the developer community, he says: “If there’s less time spent writing wrong code and debugging it, then we can shrink both the time to development, as well as the effort.”

Basili is trying to understand how effective development of high-performance computing codes happens, and how programmers can make the most efficient use of the new languages that are being developed for petascale machines.

“We’ve reached the [processing] limit of single-processor machines,” Basili says.  “With the current generation of multi-core processors in PCs, we are going to have to expand the pool of developers.  It’s going to be a field no longer just for the specialist.”

Basili believes that to effectively train more programmers, something approaching a shared knowledge base must be created and distributed among students and faculty – one that dispels folklore and disseminates best practices.  For now, he’s collecting programming folklore on his Web site and forming testable hypotheses to prove or disprove it, using students and collaborators as his test cases.

So, is it really easier to get something working using a shared memory model than by using message passing? Stay tuned to hpcbugbase.org for the answer.

« Previous       1   |   2   |   3   |   Print

Web Policies Button No Fear Act Button Site Map Button Privacy Button Phone Book Button Employment Button
spacer