컴퓨터 클러스터
Computer cluster컴퓨터 클러스터는 하나의 시스템으로 볼 수 있도록 함께 작동하는 컴퓨터 집합입니다.그리드 컴퓨터와 달리 컴퓨터 클러스터에는 동일한 작업을 수행하도록 설정된 각 노드가 소프트웨어에 의해 제어되고 예약됩니다.
클러스터의 컴포넌트는 보통 고속 로컬에리어 네트워크를 통해 서로 접속되며 각 노드(서버로 사용되는 컴퓨터)는 자체 운영체제 인스턴스를 실행합니다.대부분의 경우 모든 노드가 동일한[1][better source needed] 하드웨어와 동일한 운영 체제를 사용합니다.단, 일부 설정(예를 들어 오픈 소스 클러스터 애플리케이션 리소스(OSCAR) 사용)에서는 각 컴퓨터에서 서로 다른 운영 체제를 사용할 수 있습니다.[2]
클러스터는 보통 1대의 컴퓨터에 비해 퍼포먼스와 가용성을 향상시키기 위해 도입됩니다.또한 일반적으로는 동등한 [3]속도나 가용성을 가진 1대의 컴퓨터보다 훨씬 비용 효율적입니다.
컴퓨터 클러스터는 저비용 마이크로프로세서, 고속 네트워크, 고성능 분산 [citation needed]컴퓨팅용 소프트웨어 등 많은 컴퓨팅 동향이 수렴된 결과로 등장했습니다.노드 수가 적은 소규모 비즈니스 클러스터부터 IBM의 Sequoia와 [4]같은 세계에서 가장 빠른 슈퍼컴퓨터에 이르기까지 광범위한 적용성과 구축이 가능합니다.클러스터가 등장하기 전에는 모듈러형 용장성을 갖춘 단일 유닛 폴트 톨러런스 메인프레임이 사용되었지만 클러스터의 초기 비용이 낮고 네트워크 패브릭의 속도가 빨라져 클러스터 채택이 선호되었습니다.신뢰성이 높은 메인프레임 클러스터는 스케일아웃 비용이 저렴하지만 오류 처리의 복잡성이 높아집니다.클러스터에서는 오류 모드가 프로그램 [5]실행에 불투명하지 않기 때문입니다.
기본 개념

저렴한 시판 컴퓨터를 다수 조정함으로써 컴퓨팅 파워와 신뢰성을 향상시키고자 하는 바람으로 인해 다양한 아키텍처와 구성이 생겨났습니다.
컴퓨터 클러스터링 어프로치는 통상(항상 그렇지는 않지만) 고속 로컬 [6]에리어 네트워크를 통해 쉽게 이용할 수 있는 다수의 컴퓨팅 노드(서버로 사용되는 퍼스널 컴퓨터 등)를 접속합니다.컴퓨팅 노드의 액티비티는 "클러스터 미들웨어"에 의해 조정됩니다.클러스터 미들웨어는 노드 상부에 배치되어 사용자가 단일 시스템 이미지 [6]개념을 통해 클러스터를 하나의 대규모 컴퓨팅 유닛으로 취급할 수 있도록 하는 소프트웨어 계층입니다.
컴퓨터 클러스터링은 노드를 조정된 공유 서버로 사용할 수 있도록 하는 중앙 집중식 관리 방식을 사용합니다.P2P(peer-to-peer)나 그리드 컴퓨팅(grid computing)과 같은 다른 접근 방식과는 구별되지만 훨씬 더 분산적인 [6]특성을 가지고 있습니다.
컴퓨터 클러스터는 두 대의 PC를 연결하는 단순한 2노드 시스템일 수도 있고 매우 빠른 슈퍼 컴퓨터일 수도 있습니다.클러스터를 구축하기 위한 기본적인 접근법은 기존의 고성능 컴퓨팅에 대한 비용 효율적인 대안을 만들기 위해 몇 대의 개인용 컴퓨터를 사용하여 구축할 수 있는 베어울프 클러스터입니다.이 개념의 실행 가능성을 보여준 초기 프로젝트는 133노드 스톤 수퍼 [7]컴퓨터였다.개발자들은 Linux, Parallel Virtual Machine 툴킷 및 Message Passing Interface 라이브러리를 사용하여 비교적 저렴한 [8]비용으로 고성능을 달성했습니다.
클러스터는 단순한 네트워크로 연결된 몇 대의 개인용 컴퓨터로 구성될 수 있지만 클러스터 아키텍처를 사용하여 매우 높은 수준의 성능을 달성할 수도 있습니다.TOP500 조직의 500대 슈퍼컴퓨터 반기 목록에는 많은 클러스터가 포함되어 있습니다.예를 들어 2011년에 세계에서 가장 빠른 머신은 분산 메모리, 클러스터 [9]아키텍처를 갖춘 K 컴퓨터였습니다.
역사

Greg Pfister는 클러스터는 특정 벤더가 개발한 것이 아니라 모든 작업을 하나의 컴퓨터에 저장할 수 없거나 [10]백업이 필요한 고객에 의해 개발되었다고 말합니다.피스터는 그 날짜를 1960년대 시점으로 추정한다.클러스터 컴퓨팅의 모든 종류의 병렬 작업을 수행하는 수단으로서의 공식적인 엔지니어링 기반은 IBM의 Gene Amdahl이 1967년에 병렬 프로세싱에 관한 중요한 논문으로 간주되고 있는 Amdahl의 법칙을 발표한 것이 분명합니다.
초기 컴퓨터 클러스터의 역사는 네트워크 개발의 주요 동기 중 하나가 컴퓨팅 자원을 링크하여 사실상의 컴퓨터 클러스터를 만드는 것이었기 때문에 초기 네트워크의 역사와 거의 직접적으로 관련되어 있습니다.
클러스터로 설계된 최초의 생산 시스템은 1960년대 중반의 Burroughs B5700이었습니다.따라서 각각 1개 또는 2개의 프로세서를 탑재한 최대 4대의 컴퓨터를 공통 디스크 스토리지 서브시스템에 긴밀하게 연결하여 워크로드를 분산할 수 있었습니다.표준 멀티프로세서 시스템과 달리 각 컴퓨터는 전체적인 동작을 중단하지 않고 재시작할 수 있습니다.
최초의 상용 결합 클러스터 제품은 1977년에 개발된 ARC(Attached Resource Computer) 시스템으로 ARCnet을 클러스터 인터페이스로 사용했습니다.Digital Equipment Corporation이 1984년 VMS 운영 체제용 VAXcluster 제품을 출시할 때까지 클러스터링 자체는 실제로 성공하지 못했습니다.ARC 및 VAXcluster 제품은 병렬 컴퓨팅뿐만 아니라 공유 파일 시스템과 주변 장치도 지원했습니다.데이터 신뢰성과 고유성을 유지하면서 병렬 처리의 이점을 제공하는 것이 아이디어였습니다.주목할 만한 다른 두 가지 초기 상용 클러스터는 Tandem Himala(1994년경 고가용성 제품)와 IBM S/390 Parallel Sysplex(1994년경, 주로 비즈니스 용도로 사용)입니다.
같은 기간 동안 컴퓨터 클러스터가 상용 네트워크상의 컴퓨터 외부에서 병렬 처리를 사용하는 동안 슈퍼컴퓨터는 동일한 컴퓨터 내에서 병렬 처리를 사용하기 시작했습니다.1964년 CDC 6600의 성공에 이어 1976년 Cray 1이 제공되어 벡터 [11]처리를 통한 내부 병렬화가 도입되었습니다.초기 슈퍼컴퓨터는 클러스터를 배제하고 공유 메모리에 의존했지만, 시간이 흐르면서 가장 빠른 슈퍼컴퓨터(예: K컴퓨터) 중 일부는 클러스터 아키텍처에 의존했습니다.
클러스터 속성
컴퓨터 클러스터는 웹 서비스 지원 등의 범용 비즈니스 요구에서 계산 집약적인 과학적 계산까지 다양한 목적으로 구성할 수 있습니다.어느 경우든 클러스터는 고가용성 접근 방식을 사용할 수 있습니다.다음에 설명하는 속성은 배타적이지 않으며 "컴퓨터 클러스터"는 고가용성 접근법 등을 사용할 수도 있습니다.
"로드 밸런싱" 클러스터는 클러스터 노드가 계산 워크로드를 공유하여 전체 성능을 향상시키는 구성입니다.예를 들어 웹 서버 클러스터가 서로 다른 노드에 서로 다른 쿼리를 할당할 수 있으므로 전체 응답 시간이 [12]최적화됩니다.그러나 로드 밸런싱에 대한 접근법은 애플리케이션마다 크게 다를 수 있습니다.예를 들어 과학적 계산에 사용되는 고성능 클러스터는 웹 서버 클러스터의 다른 알고리즘으로 로드 밸런싱을 수행합니다.웹 서버 클러스터는 새로운 요구를 각각 다른 [12]노드에 할당함으로써 단순한 라운드 로빈 방식을 사용할 수 있습니다.
컴퓨터 클러스터는 웹 서비스나 [13]데이터베이스와 같은 IO 지향 작업을 처리하는 대신 계산 집약적인 목적으로 사용됩니다.예를 들어, 컴퓨터 클러스터는 차량 충돌이나 날씨의 컴퓨터 시뮬레이션을 지원할 수 있다.매우 긴밀하게 결합된 컴퓨터 클러스터는 "슈퍼컴퓨팅"에 근접할 수 있는 작업을 위해 설계되었습니다.
"고가용성 클러스터"(페일오버 클러스터 또는 HA 클러스터라고도 함)는 클러스터 접근 방식의 가용성을 향상시킵니다.이러한 노드는 다중 노드를 사용하여 작동하며, 시스템컴포넌트에 장애가 발생했을 때 서비스를 제공하기 위해 사용됩니다.HA 클러스터 구현에서는 단일 장애 지점을 제거하기 위해 클러스터 구성 요소의 이중화를 사용하려고 합니다.많은 운영 체제에서 고가용성 클러스터의 상용 구현이 이루어지고 있습니다.리눅스-HA 프로젝트는 리눅스 운영 체제용 일반적으로 사용되는 무료 소프트웨어 HA 패키지 중 하나입니다.
혜택들
클러스터는 주로 성능을 고려하여 설계되지만, 설치는 다른 많은 요소를 기반으로 합니다.폴트 톨러런스(시스템이 고장난 노드에서 계속 작업할 수 있는 기능)를 통해 확장성이 확보되며, 고성능 상황에서는 유지보수 루틴의 빈도가 낮고, 리소스 통합(RAID 등) 및 일원 관리가 가능합니다.장점으로서는, 재해 발생시의 데이터 리커버리가 가능하게 되어, 병렬 데이터 처리와 높은 처리 [14][15]능력을 얻을 수 있습니다.
확장성의 측면에서 클러스터는 노드를 수평으로 추가할 수 있는 기능을 제공합니다.즉, 퍼포먼스, 용장성 및 폴트 톨러런스를 향상시키기 위해 클러스터에 컴퓨터를 추가할 수 있습니다.이는 클러스터 내의 단일 노드를 확장하는 것에 비해 성능이 더 높은 클러스터에서는 경제적인 솔루션이 될 수 있습니다.컴퓨터 클러스터의 이 속성을 통해 더 많은 수의 저성능 컴퓨터가 더 큰 계산 로드를 실행할 수 있습니다.
클러스터에 새 노드를 추가할 때 전체 클러스터를 종료할 필요가 없으므로 안정성이 향상됩니다.유지보수를 위해 단일 노드를 정지할 수 있지만 나머지 클러스터는 해당 개별 노드의 부하를 부담합니다.
많은 수의 컴퓨터가 클러스터되어 있는 경우 분산 파일 시스템과 RAID를 사용할 수 있기 때문에 클러스터의 신뢰성과 속도가 향상됩니다.
설계 및 구성
클러스터를 설계할 때 발생하는 문제 중 하나는 개별 노드가 얼마나 긴밀하게 결합되어 있는가 하는 것입니다.예를 들어, 단일 컴퓨터 작업에서는 노드 간에 빈번한 통신이 필요할 수 있습니다. 즉, 클러스터가 전용 네트워크를 공유하고 있으며, 촘촘히 위치해 있으며, 아마도 균일한 노드를 가지고 있을 수 있습니다.또 다른 극한은 컴퓨터 작업이 하나 또는 소수의 노드를 사용하고 노드 간 통신이 거의 또는 전혀 필요하지 않아 그리드 컴퓨팅에 접근하는 것입니다.
베어울프 클러스터에서 응용 프로그램 프로그램은 계산 노드(슬레이브 컴퓨터라고도 함)를 보지 않고 [13]슬레이브의 스케줄링 및 관리를 처리하는 특정 컴퓨터인 "마스터"와만 상호 작용합니다.일반적인 구현에서는 마스터에는 슬레이브용 프라이빗 베어울프 네트워크와 통신하는 네트워크인터페이스와 조직의 [13]범용 네트워크용 네트워크 두 개가 있습니다.일반적으로 슬레이브 시스템에는 동일한 운영 체제의 고유한 버전과 로컬 메모리 및 디스크 공간이 있습니다.다만, 프라이빗 슬레이브 네트워크에는,[13] 필요에 따라서 슬레이브가 액세스 하는 글로벌한 영속적인 데이터를 격납하는 대규모 공유 파일 서버도 있습니다.
특수 목적 144 노드 DEGIMA 클러스터는 범용 과학적 계산이 [16]아닌 Multiple-Walk 병렬 트리 코드를 사용하여 천체물리학적 N-body 시뮬레이션을 실행하도록 조정된다.
각 세대의 게임 콘솔의 컴퓨팅 능력이 향상됨에 따라 하이 퍼포먼스 컴퓨팅(HPC) 클러스터로 용도 변경되는 새로운 용도가 등장했습니다.게임 콘솔 클러스터의 예로는 Sony PlayStation 클러스터와 Microsoft Xbox 클러스터가 있습니다.소비자용 게임 제품의 또 다른 예는 여러 그래픽 액셀러레이터 프로세서 칩을 사용하는 Nvidia Tesla Personal Supercomputer 워크스테이션입니다.게임기 외에 하이엔드 그래픽 카드도 사용할 수 있다.그래픽 카드(또는 GPU)를 사용하여 그리드 컴퓨팅을 계산하는 것이 CPU를 사용하는 것보다 훨씬 경제적입니다.정밀성은 떨어지지만요.그러나 2배 정밀도의 값을 사용하면 CPU만큼 정밀도가 높아져 비용(구입 비용)[2]이 훨씬 저렴합니다.
컴퓨터 클러스터는 지금까지 동일한 운영 체제를 사용하는 개별 물리적 컴퓨터에서 실행되어 왔습니다.가상화의 등장에 따라 클러스터 노드는 서로 다른 운영체제를 사용하는 개별 물리 컴퓨터에서 실행될 수 있습니다.이러한 운영체제는 가상 레이어로 도색되어 [17][citation needed][clarification needed]유사합니다.유지보수가 이루어지면 클러스터도 다양한 구성으로 가상화될 수 있습니다.예를 들어 [17]Linux-HA를 사용한 가상화 매니저로서의 Xen이 구현됩니다.
데이터 공유 및 통신
데이터 공유
1980년대에 컴퓨터 클러스터가 등장하면서 슈퍼컴퓨터도 등장했습니다.그 당시 세 가지 클래스를 구별한 요소 중 하나는 초기 슈퍼컴퓨터가 공유 메모리에 의존했다는 것입니다.지금까지 클러스터는 일반적으로 물리적으로 공유 메모리를 사용하지 않지만 많은 슈퍼컴퓨터 아키텍처도 이를 포기했습니다.
그러나 오늘날의 컴퓨터 [citation needed]클러스터에서는 클러스터화된 파일 시스템을 사용하는 것이 중요합니다.예를 들어 IBM General Parallel File System, Microsoft의 Cluster Shared Volumes 또는 Oracle Cluster File System이 있습니다.
메시지 전달 및 통신
클러스터 노드 간의 통신에 널리 사용되는 두 가지 접근 방식은 MPI(Message Passing Interface)와 PVM(Parallel Virtual Machine)[18]입니다.
PVM은 MPI가 나오기 전인 1989년경 Oak Ridge National Laboratory에서 개발되었습니다.PVM은 모든 클러스터 노드에 직접 설치해야 하며 노드를 "병렬 가상 머신"으로 도장하는 소프트웨어 라이브러리 세트를 제공해야 합니다.PVM은 메시지 전달, 작업 및 리소스 관리 및 장애 알림을 위한 런타임 환경을 제공합니다.PVM은 C, C++, Fortran [18][19]등으로 작성된 사용자 프로그램에서 사용할 수 있습니다.
MPI는 1990년대 초 40개 기관의 논의에서 등장했다.초기 노력은 ARPA와 국립과학재단의 지원을 받았다.MPI의 디자인은 새롭게 시작하기보다는 당시의 상업 시스템에서 이용 가능한 다양한 특징들을 끌어냈다.그 후 MPI 규격은 구체적인 구현을 야기했다.MPI 실장에서는, 통상은 TCP/IP 와 소켓 [18]접속을 사용합니다.MPI는 현재 C, Fortran, Python [19]등의 언어로 병렬 프로그램을 작성할 수 있는 널리 이용 가능한 통신 모델입니다.따라서 구체적인 구현을 제공하는 PVM과 달리 MPI는 MPIH, Open MPI [19][20]등의 시스템에서 구현된 규격입니다.
클러스터 관리

컴퓨터 클러스터를 사용할 때 해결해야 할 과제 중 하나는 클러스터 관리 비용입니다. 클러스터가 [21]N개의 노드를 가지고 있는 경우 N개의 독립된 머신을 관리하는 비용만큼 높을 수 있습니다.경우에 따라서는, 관리 [21]코스트의 삭감으로 공유 메모리 아키텍처에 메리트가 있는 경우가 있습니다.또한 관리가 [21]용이하기 때문에 가상 머신이 널리 사용되고 있습니다.
태스크 스케줄링
대규모 다중 사용자 클러스터가 매우 많은 양의 데이터에 액세스해야 하는 경우 작업 스케줄링이 어렵습니다.애플리케이션 환경이 복잡한 이기종 CPU-GPU 클러스터에서 각 작업의 성능은 기본 클러스터의 특성에 따라 달라집니다.따라서 작업을 CPU 코어 및 GPU 디바이스에 매핑하는 것은 중대한 [22]문제를 야기합니다.이는 현재 진행 중인 연구 분야입니다. MapReduce와 Hadoop을 결합하고 확장하는 알고리즘이 제안되고 [22]연구되었습니다.
노드 장애 관리
클러스터 내의 노드에 장애가 발생했을 경우 시스템의 나머지 부분을 계속 [23][24]가동시키기 위해 "펜싱"과 같은 전략을 사용할 수 있습니다.펜싱은 노드가 오작동하는 것처럼 보일 때 노드를 분리하거나 공유 리소스를 보호하는 프로세스입니다.펜싱 방법에는 노드 자체를 사용하지 않도록 설정하는 것과 공유 [23]디스크 등의 리소스에 대한 액세스를 허용하지 않는 두 가지 클래스가 있습니다.
STONITH 메서드는 "Shoot The Other Node In The Head"의 약자로 의심되는 노드가 비활성화되거나 전원이 꺼지는 것을 의미합니다.예를 들어 파워펜싱에서는 전원 컨트롤러를 사용하여 동작 불가능한 [23]노드를 끕니다.
리소스 펜싱 접근 방식에서는 노드의 전원을 끄지 않고 리소스에 액세스할 수 없습니다.여기에는 SCSI3 경유 영구 예약 펜싱, 파이버채널 포트를 디세블로 하는 파이버채널 펜싱, GNBD 서버에 대한 접근을 디세블로 하는 글로벌네트워크 블록 디바이스(GNBD) 펜싱 등이 포함됩니다.
소프트웨어 개발 및 관리
병렬 프로그래밍
웹 서버 등의 로드밸런싱 클러스터는 클러스터 아키텍처를 사용하여 다수의 사용자를 지원하며, 일반적으로 각 사용자 요구는 특정 노드에 라우팅되므로 시스템의 주요 목표는 공유 데이터에 대한 신속한 사용자 액세스를 제공하는 것입니다.다만, 소수의 유저에게 복잡한 계산을 실시하는 「컴퓨터 클러스터」에서는, 클러스터의 병렬 처리 기능을 활용해, 복수의 [25]노드간에 「같은 계산」을 분할할 필요가 있습니다.
프로그램의 자동 병렬화는 여전히 기술적인 문제로 남아 있지만 병렬 프로그래밍 모델을 사용하여 다른 [25][26]프로세서에서 프로그램의 개별 부분을 동시에 실행함으로써 보다 높은 수준의 병렬화를 실현할 수 있습니다.
디버깅 및 모니터링
클러스터에서 병렬 프로그램을 개발 및 디버깅하려면 병렬 언어 프리미티브와 HPD [19][27]사양을 작성한 HPDF(High Performance Debugging Forum)에서 논의한 것과 같은 적절한 도구가 필요합니다.TotalView 등의 툴은 메시지 전달에 MPI(Message Passing Interface) 또는 PVM(Parallel Virtual Machine)을 사용하는 컴퓨터 클러스터의 병렬 구현을 디버깅하기 위해 개발되었습니다.
캘리포니아 대학 버클리 워크스테이션 네트워크(NOW) 시스템은 클러스터 데이터를 수집하여 데이터베이스에 저장하는 한편, 인도에서 개발된 PARMON 등의 시스템은 대규모 클러스터를 [19]시각적으로 관찰하고 관리할 수 있습니다.
애플리케이션 체크포인트를 사용하여 장기 멀티노드 [28]계산 중에 노드에 장애가 발생했을 때 시스템의 특정 상태를 복원할 수 있습니다.이는 노드 수가 증가함에 따라 계산 부하가 높을 때 노드 장애가 발생할 가능성이 높아지기 때문에 대규모 클러스터에서 필수적입니다.체크포인트를 사용하면 [28]시스템을 안정된 상태로 복원하여 결과를 재계산하지 않고도 처리를 재개할 수 있습니다.
실장
Linux 월드는 다양한 클러스터 소프트웨어를 지원합니다.어플리케이션 클러스터링에는 distcc와 MPICH가 있습니다.Linux Virtual Server, Linux-HA - 여러 클러스터 노드에 서비스 요청을 분산할 수 있는 디렉터 기반 클러스터입니다.MOSIX, LinuxPMI, Kereweight, OpenSSI는 커널에 통합된 완전한 클러스터로 동종 노드 간의 자동 프로세스 마이그레이션을 제공합니다.OpenSSI, OpenMosix 및 Kerheight는 단일 시스템 이미지 구현입니다.
Windows Server 플랫폼을 기반으로 하는 Microsoft Windows 컴퓨터 클러스터 Server 2003은 작업 스케줄러, MSMPI 라이브러리 및 관리 도구와 같은 고성능 컴퓨팅용 부품을 제공합니다.
gLite는 E-sciencE(EGE) 프로젝트에 의해 작성된 미들웨어 테크놀로지 세트입니다.
slurm은 가장 큰 슈퍼컴퓨터 클러스터의 일정 및 관리에도 사용됩니다(상위 500 목록 참조).
기타 접근법
대부분의 컴퓨터 클러스터는 영구적인 고정 장치이지만 플래시 몹 컴퓨팅은 특정 컴퓨팅을 위한 단수명 클러스터를 구축하려고 시도되고 있습니다.그러나 BOINC 기반 시스템과 같은 대규모 자원봉사 컴퓨팅 시스템은 더 많은 팔로워를 보유하고 있습니다.
「 」를 참조해 주세요.
기본 개념 분산 컴퓨팅 | 특정 시스템 컴퓨터 팜 |
레퍼런스
- ^ "Cluster vs grid computing". Stack Overflow.
- ^ Bader, David; Pennington, Robert (May 2001). "Cluster Computing: Applications". Georgia Tech College of Computing. Archived from the original on 2007-12-21. Retrieved 2017-02-28.
- ^ "Nuclear weapons supercomputer reclaims world speed record for US". The Telegraph. 18 Jun 2012. Archived from the original on 2022-01-12. Retrieved 18 Jun 2012.
- ^ Gray, Jim; Rueter, Andreas (1993). Transaction processing : concepts and techniques. Morgan Kaufmann Publishers. ISBN 978-1558601901.
- ^ a b c Enokido, Tomoya; Barolli, Leonhard; Takizawa, Makoto (23 August 2007). Network-Based Information Systems: First International Conference, NBIS 2007. p. 375. ISBN 978-3-540-74572-3.
- ^ William W. Hargrove, Forrest M. Hoffman and Thomas Sterling (August 16, 2001). "The Do-It-Yourself Supercomputer". Scientific American. Vol. 265, no. 2. pp. 72–79. Retrieved October 18, 2011.
- ^ Hargrove, William W.; Hoffman, Forrest M. (1999). "Cluster Computing: Linux Taken to the Extreme". Linux Magazine. Archived from the original on October 18, 2011. Retrieved October 18, 2011.
- ^ Yokokawa, Mitsuo; et al. (1–3 August 2011). The K computer: Japanese next-generation supercomputer development project. International Symposium on Low Power Electronics and Design (ISLPED). pp. 371–372. doi:10.1109/ISLPED.2011.5993668.
- ^ Pfister, Gregory (1998). In Search of Clusters (2nd ed.). Upper Saddle River, NJ: Prentice Hall PTR. p. 36. ISBN 978-0-13-899709-0.
- ^ Hill, Mark Donald; Jouppi, Norman Paul; Sohi, Gurindar (1999). Readings in computer architecture. pp. 41–48. ISBN 978-1-55860-539-8.
- ^ a b Sloan, Joseph D. (2004). High Performance Linux Clusters. ISBN 978-0-596-00570-2.
- ^ a b c d Daydé, Michel; Dongarra, Jack (2005). High Performance Computing for Computational Science - VECPAR 2004. pp. 120–121. ISBN 978-3-540-25424-9.
- ^ "IBM Cluster System : Benefits". IBM. Archived from the original on 29 April 2016. Retrieved 8 September 2014.
- ^ "Evaluating the Benefits of Clustering". Microsoft. 28 March 2003. Archived from the original on 22 April 2016. Retrieved 8 September 2014.
- ^ Hamada, Tsuyoshi; et al. (2009). "A novel multiple-walk parallel algorithm for the Barnes–Hut treecode on GPUs – towards cost effective, high performance N-body simulation". Computer Science - Research and Development. 24 (1–2): 21–31. doi:10.1007/s00450-009-0089-1. S2CID 31071570.
- ^ a b Mauer, Ryan (12 Jan 2006). "Xen Virtualization and Linux Clustering, Part 1". Linux Journal. Retrieved 2 Jun 2017.
- ^ a b c Milicchio, Franco; Gehrke, Wolfgang Alexander (2007). Distributed services with OpenAFS: for enterprise and education. pp. 339–341. ISBN 9783540366348.
- ^ a b c d e Prabhu, C.S.R. (2008). Grid and Cluster Computing. pp. 109–112. ISBN 978-8120334281.
- ^ Gropp, William; Lusk, Ewing; Skjellum, Anthony (1996). "A High-Performance, Portable Implementation of the MPI Message Passing Interface". Parallel Computing. 22 (6): 789–828. CiteSeerX 10.1.1.102.9485. doi:10.1016/0167-8191(96)00024-5.
- ^ a b c Patterson, David A.; Hennessy, John L. (2011). Computer Organization and Design. pp. 641–642. ISBN 978-0-12-374750-1.
- ^ a b K. Shirahata; et al. (30 Nov – 3 Dec 2010). Hybrid Map Task Scheduling for GPU-Based Heterogeneous Clusters. Cloud Computing Technology and Science (CloudCom). pp. 733–740. doi:10.1109/CloudCom.2010.55. ISBN 978-1-4244-9405-7.
- ^ a b c "Alan Robertson Resource fencing using STONITH" (PDF). IBM Linux Research Center, 2010. Archived from the original (PDF) on 2021-01-05.
- ^ Vargas, Enrique; Bianco, Joseph; Deeths, David (2001). Sun Cluster environment: Sun Cluster 2.2. Prentice Hall Professional. p. 58. ISBN 9780130418708.
- ^ a b Aho, Alfred V.; Blum, Edward K. (2011). Computer Science: The Hardware, Software and Heart of It. pp. 156–166. ISBN 978-1-4614-1167-3.
- ^ Rauber, Thomas; Rünger, Gudula (2010). Parallel Programming: For Multicore and Cluster Systems. pp. 94–95. ISBN 978-3-642-04817-3.
- ^ Francioni, Joan M.; Pancake, Cherri M. (April 2000). "A Debugging Standard for High-performance computing". Scientific Programming. Amsterdam, Netherlands: IOS Press. 8 (2): 95–108. doi:10.1155/2000/971291. ISSN 1058-9244.
- ^ a b Sloot, Peter, ed. (2003). Computational Science: ICCS 2003: International Conference. pp. 291–292. ISBN 3-540-40195-4.
추가 정보
- Baker, Mark; et al. (11 Jan 2001). "Cluster Computing White Paper". arXiv:cs/0004014.
- Marcus, Evan; Stern, Hal (2000-02-14). Blueprints for High Availability: Designing Resilient Distributed Systems. John Wiley & Sons. ISBN 978-0-471-35601-1.
- Pfister, Greg (1998). In Search of Clusters. Prentice Hall. ISBN 978-0-13-899709-0.
- Buyya, Rajkumar, ed. (1999). High Performance Cluster Computing: Architectures and Systems. Vol. 1. NJ, USA: Prentice Hall. ISBN 978-0-13-013784-5.
- Buyya, Rajkumar, ed. (1999). High Performance Cluster Computing: Architectures and Systems. Vol. 2. NJ, USA: Prentice Hall. ISBN 978-0-13-013785-2.
외부 링크

- IEEE 스케일러블 컴퓨팅 기술위원회(TCSC)
- 신뢰성 높은 확장 가능한 클러스터 기술, IBM[영구 데드링크]
- Tivoli 시스템 자동화 Wiki
- Borg와 함께 구글에서 대규모 클러스터 관리(Abhishek Verma, Luis Pedrosa, Madhukar Korupolu, David Oppenheimer, Eric Tune 및 John Wilkes)