What is KECho?
KECho (pronounced kay-eko) is a distributed event delivery system entirely implemented in the Linux kernel and is a port of the ECho event delivery middleware system. Its main features are:
- The support of the publish/subscribe paradigm and both synchronous and asynchronous event delivery between user-level and kernel-level threads in a distributed system.
- The event transport across the user/kernel boundary is implemented via a system call interface and a novel event communication mechanism, termed ECalls (Event Calls), which enables the asynchronous delivery of events to user-level applications and reduces the overhead associated with event delivery between kernel and user space. In addition, it supports the coordination of event delivery with CPU scheduling, such that the event delivery delays can be minimized.
- KECho transports events asynchronously between applications residing in user space and kernel services (such as resource managers) residing in kernel space on the same host and cross-host.
Where can I get
it?
KECho consists of two parts, (a) a kernel patch for Linux 2.4.19 and (b) a bunch of kernel modules. The modules are kept separated from the kernel tree because the source contains both ECho (several libraries) and KECho (several modules). If you really want to try it out, keep in mind that this is work in progress and there a still some bugs, problems, or unfinished things floating around. The most restrictive at this time being a size limit for events of about 13kBytes due to an unfinished asynchronous I/O interface in KECho. The source can be obtained from here:
- patch for Linux 2.4.19
- KECho kernel modules
How do I install it?
You can find instructions for applying
the patch, compiling and installing the kernel and the modules here.
Where can I read about it?
The following papers describe KECho or some scenarios where it is being used. Other useful papers can be found on the webpages describing ECho, ECalls, or JECho.
- Christian Poellabauer, Hasan Abbasi, and Karsten Schwan, "Cooperative Run-time Management of Adaptive Applications and Distributed Resources", Proceedings of the 10th ACM Multimedia Conference, Juan-les-Pins, France, December 2002.
Postscript | PDF Format- Christian Poellabauer and Karsten Schwan, "Power-Aware Video Decoding using Real-Time Event Handlers", Proceedings of the 5th International Workshop on Wireless Mobile Multimedia (WoWMoM), Atlanta, Georgia, September 2002.
Postscript | PDF Format- Christian Poellabauer and Karsten Schwan, "Kernel Support for the Event-based Cooperation of Distributed Resource Managers", Proceedings of the 8th IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS 2002), San Jose, California, September 2002.
Postscript | PDF Format- Jasmina Jancic, Christian Poellabauer, Karsten Schwan, Matthew Wolf, and Neil Bright, "dproc - Extensible Run-Time Resource Monitoring for Cluster Applications", Proceedings of the International Conference on Computational Science (ICCS '02), Amsterdam, The Netherlands, April 2002.
Postscript | PDF Format- Christian Poellabauer, Karsten Schwan, Greg Eisenhauer, and Jiantao Kong, "KECho - Event Communication for Distributed Kernel Services", Proceedings of the International Conference on Architecture of Computing Systems (ARCS'02), Karlsruhe, Germany, April 2002.
Postscript | PDF Format
Who do I contact
if I have a question?
For questions and suggestions about KECho please contact Christian Poellabauer at chris@cc.gatech.edu.