views:

158

answers:

3

When you code a distributed algorithm, do you use any library to model abstract things like processor, register, message, link, etc.? Is there any library that does that?

I'm thinking about e.g. self-stabilizing algorithms, like self-stabilizing minimum spanning-tree algorithms.

+1  A: 

There's a DVM system that can be used for implementing different distributed algorithms. It works on top of MPI.

However it is more for matrix-oriented scientific algorithms where distribution is done in terms of data blocks. I had a brief experience using it - it's much more convenient than direct usage of MPI and allows for much more readable and maintainable code.

sharptooth
A: 

You may want to check out OpenMP.

Not Sure
A: 

I think you might find the distributed Apache projects to be helpful:

  • Apache Hadoop provides distributed filesystems and processing
  • Apache Zookeeper is a coordination service, which might be right up your alley. It can be used as a public-subscribe mechanism.

There's also the Java Parallel Processing Framework which abstracts entire machines and their composition, allowing you to focus on the processing.

Depends on your needs.

The Alchemist