Abstract
One of very important features that are necessarily supported by clustered parallel computer systems is a single I/O system image in which users can access both the local and remote I/O resources transparently. In this paper, we propose an efficient disk sharing technique supporting a single disk I/O system image architecture. The design separates the I/O subsystem of a cluster into the file system and a set of virtual hard disk drivers. The virtual hard disk driver deals with a hard disk in the remote node as a local hard disk. All services provided by it are performed in the device driver level without any modification of file systems. Users can, therefore, access all the disks in the cluster regardless of their locations. Our virtual hard disk driver is implemented under the linux, and also tested in a linux cluster system. We find by experiments that it can successfully support a single disk I/O space, and at the same time it shows better performance than NFS. We are sure that this paper can be a guideline for single I/O space of other devices to be easily constructed.
가격 대 성능비가 좋다는 장점으로 인해 많이 사용되고 있는 클러스터 병렬 컴퓨터 시스템에서는 여러 노드에 산재해 있는 자원들을 사용자들이 투명하게 사용할 수 있도록 지원하는 것이 필수적이다. 본 논문에서는 클러스터 시스템에서 단일 디스크 입출력 공간을 지원하는 효율적인 디스크 공유 기법을 제안한다. 응용 수준이 아닌 운영 체제 내의 블록 장치 드라이버 수준에서 디스크 공유를 지원함으로써 사용자들은 로컬 및 원격 디스크를 구분할 필요 없이 클러스터 시스템 내의 모든 디스크들을 마치 로컬 디스크 인 것처럼 투명하게 사용할 수 있다. 기반 운영체제로는 리눅스를 사용하였으며, 실험 결과 단일 디스크 입출력 공간을 성공적으로 지원함과 동시에 비교적 단순한 전역 캐쉬 일관성 정책을 사용했음에도 성능 면에서 NFS에 비해 읽기 성능은 유사, 쓰기 성능은 월등히 향상됨을 확인할 수 있었다. 본 논문이 기여하는 바는 블록 장치 드라이버 수준에서 단일 디스크 입출력 공간을 지원하는 기법을 제안함으로써 블록 장치 드라이버에 비해 비교적 구현이 쉬운 기타 입출력 장치 드라이버에 대해서도 유사한 방식으로 단일 입출력 공간을 지원할 수 있도록 도움을 줄 수 있다는 점이다.