Experimental Facility for Kernel Extensions to Support Distributed Database Systems

Operating system services can be implemented inside the kernel or at the user level. The decision depends on the performance-complexity tradeoff. Kernel-level functions while efficient, are hard to implement. User-level implementations are generally penalized by poor performance and lack of security. This paper proposes a new approach to supplement and/or modify kernel facilities. Our eAl'erimental facility called Push is based on an extension language interpreted within the kernel, that provides the flexibility and security required. Our implementation provides the efficiency of kernel· resident code as well as the simplicity and safety of user-level programming. This facility enables experimentation that would be difficult and time-consuming in current environments. The overhead of the Push implementation can be factored out to give a good approximation of the performance of a native kernel implementation. We have used Push to implement kernel-resident communication services. A multicast implementation in Push has an inherent overhead of 0.32 milliseconds per additional site. The corresponding overhead for direct kernel-level implementation is 1.17 milliseconds and for a user-level implementation 0.57 milliseconds. ~Submitted to the 10lh IEEE International Conference on Distributed Computing Systems tThis research is supported by NASA and AIRMICS under grant number NAG-1-676, NSF, AT&T, and by a LASPAU fellowship.

[1]  Michael Stonebraker,et al.  Operating system support for database management , 1981, CACM.

[2]  Brian N. Bershad,et al.  Watchdogs - Extending the UNIX File System , 1988, Comput. Syst..

[3]  Tony Hoare Operating Systems: their purpose‚ objectives‚ functions and scope , 1972 .

[4]  Jeffrey C. Mogul,et al.  The packer filter: an efficient mechanism for user-level network code , 1987, SOSP '87.

[5]  Samuel J. Leffler,et al.  The design and implementation of the , 1990 .

[6]  Bharat K. Bhargava,et al.  Communication in the Raid Distributed Database System , 1991, Comput. Networks ISDN Syst..

[7]  David L. Black,et al.  The duality of memory and communication in the implementation of a multiprocessor operating system , 1987, SOSP '87.

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

[9]  John P. McDermott,et al.  R1 Revisited: Four Years in the Trenches , 1984, AI Mag..

[10]  Bharat K. Bhargava,et al.  The Raid Distributed Database System , 1989, IEEE Trans. Software Eng..

[11]  Dale Skeen,et al.  Nonblocking commit protocols , 1981, SIGMOD '81.

[12]  Alfred Z. Spector Communication Support in Operating Systems for Distributed Transactions , 1986, Networking in Open Systems.

[13]  Dennis M. Ritchie,et al.  A stream input-output system , 1990 .

[14]  Calton Pu,et al.  The Synthesis Kernel , 1988, Comput. Syst..

[15]  Claude Kaiser,et al.  CHORUS Distributed Operating System , 1988, Comput. Syst..