베오울프 클러스터

최초의 베오울프 클러스터. **베오울프 클러스터**(beowulf cluster, 베어울프) 또는 베오울프 프로텍트(Beowulf project)는 컴퓨터 클러스터 기술의 일종이다. 베오울프 시스템은 오픈 소스 기반으로 리눅스 환경에서 쉽게 클러스터를 구축하는 데 쓰인다. 클라이언트에 보조기억장치(하드디스크)를 두지 않고 서버에만 둔다는 특징이 있다. 따라서 클라이언트를 추가하고 제거하기 쉽다. 베오울프 시스템은 특정한 병렬 프로그래밍 라이브러리를 포함하고 있지는 않으나, 기존의 MPI나 PVM을 사용하도록 구현되는 것이 초기 개발환경에서 전통적이고 일반적이었다.
# 역사
미국 항공우주국(NASA)의 고다드 우주비행센터(GSFC)는 기성 PC의 부품과 리눅스 운영체계를 결합한 병렬 컴퓨터를 만드는 프로젝트를 진행했는데, 베오울프(Beowulf)라는 이름은 이때 NASA의 토마스 스털링(Thomas Sterling)과 도날드 베커(Donald Becker)가 1994년에 만든 특정 병렬 컴퓨터이다.Becker, Donald J and Sterling, Thomas and Savarese, Daniel and Dorband, John E and Ranawak, Udaya A and Packer, Charles V, "BEOWULF: A parallel workstation for scientific computation", in Proceedings, International Conference on Parallel Processing vol. 95, (1995). URL http://www.phy.duke.edu/~rgb/brahma/Resources/beowulf/papers/ICPP95/icpp95.html 이 명칭은 "베오울프"라는 같은 이름의 오래된 영어 서사시에서 유래했다.See Francis Barton Gummere's 1909 translation, reprinted (for example) in Beowulf. Francis B. Gummere (translator). Hayes Barton Press (published n.d.). 1909. p. 20. . Retrieved 2014-01-16. 여기서 베오울프 클러스터는 486 DX 계열의 프로세서 CPU 16개로 10Mbps 급 속도의 이더넷으로 연결하는 네트워크방식을 사용했다. 당시 이것은 기존의 슈퍼컴퓨터들이 자체적인 특화된 버스 통신을 사용한것과 비교했을 때 획기적인 방법이었다. 이로서 나사의 첫 번째 베오울프클러스터는 오늘날 슈퍼컴퓨터에서 가장 널리 사용되는 리눅스 기반 병렬 슈퍼컴퓨터의 원형이 되었지만 베오울프 프로젝트의 성공적인 결과는 기존의 PC 기성품으로도 슈퍼컴퓨팅 기술 구현이 가능하다는것을 보여준 데에 더 의미가 있었다.
# 슈퍼컴퓨터의 등장
2008년6월 탑500(TOP500.org) 슈퍼컴퓨터 1위를 차지한 IBM의 로드러너(Roadrunner)는 최초로 널리 알려진 리눅스 운영체제의 베오울프 클라스터인 병렬 슈퍼컴퓨터가 되었다. 코어 수 129,600개, 속도는 1,105 TFlop/s였다.(https://www.top500.org/system/176028) Roadrunner - BladeCenter QS22/LS21 Cluster, PowerXCell 8i 3.2 Ghz / Opteron DC 1.8 GHz, Voltaire Infiniband2016년11월 슈퍼컴퓨터 1위를 차지한 중국 텐허2(天河2,Tianhe-2)의 베오울프 클러스터 디자인은 312만개의 코어 CPU와 메모리는 1,024,000GB, 노드는 1만6천개이상 속도는 33,862.7 TFlop/s 에 이른다. 병렬처리는 MPI계열의 MPICH2를 Math 라이브러리는 Intel MKL-11.0.0 을 사용했다.(https://www.top500.org/system/177999) Tianhe-2 (MilkyWay-2) - TH-IVB-FEP Cluster, Intel Xeon E5-2692 12C 2.200GHz, TH Express-2, Intel Xeon Phi 31S1P 텐허2와 기존의 베오울프의 아키텍처 디자인 차이는 호환가능한 다른 프로세서들을 혼합한 하이브리드 방식으로 설계되어 부동소수점연산등에 특화되도록 만들어진 점이다. 2017년 6월 기준에서 탑500 슈퍼컴퓨터 1위는 중국의 썬웨이 타이후 라이트(神威·太湖之光,Sunway TaihuLight)이다. 코어 수 10,649,600개, 메모리 1,310,720 GB , 속도 93,014.6 TFlop/s(Rmax) , CPU Sunway SW26010 260C 1.45GHz , OS는 리눅스계열인 Sunway RaiseOS 2.0.5버전이다.(https://www.top500.org/system/178764) Sunway TaihuLight - Sunway MPP, Sunway SW26010 260C 1.45GHz, Sunway
# 베오울프의 특징
베오울프의 특징은 한대 또는 소수의 메인급 서버 컴퓨터가 상대적으로 수적으로 월등히 많은 노드들을 부팅하고 그리고 연산과 관련된 병렬화된 작업을 하위 노드의 단일 프로세서에 배포하고 그들의 결과를 서버의 메인 프로세서상에서 관리하고 전체적으로 동기화한다는 점이다.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.(KLDP)http://kldp.org/search/google/%EB%B2%A0%EC%98%A4%EC%9A%B8%ED%94%84 베오울프의 노드들은 CPU와 연산 메모리 램과 마더보드 그리고 이더넷기능만을 갖는 최소한의 환경만을 요구하므로, 스스로 자체 부팅이 불가능하다. 이러한 노드들의 부팅과 연산에대한 작업을 통제하는 서버와의 상호필요 관계에서 베오울프 클라스터가 설명될 수 있다. 또한 기성제품들을 집합적으로 연결하는 형태이므로 단일 슈퍼컴퓨터에비해 상대적으로 추가적인 업그레이드 및 다기종간의 하이브리드 설계가 효과적이다.
# PXE 와 WOL
베오울프 자식 노드의 부팅 완료절차 미국 환경보호국(Environmental Protection Agency)과 미국 에너지부(Department of Energy)가 공동으로 운영하는 에너지스타 프로그램의 에너지 스타(ENERGY STAR) 컴퓨터 규격은 2009년 버전이후에서 생산되는 모든 PC 급 컴퓨터 마더보드에 네트워크 인터페이스 및 WOL환경을 권고해오고있다.(에너지스타)https://www.energystar.gov/ia/partners/product_specs/program_reqs/Computer_Spec_Final.pdfhttp://www.kbench.com/?q=node/71342 WOL와 네트워크 인터페이스인 PXE는 2세대 베오울프 클라스터의 핵심기술이다. PXE버전 이후부터 베오울프의 노드들은 ROM에 기반해 스스로 부팅은 개시할 수 있지만 여전히 부팅을 완료하기 위해서는 서버에서 노드의 MAC 어드레스에 기반한 자기인식을 FTP및 핸드쉐이킹 프로토콜로 확인해줌으로써 상호 인식절차를 완료해야만 한다.(IETF)https://tools.ietf.org/html/rfc4578
# 탑500
2008년 이후로 탑500(top500.org)의 슈퍼컴퓨터들은 베오울프 클라스터계열을 비롯한 병렬 컴퓨팅이 1위의 성능을 발휘하는 것을 포함해 다양하게 설계된 자료들을 보여주고있는데, 이러한 자료들은 2017년도 최고의 슈퍼컴퓨터인 썬웨이 타이후 라이트 조차 여전히 최적의 병렬 컴퓨팅을 위한 디자인 리소스가 충분히 다루어졌는지를 확인할 수 있는 역설계의 기초적인 확인자료가 되어주고 있다.(TOP500)https://www.top500.org/lists/
# 참고
* 지디넷 기사 * https://korea.ul.com/eec/sub/energystar/ 각주