Developing technologies for broad-network concurrent computing

https://doi.org/10.1016/S1383-7621(98)00068-XGet rights and content

Abstract

Recent developments in networking infrastructures, computer workstation capabilities, software tools, and programming languages have motivated new approaches to broad-network concurrent computing. This paper describes extensions to concurrent computing which blend new and evolving technologies to extend users' access to resources beyond their local network. The result is a concurrent programming environment which can dynamically extend over network and file system boundaries to envelope additional resources, to enable multiple-user collaborative programming, and to achieve a more optimal process mapping. Additional aspects of the derivative environment feature extended portability and support for the accessing of legacy codes and packages. This paper describes the advantages of such a design and how they have been implemented in the environment termed “IceT”.

Section snippets

Blending existing and evolving technologies

In recent years, the advances in both raw computing ability of personal workstations and communication technologies have given support to the viability of harnessing networked clusters of workstations for concurrent, parallel computing. At the same time, programming languages, such as Java and Perl, and the growing popularity of the Internet have led to vast pools of programs accessible for anonymous utilization. Even though there are several ongoing projects working to utilize Internet

The IceT implementation

The IceT software subsystem is built upon three major components: daemons, consoles, and tasks. Daemons are responsible for maintaining communication links between individual resources and for initiating process creation; consoles provide individual users direct access to the functionality of the daemons; and tasks are processes which connect to and utilize the IceT environment for the passing and receiving of messages in order to perform their intended function. Details on the IceT console and

Programming example

This section describes the general Java-binding of the API used to connect to and interact with the IceT environment by way of a distributed computation. The example below shows the fundamental calls which one might use to perform the task of solving the linear system Ax=b over combined local and remote resources, using Gauss–Jacobi iterations; where A∈Rn×n is a diagonally dominant tridiagonal matrix, b,x∈Rn. The example below illustrates distribution of the computation using a master/slave

Access to and portability of native code

The above section illustrated the fundamentals of program interaction with the IceT environment by way a distributed linear system solver. Unfortunately, aspects and features which provide Java with such universal portability have a significant cost; namely speed. Java is an interpreted language by nature, and as such, suffers a significant performance hit when compared to highly optimized C or Fortran programs which perform compute-intensive calculations. Details which benchmark Java-based

Conclusions and work-in-progress

The initial offerings of the IceT project depicted here show great potential in advancing the state of broad-network concurrent computing in addition to collaborative programming and programming aspects heretofore unexplored. Furthermore, the coupling of system-independent “handshaking” and subsequent soft-installation of system-dependent shared libraries has been shown to have tremendous advantages over a pure Java approach in raw computational speed and lends to effective re use of existing

Paul Gray is a Visiting Assistant Professor at Emory University, Atlanta, GA, USA. His background is in numerical analysis with an emphasis on distributed computing. He is the primary developer of the “IceT” project, which aims to provide a distributed virtual environment across networks and file systems for extending computation and collaboration. Recently his research activities have included distributing computational simulations of supercondictivity phenomena, analyzing and parallelizing

References (10)

  • G.A. Geist, V.S. Sunderam, The PVM system: supercomputer level concurrent computation on a heterogeneous network of...
  • M. Snir, S.W. Otto, S. Huss-Lederman, D.W. Walker, J. Dongarra, MPI, The Complete Reference, MIT Press, Cambridge,...
  • B Carpenter et al.

    Experiments with `HP Java'

    Concurrency, Experience and Practice

    (1997)
  • G.C Fox et al.

    Java for parallel computing and as a general language for scientific and engineering simulation and modeling

    Concurrency, Experience and Practice

    (1997)
  • P. Gray, V. Sunderam, The IceT environment for parallel and distributed computing, in: Scientific Computing in...
There are more references available in the full text version of this article.

Cited by (0)

  1. Download : Download full-size image

Paul Gray is a Visiting Assistant Professor at Emory University, Atlanta, GA, USA. His background is in numerical analysis with an emphasis on distributed computing. He is the primary developer of the “IceT” project, which aims to provide a distributed virtual environment across networks and file systems for extending computation and collaboration. Recently his research activities have included distributing computational simulations of supercondictivity phenomena, analyzing and parallelizing the GMRES algorithm, and analyzing aspects of the Java programming language which are suitable and detrimental for the purpose of high-performance computing.

  1. Download : Download full-size image

Vaidy Sunderam is Professor of Computer Science at Emory University, Atlanta, USA. His current and recent research focuses on aspects of distributed and concurrent computing in heterogenous networked environments. He is the principal architect of the PVM system, in addition to several other software tools and systems for parallel and distributed computing. He has received several awards for teaching and research, including the IEEE Gordon Bell prize for parallel processing. Recently his research activities have included novel techniques for multithreaded concurrent computing, input–output models and methodologies for distributed systems, and integrated computing frameworks for collaboration.

View full text