Publication
Journal of Parallel and Distributed Computing
Paper

A migratable user-level process package for PVM

View publication

Abstract

Shared, multiuser, workstation networks are characterized by unpredictable variability in system load. Further, the concept of workstationownershipis typically present. For efficient and unobtrusive computing in such environments, applications must not only overlap their computation with communication but also redistribute their computations adaptively based on changes in workstation availability and load. Managing these issues at application level leads to programs that are difficult to write and debug. In this paper, we present a system that manages this dynamic multiprocessor environment while exporting a simple message-based programming model of a dedicated, distributed memory multiprocessor to applications. Programmers are thus insulated from the many complexities of the dynamic environment but at the same time are able to achieve the benefits of multithreading, adaptive load distribution, and unobtrusive computing. To support the dedicated multiprocessor model efficiently, the system defines a new kind of virtual processor called a user-level process (ULP) that can be used to implement efficient multithreading and application-transparent migration. the viability of ULPs is demonstrated through UPVM, a prototype implementation of the PVM message passing interface using ULPs. Typically, existing PVM programs written in single program multiple data (SPMD) style need only be recompiled to use this package. The design of the package is presented and the performance analyzed with respect to both microbenchmarks and some complete PVM applications. Finally, we discuss aspects of the ULP package that affect its portability and its support for heterogeneity, application transparency, and application debugging. © 1997 Academic Press.

Date

Publication

Journal of Parallel and Distributed Computing

Authors

Topics

Share