Title :
Anonymous remote computing: a paradigm for parallel programming on interconnected workstations
Author :
Joshi, Rushikesh K. ; Ram, D. Janaki
Author_Institution :
Dept. of Comput. Sci. & Eng., Indian Inst. of Technol., Bombay, India
Abstract :
Parallel computing on interconnected workstations is becoming a viable and attractive proposition due to the rapid growth in speeds of interconnection networks and processors. In the case of workstation clusters, there is always a considerable amount of unused computing capacity available in the network. However, heterogeneity in architectures and operating systems, load variations on machines, variations in machine availability, and failure susceptibility of networks and workstations complicate the situation for the programmer. In this context, new programming paradigms that reduce the burden involved in programming for distribution, load adaptability, heterogeneity and fault tolerance gain importance. This paper identifies the issues involved in parallel computing on a network of workstations. The anonymous remote computing (ARC) paradigm is proposed to address the issues specific to parallel programming on workstation systems. ARC differs from the conventional communicating process model by treating a program as one single entity consisting of several loosely coupled remote instruction blocks instead of treating it as a collection of processes. The ARC approach results in distribution transparency and heterogeneity transparency. At the same time, it provides fault tolerance and load adaptability to parallel programs on workstations. ARC is developed in a two-tiered architecture consisting of high level language constructs and low level ARC primitives. The paper describes an implementation of the ARC kernel supporting ARC primitives
Keywords :
parallel programming; software fault tolerance; workstation clusters; anonymous remote computing; communicating process model; distribution; distribution transparency; fault tolerance; heterogeneity; heterogeneity transparency; high level language constructs; interconnected workstations; interconnection networks; kernel; load adaptability; loosely coupled remote instruction blocks; low level primitives; parallel computing; parallel programming paradigm; processors; two-tiered architecture; workstation clusters; workstation network; Computer architecture; Computer networks; Concurrent computing; Fault tolerance; Load management; Multiprocessor interconnection networks; Operating systems; Parallel processing; Parallel programming; Workstations;
Journal_Title :
Software Engineering, IEEE Transactions on