Distribution and concurrency are pervasive in computer science and technology, from the simple PC, already multi-core, all the way up to supercomputing grids, and also graphic cards, PC clusters, distributed databases, and supercomputers. Distributed and