Newsgroups: comp.parallel.pvm
From: unilwh@uts.uni-c.dk (Lars Ulrik Wacher Hansen)
Subject: List of tools
Organization: UNI-C.
Date: Mon, 30 Aug 1993 18:51:58 GMT
Keywords: clustered workstations, parallel programming, job opportunities 

Hi parallel programmers,

This is a list of public domain tools and applications that facilitate
development of parallel programs for clustered workstations. As the list
is nowhere complete, I would very much appreciate your help with addi-
tions. I am also very open to suggestions for a new and better format,
corrections, ideas, you name it. I made this list to keep track of the
vast growing number of tools. Hope it is useful for others, too.

Happy ftping, 

-- Lars W. Hansen

P.S. I would like to say thank you to all the people that have helped so
fare. This may be the last update as I have discontinued my Ph.D. project
(The money got too tight). Does anybody know of any current full-time
openings that involve C++, Motif and UNIX combined with one or more of the
following: clustered computing, simulation, numerical analysis, or
visualization? I have a green card, master in CS, and a couple of years of
experience with software development (in America) with GUI, C++ and Motif.
I'm mostly interested in jobs in Massachusetts or New England. I'm ready
to relocate at own expenses -- any time. I will gladly send a resume.
Thanks.

---------------------------------------------------------------------------
Name         Lars-Ulrik Wacher Hansen
Institution  UNI*C - The Danish Computing Center for Research and Education
Group        Scientific Computing Group
Address      The Technical University of Denmark
             Building 305, DK 2800, Lyngby, Denmark
Phone        +45 42.88.39.99 ext. 2444
Private      +45 43.73.21.74
E-mail       unilwh@wuli.uni-c.dk
---------------------------------------------------------------------------

=======================================================================
= List of public domain tools and applications that facilitate        =
= developement of parallel programs for clustered workstations.       =   
=                                                                     =
= Compiles by Lars W. Hansen. Last updated: AUG 30. 1993              =
= E-mail: unilwh@wuli.uni-c.dk                                        =
= Changes since AUG 20. 1993: sorted entries and added 7 new entries  =
=======================================================================                                                                          
********************** MESSAGE PASSING SYSTEMS ************************

Name:       BlockComm
From:       Argonne National Laboratory
Works w/on: ?
Languages:  ?
Avail at:   ?
Contact:    gropp@mcs.anl.gov (William Gropp)
Desc.:      A communication library which allows users to avoid
            explicit construction of messages when the messages
            consist of matrix subblocks.

Name:       Chameleon
From:       Argonne National Laboratory, University of Calif., LA
Works w/on: p4, PICL, PVM, vendor-specific implementations
Languages:  C and Fortran
Avail at:   info.mcs.anl.gov:pub/pdetools
Contact:    gropp@mcs.anl.gov (William Gropp)
Desc.:      A second generation message-passing system for distri-
            buted memory parallel computers. It provides a stable
            interface to p4 or PVM and provides a wide variety  of
            debugging information. A production library that imposes
            no overhead is also provided.

Name:       CHIMP (Common High-level Interface to Message Passing)
From:       The University of Edinburg
Works w/on: Heterogeneous computers
Languages:  C and Fortran
Avail at:   ftp.epcc.ed.ac.uk:pub/chimp
Contact:    epcc-support@uk.aac.ed
Desc.:      Like PVM and p4.

Name:       CPS (Cooperative Processes Software)
From:       Fermi National Accelerator Laboratory
Works w/on: Heterogeneous computers
Languages:  C and Fortran
Avail at:   see below
Contact:    cps_req@fndp1.fnal.gov
Desc:       Parallel toolkit that enables a collection of
            heterogeneous computers to be used in parallel.
            Supports message passing, queueing, bulk data
            transfer, classes, synchronization and load balancing.
            Includes debugger, operator interface / mountable
            devices, batch system, and performance monitoring. 
            Used mostly in high-energy physics with some 
            industrial / business applications. Available for 
            free upon request.

Name:       Linda-PVM
From:       University of Southern Mississippi
Works w/on: pvm
Languages:  C
Avail at:   ?
Contact:    seyfarth@whale.st.usm.edu (Ray Seyfarth)
Desc.:     	A Linda system which will consist of a C preprocessor, 
				a tuple server and a library to link with applications.

Name:       MPI (Message-Passing Interface)
From:       Argonne National Laboratory (CRPC)
Works w/on: Chameleon
Languages:  C and Fortran
Avail at:   emory.mathcs.emory.edu:pub/mpi, netlib2.cs.utk.edu:mpi
Contact:    gropp@mcs.anl.gov (William Gropp)
Desc.:      A test implementation of a draft standard for message-
            passing software.
				
Name:       p4 (Portable Programs for Parallel Processors)
From:       Argonne National Laboratory
Works w/on: Heterogeneous computers
Languages:  C and Fortran
Avail at:   netlib2.cs.utk.edu:p4, info.mcs.anl.gov:pub/p4
Contact:    lusk@mcs.anl.gov (Ewing Lusk)
Desc.:      Like PVM. Unlike PVM, however, monitors can be used in
				shared memory system.

Name:       p4-Linda
From:       Argonne National Laboratory, University of North Florida
Works w/on: p4
Languages:  C
Avail at:   info.mcs.anl.gov:pub/p4
Contact:    lusk@mcs.anl.gov (Ewing Lusk)
Desc.:      An implementation of the Linda programming model.
            Uses both shared-memory and distributed-memory
            for the underlying hardware.

Name:       PICL 
From:       Oak Ridge National Laboratory
Works w/on: Variety of multiprocessors (and workstations?).
Languages:  C (and FORTRAN-to-C interface routines)
Avail at:   netlib2.cs.utk.edu:picl
Contact:    worley@msr.epm.ornl.gov (Patrick H. Worley)
Desc.:      A subroutine library that implements a generic message-
            passing interface for a variety of multiprocessors. It 
            also provides time stamped trace data, if requested.

Name:       POSYBL (Programming System for Distributed Applications)
From:       University of Crete
Works w/on: Heterogeneous computers
Languages:  C
Avail at:   nic.funet.fi:pub/unix/parallel
Contact:    sxoinas@csd.uch.gr (Sxoinas Ioannis)
Desc.:      Simple implementation of Linda like system. The system
            consists of a daemon, that runs on every workstation in 
            a cluster, and a C-library of Linda like operations.

Name:       PVM (Parallel Virtual Machine)
From:       Oak Ridge National Laboratory
Works w/on: Heterogeneous computers
Languages:  C and Fortran
Avail at:   netlib2.cs.utk.edu:pvm3
Contact:    pvm@msr.epm.ornl.gov
Desc.:      A software system that enables a collection of heterogeneous
            computers to be used in parallel. It includes libraries of 
            user-callable functions and a daemon program which coordi-
            nates inter-machine activity.

Name:       TCGMSG (Theoretical Chemistry Group Message Passing System)
From:       Argonne National Laboratory
Works w/on: Heterogeneous computers
Languages:  C and Fortran
Avail at:   ftp.tcg.anl.gov:pub/tcgmsg
Contact:    rj_harrison@pnl.gov (Robert J. Harrison)
Desc.:      Like PVM and p4. Comes with set of example 'chemistry' 
            applications. TCGMSG is not really a predecessor to P4 ...
	    the ancestry is more like
               
		         PARMACS
		         (1986?)
		          /  \
		        /      \
		      /          \
		  TCGMSG          |
		  (1988-9)        |
		                  |
		                  P4
		                (1990?)

	    PARMACS inspired the independent implementation of TCGMSG,
	    a much simpler but much more robust package ... at that
	    time the authors of PARMACS were not interested in doing
	    more work in that area.  P4 was subsequently and
	    independently written largely by two of the original
	    authors of PARMACS.
 
	Newsgroups: comp.parallel
	From: d3h325@pnl.gov (Jarek Nieplocha)
	Date: Wed, 31 Aug 1994 20:58:57 GMT

	The current version (4.05) of TCGMSG message passing library 
	is a part of the Global Arrays toolkit (providing shared memory 
	programming model for most major parallel architectures) distribution.  

	It is located on an anonymous ftp server: 

	ftp.pnl.gov (192.35.193.200), file: /pub/global/global1.2.tar.Z

	TCGMSG will be upgraded soon to version 5 that will include
	asynchronous communication for networks of workstations and
	ports to the SGI Power Challenge and Cray T3D.


******************** SHARED-OBJECT PROGRAMMING ************************

Name:       DOME (Distributed Object Migration Environment)
From:       Carnegie Mellon University and Pittsburg Supercomputer Ctr.
Works w/on: PVM
Languages:  C++
Avail at:   ?
Contact:    adamb@cs.cmu.edu (Adam Beguelin)
Desc.:      Allows a single object to be distributed over heterogeneous
            computers. The objects provides ease of programming,
            distribution, communication, dynamic load balancing, and
            checkpoint/restart. Support the SPMD programming model.

Name:       DoPVM (Distributed Object Parallel Virtual Machine)
From:       Emery University
Works w/on: PVM
Languages:  C++
Avail at:   emory.mathcs.emory.edu:pub/dopvm
Contact:    vss@mathcs.emory.edu (V. S. Sunderam) 
Desc.:      A class library that permits objects to be shared 
            across distributed components of applications, and
            that provides several mechanisms for assisting con-
            current scheduling and partitioning. The system is
            layered on to of PVM.

Name:       Fortran M
From:       Argonne National Laboratory
Works w/on: Heterogeneous computers
Languages:  Fortran
Avail at:   info.mcs.anl.gov:pub/fortran-m
Contact:    fortran-m@mcs.anl.gov
Desc.:      A small set of extensions to Fortran 77 that supports
            development of modular, deterministic message-passing
            programs.

*********************** PROGRAMMING LANGUAGES *************************

Name:       Concert/C
From:       IBM Research Center, New York
Works w/on: Heterogeneous computers
Languages:  C
Avail at:   software.watson.ibm.com:pub/concert
Contact:    concert-c@watson.ibm.com
Desc.:      A new language for distributed C programming that extends
				ANSI C to support distribution and process dynamics. Concert/C
				provides primitives to create and terminate processes, connect 
				them together, and communicate among them. It supports RPC and
				asynchronous typed message passing.

Name:       DINO (Distributed Numerically Oriended Language)
From:       University of Colorado
Works w/on: PVM, Intel hypercubes
Languages:  C
Avail at:   cs.colorado.edu:pub/distribs/dino
Contact:    dino@cs.colorado.edu
Desc.:      DINO is a language for programming numerical applications on
            distributed memory parallel machines. DINO provides the user 
            with a high level paradigm consisting of a virtual machine, 
            a simple method for distributing regular data structures across 
            that machine, a simple parallel execution model, and high level 
            communication primitives.

Name:       HAsL (Heterogeneous Associative Language)
From:       Kent State University, Kent, Ohio - USA 
Works w/on: Heterogeneous Associative Computing (HAsC) system
Languages:  n/a
Avail at:   not released yet 
Contact:    sscott@mcs.kent.edu (Stephen Scott) 
Desc.:      Natural language like programming language using Associative 
	         Computing constructs for programming the HAsC system.

Name:       JADE
From:       Stanford University
Works w/on: PVM, Intel iPSC/860, DASH, SGI shared-memory multiprocessors
Languages:  C, C++, Fortran
Avail at:   wildhog.stanford.edu:pub/jade
Contact:    Monica S. Lam
Desc.:      Jade is a high level, data oriented programming language for 
            coarse-grained parellel programming that supports message 
            passing. 

Name:       Maisie
From:       University of California
Works w/on: PVM, Cosmmic Environment, and UNIX sockets
Languages:  Enhancement to C
Avail at:   cs.ucla.edu
Contact:    rajive@cs.ucla.edu (Rajive Bagrodia)
Desc.:      A C based parallel programming language. The primary
            enhancements to C are constructs to define, create and
            destroy processes, and send and receive messages.

Name:       PCN 
From:       Argonne National Laboratory/California Institute of Tech.
Works w/on: Homogeneous computers
Languages:  C and Fortran can be incorporated
Avail at:   netlib2.cs.utk.edu:pcn, info.mcs.anl.gov:pub/pcn
Contact:    tuecke@mcs.anl.gov
Desc.:      Compiler and tools.

******************** PROGRAMMING ENVIRONMENTS ************************

Name:       Enterprise
From:       University of Alberta, Canada
Works w/on: Heterogeneous computers (workstations)
Languages:  C subroutines
Avail at:   menaik.cs.ualberta.ca:pub/Enterprise
Contact:    jonathan@cs.ualberta.ca
Desc.:      A graphical parallel programming environment that provides
            an easy to use interface for creating, compiling, executing,
            and monitoring parallel programs.

Name:       HAsC (Heterogeneous Associative Computing)
From:       Kent State University, Kent, Ohio - USA
Works w/on: PVM 3.1+, any language generating an executable file.
Languages:  Heterogeneous Associative Language (HAsL)
Avail at:   not released yet
Contact:    sscott@mcs.kent.edu (Stephen Scott)
Desc.:      Associative Computing principles are used to control a 
            heterogeneous group of machines.

Name:       HeNCE (Heterogeneous Network Computer Environment)
From:       Oak Ridge National Laboratory
Works w/on: PVM
Languages:  C or Fortran node subroutines
Avail at:   netlib2.cs.utk.edu:hence
Contact:    hence@msr.epm.ornl.gov
Desc.:      A graphical parallel programming environment that provides
            an easy to use interface for creating, compiling, executing,
            and debugging parallel programs.

Name:       Mentat
From:       University of Virginia
Works w/on: Heterogeneous computers, Intel iPSC/860 hypercube
Languages:  Superset of C++
Avail at:   uvacs.cs.virginia.edu:pub/mentat
Contact:    mentat@virginia.edu
Desc.:      Mentat is an object-oriented parallel processing
            system designed to directly address the difficulty of
            developing architeture-independent parallel programs.
            The system consists of a run-time system, a programming 
            language and a monitor.


************************** DEBUGGING TOOLS ****************************

Name:       IVD (Interactive Visualization Debugger)
From:       Hewlett-Packard Laboratories
Works w/on: PVM
Languages:  None
Avail at:   ?
Contact:    mackey@cello.hpl.hp.com (Milon Mackey)
Desc.:      A tool for post-mortem debugging of PVM programs.
            Allows programs to be deterministically re-executed in 
            a debugger.

************************* MONITORING TOOLS ****************************

Name:       alog
From:       Argonne National Laboratory
Works w/on: p4 and a variety of other parallel programming systems.
Languages:  C and Fortran
Avail at:   netlib2.cs.utk.edu:p4, info.mcs.anl.gov:pub/p4
Contact:    lusk@mcs.anl.gov (Ewing Lusk)
Desc.:      A portable library for producing log files of user-
            specified events. Part of the p4 distribution. Works
            with Upshot.

Name:       PADL (Program Animation Display Language)
From:       ?
Works w/on: p4
Languages:  ?
Avail at:   ?
Contact:    ?
Desc.:      A program visualization tool. More elaborate that Upshot.

Name:       TracePVM
From:       Emery University
Works w/on: PVM
Languages:  ?
Avail at:   emory.mathcs.emory.edu:pub/msgtrace
Contact:    vss@mathcs.emory.edu (V. S. Sunderam) 
Desc.:      ?

Name:       Upshot
From:       Argonne National Laboratory
Works w/on: alog
Languages: 
Avail at:   netlib2.cs.utk.edu:p4, info.mcs.anl.gov:pub/upshot
Contact:    lusk@mcs.anl.gov (Ewing Lusk)
Desc.:      A tool that can visualize alog files. 

Name:       XAB (X-window Analysis and Debugging)
From:       Carnegie Mellon University and Pittsburg Supercomputer Ctr.
Works w/on: PVM2.4
Languages:  None
Avail at:   netlib2.cs.utk.edu:pvm/xab
Contact:    adamb@cs.cmu.edu (Adam Beguelin)
Desc.:      A X window system based tool for monitoring PVM programs.
            Graphically displays process and message states.
