Implementing High-Performance In-Kernel Network Services with WYKIWYG
Résumé
This paper introduces the design philosophy and underlying principles of WYKIWYG, a language to implement high performance network services. A WYKIWYG compiler, unlike compilers for traditional languages, is empowered with the knowledge of underlying OS mechanisms such as task management, memory management, the device I/O interface etc. generates code which is specically optimized for these echanisms, and can even go as far as modifying or extending them in a controlled manner. Preliminary experiments with manually compiled code show that such code can improve the throughput of network services by up to an order of magnitude.