A site devoted mostly to everything related to Information Technology under the sun - among other things.

Tuesday, February 3, 2009

Approaches to Parallelism

A new model for writing concurrent applications is based on a structure called an actor. An actor is a computation entity whose primary actions are performing operations that are passed to it, passing data to other actors, and creating new actors.

These operations are entirely local; they have no effects on other actors. To affect other actors, an actor must pass a message to them, including the data they need or the new instructions.
This parallel-programming technique does not use variable but constants – like Java strings - as data cannot be unexpectedly changed by another thread.

Data changes among actors are done by sending messages to one another. Because of this built-in mutual exclusion, actors are a good match for parallelism

Erlang is the language with the greatest commercial acceptance that uses actor-like constructs. For Java, there is an actor framework called ActorFoundry. But, on the JVM, the best choice is the emerging language Scala, which provides support for traditional object-oriented-style programming as well.

This approach is similar to dataflow, a design that was first expounded in the 1960s. It too uses message passing and adds a built-in capability to monitor the relationship between two data items, such that if one changes, the other is automatically updated.

Pervasive Software is releasing DataRush Java library which has handled massive amounts of data in tests with only modest hardware platforms. The product has the ability to leverage data-flow across all the processor cores.

It seems that message-passing parallelism (think OpenMP) is likely to become more prominent during the next few years as a way to leverage the many cores in today’s PCs and servers.

No comments:

About Me

My photo
I am a senior software developer working for General Motors Corporation.. I am interested in intelligent computing and scientific computing. I am passionate about computers as enablers for human imagination. The contents of this site are not in any way, shape, or form endorsed, approved, or otherwise authorized by HP, its subsidiaries, or its officers and shareholders.

Blog Archive