다음 이전 차례

2. 개요

컴퓨터와 네트워크 하드웨어의 성능 향상에 따라서 이들의 가격도 감소하게 되고, 매우 비싼 슈퍼컴퓨터들의 CPU 시간을 사는 것 보다 특별 주문이 아닌 구성 요소들로 부터 병렬 계산에 관한 시스템들의 구성이 더욱더 실용적으로 되어 졌다. 사실, 베오울프 형태의 머신의 성능비율당 가격은 전통적인 슈퍼컴퓨터 보다 3-10배 정도 더 우수하다. 베오울프 구조 규모는 적당하다. 쉽게 구성할 수 있으며, 단지 하드웨어 비용만 지불하고 대부분의 소프트웨어 비용은 무료이다.

2.1 누가 이 HOWTO 문서를 읽어야 하는가?

이 문서는 최소한 리눅스 운영체제에 접해있는 사람을 위해 만들어 졌다. 베이울프 기술의 지식이나 더 복잡한 운영체제의 이해와 네트워킹 개념은 필수적인 것은 아니다. 그렇지만, 병렬계산을 할 수 있는 어느 정도의 상황은 되어 있어야 한다(결국 어떤 이유로 이든지 이 문서를 읽을 테지만). 이 문서는 베오울프에 관한 모든 가능한 질문에 대해 대답해 줄 수는 없지만, 잘만 되면, 착상을 주고 올바른 방향으로 제시해줄 것이다. 이 문서의 목적은 기본 정보, 링크들과 좀더 발전적인 참고 문헌들을 전달하는데 있다.

2.2 베오울프란?

베오울프: far flew the boast of him, son of Scyld, in the Scandian lands. So becomes it a youth to quit him well with his father's friends, by fee and gift, that to aid him, aged, in after days, come warriors willing, should war draw nigh, liegemen loyal: by lauded deeds shall an earl have honor in every clan. (역자주:이부분은 서사시 부분, 번역에 한계가  ^^;) 베오울프는 일찍이 고대 영어로 쒸어진 서사시이다. Grerdel이라는 괴물을 막아낸 매우 힘이 쎄고, 용감한 영웅에 대한 이야기이다. 베오울프 영웅에 대해 더 알고 싶으면 "역사"부분을 찾아 보아라. 베오울프 슈퍼컴퓨터 시설들을 만들거나 사용하는 사람들 만큼이나 많은 베오울프 정의가 있을 것이다. 몇몇 사람들은 NASA의 고유의 머신과 같은 방법으로 만들어진 그들의 시스템만을 베이울프라고 주장한다. 극단의 다른 사람들은 병렬 코드을 수행하는 어떤 워크스테이션도 베이울프라고 하기도 한다. 나의 베오울프의 정의는 위의 기술한 두가지 관점의 철충으로, 베어 울프의 메일링 리스트에 포스팅된 글을 바탕으로 기술하면:

베오울프는 병렬 계산을 위해 사용될 수있는 다중 컴퓨터 구조이다. 이는 이더넷이나 다른 네트워크를 통해 서로 연결된 하나의 서버 노드와 하나 이상의 클라이언트 노드로 구성되어진 시스템이다. 이는 리눅스를 돌리 수 있는 PC와 같은 일반적인 하드웨어 구성들, 표준 이더넷 어뎁터들, 그리고 스위치들로 이루어진다. 이는 어떤 주문형 하드웨어 구성요소와 trivially reproducible를 포함하지 않는다. 또한, 베오울프는 리눅스 운영체제, Parallel Virtual Machine (PVM)과 Message Passing Interface (MPI)와 같은 일반적인 소프트웨어 를 사용한다. 서버 노드는 모든 클러스터들을 조절하고 클라이언트 노드에게 파일을 제공한다. 더욱이, 클러스터의 콘솔과 외부로 통하는 게이트웨이도 제어를 한다. 거대한 베오울프 머신 하나 이상의 서버 노드를 가지고 가능하다면 다른 노드들이 콘설이나 모니터링 스테이션과 같은 특정 작업들을 맡아서 처리하게 한다. 대부분의 경우 베오울프 시스템에서 클라이언트 노드들은 벙어리이고, 이들은 더 벙어리일수록 더욱 좋다. 노드들은 서버 노드에 의해 조절되고 관리된다. 그리고, 단지 그들이 무엇을 할려고 하는지는 말하기만 하면 된다. 디스크가 없는 클라이언트 설정에서 클라이언트 노드들은 이들의 IP 주소와 이름을 서버가 알리기 전까지 이것들 조차 알필요가 없다. 베오울프와 Cluster of Workstations (COM)과의 가장 큰 차이점은 베오울프는 여러 개의 워크스테이션들 보다 하나의 머신 형태로 작동한다는 사실이다. 많은 경우의 클라이언트 노드들은 키보드나 모니터를 가지고 있지 않고, 단지 원격 로그인이나 가능하다면 직렬 터미널를 통해서만 엑세스할 수 있다. 베오울프 노드들은 마더보드에 CPU나 메모리 모듈을 꽂아넣는 형태처럼 클러스터에 꽂아넣을 수 있는 CPU + 메모리 팩키지 같은 것이라 할 수 있다.

베오울프는 특정한 스프트웨어 팩키지, 새로운 네트워크 위상이나 최신 커널을 파해친것도 아니다. 베오울프는 병렬형태의 가상 슈퍼컴퓨터로 리눅스 컴퓨터들을 클러스터링한 기술이다. 또한, 베오울프를 더 빠르고, 더 쉽게 구성하고, 더 유용하게 할 커널 변경, PVM과 MPI 라이브러리, 그리고 설정 툴들과 같은 많은 소프트웨어 패키지들이 있을 뿐이다. 어떤 추가적인 소프트웨어 없이 이를 이용해서 표준 리눅스 배포을 사용하여 베오울프 클래스 머신을 구성할 수 있다. 당신이 네트워크에 연결된 두 대의 리눅스 커퓨터들을 가지고 있고, 최소한 /home 파일 시스템이 NFS를 통하여 공유하고 있고, 원격 쉘(rsh)를 실행할 수 있을 만큼 신용하고 있고 있다면, 당신은 하나의 간단한 2 노드의 베오울프 머신을 가지고 있다고 말할 수 있다.

2.3 분류

베오울프 시스템들은 다양한 부분들로 구성되어져 왔다. 성능 향상의 목적 을 가진 비-일반적인 구성요소 ( 하나의 제조업자가 독단적으로 생산한 것) 들도 수용해 왔다. 시스템들의 다른 타입들를 설명하거나 좀 더 쉽게 머신에 대해 토론하기 위해서, 우리는 다음과 같은 간단한 분류안을 제안한다: CLASS I 베오울프: 이 머신의 클래스는 일반적인 "특별 주문이 아닌" 부분으로 구성된다. 일반적인 "특별 주문이 아닌" 부분들을 정의하기 위한 "Computer Shopper" 증명 검사를 사용할 것이다. (Computer Shopper는 PC 시스템들과 구성요소에 대한 1인치 두께의 월간 잡지/목록을 말한다.) 이 시험은 다음과 같다:

CLASS I 베오울프는 최소한 세 개의 국가적으로/전세계적으로 배부된 광고
  목록들에서 발결할 수 있는 부품들로 부터 조립 가능한 머신을 말한다.
CLASS I 시스템의 이점:
   여러가지 제품들을 이용하여 구성할 수 있는 하드웨어 ( 낮은 가격, 쉬운
     유지)
   하나의 하드웨어 회사에 의존하지 않음
   리눅스 commodity에서 지원되는 드라이버
   일반적으로 표준안을 기본을 둔 것 (SCSI, 이더넷, 등등.)
CLASS I 시스템의 단점:
   최고의 성능을 위해서는 CLASS II 하드웨어를 요구
CLASS II 베오울프
CLASS II 베오울프트는 다만  Computer Shopper 인증 시험에 통과하지 않은
  어떤 머신이라도 된다. 이는 나쁜 것만은 아니다. 실제로는, 단지 머신의 
  분류일뿐 이다.
CLASS II 시스템의 이점:
   매우 좋은 성능을 보여줌!
CLASS II 시스템의 단점:
   드라이버 지원이 변동적
   하나의 하드웨어 회사에 의존적
   CLASS I 시스템들보다 고가
하나의 CLASS는 다른 것 보다 더좋을 필요는 없다. 이는 당신의 필요와 예산 에 따를뿐이다. 이런 분류 시스템은 베오울프 시스템들에 관한 논의를 더욱 간결하게 하기위한 것이다. "시스템 디자인"부분에서 당신의 요구에 가장 적합한 시스템의 종류가 무엇인지 결정하는데 도움을 줄 것이다.
다음 이전 차례