Thursday, September 13, 2007

Trends 2007: Parallel and Concurrent Computing

Following up and related to cloud computing is the notion of parallel and concurrent computing. (Rob Pike points out the distinction of these concepts in Advanced Topics in Programming Languages: Concurrency/message passing in Newsqueak)
He states;

Concurrency has nothing to do with Parallelism they are actually separable ideas and thats important

Another major point of this talk is:

The world is concurrent, but computers are not!

and that language support for concurrency is important. The increased attention to languages like Erlang, which has built-in support for concurrency, in indicative of this trend.

What does this mean? We can break out of the sequential/synchronous world and begin to think about problems in more natural ways. Pike makes the point that concurrency should not be something hariy and messy that "you just have to deal with", but concurrent programs can be "much cleaner and more beautiful" than their sequential counterparts.

Finally, Google has shown the world that for a certain class of problems, working it in parallel environment is highly effective, and using infrastructure, programming environments, and languages like Sawzall, and MapReduce makes it possible.

No comments: