DOI QR코드

DOI QR Code

Block Device Driver of Linux for Accessing the NRD

NRD 접근을 위한 리눅스 블록 디바이스 드라이버

  • 손태영 (호서대학교 컴퓨터공학부) ;
  • 임성락 (호서대학교 컴퓨터공학부)
  • Received : 2015.02.04
  • Accepted : 2015.05.07
  • Published : 2015.05.31

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 접근 요청을 실험함으로써 제시한 기법의 기능적 타당성을 검토한다.

Keywords

References

  1. Matthews, J. N., Roselli, D., Costello, A. M., Wang, R. Y., & Anderson, T. E., "Improving the perfomance of long-structured file system with adaptive methods", In Proc 16-th Symposium on Operating Systems Principles, Vol.31, No.5, pp.238-251, 1997.
  2. Rosenblum, M., Ousterhout, J. K., "The design and implementation of a log-structured file system", ACM Transactions on Computer Systems (TOCS), Vol.10, No.1 pp.26-52, 1992. DOI: http://dx.doi.org/10.1145/146941.146943
  3. Seltzer, M., Bostic, K., McKusick, M. K., & Staelin, C., "An implementation of a long-structured file system for unix", Proceedings of the USENIX Winter 1993 Conference Proceedings on USENIX Winter 1993 Conference Proceedings, USENIX Association, pp.3-3, 1993.
  4. Flouris, Michail D., and Evangelos P. Markatos., "The network RamDisk: Using remote memory on heterogeneous NOWs", Cluster computing, Volume 2, No.4, pp.281-293, 1999. DOI: http://dx.doi.org/10.1023/A:1019051330479
  5. Falinux(주), "Processor Module", http://www.falinux.com/kr/desktop/product/epb/sib_g100, 2015
  6. Bovet, Daniel P., and Marco Cesati., Understanding the Linux Kernel, O'Reilly Media, 2005.
  7. Nutt, Gary J. Kernel projects for linux. Addison Wesley Longman, 2000.
  8. Jun-Ho Her, "Design and Implementation of Reliable Network RamDisk", Korea Information Processing Society(KIPS), Vol.8, No.2, pp.283-286, 2001.
  9. Beta-song's project - ksocket, "ksocket", ksocket.sourceforge.net, 2015