맨위로가기

베오울프 클러스터

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

베오울프 클러스터는 여러 대의 컴퓨터를 네트워크로 연결하여 단일 머신처럼 작동하도록 구성한 병렬 컴퓨팅 시스템이다. 1994년 NASA의 토마스 스털링과 도널드 베커가 개발했으며, 고대 영어 서사시 '베오울프'에서 이름을 따왔다. 베오울프 클러스터는 기성 PC 부품과 리눅스 운영체제를 사용하여 비용 효율적이며, 유닉스 계열 운영체제와 MPI, PVM 등의 병렬 처리 라이브러리를 활용한다. 초기에는 16개의 CPU를 이더넷으로 연결하는 방식을 사용했으며, 이후 슈퍼컴퓨터 분야에서 널리 사용되는 리눅스 기반 병렬 슈퍼컴퓨터의 원형이 되었다.

2. 역사

미국 항공우주국(NASA) 고다드 우주비행센터(GSFC)는 기성 PC 부품과 리눅스 운영체계를 결합한 병렬 컴퓨터를 만드는 프로젝트를 진행했다. 1994년 NASA의 토마스 스털링과 도널드 베커는 베오울프(Beowulf)라는 특정 병렬 컴퓨터를 만들었는데,[4] 이 명칭은 베오울프라는 오래된 영어 서사시에서 유래했다.[5]

2. 1. NASA의 초기 베오울프

미국 항공우주국(NASA)의 고다드 우주비행센터(GSFC)는 기성 PC 부품과 리눅스 운영체계를 결합한 병렬 컴퓨터를 만드는 프로젝트를 진행했다. 베오울프라는 이름은 NASA의 토마스 스털링(Thomas Sterling)과 도날드 베커(Donald Becker)가 1994년에 만든 특정 병렬 컴퓨터에 붙인 이름이다.[4] 이 명칭은 베오울프라는 같은 이름의 오래된 영어 서사시에서 유래했다.[5] 베오울프 클러스터는 486 DX 계열 CPU 16개를 10Mbps 급 속도의 이더넷으로 연결하는 네트워크 방식을 사용했는데, 이는 당시 슈퍼컴퓨터들이 자체적인 특화된 버스 통신을 사용한 것과 비교했을 때 획기적인 방법이었다.

나사의 첫 번째 베오울프 클러스터는 오늘날 슈퍼컴퓨터에서 가장 널리 사용되는 리눅스 기반 병렬 슈퍼컴퓨터의 원형이 되었다. 베오울프 프로젝트의 성공적인 결과는 기존의 PC 기성품으로도 슈퍼컴퓨팅 기술 구현이 가능하다는 것을 보여주었다는 데에 더 의미가 있다.

2. 2. 슈퍼컴퓨터의 등장과 발전

2008년 6월 TOP500 1위를 차지한 IBM의 로드러너는 최초로 널리 알려진 리눅스 운영체제 기반의 베오울프 클러스터 병렬 슈퍼컴퓨터였다. 로드러너는 129,600개의 코어와 1105TFlop/s의 속도를 가졌다.[6] 2016년 11월 슈퍼컴퓨터 1위를 차지한 중국 텐허2(天河2, Tianhe-2)는 베오울프 클러스터 디자인으로, 312만 개의 CPU 코어, 1,024,000GB의 메모리, 1만 6천 개 이상의 노드, 그리고 33862.7TFlop/s의 속도를 기록했다. 텐허2는 MPI 계열의 MPICH2를 병렬처리에 사용했고, Intel MKL-11.0.0을 수학 라이브러리로 사용했다.[7]

텐허2는 기존 베오울프 아키텍처와는 다르게 호환 가능한 다른 프로세서들을 혼합한 하이브리드 방식으로 설계되어 부동소수점 연산 등에 특화되었다. 2017년 6월 기준 TOP500 1위 슈퍼컴퓨터는 중국의 썬웨이 타이후 라이트였다. 썬웨이 타이후 라이트는 10,649,600개의 코어, 1,310,720GB의 메모리, 93014.6TFlop/s(Rmax)의 속도를 가졌으며, CPUSunway SW26010 260C 1.45GHz, OS는 리눅스 계열인 Sunway RaiseOS 2.0.5 버전을 사용했다.[8]

3. 베오울프의 특징

베오울프 클러스터는 특정 소프트웨어로 정의되지 않으며, 비용 절감과 사용자 정의를 위해 주로 자유-오픈 소스 소프트웨어를 사용한다. BSD, 리눅스, 솔라리스와 같은 유닉스 계열 운영 체제를 사용하며, 메시지 전달 인터페이스 (MPI), 병렬 가상 머신 (PVM) 등의 병렬 처리 라이브러리가 활용된다.

베오울프는 여러 대의 컴퓨터를 네트워크로 연결하여 단일 머신처럼 동작하게 하는 기술이다. 일반적으로 하나의 서버 노드와 하나 이상의 클라이언트 노드로 구성되며, 서버 노드는 클러스터 전체를 제어하고 클라이언트 노드에 작업을 분배한다. 클라이언트 노드는 CPU, 메모리, 마더보드, 이더넷 등 최소한의 환경만을 요구하며, 자체 부팅이 불가능한 경우가 많다.[9][10]

베오울프는 기성 제품들을 집합적으로 연결하는 형태이므로, 단일 슈퍼컴퓨터에 비해 상대적으로 추가적인 업그레이드 및 다기종 간의 하이브리드 설계가 효과적이다.

3. 1. 기술적 특징

베오울프 클러스터는 특정 소프트웨어로 정의되지 않으며, 비용 절감과 사용자 정의를 위해 주로 자유-오픈 소스 소프트웨어가 사용된다. 대부분의 베오울프 클러스터는 BSD, 리눅스, 또는 솔라리스와 같은 유닉스 계열 운영 체제를 실행한다.[3] 메시지 전달 인터페이스 (MPI)와 병렬 가상 머신 (PVM)은 일반적으로 사용되는 병렬 처리 라이브러리이다. 이들은 프로그래머가 작업을 네트워크로 연결된 컴퓨터 그룹으로 분할하고 처리 결과를 수집할 수 있도록 한다.[3] MPI 소프트웨어의 예로는 오픈 MPI 또는 MPICH가 있으며, 다른 MPI 구현도 사용할 수 있다.

1998년 리눅스 문서 프로젝트에서 출판된 설명에 따르면, 베오울프는 병렬 컴퓨팅에 사용될 수 있는 다중 컴퓨터 컴퓨터 아키텍처이다.[3] 이는 하나의 서버 노드와 이더넷 또는 다른 네트워크를 통해 연결된 하나 이상의 클라이언트 노드로 구성된 시스템이다.[3] 일반적인 하드웨어 구성 요소를 사용하여 구축된 시스템으로, 사용자 지정 하드웨어 구성 요소가 없으며 쉽게 재현할 수 있다.[3] 베오울프는 FreeBSD, Linux 또는 Solaris 운영 체제, PVM 및 MPI와 같은 상용 소프트웨어를 사용한다.[3] 서버 노드는 전체 클러스터를 제어하고 클라이언트 노드에 파일을 제공하며, 클러스터의 콘솔이자 외부 세계로의 게이트웨이 역할을 한다.[3]

베오울프 시스템의 클라이언트 노드는 대부분 키보드나 모니터를 가지고 있지 않으며, 원격 로그인 또는 직렬 터미널을 통해서만 접근한다.[3] 베오울프 노드는 클러스터에 꽂을 수 있는 CPU + 메모리 패키지로 생각할 수 있다.[3]

베오울프는 표준 Linux 배포판을 사용하여 구축할 수 있다. NFS를 통해 최소한 `/home` 파일 시스템을 공유하고 원격 셸을 실행하도록 서로를 신뢰하는 두 대의 네트워크로 연결된 컴퓨터가 있다면 간단한 2노드 베오울프 머신을 구성할 수 있다.[3]

요약하면 다음과 같다.

  • 자유 유닉스 소스 코드의 수정으로 구현된다.
  • 일반적으로 판매되는 PC를 여러 대 사용하여 제작된다.
  • 각 노드는 클러스터의 처리만을 위해 사용된다.
  • 노드는 고속 네트워크로 연결된다.
  • 클러스터의 주요 목적은 고속 처리이며, 신뢰성 확보는 부차적인 목표이다.

3. 2. PXE와 WOL

미국 환경보호국(Environmental Protection Agency)과 미국 에너지부(Department of Energy)가 공동으로 운영하는 에너지스타 프로그램은 2009년 버전 이후 생산되는 모든 PC급 컴퓨터 마더보드에 네트워크 인터페이스 및 WOL 환경을 권고하고 있다.[11][12]

PXEWOL은 2세대 베오울프 클러스터의 핵심 기술이다.

PXE 버전 이후부터 베오울프의 노드들은 ROM에 기반해 스스로 부팅은 개시할 수 있지만, 여전히 부팅을 완료하기 위해서는 서버에서 노드의 MAC 어드레스에 기반한 자기인식을 FTP 및 핸드쉐이킹 프로토콜로 확인해줌으로써 상호 인식 절차를 완료해야만 한다.[13]

4. 베오울프 클러스터 구축 및 운영체제

베오울프 클러스터는 주로 자유-오픈 소스 소프트웨어를 사용하여 구축되며, 비용 절감과 사용자 정의에 유리하다. 대부분 BSD, 리눅스, 솔라리스와 같은 유닉스 계열 운영 체제를 사용한다.

베오울프 클러스터 구축을 위해 설계된 여러 리눅스 배포판과 BSD가 있으며, 아래는 현재 유지 관리되는 운영 체제 목록이다.

운영 체제설명최종 업데이트
MOSIX계산 집약적이고 I/O가 낮은 애플리케이션에 적합
Rocks 클러스터 배포판2017
드래곤플라이 BSD2022
퀀티안 OSKnoppix에서 리마스터된 과학 애플리케이션이 포함된 라이브 DVD2006
켄터키 리눅스 애슬론 테스트베드켄터키 대학교의 물리적 설치



아래는 더 이상 유지 관리되지 않는 운영 체제 목록이다.

운영 체제설명최종 업데이트
Kerrighed2013
OpenMosixMOSIX에서 포크됨2008
ClusterKnoppixKnoppix OS에서 포크되었으며, OpenMosix에서 포크됨
펠리칸HPC데비안 라이브 기반2016



OpenMosix와 결합된 Knoppix 부팅 CD를 사용하면 복잡한 구성 없이 자동으로 컴퓨터들이 연결되어 베오울프 클러스터를 형성할 수 있다. 이는 네트워크 오버헤드에 의해서만 제한되며, 거의 무제한의 컴퓨터로 확장 가능하다. 오픈 소스 클러스터 애플리케이션 리소스와 같은 소프트웨어를 사용하여 베오울프 클러스터용 운영 체제 및 기타 소프트웨어 프로비저닝을 자동화할 수 있다.

4. 1. 베오울프 클러스터 구축

베오울프는 여러 대의 컴퓨터를 병렬 컴퓨팅에 사용할 수 있도록 묶은 컴퓨터 아키텍처이다. 일반적으로 서버 노드 하나와 이더넷 등으로 연결된 하나 이상의 클라이언트 노드로 구성된다. 일반적인 하드웨어와 BSD, 리눅스, 솔라리스 같은 유닉스 계열 운영 체제를 사용하며, 쉽게 재현할 수 있다는 장점이 있다.[3]

서버 노드는 클러스터 전체를 제어하고 클라이언트 노드에 파일을 제공하며, 클러스터의 콘솔이자 외부 게이트웨이 역할을 한다. 클라이언트 노드는 서버의 지시에 따라 작동하며, 대부분 키보드나 모니터 없이 원격으로 접속한다. 베오울프 노드는 마치 마더보드에 꽂는 CPU와 메모리 모듈처럼 클러스터에 추가할 수 있는 구성 요소로 볼 수 있다.[3]

베오울프는 특별한 소프트웨어가 아닌, 컴퓨터 클러스터링 기술이다. 표준 리눅스 배포판을 사용해도 베오울프 클러스터를 구축할 수 있지만, 더 빠르고 쉽게 구성할 수 있도록 돕는 커널 수정, PVM 및 MPI 라이브러리, 구성 도구 등이 존재한다. 예를 들어, 오픈 MPI나 MPICH 같은 MPI 소프트웨어를 사용하여 프로그래머는 작업을 여러 컴퓨터에 분산시키고 결과를 효율적으로 수집할 수 있다.[3]

4. 2. 운영 체제

베오울프 클러스터는 특정한 소프트웨어로 정의되지는 않지만, 비용 절감과 사용자 정의를 위해 주로 자유-오픈 소스 소프트웨어를 사용한다. 대부분의 베오울프 클러스터는 BSD, 리눅스, 솔라리스와 같은 유닉스 계열 운영 체제를 실행한다.

현재 여러 리눅스 배포판과 최소 하나의 BSD가 베오울프 클러스터 구축을 위해 설계되었다.

운영 체제설명최종 업데이트
MOSIX계산 집약적이고 I/O가 낮은 애플리케이션에 적합
Rocks 클러스터 배포판2017
드래곤플라이 BSD2022
퀀티안 OSKnoppix에서 리마스터된 과학 애플리케이션이 포함된 라이브 DVD2006
켄터키 리눅스 애슬론 테스트베드켄터키 대학교의 물리적 설치



다음은 더 이상 유지 관리되지 않는 운영체제들이다.

운영 체제설명최종 업데이트
Kerrighed2013
OpenMosixMOSIX에서 포크됨2008
ClusterKnoppixKnoppix OS에서 포크되었으며, OpenMosix에서 포크됨
펠리칸HPC데비안 라이브 기반2016



OpenMosix와 결합된 Knoppix 부팅 CD를 사용하여 클러스터를 설정할 수 있다. 컴퓨터는 복잡한 구성 없이 자동으로 연결되어 클러스터의 모든 CPU 및 RAM을 사용하여 베오울프 클러스터를 형성한다. 베오울프 클러스터는 네트워크 오버헤드에 의해서만 제한되며 거의 무제한의 컴퓨터 수로 확장 가능하다.

베오울프 클러스터용 운영 체제 및 기타 소프트웨어의 프로비저닝은 오픈 소스 클러스터 애플리케이션 리소스와 같은 소프트웨어를 사용하여 자동화할 수 있다. OSCAR는 클러스터의 헤드 노드에 지원되는 리눅스 배포판의 표준 설치 위에 설치된다.

5. 같이 보기

참조

[1] 학술지 BEOWULF: A parallel workstation for scientific computation http://www.phy.duke.[...] 1995
[2] 서적 Beowulf https://books.google[...] Hayes Barton Press 2014-01-16
[3] 웹사이트 Beowulf HOWTO http://ibiblio.org/p[...] 1998-11-22
[4] 논문 BEOWULF: A parallel workstation for scientific computation http://www.phy.duke.[...] 1995
[5] 서적 Beowulf Hayes Barton Press 1909
[6] 웹사이트 Roadrunner - BladeCenter QS22/LS21 Cluster, PowerXCell 8i 3.2 Ghz / Opteron DC 1.8 GHz, Voltaire Infiniband https://www.top500.o[...]
[7] 웹사이트 Tianhe-2 (MilkyWay-2) - TH-IVB-FEP Cluster, Intel Xeon E5-2692 12C 2.200GHz, TH Express-2, Intel Xeon Phi 31S1P https://www.top500.o[...]
[8] 웹사이트 Sunway TaihuLight - Sunway MPP, Sunway SW26010 260C 1.45GHz, Sunway https://www.top500.o[...]
[9] 문서 A description of the Beowulf cluster, from the original "how-to", which was published by Jacek Radajewski and Douglas Eadline under the Linux Documentation Project in 1998.
[10] 웹사이트 KLDP http://kldp.org/sear[...]
[11] 웹사이트 에너지스타 https://www.energyst[...]
[12] 웹사이트 http://www.kbench.co[...]
[13] 웹사이트 IETF https://tools.ietf.o[...]
[14] 웹사이트 TOP500 https://www.top500.o[...]



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com