사용기 및 구매후기


컴퓨터 클러스터의 이해

2010.07.06 21:36

cicatrix 조회:3620 추천:5

공학 문제의 해결 방법


일반적으로 공학 문제의 해(solution)을 구하기 위한 방법으로 아래와 같은 세 가지로 나눌 수 있다.

1. 이론 (theory)

2. 실험(experiments)

3. 수치해석 (numerical analysis)

각 공학 문제의 특성에 따라 독립적으로 작용하여 문제를 해결할 수 도 있지만

세 가지 모두를 고려했을 때 각각의 단점들을 보완할 수 있기 때문에 실제 물리적 현상의 해를 좀 더 정확히 계산할 수 있다.

특히 수치해석은 실험을 하기 위해 소요되는 비용과 시간을 줄이고,

실험의 위험 부담이 없으며, 결과값을 직관적으로 확인할 수 있는 장점이 있으므로 많은 분야에서 활용되고 있다.




수치해석 = 컴퓨터의 연산


사실 수치해석은 전산해석(computational analysis)와 공학 분야에서 같은 의미로 쓰이기는 하지만

꼭 컴퓨터를 이용해서 풀이하는 것만은 아니다.

가장 심플한 수치해석 기법으로서 Newton’s method는 0번 점으로부터 출발하여 n번 점인 해를 구할 수 있다.

사실 수학적 풀이기법을 잘 알지 못하더라도 직선을 그을 수 있는 자와 연필만으로도 문제를 해결할 수 있는 것이다.


하지만 실제의 공학 문제는 위와 같이 간단하지는 않다.

태풍의 이동경로, 차량의 충돌해석, 비행기 날개 주위의 유동장 등의 복잡한 물리 현상을 해석하기 위해서는

여러 요인들이 복잡하게 얽혀 있고, 연필과 종이만으로 이들 사이의 복잡한 수식과 방정식을 풀기에는 너무도 계산의 양이 많다.

따라서 수치해석을 위해서는 반복작업에 적합한 컴퓨터라는 도구를 이용하는 것이다.




Computational Load


일반적으로 수치해석 분야에서 복잡함의 정도는 격자의 수로 표현할 수 있다.

특정 물리 현상의 계(system)를 100개, 1000개, 10000개 등으로 쪼개어 계산한다는 의미인데,

일반적으로 더 잘게 쪼개어 계산할 수록 정밀한 해를 계산할 확률이 높다.



그러나 격자의 수가 증가함에 따라 CPU가 연산하는데 필요한 시간 역시 증가한다.

따라서 적당한 수준에서 격자의 수를 제한하여 해석하거나,

그럴 수 없는 경우라면 더 높은 성능의 컴퓨터를 이용할 수 밖에 없다.


소규모 기업에 종사하거나 수치해석 전공이 아닌 대학원생 정도라면 개인용 컴퓨터를 이용하게 되는데

100만개 정도의 격자수에 비정상상태(unsteady state) 문제를 풀이한다면 때로는 수 주가 지나도 결과를 얻을 수 없다.

다행히도 최근 출시되는 CPU의 성능은 비교적 뛰어나기 때문에 이러한 부분에서 조금은 나아졌다고 생각한다.




CPU 발전의 대세 = 멀티코어


최근에 발매되는 CPU는 거의 대부분 멀티코어이다.

멀티코어 CPU는 하나의 칩에 두 개 이상의 프로세서가 존재하여 각각의 프로세서가 다중 작업을 하게 된다.

병렬화된 명령어의 지원을 받는다면 멀티코어 CPU는 복잡한 문제를

몇 개의 구역(partition)으로 나누어서 각각의 코어가 일을 분담하게 되므로 그 만큼 해석시간에 있어서 이득이라 할 수 있다.


사실 멀티코어 CPU가 나오게 된 배경 역시 흥미로운데,

이는 다중 작업에 유리하기 때문에 개발되어진 것 보다 공정 기술의 한계에 부딪혔기 때문이 아닐까 싶다.

수 년전 CPU제조사와 반도체 업계는 무어의 법칙이 무너지지 않을 것이라는 믿음을 가지고 있었고,

무려 10Ghz의 클럭 스피드를 가지는 인텔 펜티엄 4 프로세서를 기대했으나

반도체 공정 기술은 무한히 발전하지 못했고 결국 고 클럭 CPU는 출현하지 않았다.


또한 90nm 공정으로 접어 들면서부터 CPU에서 발생하는 과도한 발열 및 소비전력의 문제가 심각히 대두되었고,

각 컴퓨터 관련 커뮤니티에서는 펜티엄 4 프레스캇을  프레스핫이라 부를 만큼 뜨거운 CPU가 탄생하기도 하였다.

무한히 고 클럭의 길을 갈 것만 같았던 CPU의 클럭 스피드는 현재 3GHz 정도에서 발걸음을 멈추었으며,

하나의 다이에 여러 프로세서를 집어넣은 멀티코어 CPU가 현재의 트렌드라고 할 수 있다.



최근 발매된 6코어 i7-980x 




컴퓨터 클러스터


수치해석을 위한 컴퓨터 클러스터는 멀티코어 CPU의 역할과 비슷한 점이 매우 많다.

무거운 물건을 들기 위해 여러 사람이 협력하는 것처럼,

멀티코어 CPU 역시 다중 작업에서 각각의 코어가 작업을 나누어 처리하는 것이며,

컴퓨터 클러스터에서는 LAN 상의 여러 대의 컴퓨터가 복잡한 물리 현상을 지배하는 방정식을 나누어 풀게 된다.


 


위의 사진은 구글링한 것으로 Michigan Technological University의 Beowulf cluster라고 한다.

가운데의 PC는 Host node이며, 나머지 PC들은 Compute node이다.

그리고 검은색 기기는 Network hub로 PC들 사이의 통신을 중계하는 역할이다.


이 구성을 좀 더 간략하게 나타내보면 다음과 같다.

Host node는 인터넷에 직접 접속하며, Compute node들은 그렇지 못하다.

Host node와 Compute node는 Network hub로 묶여 있고 각각의 컴퓨터 간의 정보를 주고 받을 수 있다.





어떻게 클러스터링 할 수 있는가?


본 글에서 말하는 컴퓨터 클러스터는 복잡한 물리 현상을 풀이하기 위해 하나로 묶어 놓은 컴퓨터의 집합체이다.

이러한 컴퓨터의 집합체를 어떻게 만들 수 있을 것인가 하는 문제의 해답에 대해 명확히 제시할 수 없지만,

순수하게 수치해석 툴을 사용하고자 하는 입장에서 위의 그림과 같이 PC4대를 이용하여

최대한 간단하게 컴퓨터 클러스터를 구성 방법에 대해서  말하고자 한다.


또한 나와 같이 linux 운영체제를 다루어 본 경험이 없는 이에게 windows 운영체제를 이용하는 것은 상당히 매력적이다.


다음 글에서는 Windows HPC Server 2008을 이용하여 4대의 PC를 클러스터링 하는 튜토리얼을 작성할 계획이다.

번호 제목 작성자 작성일 조회
90 저사양 컴퓨터 살리기: 가벼운 리눅스 몇가지 [3] 닥터랜 09.15 18438
89 [문구] 펠리칸 멀티펜 (Multi 4×1 Pen) [6] file jubilee 09.03 5944
88 성야무인의 목숨깎아 먹으면서 쓰는 리뷰 7탄: 안드로이드 PMP의 최대장점과 앞으로의 한계를 보여준 Yuandao N3 [6] file 星夜舞人 09.02 5645
87 SMC wifi 스카이프폰 WSKP-100 사용기(2) : 1450mA 배터리 NP-60 장착후 [2] 가영아빠 08.04 16101
86 성야무인의 목숨깎아 먹으면서 쓰는 리뷰 6탄: 멀티미디어 그리고 게임성을 접목한 4.3 인치 PMP Ployer V5. [2] file 星夜舞人 08.02 3910
85 SMC wifi 스카이프폰 WSKP-100 사용기 [3] file 가영아빠 08.01 3766
84 USB ANDROID ROBOT SPEAKER 구매 후기/사용기 [6] file 엘레벨 07.29 3504
83 영광의 상품 Yuandao N3 리뷰 [4] file 팬디 07.26 4353
82 태빗 허니콤으로 [1] file 스파르타 07.12 3877
81 HTC ChaCha 사용기? (라기 보다는 솦트웨어 리뷰) [9] file 만파식적 07.09 6935
80 [무한 스리즈]만지면 만질수록 중독되는 고양이 발바닥 [8] file yohan666 07.09 8014
79 HTC ChaCha 개봉기 2부 [3] file 만파식적 07.09 4775
78 HTC ChaCha 수령및 개봉기 [2] file 만파식적 07.09 5030
77 [무한 스리즈]대륙의 무한 콩깍지 벗기기 [3] file yohan666 07.06 5300
76 안드로이드 기기 Ronzi A3 박스 오픈기 [6] file yohan666 07.06 4286
75 성야무인의 목숨깎아 먹으면서 쓰는 리뷰 5탄: 4.3인치 PMP의 모든것을 보여준 Chuwi D4 [13] file 星夜舞人 07.04 6618
74 새신발 신고 폴짝폴짝 나이키 프리런 2 [7] file yohan666 07.01 6347
73 [무한 스리즈]대륙의 반다이 무한 뾱뾱이 [6] file yohan666 06.29 5980
72 다양한 버튼을 제공하는 안드로이드 기기 CHUWI사의 D4 [6] file yohan666 06.26 3477
71 Herotab C8/ Dropad A8 사용기 -1 [15] file 엘레벨 06.26 4678

오늘:
73
어제:
17,343
전체:
15,167,641