Browse Prior Art Database

Distributed Process Groups in the V Kernel

IP.com Disclosure Number: IPCOM000128280D
Original Publication Date: 1985-Dec-31
Included in the Prior Art Database: 2005-Sep-15
Document File: 28 page(s) / 87K

Publishing Venue

Software Patent Institute

Related People

David R. Cheritont: AUTHOR [+4]

Abstract

The V kernel supports an abstraction of processes, with operations for interprocess communication, process management and memory management. This abstraction is used as a software base for constructing distributed systems. As a distributed kernel, the V kernel makes intermachine boundaries largely transparent. In this environment of many cooperating processes on different machines, there are many logical groups of processes. Examples include the group of file servers, a group of processes executing a particular job and a group of processes executing a distributed parallel computation. This paper describes the extension of the V kernel to support process groups. Operations on groups include group interprocess communication, which provides an application- level abstraction of network multicast. Aspects of the implementation and performance, and initial experience with applications are discussed.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 4% of the total text.

Page 1 of 28

THIS DOCUMENT IS AN APPROXIMATE REPRESENTATION OF THE ORIGINAL.

Distributed Process Groups in the V Kernel

David R. Cheritont Willy Zwaenepoel

Rice CONIP TR85-13

February 1985

Depaxtment of Computer Science Rice University P.O. Box 1892 Houston, TX 77251-4892

(713) 527-8101

t David R. Cheriton is with the Department of Computer Science, Stanford University, Stanford, CA 94305. This work was sponsored in part by the Defense Advanced Research Projects Agency under contract N0003M3-K-0431 and by the National Science Foundation under grant DCR-83-52048.

Abstract

The V kernel supports an abstraction of processes, with operations for interprocess communication, process management and memory management. This abstraction is used as a software base for constructing distributed systems. As a distributed kernel, the V kernel makes intermachine boundaries largely transparent.

In this environment of many cooperating processes on different machines, there are many logical groups of processes. Examples include the group of file servers, a group of processes executing a particular job and a group of processes executing a distributed parallel computation.

This paper describes the extension of the V kernel to support process groups. Operations on groups include group interprocess communication, which provides an application- level abstraction of network multicast. Aspects of the implementation and performance, and initial experience with applications are discussed.

1. Introduction

The V kernel [10] provides an abstraction of processes, with operations for interprocess communication (IPC), process management and memory management This abstraction is used as a software base for constructing distributed systems. As a distributed kernel, the V kernel makes intermachine boundaries largely transparent. In this environment of many cooperating processes, it is useful to be able to view some set of processes as a single logical entity, a process group, and perform operations on this entity.

-As one example, a distributed system may have multiple servers providing file serAce. To locate a given file, a client process may need to communicate with the group of rile servers to determine which one has the file, as illustrated in Figure 1 -1.;

(Image Omitted: Figurel-1: Request to a Group of File Servers)

Rice University Page 1 Dec 31, 1985

Page 2 of 28

Distributed Process Groups in the V Kernel

Another example arises in executing a pipeline of filter programs. The user may wish to suspend, resume or terminate the group of processes executing this pipeline, as depicted in Figure 1-2. This is an example of job control, controlling a set of programs In execution. Finally, in a distributed computation, process groups and group operations can be used for intraprogram communication and control. That is, when one logical program is executed as multiple processes (possibly executing across several processors), the set of processes executing the program can be viewed as...