Design and Implementation of an RPC-Based ARC Kernel
Anonymous Remote Computing (ARC) is a programming paradigm for parallel and distributed computing on workstation clusters. Workstation clusters are characterized by heterogeneity, node/link failures and changing loads. Typically, a parallel program may not have any control over the changing load patterns. Stealing idle cycles on such systems require that parallel programs should adapt themselves dynamically to changing load patterns. We present a design and implementation of an RPC-based ARC kernel supporting parallel programming through ARC Function Calls in such an environment. ARC Function Calls in a C program are executed on anonymous remote machines making the distribution transparent to the parallel programmer. A Horse Power Factor (HPF) primitive characterizes load and speed for the use of task distribution in a parallel program. The kernel supports fault tolerance by awarding failed tasks to available nodes. Nodes can join and leave dynamically at any time during execution. The kernel was designed using object oriented techniques and implemented as a collection of collaborating RPC servers running on a a Linux cluster. The performance and overheads of implementation have also been discussed.
KeywordsTravel Salesman Problem Task Space Tuple Space Message Queue Object Orient Analysis
Unable to display preview. Download preview PDF.
- 1.Rushikesh K Joshi, D. Janaki Ram.:Anonymous Remote Computing, A paradigm for Parallel Programming on interconnected Workstations, IEEE Computer, 25(1):75–90, January 1994.Google Scholar
- 2.Jack Dongarra, Weicheng Jiang, Robert Manchek, Vaidy Sunderam, Al Geist, Adam Beguelin.: PVM 3 User’s Guide and Reference Manual, MIT Press, 1994.Google Scholar
- 3.David Gelernter, Nicholas Carriero.: The S/Net’s Linda Kernel, ACM Transactions on Computer Systems, 4(2):110–129, May 1996.Google Scholar