Kseq: A New Scalable Synchronous I/O Multiplexing Mechanism For Event-Driven Applications

Hongtao Xia,Weiping Sun,Jingli Zhou,Yunhua Huang,Jifeng Yu
DOI: https://doi.org/10.1007/978-3-540-74742-0_85
2007-01-01
Abstract:The performance of event-driven network applications, such as Web servers and proxies, was influenced by the scalability and efficiency of synchronous I/O multiplexing mechanism. Research shows that event-based mechanism can ensure the scalability, and using kernel-user shared memory to evade system calls can reduce a lot of system overhead. But these two features can not be combined by any solution till now, because of synchronous problem. This paper attempts to design an event notification mechanism for event-driven network applications, which using kernel-user shared event queues (KSEQ) to achieve both good scalability and low system overhead. The KSEQ works something like double buffer, and both application and kernel can write the shared data structures without the help of synchronization system calls. Experiment shows that the Squid proxy server using this mechanism presents shorter response time than other mechanisms.
What problem does this paper attempt to address?