Efficient Network I/O Polling with Fine-grained Interval Control

E. Kawai, Y. Kadobayashi, and S. Yamaguchi (Japan)


polling I/O, interval control, scalability, select(), poll(), socket programming


On the Unix platform, it is a well-known problem that the polling I/O such as select() and poll() causes a per formance bottleneck especially when a server is heavily loaded by network I/O. To resolve this issue, we propose a unique technique that improves the efficiency of the polling I/O without major modification to its semantics. The key idea for the high efficiency is a fine-grained interval con trol of the polling I/O, which avoids excessively frequent invocations of the polling I/O. In addition, the simple im plementation is the other advantage of our solution. The approaches proposed in other literature so far provide a spe cial interface to notify the socket state changes to a server process, and therefore they require considerable modifi cation in the server program and/or the operating system. Since our technique does not alter the current programming model of the polling I/O, it can be applied easily to any kind of network servers based on the polling I/O model. Benchmark tests confirmed that the interval control mecha nism largely improved the I/O performance such as service throughput and response time.

Important Links:

Go Back