July 1996 PCRC Progress Report

Organization: University of Maryland

Co-principal investigators at UMD :
Joel Saltz (saltz@cs.umd.edu), Alan Sussman (als@cs.umd.edu)
A. V. Williams Building, Computer Science Department, University of Maryland, College Park, MD 20742,

Title of effort: Common Runtime Support for High Performance Parallel Languages

Recent accomplishments:

Recent Publications:

Paper title Authors Date
Interleaved Parallel Hybrid Arnoldi Method for a Parallel Machine and a Network of Workstations
Guy Edjlali, Serge Petition, Nahid Emad June, 1996
Interoperability of Data Parallel Runtime Libraries with Meta-Chaos Guy Edjlali, Alan Sussman, Joel Saltz May, 1996
Runtime Coupling of Data-Parallel Programs Mudumbai Ranganathan, Anurag Acharya, Guy Edjlali, Alan Sussman, Joel Saltz June , 1996

One major part of the Maryland effort has focused on developing techniques for transferring data between distributed data structures owned by different data parallel runtime libraries. These techniques have been implemented in the Maryland Meta-Chaos library, which currently is capable of transferring data between (distributed) arrays that have been created using High Performance Fortran, the Maryland CHAOS and Multiblock PARTI libraries, and the the Indiana pC++ runtime library, Tulip,. For example, the library allows an irregularly distributed array created via the CHAOS library to be copied into an HPF distributed array (with an arbitrary HPF distribution) that has been created using the HPF compiler and runtime library. The only requirement on the libraries, so that Meta-Chaos can access their data, is that each library provide several inquiry functions, similar to those that were specified previously in the PCRC DDD specification. Meta-Chaos can be used both for moving data between multiple data parallel libraries used within a single program and for moving data between libraries used in separate programs.

A paper on the library has been submitted to Supercomputing '96, and is also available as a Maryland technical report. We are currently working on using Meta-Chaos to implement the communication for a complete distributed application for the Maryland Grand Challenge project in land cover dynamics, which consists of a complex set of interacting parallel (and sequential) modules that use several different data parallel libraries. The interacting modules include a parallel image database engine for retrieving satellite imagery, an image segmentation algorithm (parallelized using the Maryland CHAOS++ library), an image classification algorithm (parallelized using the Maryland Multiblock Parti library) and a user interface sequential program. The user interface will generate the image database queries and provide the facilities to build the distributed application from the various modules, will provide the information necessary for any of the modules to interact directly with the user, and display the results of the application.

The other main area of research at Maryland has been the investigation of mobility for Java programs. Mobile programs can move an active thread of control from one machine to another during execution. This flexibility has many potential advantages in a distributed environment. For example, a program that searches distributed data repositories can improve its performance by migrating to the repositories and performing the search on-site instead of fetching all the data to its current location. Similarly, an internet video-conferencing application can minimize overall response time by positioning its server based on the location of its users. The primary advantage of mobility in these scenarios is that it can be used as a tool to adapt to variations in the operating environment.

For different applications, different resource constraints are likely to govern the decision to migrate, e.g. network latency, network bandwidth, memory availability, server availability. In recent work at Maryland, we have investigated network-aware mobile programs, i.e. programs that position themselves based on their knowledge of network characteristics. Whether the potential performance benefits of network-aware mobility are realized in practice depend on answers to three questions. First, how should programs be structured to utilize mobility to adapt to variations in network characteristics? In particular, what policies are suitable for making mobility decisions? Second, is the variation in network characteristics such that adapting to them proves profitable? Finally, can adequate network information be provided to mobile applications at an acceptable cost?

We have investigated these issues in the context of Sumatra, an extension of the Java programming environment that provides a flexible substrate for adaptive mobile programs. A paper has been submitted to Usenix '97 that addresses all these mobility issues, and the experiments indicate that network-aware programs can successfully use mobility to adapt to spatial and temporal variations in network latency over the internet.

Date prepared: 7/5/96