The cloud's parallel crises

By Mark Everett Hall
April 14, 2009 6:00 AM EDT
Most virtualized applications in the cloud don't get one of the obvious benefits of running in huge server farms of multi-core, multiprocessor machines. That's because most software is not written for the parallel environment of cloud computing. And that's because, despite some incremental progress with app/dev tools, parallel programming remains very hard. Microsoft thinks we're years away from having a parallel programming model to work with in order to inspire developers.

However, Ben Chelf, chief technology officer for Coverity, Inc. in San Francisco, thinks the rapid shift to cloud computing will accelerate the market for parallel software development. But that might make the situation even more frustrating.

Not only is parallel programming difficult and lacks a well-understood programming model, the tools necessary to create those parallel apps, such as IDEs, debuggers, compilers, build programs and more, need to scale with the massively parallel systems the new software will run on. But they don't. Chelf points to today's popular software build tools, such as Make and Ant. It could take days, even weeks for them to complete work on parallelized applications that will reach 500 millions of code. New tools are necessary, he says.

Maybe a step in that direction is the release today of Coverity Integrity Center, which lets developers analyze code statically and dynamically. A cool new feature is the ability to analyze the build process itself, which can be useful in preventing time-wasting build failures and can show you where bottlenecks occur during a build.

Chelf says for 50 years programmers have let faster microprocessors improve the performance of increasingly larger and more complex applications. But multi-core technology "threw a monkey wrench in that scenario," he says.

Now to get the best possible performance from computers, developers must use parallelism, hard or not. But without the tools that can scale with the needs of the applications, Chelf worries the ability to leverage the resources in the cloud will have to wait a bit longer.