This toolkit allows instructors to use the popular Java language as a platform in parallel and distributed processing courses. Abstractions Abstractions for concurrent, parallel, and distributed programming. Implementation details that should not be visible in the abstractions. Parallel versions of quicksort, sieve of Eratosthenes, and radix sort demonstrate message passing. A ring of peers in a network of workstations uses remote message passing to circulate a token around the ring.
Clients use the remote rendezvous classes to perform transactions with a remote database server.
The small and simple toolkit described in this paper is ideal for teaching the basics of distributed parallel computing. It is written in a popular language, Java, that most students will know by the time they take such a course. A service is invoked synchronously or asynchronously, independent of its implementation, which is passive or active. The toolkit satisfies the need Java has for a distributed programming library that implements some useful communication and synchronization tools and that hides the complexities and race conditions of its built-in monitors.