ERCIM News No.28 - January 1997

WAMM - A Metacomputer Graphical Interface

by Ranieri Baraglia and Domenico Laforenza

In recent years a number of important research centres have been studying and experimenting the use of multiple resources distributed over a network as a single computer, that is, a metacomputer. The development of metacomputing environments entails solving not only hardware (networks, mass memories with parallel access, etc.) but in particular software (languages, development environ-ments, resource management tools, etc.) problems. For example, compiling a program for several machines, without suitable tools, usually involves writing source files on a local node, copying them onto remote hosts, and manually starting compilation on each machine: time-consuming, error-prone operations. To alleviate such problems, we have developed WAMM (Wide Area Metacomputer Manager), a graphical interface based on OSF/Motif and PVM for managing metacomputers.

WAMM adopts a geographical view of the system. Hosts are grouped into subnetworks (LANs, MANs or WANs), following a tree structure. Each item in the tree is shown in Motif windows, using geographical maps for networks and icons1 for hosts; graphic details can be customized using standard X11 resource files. The user can explore all the resources by selecting push buttons on the maps: it is possible to zoom from a wide-area map to the single host of a particular site. A full, traditional list with Internet addresses for hosts is also available.

WAMM Interface - snapshot during use.

WAMM's functionalities are accessed through a Graphical User Interface (GUI). The main features are:

Metacomputer configuration

A configuration file, written in a simple declarative language, contains the description of the nodes that make up the metacomputer. This file is read by WAMM at metacomputer start up. The network is described following a tree-like structure. The root is a WAN grouping all the hosts; the children are Metropolitan (MAN) and Local (LAN) networks. A MAN can only contain local networks, whereas LANs contain only the hosts.

Metacomputer start up and management

WAMM allows the set up of the metacomputer without the prior activation of the PVM (parallel virtual machine) console. The metacomputer can be created by WAMM on the basis of the contents of the configuration file. Information relating to the networks is visualized in separate windows (see Figure). Hosts are shown inside the window of their LAN. The user can verify if they are alive and reachable, and, if necessary, add them to the metacomputer. Host removal and metacomputer halt are also possible. Various operations can be invoked from the menu on groups of hosts, eg, insert/remove hosts into PVM, check status, compile on selected hosts, etc.. WAMM uses a PVM notification mechanism to recognize variations produced by host failures or external programs. Each host defined in WAMM's configuration file can be assigned a set of commands that can be invoked through pop-up menus associated with the host's icon. Execution requests are handled by satellite processes (PVM Taskers), spawned by WAMM at startup time on each node. In this way files are not needed on remote nodes and WAMM does not add any security weakness to the systems it runs on.

Remote compilation

As WAMM does not provide embedded editing functionalities, local node editing tools are needed to write the parallel application. A main feature is the compilation of a program in parallel on remote machines. A facility has been designed to allow users to work mainly on a local node. Programmers can develop all sources on a local machine. They then only have to select the remote hosts for the compilation and issue the Make command from the pop-up menu. No restrictions are made on the type of source files; they can be written in any language.

WAMM carries out some of the operations needed to compile an application. Specifically, all the source files are grouped into one file, in the tar standard format used on UNIX machines and compressed. A PVM task that deals with the compilation is spawned on each selected node and the compressed file is sent to all these tasks. WAMM's work thus ends and the remaining operations are carried out in parallel by PVMMakers. Each PVMMaker receives the compressed file and extracts sources in a temporary working directory; it then executes the UNIX make command. Each PVMMaker notifies WAMM of all operations executed. Messages received from PVMMakers are shown in a control window, so users can check how the compilation is going. By selecting one or more hosts in the control window, output and error messages can be seen before the compilation completes. A Make can be stopped at any moment. If a node fails , this does not affect the other nodes. If compilation is successful, the same Makefile used for compilation copies the executable files produced into the {\tt \$PVM\_ROOT/bin/PVM\_ARCH} directory, used by PVM as a storage for executable files. This operation can be carried out on each node. At the end of compilation the working directory is maintained until a subsequent compilation. If necessary, the user can thus connect to the host, modify the source code, and manually start a new compilation on the same files.

Tasks execution and control

WAMM allows application components to be spawned and controlled. The output of activated processes can be seen in separate windows and can also be saved in a file. If output windows are opened, new messages from the tasks are shown immediately.

The current version of WAMM is only the starting point towards a complete metacomputing environment. WAMM is now being integrated in the MOL (Metacomputer OnLine) project (see Web site:

WAMM is available as public domain software at the Parallel Processing Group Web site of the CNUCE Institute in Pisa:

Please contact:
R.Baraglia or Domenico Laforenza
Parallel Processing Group - CNUCE-CNR
Tel. +39 50 593210 270

return to the contents page