Regular Article
A Migratable User-Level Process Package for PVM

https://doi.org/10.1006/jpdc.1996.1270Get rights and content

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.

References (34)

  • M. Acceta, R. Baron, W. Bolosky, D. Golub, R. Rashid, A. Tevanian, M. Young, 1986, Mach: A new kernel foundation for...
  • T.E. Anderson et al.

    Scheduler activations: Effective kernel support for the user-level management of parallelism

    ACM Trans. Comput. Systems

    (1992)
  • E. Bernard, R. Cole, 1989, A neural-net training program based on conjugate-gradient optimization, Dept. of Computer...
  • A. Beguelin, J. Dongarra, A. Geist, R. Manchek, S. Otto, J. Walpole, 1993, PVM: Experiences, current status and future...
  • A. Beguelin, E. Seligman, M. Starkey, May 1994, Dome: Distributed object migration environment, Carnegie Mellon...
  • B.N. Bershad et al.

    PRESTO: A system for object-oriented parallel programming

    Software Practice Experience

    (1988)
  • K.P. Birman

    The process group approach to reliable distributed computing

    Comm. ACM

    (1993)
  • D.L. Black

    Scheduling support for concurrency and parallelism in the Mach operating system

    IEEE Comput.

    (1990)
  • R. Butler, E. Lusk, 1992, User's guide to the p4 parallel programming system, Argonne National...
  • J. Casas et al.

    MPVM: A migration transparent version of PVM

    Comput. Systems

    (1995)
  • J. S. Chase, F. G. Amador, E. D. Lazowska, H. M. Levy, R. J. Littlefield, 1989, The Amber system: Parallel programming...
  • Y.C. Chow et al.

    Models for dynamic load balancing in a heterogeneous multiple processor system

    IEEE Trans. Comput.

    (1979)
  • E. C. Cooper, R. P. Draves, Feb. 1988, C Threads, School of Computer Science, Carnegie Mellon...
  • T. W. Doeppner, 1987, Threads: A system for the support of concurrent programming, Department of Computer Science,...
  • E. Felten, D. McNamee, Apr. 1992, Improving the performance of message-passing applications by multithreading,...
  • D. Ferrari, S. Zhou, 1986, A load index for dynamic load balancing, Proc. of the Fall Joint Computer Conference, 684,...
  • Cited by (11)

    • History-driven dynamic load balancing for recurring applications on networks of workstations

      2000, Journal of Systems and Software
      Citation Excerpt :

      However, their study is limited to the Single Program Multiple Data (SPMD) paradigm to allow checkpointing and migration to be manageable. A similar study is cited in Konuru et al. (1997), where a PVM-based SPMD paradigm is provided with a process migration facility. Although these studies are targeted to compute-intensive applications, similar to DYLOBA, the SPMD features an important deviation from DYLOBA's Multiple Program Multiple Data (MPMD) paradigm, which is based on a message passing distributed memory and distributed control infrastructure.

    • Checkpoint and recovery for parallel applications with dynamic number of processes

      2007, Sixth International Symposium on Parallel and Distributed Computing, ISPDC 2007
    • Prestack parallel modeling of dispersive and attenuative medium

      2006, Terrestrial, Atmospheric and Oceanic Sciences
    • Transparent adaptive library-based checkpointing for master-worker style parallelism

      2006, Sixth IEEE International Symposium on Cluster Computing and the Grid, 2006. CCGRID 06
    • Runtime support for collaborative air pollution models

      2002, Systems Analysis Modelling Simulation
    View all citing articles on Scopus
    View full text