Primitives for Distributed Computing in a Heterogeneous Local Area Network Environment

Epsilon is a testbed for monitoring distributed applications involving heterogeneous computers, including microcomputers, interconnected by a local area network. Such a hardware configuration is usual but raises difficulties for the programmer. First, the interprocess communication mechanisms provided by the operating systems are rather cumbersome to use. Second, they are different from one system to another. Third, the programmer of distributed applications should not worry about system and/or network aspects that are not relevant for the application level. The authors present the solution chosen in Epsilon. A set of high-level communication primitives has been designed and implemented to provide the programmer with an interface independent of the operating system and of the underlying interprocess communications facilities. A program participating in a distributed application can be executed on any host without any change in the source code except for host names. >

[1]  Willy Zwaenepoel,et al.  The distributed V kernel and its performance for diskless workstations , 1983, SOSP '83.

[2]  Santosh K. Shrivastava,et al.  The Design of a Reliable Remote Procedure Call Mechanism , 1982, IEEE Transactions on Computers.

[3]  Raphael A. Finkel,et al.  Interprocess Communication in Charlotte , 1987, IEEE Software.

[4]  Roger M. Needham,et al.  On the duality of operating system structures , 1979, OPSR.

[5]  Yoram Haddad Performances dans les systèmes répartis : des outils pour les mesures , 1988 .

[6]  David A. Mosher,et al.  The impact of buffer management on networking software performance in Berkeley UNIX 4 , 1985 .

[7]  Brett D. Fleisch Distributed system V IPC in LOCUS: a design and implementation retrospective , 1986, SIGCOMM '86.

[8]  Andrew S. Tanenbaum,et al.  Distributed operating systems , 2009, CSUR.

[9]  Robert M. Metcalfe,et al.  Pup: An Internetwork Architecture , 1980, IEEE Trans. Commun..

[10]  Santosh K. Shrivastava,et al.  Reliable Remote Calls for Distributed UNIX: An Implementation Study , 1985 .

[11]  David R. Cheriton The V Kernel: A Software Base for Distributed Systems , 1984, IEEE Software.

[12]  David J. DeWitt,et al.  The Crystal Multicomputer: Design and Implementation Experience , 1987, IEEE Transactions on Software Engineering.

[13]  John A. Stankovic,et al.  A Perspective on Distributed Computer Systems , 1984, IEEE Transactions on Computers.

[14]  George G. Robertson,et al.  Accent: A communication oriented network operating system kernel , 1981, SOSP.

[15]  Morris Sloman,et al.  Distributed systems and computer networks , 1987, Prentice Hall International series in computer science.

[16]  Richard W. Watson Distibuted System Architecture Model , 1980, Advanced Course: Distributed Systems.

[17]  Philip H. Enslow What is a "Distributed" Data Processing System? , 1978, Computer.

[18]  Ashok K. Agrawala,et al.  An optimal algorithm for mutual exclusion in computer networks , 1981, CACM.

[19]  Bruce Walker,et al.  The LOCUS distributed operating system , 1983, SOSP '83.

[20]  David A. Mosher A Study of An Internet Protocol Implementation , 1985 .

[21]  Barton P. Miller,et al.  DEMOS/MP: The development of a distributed operating system , 1987, Softw. Pract. Exp..

[22]  Barbara Liskov,et al.  On Linguistic Support for Distributed Programs , 1982, IEEE Transactions on Software Engineering.

[23]  Bruce Jay Nelson Remote procedure call , 1981 .

[24]  Brian N. Bershad,et al.  A Remote Procedure Call Facility for Interconnecting Heterogeneous Computer Systems , 1987, IEEE Transactions on Software Engineering.

[25]  D. Lee,et al.  A reliable datagram protocol on local area networks , 1986, SIGCOMM '86.

[26]  Jerome H. Saltzer,et al.  End-to-end arguments in system design , 1984, TOCS.

[27]  Andrew Birrell,et al.  Implementing remote procedure calls , 1984, TOCS.

[28]  Murali Subbarao,et al.  Experience With Crystal, Charlotte and Lynx , 1986 .

[29]  David D. Clark,et al.  Modularity and efficiency in protocol implementation , 1982, RFC.

[30]  John A. Stankovic,et al.  Software Communication Mechanisms: Procedure Calls versus Messages , 1982, Computer.

[31]  Robert E. Millstein The National Software Works: A distributed processing system , 1977, ACM '77.

[32]  David Clark The structuring of systems using upcalls , 1985, SOSP 1985.

[33]  Barbara Liskov,et al.  Primitives for distributed computing , 1979, SOSP '79.

[34]  Samuel T. Chanson,et al.  Performance Evaluation of the ARPANET Transmission Control Protocol in a Local Area Network Environment , 1985 .

[35]  Marvin Theimer,et al.  An Empirical Study of Distributed Application Performance , 1985, IEEE Transactions on Software Engineering.

[36]  David R. Cheriton,et al.  UIO: a uniform I/O system interface for distributed systems , 1987, TOCS.

[37]  Roger M. Needham,et al.  Grapevine: an exercise in distributed computing , 1982, CACM.

[38]  Andrew P. Black,et al.  Interconnecting heterogeneous computer systems , 1988, CACM.

[39]  Andrew P. Black,et al.  The Eden System: A Technical Review , 1985, IEEE Transactions on Software Engineering.

[40]  David D. Redell,et al.  Evolution of the Ethernet Local Computer Network , 1982, Computer.

[41]  Liba Svobodova File servers for network-based distributed systems , 1984, CSUR.

[42]  Brian Randell,et al.  The newcastle connection or UNIXes of the world unite! , 1982, Softw. Pract. Exp..

[43]  Roger M. Needham,et al.  Experience with Grapevine: the growth of a distributed system , 1984, TOCS.

[44]  Jon Postel,et al.  User Datagram Protocol , 1980, RFC.