리눅스 커널에서 네트워크 멀티미디어 서비스를 위한 메모리 복사 감소 기법 구현

Implementation of Memory Copy Reduction Scheme for Networked Multimedia Service in Linux

  • 김정원 (신라대학교 컴퓨터정보공학부)
  • 발행 : 2003.02.01

초록

MPEG(Motion Picture Expert Group)과 같은 멀티미디어 스트림은 연속적 재생으로 인해 데이터의 지속적인 디스크 검색을 요구한다. 따라서, 커널의 효율적인 지원이 필요한데, 유닉스 계열의 리눅스 버퍼 캐시 시스템은 비정기적이고 비실시간 데이터인 텍스트 데이터용으로 설계되었다. 대용량의 연속 미디어의 경우 커널 주소공간에서 사용자 주소공간으로의 대량의 복사가 이루어지므로 이 과정에서 CPU의 과중한 오버헤드가 발생한다. 이것은 시스템 처리율을 저하시킬 뿐만 아니라 QOS(Quality of Service)도 보장할 수 없다. 본 논문에서 이 메모리 복사 오버헤드를 감소시키기 위한 direct I/O와 one copy 기법을 리눅스 커널에서 설계 및 구현하였다. direct I/O는 디스크의 데이터를 커널 버퍼로 복사하지 않고 사용자 버퍼로 직접 복사하므로 CPU 오버헤드를 획기적으로 감소시킬 수 있다. 그리고, one-copy는 사용자 버퍼로 데이터를 복사하지 않고 직접 네트워크로 전송하는 기법이다. 구현 결과, CPU 오버헤드의 상당한 감소와 시스템의 처리율이 향상됨을 확인하였다.

Multimedia streams, like MPEG continuously retrieve multimedia data because of their incessant playback. While these streams need an efficient support of kernel, the current buffer cache mechanism of Linux kernel such as Unix operating system was designed apt for small files, which is aperiodically requested as well as time uncritical. But, in case of continuous media, the CPU must enormously copy memory from kernel address space to user address space. This must lead to a large CPU overhead. This overhead both degrades system throughput and cannot guarantee QOS. In this paper, we have designed and implemented two memory copy reduction schemes in Linux kernel, direct I/O and one copy. The direct I/O skips the buffer cache layer of Linux kernel and results in dramatic reduction of CPU memory copy overhead. And, the one copy provides a fast disk-to-network data path without copying to user address space. The experimental results show considerable reduction of CPU overhead and throughput improvements.

키워드

참고문헌

  1. Prabhat k. andleigh, Kiran thakrar, Multimedia Systems Design, pp.112, Prentice Hall PTR, 1996
  2. Yuewei wang, David H.C.Du, 'Weighted striping in multimedia servers', Proc.of IEEE on multimedia computing and systems, pp 102-109, June, 1997
  3. Yuewei wang, Johathan C.L. Liu, David H.C. Du and Jenwei, 갋fficient video file allocation schemes for video on demand services', ACM multimedia systems journal, vol.5, no.5, 1997
  4. Renu tewah, Daniel M. Dias, ajit m ukherjee, harrick M. Vin, 'High availability in clustered multimedia servers,' Proc. of the USENIX annual technical conference, Jan, 1996
  5. M.M.Buddihikot, X, J.Chen, D.Wu, and G.M.Parulkar, 'Enhancements to 4.4 BSD unix for efficient networked multimedia in project MARS,' IEEE ICMCS, pp,326-337, 1998
  6. http://techpubs.sgi.com/library/manpages/open.html
  7. Maurice J. Bach, The design of the Unix operation system, Englewood Clif fs, NJ 07632: Prentice-Hall, Inc., 1986
  8. Stephen Tweedie, PATCH : Raw device I/O for 2.1.131, http://www.linuxhq.com/lnxlists/linux-kemel/lk 9812-02/msg00686.html, December 1998
  9. Steen R. Siltis, Thomas M.Ruwart, Matthew T.O'keefe, "The global file system", Proc.of the fifth NASA go odard space center conference on mass storage systems and technologies, sept 17-19, 1996
  10. Jim Mostek, William earl, and dan Koren, Porting the SGI XFS File System to Linux , white paper, htt p://oss.sgi.com/projects/xfs/
  11. Silberschatz, galvin, Operating syste ms concepts, fifth edition, ,1998
  12. M. Beck, H. Bohme, M. Dziadzka,U. Kunitz, R. Magnus, D. Vervomer, Linux Kemel Internals, PP. 148-151, Addison Wesley
  13. Remy card, eric dumans, and frank mevel, The Linux kernel book, Wile y, pp 286-298, 1999
  14. D.E. Knuth, The art of computer programming, vol.3 : Sorting and sear ching. Addison-wealey, 1973