1. 프로젝트 개요
PC 또는 워크스테이션을 초고속 네트워크로 연결하여 고성능을 얻을 수 있도록 하는 클러스터 시스템을 연구 개발한다. 이를 위하여 하위 레벨 메시지 전송 계층, 표준 메시지 인터페이스, 운용 소프트웨어 계층과 같은 핵심적인 미들웨어군을 개발하고, 또한 활용성을 극대화하기 위하여 클러스터내 자원 관리 기능 및 단일 시스템 이미지 기법, 이기종의 연결 통합 관리 기능 등 확장된 개념을 연구 개발한다.
2. Cluster System의 필요성
고성능의 병렬 컴퓨터에 대한 요구는 꾸준히 지속되어 왔으며 현재까지 슈퍼컴퓨터 및 MPP(Massively Parallel Processor)의 개발을 통해 그 요구가 충족되어 왔다. 하지만 이들 고성능의 슈퍼컴퓨터나 MPP는 개발 기간이 길고 개발 비용이 높으며 대량 생산되는 마이크로 프로세서를 장착한 컴퓨터들에 비해 비싼 단점이 있다. 최근 들어 대량 생산되는 싼 가격의 컴퓨터들을 고속의 네트워크로 연결하여 고성능의 병렬 컴퓨터를 구성하려는 시도가 일고 있다. 이렇게 구성되는 컴퓨터를 클러스터 컴퓨터(cluster computer)라 부르며 값싼 PC나 워크스테이션들로 구성되는 노드 컴퓨터와 고속의 네트워크가 구성의 기본 단위가 된다. 이러한 클러스터 컴퓨터는 가격 대비 성능이 높고 확장성이 좋으며 하드웨어와 소프트웨어의 개발기간이 상대적으로 짧다는 장점이 있다.
이런 추세에 따라 외국 유명 대학과 연구소에서 클러스터 기반 컴퓨팅에 관해 연구하고 있으며 그 결과로 140대의 Alpha 21164A 마이크로 프로세서를 장착한 워크스테이션들을 고속의 네트웍으로 연결한 Avalon 클러스터 컴퓨터가 전세계에서 160번째로 빠른 컴퓨터로 등록되었다. 클러스터 기반의 병렬 컴퓨터를 사용하기 위해서는 병렬 프로그램의 스케쥴링, 네트워크에 연결된 각 컴퓨터들의 자원(CPU, 디스크, 메모리 등)의 사용 현황 감시 및 관리, 동적 부하 분산(dynamic load balancing)을 위한 프로세스 이전(process migration), 운영체제나 사용자 프로그램 사이의 빠른 통신을 위한 메카니즘, 편리한 관리자 도구 및 사용자 인터페이스 등이 필요하다. 이러한 기능을 제공하기 위하여 운영체제와 응용프로그램 사이에 존재하는 미들웨어가 고속의 네트워크로 연결된 여러 컴퓨터들을 하나의 단일 컴퓨터로 보이게 하는 단일 시스템 이미지(SSI: Single System Image)를 제공해야 한다. 단일 시스템 이미지는 관리자나 사용자에게 클러스터 컴퓨터의 물리적 구성 사항들을 숨기고, 투명한 가상 컴퓨터를 제공한다.
이와 같은 미들웨어는 병렬처리 및 분산처리 기술의 집합으로서, 고속의 통신 모듈, 분산 공유 메모리(DSM: Distributed Shared Memory), 네트워크 파일 시스템, 작업 감시 및 관리 시스템, 자원 감시 및 관리 시스템, 단일 입출력 공간, 단일 프로세스 공간, 고장 허용 구조 등의 요소기술을 포함하게 된다. 이러한 기술들은 클러스터 기반 컴퓨팅에서 뿐만 아니라 MPP, SMP나 메타 컴퓨팅 (meta-computing)등의 다른 구조에도 적용될 수 있는 컴퓨터 구조와 운영체제 분야의 기반 기술에 해당한다. 또한 클러스터 컴퓨터의 개발을 통해 얻어진 미들웨어 기술을 메타 컴퓨팅에 적용함으로써 무한대의 자원을 사용자에게 제공할 수 있는 가상 컴퓨터를 실현하는데 기반 기술로 사용될 수 있다.
과학 기술 및 공학 분야에서 시행되는 실험과 시뮬레이션들은 개인용 PC나 워크스테이션이 제공하는 성능 이상을 요구한다. 뿐만 아니라 최근 인터넷의 급속한 확장과 정보 처리 기술의 향상으로 고객에게 다양한 정보 처리 서비스를 제공하는 기업들에서도 고성능 컴퓨터에 대한 요구가 가속화되고 있다. 전세계 슈퍼컴퓨터의 순위를 500위까지 정해 놓은 'TOP500 Supercomputer Sites"라는 보고서 (1999년 6월 기준) [5, 17]에 따르면 현재 우리나라가 보유한 고성능의 슈퍼컴퓨터 중 전세계 500위 이내에 드는 슈퍼컴퓨터는 [표 1]과 같다.