A Kernel-Level Communication Module for Linux Clusters

리눅스 클러스터를 위한 커널 수준 통신 모듈

  • Published : 2003.06.01

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)와 비교해 보았으며 특히 비동기 통신을 요구하는 통신 구조에서 적합함을 보였다.

Keywords

References

  1. T. Anderson, D. Culler, D. Patterson, and the NOW Team, 'A Case for NOW(Network of Workstations),' IEEE Micro, pp.1-6, 1995 https://doi.org/10.1109/40.342018
  2. G. Ciaccio, 'A Communication System for Efficient Parallel Processing on Clusters of Personal Computers,' PhD Thesis DISI-TH-1999-02, pp.20-66, 1999
  3. A. Mainwaring, D. Culler, S. Goldstein and K. Schauser, 'Active Messages: a Mechanism for Integrated Communication and Computation,' Proc. of the 19th ISCA, 1992 https://doi.org/10.1145/139669.140382
  4. E. Lusk, B. Saphir, M. Snir, 'MPI-2: Extensions to the Message-Passing Interface,' MPI Standard 2.0, 1997
  5. 'Parallel Virtual Machine,' http://www.epm.oml.gov/pvm/
  6. S. Pakin, V. Karamcheti, and A. Chien, et. al., 'Fast Messages (FM): Efficient, Portable Communication for Workstation Clusters and Massively-Parallel Processors,' IEEE Concurrency, vol. 5, no. 2, 1997 https://doi.org/10.1109/4434.588295
  7. T. von Eicken, et al., 'U'-Net: A User-Level Network Interface for Parallel and Distributed Computing,' Proc. of the 15th ACM SOSP, 1995 https://doi.org/10.1145/224056.224061
  8. T. von Eicken and W. Vogels, 'Evolution of the Virtual Interface Architecture,' IEEE Computer, 1998 https://doi.org/10.1109/2.730738
  9. Object Management Group Inc., 'The Common Object Request Broker: Architecture and Specification, Revision 2.0,' OMG TC Document, 1994
  10. http://java.sun.com, 'Java Remote Method Invocation,' Sun Microsystems
  11. G. Ciaccio, 'Messaging on Gigabit Ethernet: Some experiments with GAMMA and other systems,' IPDPS '01, April 2001
  12. N.J. Boden, D. Cohen, R. Felderman, et al., 'Myrinet-A Gigabit-per-Second Local-Area Network,' IEEE Micro, Feb. 1995 https://doi.org/10.1109/40.342015
  13. http://www.fenrus.demon.nl, 'kHTTPd - Kernel httpd accelerator,' 2001