GUY BERNARD, ANDRZEJ DUDA, YORAM HADDAD, MEMBER, IEEE, AND GILBERT HARRUS
Andrzej Duda, Gary Harms · 1989
Epsilon is a testbed for monitoring distributed applica- tions involving heterogenenous computers, including microcomputers, interconnected by a local area network. Such a hardware configuration is usual but raises difficulties for the programmer. First, the interpro- cess 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. What is needed at this level is the possibility to designate the different modules of a distributed application and to send and receive messages between them, in a way as simple as possi- ble. This paper presents the solution chosen in Epsilon. A set of high- level communication primitives has been designed and implemented. They provide the programmer with an interface independent of the operating system and of the underlying interprocess communications facilities. A program participating to a distributed application may be executed on any host without any change in the source code except for hostnames. No change is done in the operating system of the hosts. The set of primitives is complemented by three user-written functions. Index Terms-Communication primitives, communication proto- cols, distributed computing, local area network, message passing.