Horus: A Flexible Group Communications System

This paper reports on the Horus project, which provides an unusually flexible group communication model to application-developers. This flexibility extends to system interfaces, the properties provided by a protocol stack, and even the configuration of Horus itself, which can run in user space, in a...

Full description

Bibliographic Details
Main Authors: Robbert Van Renesse, Kenneth P. Birman, Silvano Maffeis
Other Authors: The Pennsylvania State University CiteSeerX Archives
Format: Text
Language:English
Published: 1996
Subjects:
Online Access:http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.45.7258
id ftciteseerx:oai:CiteSeerX.psu:10.1.1.45.7258
record_format openpolar
spelling ftciteseerx:oai:CiteSeerX.psu:10.1.1.45.7258 2023-05-15T17:53:52+02:00 Horus: A Flexible Group Communications System Robbert Van Renesse Kenneth P. Birman Silvano Maffeis The Pennsylvania State University CiteSeerX Archives 1996 application/postscript http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.45.7258 en eng http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.45.7258 Metadata may be used without restrictions as long as the oai identifier remains attached to it. ftp://ftp.softwired-inc.com/people/maffeis/electra/cacm96.ps.gz text 1996 ftciteseerx 2016-01-08T05:48:51Z This paper reports on the Horus project, which provides an unusually flexible group communication model to application-developers. This flexibility extends to system interfaces, the properties provided by a protocol stack, and even the configuration of Horus itself, which can run in user space, in a operating system kernel or microkernel, or be split between them. Horus is used through an interface proxy. Proxies can support toolkits that use groups explicitly, or hide groups beneath parallel programming back-ends (for example, the Panda subsystem of the Orca language [2], and IBM's PCODE subsystem for MPI). Finally, we have developed a proxy that intercepts certain classes of system calls and maps them into Horus operations, for example to provide security or fault-tolerance features transparently [3]. This proxy has also been used to embed Horus into Tcl/TK and Python, both popular prototyping languages. Different uses of groups create different requirements on the membership and communication functionality of the system. Some properties (like virtual synchrony) may impose undesirable overheads, or even be incompatible, with other properties (like real-time communication) . Moreover, the mechanisms required to implement a desired group communication property depend on the runtime environment. In an insecure environment, one might accept the overhead of data encryption, but wish to avoid this cost when running within a firewall. Text Orca Unknown
institution Open Polar
collection Unknown
op_collection_id ftciteseerx
language English
description This paper reports on the Horus project, which provides an unusually flexible group communication model to application-developers. This flexibility extends to system interfaces, the properties provided by a protocol stack, and even the configuration of Horus itself, which can run in user space, in a operating system kernel or microkernel, or be split between them. Horus is used through an interface proxy. Proxies can support toolkits that use groups explicitly, or hide groups beneath parallel programming back-ends (for example, the Panda subsystem of the Orca language [2], and IBM's PCODE subsystem for MPI). Finally, we have developed a proxy that intercepts certain classes of system calls and maps them into Horus operations, for example to provide security or fault-tolerance features transparently [3]. This proxy has also been used to embed Horus into Tcl/TK and Python, both popular prototyping languages. Different uses of groups create different requirements on the membership and communication functionality of the system. Some properties (like virtual synchrony) may impose undesirable overheads, or even be incompatible, with other properties (like real-time communication) . Moreover, the mechanisms required to implement a desired group communication property depend on the runtime environment. In an insecure environment, one might accept the overhead of data encryption, but wish to avoid this cost when running within a firewall.
author2 The Pennsylvania State University CiteSeerX Archives
format Text
author Robbert Van Renesse
Kenneth P. Birman
Silvano Maffeis
spellingShingle Robbert Van Renesse
Kenneth P. Birman
Silvano Maffeis
Horus: A Flexible Group Communications System
author_facet Robbert Van Renesse
Kenneth P. Birman
Silvano Maffeis
author_sort Robbert Van Renesse
title Horus: A Flexible Group Communications System
title_short Horus: A Flexible Group Communications System
title_full Horus: A Flexible Group Communications System
title_fullStr Horus: A Flexible Group Communications System
title_full_unstemmed Horus: A Flexible Group Communications System
title_sort horus: a flexible group communications system
publishDate 1996
url http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.45.7258
genre Orca
genre_facet Orca
op_source ftp://ftp.softwired-inc.com/people/maffeis/electra/cacm96.ps.gz
op_relation http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.45.7258
op_rights Metadata may be used without restrictions as long as the oai identifier remains attached to it.
_version_ 1766161567305433088