Abstract
NRD(Network RamDisk) is a scheme which allows a system to use the memory of the remote systems just as his own block device via networking. Basically, it consists of a client requesting an NRD access and server providing the NRD. In this paper, we describe the design, implementation and experiment of the block device driver for accessing the NRD in the Linux kernel(2.6) level. First of all, we have analyzed the flow of processing the requests for accessing the block devices in the traditional Linux kernel and figured out the additional functions required for supporting the NRD. Then we have designed and implemented the device diver of NRD client and NRD server for providing these functions. Finally, we have established a NRD server system, and reviewed its functional feasibility by experimenting the requests of NRD access through the NRD device driver implemented on a NRD client.
NRD(Network RamDisk)는 원격 시스템의 메모리를 네트워크를 통하여 마치 자신의 블록 디바이스처럼 사용할 수 있도록 하는 기법이다. 기본적으로 이 기법은 NRD 접근을 요청하는 NRD 클라이언트와 NRD를 제공하는 NRD 서버 시스템으로 구성된다. 본 논문에서는 리눅스 커널(2.6) 수준에서 NRD 접근을 지원하기 위한 블록 디바이스 드라이버의 설계, 구현 그리고 실험을 제시한다. 이를 위하여 우선 기존 리눅스 커널에서 블록 디바이스에 대한 접근 요청이 처리되는 과정을 분석하여 NRD를 지원하기 위하여 요구되는 추가적인 기능들을 도출한다. 그리고 이 기능들을 제공하는 NRD 클라이언트의 디바이스 드라이버와 NRD 서버를 설계 및 구현한다. 마지막으로 NRD 서버 시스템을 구축하고, 구현된 NRD 디바이스 드라이버를 통한 NRD 클라이언트의 NRD 접근 요청을 실험함으로써 제시한 기법의 기능적 타당성을 검토한다.