Cluster(클러스터) 정의, 장점, 구조, 특장점, 핵심기술, 유사기술

Cluster(클러스터) 정의, 장점, 구조, 특장점, 핵심기술, 유사기술

 

Ⅰ. Clustering의 개요

 

가. Clustering의 정의
- PC 또는 Workstation을 고속 네트워크를 이용하여 병렬로 연결하여 사용자에게 슈퍼컴퓨터
시스템의 고성능 기능을 제공하는 기술
- 가변적인 업무처리를 하거나 컴퓨터의 고장에 대비하여 시스템 운영의 지속성을 확보하여
고가용성(High Availability)을 구현하기 위한 전략
- 시스템 환경에서 고가용성 방법 중 하나가 Clustering이며 Fault Tolerant System과 유사
나. Clustering의 등장배경
- 최초의 Cluster는 NASA의 Goddard Space Flight Center에서 16대의 486PC를 연결하여
만든Beowulf Cluster
- 인터넷 기반 기술의 급속한 발전에 따른 고성능 서버에 대한 수요 증가
- 고성능 컴퓨터를 통한 대용량 자료 처리, 멀티미디어 작업 등의 서비스 요구 증가
- PC 및 Workstation의 급속한 발전
다. Clustering의 장점

라. Cluster의 발전과정

 

Ⅱ. Cluster 의 구조 및 특장점

 

가. Cluster 의 구조

나. Cluster 의 특장점
- 각각의 OS 를 가지고 운영되는 단일 SMP 시스템을 하나의 Node 처럼 가동되도록 상호 연결한
구조임.
- 각 Node 는 고유한 OS 를 가지고 있음
- MPP 시스템과의 차이는 공유하는 자원의 존재여부임.
- 주요 장점

-주요단점
.다수의 컴퓨터로 구성되어 있어서 관리의 어려움과 프로그램의 어려움을 있음
.다수의 컴퓨터를 관리하고 일반적인 문제들(S/W, H/W)을 해결하는데 상대적으로 많은
노력이 필요함
다. Cluster의 분류

Ⅲ. Clustering의 핵심기술 종류 및 사용이유

 

가. Clustering의 핵심기술 종류
1)계산용 Clustering
- 주로 과학기술 분야에 사용되며 슈퍼컴퓨터 응용분야가 모두 해당됨
- 예를 들어 기상 예측과 같은 유체 역학적인 문제들은 거대한 크기의 행렬문제로 표현할 수 있는
데 이와 같은 거대한 행렬을 계산용 Cluster의 수백대의 컴퓨터에 나누어 주어 계산하게 한
다음 그 결과를 최종 얻게 됨
2)부하분산 Clustering
- 웹서비스와 같이 한 사용자가 요구하는 작업량은 크지 않지만 동시 사용자의 전체수가 수천~수
만과 같이 크기 때문에 한대의 컴퓨터로는 처리할 수 없는 경우를 위한 Cluster 구조
- 사용자의 작업요청을 일차적으로 받아들이는 부하분산 컴퓨터가 있으며 이 컴퓨터가 실제로
서비스를 처리하는 여러 컴퓨터 중에서 현재의 부하량이 적은 컴퓨터를 선택하여 사용자의
요청을 전달해 줌

3)고가용성 Clustering
- 두 대 이상의 컴퓨터로 구성되는 클러스터 구조에서 한대 이상의 컴퓨터에 고장이 발생하는 경
우 전체 서비스 중단을 막기 위해 여분의 컴퓨터를 미리 할당하는 방법
- 예를 들어 두 대의 컴퓨터가 동일한 기능을 수행할 수 있도록 동일한 하드웨어와 소프트웨어를
설치하고 두 대의 컴퓨터 사이를 고속의 네트워크로 연결하여 서로 상대방의 현재 상태를
검사하고 고장시 상대방의 서비스를 대신 수행할 수 있음
나. Cluster의 사용이유
-비용측면 : 고성능 PC 및 워크스테이션의 보편화에 따른 가격 효율성
고성능, 고가격 슈퍼컴퓨터 CPU의 성능향상 한계
-성능측면 : 데이터 및 사용자 증가에 따른 노드 확장이 가능하며 선형적 성능 증가 지원
-가용성 측면 : 한 노드에서 장애 발생시 다른 노드로 부하분산 및 재 분배
-관리측면 : Management Node를 통한 S/W분배 및 관리 효율 증대


Ⅵ. Clustering 유사기술 비교

 

가. SMP(Symmetric Multiprocessing)
- 대칭형 다중처리
- 운영체제와 메모리를 공유하는 여러 프로세스가 프로그램을 수행하는 것
- 프로세서가 메모리와 입출력 버스 및 데이터 path를 공유하며 하나의 운영체계가 모든 프로세서
를 관리
- 보통 2~32개의 프로세서로 구성되며 OLTP작업에 강점을 보유
- MPP시스템에 비해 병렬 프로그래밍과 프로세서간 작업분산은 용이하나 확장성은 취약
- I/O와 메모리 액세스의 병목현상이 발생

나. NUMA(Non-Uniform Memory Access)
- 비균등 메모리 액세스
- SMP시스템의 단점을 해결하기 위해 마이크로프로세서들 간에 중간 단계의 공유메모리를
추가함으로써 모든 데이터 액세스가 주버스 상에서 이동되지 않도록 구성하는 기술
- 모든 Node들상에 있는 데이터를 계층관리하며 각각의 Cluster들을 네트워크상에서 하나의
Node처럼 관리
- 프로세서가 메모리 주소의 데이터를 검색할 때 먼저 마이크로 프로세서 자체에 붙어 있는 L1Cache를 먼저 찾은 다음 근처에 있는 다소 큰 L2 Cache를 검색하고 마이크로 프로세서 인근에
있는 원격 메모리의 데이터를 검색하기 전에 NUMA 구성에 의해 제공되는 L3 Cache를 검색함

다. MPP(Massive Parallel Processing)
- 하나의 CPU, 메모리, OS로 구성된 Node들의 집합으로 구성
- 단일 OS상에서 구현되지 않으므로 Hardware Coherency 대신 Message Passing 방법을 사용한
Software Coherency를 사용
- MPP시스템에서 어플리케이션 개발시에는 각 노드간에 교환되는 데이터를 최소화하여 지연시간을
최소화해야 함
- 주로 의사결정지원시스템(Decision Support System)이나 VOD(Video On Demand) 등에 사용

라. SMP, NUMA, MPP 상호 비교

마. SMP와 Cluster컴퓨터의 비교

 

Ⅴ. Clustering 기술의 적용사례

 

Ⅵ. Clustering 기술의 활용방안 및 발전 방향


가. 기술적 측면
- Clustering 기술의 핵심 요소인 네트워크 성능은 Giga Byte급 네트워크의 등장으로 향상되고
있으며 지원 소프트웨어도 연구 개발이 지속되고 있음
- FC(Fiber Channel)의 표준화 및 관련 장치들의 보편화가 추진중임

나. 응용분야 측면
- 국가적 차원에서 국책과제의 효율적 추진을 위한 GRID 프로젝트가 활발히 진행중임
- Linux 환경에서의 Clustering 기술 연구를 통해 비용 절감과 구성의 용이성 확보 추진
다. Cluster 의 활용 분야
- 고성능 컴퓨터로서 사용되기 위하여 Graphics, 일기예보, Super Computer 의 용도로 사용
- 고가용성 컴퓨팅 지원을 위한 결함허용컴퓨터(Fault Tolerant Computer), OLTP, 전자상거래
서버로 사용
- 대용량 사용자 지원을 위한 게임 서버, VOD 서버 등으로도 적용된다.

라. Cluster 의 미흡 사항
- 일부 제품을 제외하고는 네트워크 하드웨어들이 병렬 처리를 위해 설계되어 있지 않아, SMP 와
비교시 대역폭이 낮음.
- Node 간의 정보교환을 위한 고속 네트워크 및 스위치에 대한 표준화 및 관련 장치들의보편화가
미흡함.
- 단일시스템 이미지 제공을 위한 소프트웨어 지원이 아직 미미한 수준임.
마. 향후 발전 동향
- Cluster 의 성공관건인 네트워크 성능은 기가바이트급 네트워크의 등장으로 향상되고 있으며 지원
소프트웨어도 연구 개발이 지속되고 있음.
- 국가적 차원에서 GRID 프로젝트가 활발히 진행되어 P2P Cluster 의 활용이 확대될 것임.
- 저렴한 비용과 구성의 용이성 등으로 인하여 Linux 환경에서 Cluster 연구 및 활용이 활발히
진행되고 있음.

댓글

Designed by JB FACTORY