Abstract
Traditional kernel-level communication systems for clusters are dependent upon computing platforms. Futhermore, they are not easy to use and do not provide various functions for clusters. This paper presents an architecture and various implementation issues of a kernel-level communication system, KCCM(Kernel level Cluster Communication Module), for linux cluster. The KCCM provides asynchronous communication services as well as standard synchronous communication services using send and receive. The KCCM also automatically detects and recovers connection failures at runtime. This allows programmers to use KCCM when they build mission critical applications over TCP-based connection-oriented communication environments. Having developed using standard socket interfaces, it can be easily ported to various platforms. The experimental results show that the KCCM provides good performance for asynchronous communication patterns.
클러스터를 위한 기존의 커널 수준 통신 시스템들은 플랫폼에 종속적이고, 사용이 어렵거나 클러스터를 위한 다양한 기능을 제공하고 있지 못하다. 본 논문에서는 리눅스 클러스터 상에서 커널 수준의 어플리케이션 개발을 위한 통신 모듈인 KCCM(Kernel level Cluster Communication Module)을 설계하고 개발하였다. KCCM은 송수신(send/receive) 기반의 동기 통신과 원격 함수 호출(remote procedure call) 기반의 비동기 통신을 모두 지원하며 포팅 가능성을 고려하여 커널 소켓을 이용하여 구현되었다. 또한 TCP와 같은 연결 기반(connection oriented)의 시스템에서 발생할 수 있는 연결 상태의 장애를 복구 할 수 있는 기능을 갖춘 동시에 사용하기 쉬운 인터페이스를 가지도록 설계되었다. 본 논문에서는 실험을 통하여 KCCM의 성능을 RPC(Remote Procedure Call)와 비교해 보았으며 특히 비동기 통신을 요구하는 통신 구조에서 적합함을 보였다.