리눅스에서 압축을 이용한 안정적인 네트웍 램의 설계 및 구현

The Design and Implementation of the Reliable Network RAM using Compression on Linux

  • 황인철 (한국과학기술원 전산학과) ;
  • 정한조 (한국과학기술원 전산학과) ;
  • 맹승렬 (한국과학기술원 전산학과) ;
  • 조정완 (한국과학기술원 전산학과)
  • 발행 : 2003.06.01

초록

기존 운영체제들은 물리적 메모리보다 더 많은 양의 메모리를 사용자에게 제공하기 위하여 가상 메모리 페이징 시스템을 사용한다. 가상 메모리 페이징 시스템에서는 물리적 메모리가 부족해지면 교체되는 메모리 내용을 저장시킬 수 있는 스왑 장치를 필요로 하는데, 기존 운영 체제들에서는 디스크를 스왑 장치로 사용한다. 디스크는 물리적 메모리에 비해 접근 속도가 매우 느리기 때문에 스왑핑이 일어나면 물리적 메모리의 접근 시간에 비해 많은 시간을 기다려야 한다. 여러 대의 PC를 빠른 네트웍으로 묶는 클러스터 환경에서는 디스크의 접근 시간보다 네트웍을 통하여 다른 워크스테이션의 메모리에 접근하는 시간이 더 빠르기 때문에 사용 가능한 다른 워크스테이션의 메모리를 디스크 대신 빠른 장치로 사용하고자 하는 네트웍 램이 제시되었다. 본 논문에서는 Linux 운영 체제에서 스왑 장치 관리자로 네트웍 램을 설계, 구현하여 디스크를 스왑 장치로 사용하는 시스템보다 네트웍 램을 스왑 장치로 사용하는 시스템이 프로그램 수행 속도에 있어 평균 40.3%의 성능 향상이 있었다. 그리고 기존 RAID 시스템에서 사용하던 안정성 제공 방법과 다른 프로세서의 성능을 효율적으로 이용하는 새로운 안정성 제공방법을 제시하였고 평가 결과 본 논문에서 제시한 새로운 안정성 제공 방법인 압축을 이용한 복사본을 두는 방법은 적은 서버 메모리와 메시지를 사용하여 유사한 성능을 나타낸다.

Traditional operating systems use a virtual memory to provide users with a bigger memory than a physical memory. The virtual memory augments the insufficient physical memory by the swap device. Since disks are usually used as the swap device, the cost of a page fault is relatively high compared to the access cost of the physical memory. Recently, numerous papers have investigated the Network RAM in order to exploit the idle memory in the network instead of disks. Since today's distributed systems are interconnected with high-performance networks, the network latency is far smaller than the disk access latency In this paper we design and implement the Network RAM using block device driver on Linux. This is the first implementation of the Network RAM on Linux. We propose the new reliability method to recover the page when the other workstation's memory is damaged. The system using the Network RAM as the swap device reduces the execution time by 40.3% than the system using the disk as the swap device. The performance results suggest that the new reliability method that use the processor more efficiently has the similar execution time with others, but uses smaller server memory and generates less message traffic than others.

키워드

참고문헌

  1. E. Anderson and J. Neefe. An Exploration of Network RAM. Technical Report CSD-98-1000, Computer Science Division, University of California, Berkeley, July 1998
  2. Rajkumar Buyya. High Performance Cluster Computing: Architectures and Systems. Prentice Hall, 1999
  3. Peter M. Chen, Edward K. Lee, Garth A. Gibson, Randy H. Katz, and David A. Patterson. RAID: High-Performance, Reliable Secondary Storage. ACM Computing Surveys, 26(2):145-185, June 1994 https://doi.org/10.1145/176979.176981
  4. George Dramitinos and Evangelos P. Markatos. Adaptive and Reliable Paging to Remote Main Memory. Journal of Parallel and Distributed Computing, 58(3)357-388, September 1999 https://doi.org/10.1006/jpdc.1999.1546
  5. M. J. Feeley, W. E. Morgan, F. H. Pighin, A. R. Karlin, H. M. Levy, and C. A. Thekkath. Implementing Global Memory Management in a Workstation Cluster. In Proceedings of the 15th Symposium on Operating Systems Principles, December 1995 https://doi.org/10.1145/224056.224072