인생사는 이야기

클러스터링이란? 본문

IT/IT 용어

클러스터링이란?

채율파파 2012. 3. 29. 17:02
반응형

1. 여러개의 컴퓨터를 연결한 병렬 시스템을 말합니다.

여러대의 컴퓨터를 서로 연결하여 마치 하나의 컴퓨터처럼 사용하는 것을 클러스터라고 합니다. 서로 통신이 가능하며 업무를 분담해서 수행하게 됩니다.

2. 클러스터에는 그 목적에 따라 몇가지 종류가 있습니다.

베어울프클러스터 :
다수의 컴퓨터가 하나의 프로그램을 협동하여 수행하여 고성능의 계산능력을 낼 수 있습니다.. 기존 슈퍼컴퓨터 보다 가격대 성능비가 우수하다는 장점이 있습니다.

부하분산 클러스터:
대규모 서비스(web,ftp,DataBase...)를 제공하기위한 클러스터로써 서비스를 요청받으면 자신이 그 요청을 처리하지 않고 클러스터내의 다른(한가한) 컴퓨터에게 서비스를 제공하도록 함으로써 대규모서비스를 제공해줄수 있습니다.

고가용성 클러스터:
클러스터는 여러대의 컴퓨터를 가지고 있으며 그중한 일부가 fail 됬을 때 이를 극복하기 위함이 그 목적입니다. 이를 위해서 서로가 서로를 수시로 체크하게되며 고장난 컴퓨터를 클러스터에서 동적으로 제거하고 해당 컴퓨터가 수행하던 특정 작업을 다른 컴퓨터가 대신수행해주기도 합니다. 또한 다시 클러스터로 합류할수도 있습니다.


3. 클러스터의 장점은 크게 두가지 입니다.

클러스터의 빼놓을수 없는 장점은 첫째 가격대 성능비입니다.
하나의 컴퓨터에서는 성능을 향상을 위한 비용의 비용은 기하급수적으로 증가합니다. 그러나 클러스터에서는 상대적으로 serial 하게 증가합니다. 그리고 얼마나 시리얼하게 구성할수 있는지도 클러스터를 구성하는데 중요한 문제입니다.

두 번째 장점은 확장성입니다.
독립된 컴퓨터에서 업그레이드를 하려면 거의 모든 것을 교환해야 합니다. 그러나 클러스터에서는 새로운 컴퓨터를 클러스터에 추가하는 것만으로 성능이 증가하게 됩니다.

4. 클러스터는 물론 단점도 있습니다.

중요한 단점은 관리의 어려움입니다. 컴퓨터가 여러대로 이루어졌기 때문에 프로그램설치나 설정변경 파일 업로드 데이터변경 모니터링 등은 모든 컴퓨터에서 이루어져야 합니다. 주로 베어울프 클러스터에서는 NFS마운트를 통해서 이를 해결하고 있지만 이것은 네트워크의 부하를 증가시켜서 확장성의 제한을 가져오게 됩니다. 이런 문제를 해결하기위해 클러스터를 위한 관리툴이 많이 나오고 있습니다. 또한 다수의 컴퓨터중에서 고장날 확률은 매우 높으며, 실제로 대규모 클러스터에서는 H/W 또는 S/W의 fail로 인한 문제가 많이 보고되고 있습니다.

5. 클러스터는 여러곳에서 사용되고 있습니다.

베어울프 클러스터는 영화 타이타닉에서도 사용되었습니다. 100여개의 알파 리눅스 클러스터를 이용하여 컴퓨터 그래픽작업을 했답니다.. 일반적으로 그래픽 작업은 많은 계산량을 가지고 있으며 이를 처리하기에 클러스터는 좋은 solution 이었습니다.

부하분산 클러스터는 다이얼패드를 비롯하여 매우 많은 웹서버에서 사용하고 있답니다. 다이얼패드의 경우 약 20여대가 클러스터링 되어서 서비스되고 있답니다.

고가용성 클러스터도 여러곳에서 사용되고 있으리라 생각됩니다. 이것은 대규모뿐만 아니라 소규모에서도 활용가치가 높습니다. 2개의 서버를 클러스터링해서 사용하면 거의 무정지로 서비스를 제공할수 있습니다. 두 개의 컴퓨터가 동시에 고장이 나지 않는다면 말이죠.

6. 클러스터를 위한 OS는 리눅스만이 있는 것은 아닙니다.

현존하는 거의 대부분의 OS에서 클러스터링은 가능합니다. windows, unix... 그러나 리눅스가 가장 널리 사용되고 있으면 그 이유는 당연히 소스공개로 인해 개발에 편리함을 주기 때문이죠. 실제로 클러스터를 위한 많은 커널패치가 존재합니다. 이것으로 클러스터에 최적화된 커널을 만들수 있습니다. 소스공개가 아니면 불가능한 일이죠.

7. 베어울프 클러스터는 MPP 머신입니다.

MPP(Massively Parallel Process)는 다수의 프로세서를 장착한 분산 메모리 머신으로 프로그램은 상대적으로 어려우나 확장성이 좋은 장점이 있습니다. 분산 메모리의 특성상 확장이 자유로우며, general 한 H/W를 사용함으로서 가격이 저렴합니다. 기존에 슈퍼컴퓨터를 말하면 대부분 PVP 머신이었지만 이제는 MPP 슈퍼컴퓨터퓨터로 추세가 바뀌고 있습니다.

8. 클러스터의 성능을 좌우하는 것은 CPU성능만이 아닙니다.

킄러스터의 성능에 가장 영향을 미치는 것은 프로세서의 성능과 함게 통신속도입니다. 클러스터내의 각 컴퓨터끼리 수시로 정보를 정보를 주고 받아야 하므로 이를 얼마나 빨리 대규모로 할수 있는냐가 매우 중요합니다. 그리고 많은 경우 이런 정보를 받기위해 CPU는 놀면서 기다리게됩니다. 이것을 네트워크 병목현상(bottleneck)이라 합니다. 특히 베어울프 클러스터의 경우는 아무리 빠른 통신루트를 가지고 있다고 하더라도 네트워크가 bottleneck 으로 작용합니다. 하지만 무작정 네트워크 성능을 올릴수 없는 것이 네트워크 비용역시 기하급수적으로 증가하기 때문입니다. 가장 널리 사용되고 있는 네트워크 장비는 100Mbps랜카드와 100Mbps스위칭허브입니다. 



반응형

'IT > IT 용어' 카테고리의 다른 글

패리티 체크 비트  (0) 2012.04.17
SCSI , SATA , SAS  (2) 2012.03.28
Comments