• DocumentCode
    1659487
  • Title

    A fast polling I/O implementation with real-time signals

  • Author

    Kawai, Eiji ; Kadobayash, Y. ; Yamaguchi, Suguru

  • Author_Institution
    Nara Inst. of Sci. & Technol., Japan
  • fYear
    2004
  • Firstpage
    317
  • Lastpage
    322
  • Abstract
    This study revisits the scalability issue of polling I/O, i.e., select () and poll (). Although polling I/O was an efficient and hence popular I/O multiplexing mechanism, it is believed inadequate today to handle tens of thousands of concurrent TCP connections because the scanning cost of such a large connection list is overwhelmingly high. However, the real problem of polling I/O is not in the semantics itself but in various implementation factors such as memory allocations and copies to process a system call, pointer operations and function calls through VFS, and wait channel management to handle events. To mitigate these overheads and reinstate polling I/O as an efficient I/O multiplexing mechanism, we have developed a fast polling I/O library based on POSIX real-time signals. This library implements the full functionality of polling I/O by managing the state transition of each connection notified with realtime signals. Traditional polling I/O has a weakness especially when it polls a small number of active connections together with a huge number of idle ones. Our polling I/O library is proved to achieve high performance in that situation.
  • Keywords
    Unix; application program interfaces; input-output programs; real-time systems; I/O multiplexing mechanism; POSIX real-time signals; VFS; concurrent TCP connections; connection list; fast polling I/O implementation; fast polling I/O library; function calls; memory allocation; pointer operations; real time signals; system call; wait channel management; Costs; IP networks; Libraries; Memory management; Network servers; Programming profession; Real time systems; Scalability; Sockets; Yarn;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Network Computing and Applications, 2004. (NCA 2004). Proceedings. Third IEEE International Symposium on
  • Print_ISBN
    0-7695-2242-4
  • Type

    conf

  • DOI
    10.1109/NCA.2004.1347793
  • Filename
    1347793