Scalable Network Asynchronous I/O Mechanism for Linux Operating System

리눅스 운영체제를 위한 확장성있는 네트워크 비동기 입출력 메커니즘

  • Ahn Baik-song (Internet Server Group, Electronics and Telecommunications Research Institute) ;
  • Kim Kang-Ho (Internet Server Group, Electronics and Telecommunications Research Institute) ;
  • Jung Sung-In (Internet Server Group, Electronics and Telecommunications Research Institute)
  • 안백송 (한국전자통신연구원 인터넷서버그룹) ;
  • 김강호 (한국전자통신연구원 인터넷서버그룹) ;
  • 정성인 (한국전자통신연구원 인터넷서버그룹)
  • Published : 2005.07.01

Abstract

고품질의 확장성 있는 서비스를 제공함으로써 다수의 사용자의 요청을 처리하고 시스템을 견고하게 유지할 수 있는 인터넷 서버를 구현하기 위한 한 가지 방법은 비동기 입출력 기능(AIO)을 이용하는 것이다. 기존의 고전적인 입출력 방식인 poll()/select()에 비해 AIO는 CPU 부하를 비롯한 시스템 자원의 낭비를 줄일 수 있으며, 입출력 완료를 기다리면서 블록되지 않으므로 시스템 부하를 감소할 수 있다. 본 논문에서는 리눅스 커널에 구현되어 있는 파일 기반 AIO기능을 네트워크 소켓 상에서 동작할 수 있도록 확장 구현하였으며, 그 구조에 대하여 자세히 설명하였다. 또한 클라이언트-서버 구조를 모델링한 실험을 통해 기존 메커니즘과의 성능 차이를 비교하였다.

Keywords