TY - JOUR
T1 - Efficient multicast design in a microkernel environment
AU - Averbuch, A.
AU - Cohen, A.
PY - 1998/6
Y1 - 1998/6
N2 - Multicast has become popular in recent years with the introduction of new, very fast networks. Existing solutions of the multicast design and implementation problems are either inefficient in microkernel environments or too expensive in terms of the host operating system overhead involved. In our search for a new solution we investigate various aspects of the problem. Exploring the desired semantics, we come to the conclusion that control functions, group maintenance algorithms and various ordering semantics can be implemented on top of the basic services, and that the efficiency of these implementations is less critical than that of the basic services. We describe a few naive solutions to supporting multicast in microkernels and show their limitations. Then we suggest a new solution to the problem and show analytically that it is significantly better than other solutions. The solution we decided to implement is a hybrid solution supporting control operations in user space and data operations in the kernel. It enables the semantics of multicast or group communication abstractions to be separated from the operating system support and mechanisms used to implement those abstractions. Since we propose an efficient solution while introducing minimal changes to the Mach kernel, our hybrid solution suggests splitting the group communication burden between the microkernel and a group server (GS). To implement our hybrid solution the Mach kernel has been modified. Finally, we present an implementation of our new solution for the Mach 3.0 microkernel environment and show a very significant measured speedup in performance of multicast operations over naive methods for multicasting.
AB - Multicast has become popular in recent years with the introduction of new, very fast networks. Existing solutions of the multicast design and implementation problems are either inefficient in microkernel environments or too expensive in terms of the host operating system overhead involved. In our search for a new solution we investigate various aspects of the problem. Exploring the desired semantics, we come to the conclusion that control functions, group maintenance algorithms and various ordering semantics can be implemented on top of the basic services, and that the efficiency of these implementations is less critical than that of the basic services. We describe a few naive solutions to supporting multicast in microkernels and show their limitations. Then we suggest a new solution to the problem and show analytically that it is significantly better than other solutions. The solution we decided to implement is a hybrid solution supporting control operations in user space and data operations in the kernel. It enables the semantics of multicast or group communication abstractions to be separated from the operating system support and mechanisms used to implement those abstractions. Since we propose an efficient solution while introducing minimal changes to the Mach kernel, our hybrid solution suggests splitting the group communication burden between the microkernel and a group server (GS). To implement our hybrid solution the Mach kernel has been modified. Finally, we present an implementation of our new solution for the Mach 3.0 microkernel environment and show a very significant measured speedup in performance of multicast operations over naive methods for multicasting.
UR - http://www.scopus.com/inward/record.url?scp=0032093011&partnerID=8YFLogxK
U2 - 10.1002/(SICI)1096-9128(199806)10:7<497::AID-CPE328>3.0.CO;2-V
DO - 10.1002/(SICI)1096-9128(199806)10:7<497::AID-CPE328>3.0.CO;2-V
M3 - ???researchoutput.researchoutputtypes.contributiontojournal.article???
AN - SCOPUS:0032093011
SN - 1040-3108
VL - 10
SP - 497
EP - 548
JO - Concurrency Practice and Experience
JF - Concurrency Practice and Experience
IS - 7
ER -