본문바로가기

한겨레21

기사 공유 및 설정

폐품 PC로 슈퍼컴 만든다

등록 2001-08-14 15:00 수정 2020-05-02 19:22

저렴한 가격으로 클러스터 슈퍼컴퓨팅 구현… 가정용 PC 묶는 국가적 프로젝트도 가능

[%%IMAGE1%%]

컴퓨터에서 가장 중요한 덕목은 빠른 속도이다. 느린 구식 컴퓨터로 요즘 나오는 큰 덩치의 프로그램을 돌려볼 때면 우리는 거의 인내심의 한계에까지 다다른다. 컴퓨터에서 빠르게 계산하기 위한 방법은 크게 세 가지가 있다. 가장 손쉬운 방법은 더 빠른 CPU의 컴퓨터를 구입하는 것이다. 다음은 그 계산을 담당하고 있는 프로그램의 알고리즘을 개선하는 것이다. 이 방법은 돈이 들지는 않지만 알고리즘을 개선하는 일은 복잡한 전산학이론을 요구하는 일이라서 일반인으로서 거의 채택할 수 없는 방법이다.

나머지 하나의 방법은 주어진 문제를 몇개의 작은 문제로 쪼갠 뒤 몇개의 컴퓨터로 분산해서 이들의 협동작업으로 풀어내는 것이다. 이러한 방법의 가장 단순한 형식은 한 컴퓨터에 복수개의 동종 CPU를 장착하는 것이다. 예를 들어 두개의 CPU가 있는 듀얼(dual)CPU 컴퓨터의 경우라면 보통 1.4배 정도의 처리속도를 기대할 수 있다.

성능에 비해 너무나 비싼 슈퍼컴퓨터

보통의 상업용 컴퓨터의 처리속도에 비해서 수백, 수천배의 빠른 속도로 처리하는 작업을 슈퍼컴퓨팅이라고 말한다. 슈퍼컴퓨팅 능력은 한 국가의 과학기술 척도가 될 만큼 중요한 지표이다. 예를 들어 기상예측, 입자물리학, 유전자 분석, 국가방어체계, 초대규모 경제시스템 분석, 나노기술, 천체물리학은 슈퍼컴퓨팅이 사용되는 가장 대표적인 분야이다. 갈수록 과학의 규모가 거대화됨에 따라서 이제 슈퍼컴퓨팅을 활용하지 않는 과학은 국제경쟁에서 명함도 못 내밀 정도이다.

보통의 슈퍼컴퓨팅 전략은 슈퍼컴퓨터를 도입하는 것으로부터 시작된다. 슈퍼컴퓨터란 앞서 말한 전략 중에서 2번째와 3번째 전략을 병합한 컴퓨터를 일컫는다. 즉 각각의 CPU도 엄청나게 빠른 속도를 자랑할 뿐만 아니라 이들을 적절히 병렬로 묶어서 이들간 협동작업이 가능해야 한다. 그런데 슈퍼컴퓨터의 한 가지 문제라면 그 성능만큼이나 가격이 엄청나다는 것이다. 보통 10억원에서 시작해서 많게는 1천억원이 넘는 기종도 있다. 세계에서 가장 빠른 속도를 자랑한다는 미국 로렌스 리버모어 국립연구소의 ASCI Blue 슈퍼컴퓨터는 대당 1500억원 정도다.

비록 속도는 PC와 비교할 수는 없지만 속도에 따른 가격비로 본다면 PC의 약 10배에 해당될 정도로 성능에 비해서 가격이 비싸다. 게다가 전기도 엄청나게 소요되어 연간 1억원 정도가 전기료로 나간다. 게다가 항온·항습관리를 위한 부대시설과 관리인, 그리고 이 특별한 기계를 위하여 채용된 전문프로그래머까지 계산한다면 그야말로 전체 운영비는 상상을 초월한다. 더 큰 문제는 이렇게 사용이 까다롭다보니 그 활용도가 대략 5%에도 못 미치고 있다는 것이다. 따라서 충분한 예산을 지원받는 연구소가 아니라면 슈퍼컴퓨터는 꿈도 꾸기 어렵다. 그래서 사람들은 이미 사용되고 있는 보통의 개인용 컴퓨터를 네트워크로 엮어서 슈퍼컴퓨터에 필적할 계산능력을 낼 수 없을까 하고 궁리하기 시작했다.

클러스터링(Clustering)이라고 불리는 이 기술은 보통 규모의 연구실 차원에서 가장 현실적인 가격으로 슈퍼컴퓨팅을 할 수 있는 유일한 방법으로 알려지고 있다. 사실 클러스트링 기술이 제안된 것은 1980년 초기에 DEC에서 발표된 VAX 컴퓨터로부터이다. 몇대의 개별적인 VAX를 묶어서 상당한 속도개선을 맛볼 수 있었지만, 클러스트링이 본격화된 것은 PC와 인터넷이 보편화되기 시작한 1990년대이다. 게다가 PC에까지 리눅스(LINUX)라는 유닉스(UNIX)계열의 공개된 운영체제가 활용됨에 따라서 클러스트링 기술은 더욱 활기를 띠게 됐다.

본격적인 의미에서의 클러스터 슈퍼컴퓨터는 1994년 NASA의 고다드 우주항공센터에서 탄생되었다. 그들이 필요한 수준의 계산속도는 대략 초당 10억번 정도의 계산이었다. 당시 그 정도 성능의 슈퍼컴퓨터는 대당 10억원 정도였다. 그런데 그 연구소 연구원인 스털링과 베커는 16대의 486 컴퓨터를 이더넷과 리눅스 운영체제로 엮어서 당대의 수준급 슈퍼컴퓨터에 필적할 만한 훌륭한 환경과학용 PC클러스터를 만들었다. 제작 가격은 슈퍼컴의 약 10분의 1 정도에 불과했다. NASA연구원들은 이 클러스터의 이름을 베오울프라고 불렀는데, 이는 그렌들(Grendel)이라는 거대한 괴물을 물리친 중세영웅의 이름인 베오울프(Beowulf)에서 따온 것이다.

이어서 더욱 놀라운 클러스터링 컴퓨터들이 잇따라 나왔다. 미국 오크리지 국립연구소의 해그루브와 호프먼은 연구소에서 폐기 처분하려고 쌓아둔 잡다한 종류의 폐품 컴퓨터 130대를 엮어서 엄청난 속도의 PC클러스터를 만드는 데 성공했다. 그 130대 중에는 486 PC가 75대, COMPAQ 기계가 5대, 나머지는 펜티엄 기반의 이런저런 PC였다. 대략 같은 성능의 슈퍼컴퓨터에 비해서 거의 공짜나 다름없는 이 재활용 PC클러스터는 많은 주목을 받았다. 이 클러스터에 참가할 수 있는 최소한의 사양은 32메가 메모리에 200메가 하드 드스크가 전부이다. 그들은 이 클러스터를 Stone SouperComputer라고 불렀는데 슈퍼(Super)컴퓨터와 발음이 같도록 Souper라고 익살스럽게 지었다. 각 PC는 각 그룹의 대표 PC와 보통의 이더넷으로 연결되어 있고 각 대장 PC는 외부 네트워크와 사용자에게로 연결되도록 구성돼 있다.

이런 클러스트링 방법이 성공하는 이유는 많은 계산문제들에는 이것을 작은 문제로 분할해서 풀 수 있는 성질이 있기 때문이다. 즉 그 쪼개짐의 정도를 나타내는 문제의 병렬성(parallelism)이 많을수록 클러스트링 전략은 성공적이 된다. 기상예측과 같은 일은 대부분 각 지역을 대표하는 격자들과 그 인접격자들간의 계산이 주된 것이므로 전체 문제를 쪼개어 따로따로 지역별 계산이 가능하다. 하지만 어떤 고약한 문제는 거의 병렬성이 없는 경우도 있는데 이 경우 클러스트링과 같은 병렬처리 기법은 별 효과를 발휘하지 못하고 전통적인 슈퍼컴을 사용해야 한다.

놀리는 PC 이용한 ‘한밤의 슈퍼컴’을

[%%IMAGE2%%]

최근에는 그렌들, 네글링(Naegling), 메가론(Megalon), 아바론(Avalon) 등과 같이 대략 500여대 이상의 PC를 묶은 새로운 이름의 클러스터 컴퓨터가 소개되고 있다. 그리고 IBM과 같은 업체에서도 이쪽으로 눈을 돌려 1250대의 서버급 PC를 묶은 클러스터가 개발중에 있다고 한다. 우리나라에도 이러한 클러스터 컴퓨터를 개발, 판매하는 업체가 몇 군데 있다. 클러스터 컴퓨터가 성능에 비해 가격이 엄청나게 싼 반면, 이것이 최대 성능을 발휘하도록 프로그래밍하기란 그리 쉽지 않다. 즉 주어진 일거리를 어떻게 쪼개서 개별 PC에 배분할 것인가, 그리고 특정한 PC에 작업이 너무 몰리지 않도록 부하조정(Load Balancing)을 하는 것이 매우 중요하다.

미래에는 수십 만대의 지역적 PC들이 하나로 묶이는 초대규모 클러스터가 나타날 것이다. 예를 들어SETI@home과 같은 외계생명체 탐사 프로젝트에서는 간밤에 놀고 있는 일반인들의 PC를 활용하고자 한다. 이 단체에 연락을 하면 밤새 놀고 있을 가정용 PC에서도 계산할 수 있는 일거리를 메일로 보내준다. 여하간 우리나라에서도 연간 폐기되는 PC의 양이 엄청나다고 한다. 쓸 만한 PC를 그냥 버리거나 마냥 놀리는 것은 국가적으로도 큰 손실이 아닐 수 없다. 가능하다면 우리나라에서도 폐기 컴퓨터의 체계적인 활용방안이나 심야에 놀고 있을 가정용 PC를 활용한 ‘한밤의 슈퍼컴퓨터’와 같은 국가단위의 의미있는 클러스터링 프로젝트를 기획해야 할 필요가 있을 것이다.

조환규/ 부산대 교수·컴퓨터과학

한겨레는 타협하지 않겠습니다
진실을 응원해 주세요
맨위로