2007-02-20
1980년 초 TCP/IP 기반으로 구축된 인터넷은 전 세계적으로 확산되면서 눈부신 발전을 거듭하고 있다. 수 Kbps 정도로 시작된 인터넷의 속도는 수백Mbps를 넘어 Gbps의 시대로 접어들고 있으며, 국내에서도 1990년 중반 상용 인터넷 서비스를 시작으로 WWW 환경에서 일반인이 쉽게 인터넷을 사용할 수 있게 됨에 따라 인터넷 이용자 수도 폭발적으로 증가하였다.
한편, PC시장에서는 1988년 인텔이 가격대 성능비가 뛰어난 80386SX 마이크로프로세서를 발표한 후 컴퓨터에 대한 새로운 요구가 생겨나기 시작하였다. 486시대를 거쳐 펜티엄 프로세서가 나오면서 PC에서도 상당한 계산능력(CPU Power)을 갖게 되었으며, PC에 탑재되는 메모리의 용량이 급격히 늘어나면서 지식정보처리가 가능하게 된 것이다. 이것은 주어진 정보에 대하여 이미 기억하고 있는 정보 또는 데이터를 이용하여 컴퓨터 자신이 문제의 해결방법을 추측하여 결론을 내릴 수 있는 학습기능이 있는 프로그래밍이 가능하게 된 것이다. 이와 같이 네트워크의 고속화와 PC의 향상된 계산능력은 인터넷을 기반으로 한 분산컴퓨팅을 가능하게 하였으며, @Home 프로젝트가 탄생하게 된 배경이 되었다.
@Home 프로젝트라 불리는 인터넷 기반 분산 컴퓨팅은 대량의 정보처리가 요구되는 바이오, 기상, 천문학 등의 분야에서 대용량의 컴퓨팅 파워의 필요성과 그러한 대용량 컴퓨팅 파워를 저렴하게 얻어보고자 하는 시도에 의해 등장하게 되었다. 이 글에서는 인터넷 기반 분산 컴퓨팅이 탄생한 발자취와 관련 또는 유사 기술, 국내외 동향 및 향후 전망에 대해 살펴본다.
취재 │ 안성열 기자
자료제공 │ 한국과학기술정보연구원(KISTI)
1946년 머클리(John Mauchly)와 에커트(J. Presper Eckert)에 의해 최초의 컴퓨터라 불리운 에니악(ENIAC : Electrical Numerical Integrator and Caculator)이 만들어진 이후 불과 50여년이 지난 지금 컴퓨터 하드웨어와 이를 운영하는 소프트웨어 기술은 상상을 초월할 만큼 발전되었음을 많은 이들이 알고 있다.
지금도 개인용 PDA부터 슈퍼컴퓨터까지 보다 안정적으로 보다 빠르게 운영되는 시스템을 개발하기 위한 노력이 계속되고 있다.
현대의 컴퓨터들은 종류와 형태가 매우 다양하지만 개념적으로 단순하게 분류하면 거의 한가지나 다름없다. 아키텍처와 운영 방식이 1940년대 후반에 John von Neumann에 의해 정립된 기본적인 설계 방식을 따르고 있다. 즉, 기본적으로 제어 장치가 하나의 연산과 연산을 수행할 데이터를 기억 장치에서 가져다가 처리 장치로 보내고, 이들을 실행한 후 다시 저장 장치로 보내는 방식이다. 이에 따르면 컴퓨터는 중앙처리장치(CPU), 주기억장치(Main Memory), 입출력시스템(I/O System)으로 구성되어 있다. 따라서 고성능 컴퓨팅 수행 능력을 얻기 위한 노력은 바로 이들 구성 요소들의 각각 성능을 높이고 서로 연결되는 배치와 방식을 달리하는 것이다.
일반적으로 생각할 수 있듯이, 어떤 일들을 처리하는데 있어서 보다 높은 효율을 얻고자 한다면 (1)보다 열심히 일하거나, (2)보다 똑똑하게 일하거나, (3)누군가의 도움을 얻으면 될 것이다. 컴퓨터의 수행에서도 마찬가지로, (1)보다 빠른 하드웨어를 사용하거나, (2)보다 최적화되고 효율적인 알고리즘과 기술을 사용하거나, (3)여러 장치들이 서로 도와 동시에 병렬적으로 일 처리를 수행한다면 더 빠르게 일을 마칠 수 있을 것이다. 단순하게 생각하면, 컴퓨터의 연산을 수행하는 곳은 중앙처리장치(CPU)이므로 CPU를 여러 개 두어 여러 연산을 동시에 수행하도록 하면 보다 빠른 처리가 가능하다. 하지만 조금 더 생각해 보면 수행하는 일의 각 연산들 간에 순서 관계나 종속 관계가 존재한다면 무작정 동시에 수행할 수도 없는 노릇이다. 동시에 여러 일을 수행하기 위해 일관성을 유지한다거나 일부분에 고장이 발생하였을 경우의 대처(fault handling), 보안(security), 확장성(scalability), 사용자에게 하나의 시스템처럼 보이도록 하는 투명성(transparency) 등의 여러 고려사항 때문에 매우 복잡한 여러 분야에서 이에 관한 연구가 수행되고 있다.
연산과 데이터 처리를 병렬화하는 시도로써 병렬(parallel) 또는 분산(distributed) 컴퓨팅의 개념이 등장하였다. 병렬 컴퓨팅과 분산 컴퓨팅을 명확하게 구분하는 것이 쉽지 않지만, 대개 하나의 기계장치로 구성되어 같은 종류의 프로세서와 운영체제를 사용하며 메모리를 공유하는 방식을 병렬 컴퓨팅이라 하고, 비교적 낮은 대역폭의 네트워크로 서로 연결되어 각자 다른 종류의 프로세서와 운영체제를 사용하여 독립적으로 운영되면서 메시지 전달을 통해 수행되는 방식을 분산 컴퓨팅이라고 한다. 이에 따라 각각은 강결합(tightly-coupled) 시스템과 연결합(loosely-coupled) 시스템이라고 불리기도 한다.
병렬 컴퓨팅과 분산 컴퓨팅은 이미 오래 전부터 연구되어 왔으며, 근래 일반 사용자의 PC 수준에서도 이용할 정도가 되었다. 최근의 PC들을 보면 메인보드에 CPU를 두 개 이상 장착할 수 있는 경우가 많이 있다. 이는 SMP(Symmetric Multi-Processor)로 불리며 하나의 CPU를 사용하는 전형적인 PC와 여러 개의 CPU를 사용하는 병렬 컴퓨터 MPP(Massively Parallel Processor)의 중간적인 입장으로 볼 수 있다. SMP는 운영체제와 메모리를 공유하는 여러 프로세서가 프로그램을 수행하는 것을 말한다. SMP에서는 CPU가 메모리와 입출력 버스 및 데이터 경로를 공유하며, 또한 하나의 운영체계가 모든 프로세서를 관리한다. 보통 2개부터 32개의 프로세서로 이루어지며, 어떤 시스템은 64개까지 프로세서를 공유한다. SMP시스템은 보통 MPP시스템에 비하여 병렬 프로그래밍이 훨씬 쉽고, 프로세서간 작업 분산(workload balance)시키는 것은 훨씬 용이하지만, 확장성은 MPP에 비하여 취약하다.
SMP와 같이 메모리를 공유하지만 분산 메모리를 사용하는 것이 NUMA(Non-Uniform Memory Access)이다. SMP의 가장 큰 문제점은 I/O와 메모리를 공유함으로써 생기는 병목 현상이다. 이의 해결을 위해 몇 개의 프로세서들 간에 중간 단계의 공유 메모리를 추가함으로서 여러 프로세서의 각자 메모리를 계층적으로 공유하도록 한다. Cray T3E 등의 시스템이 이에 속한다.
그리고 네트워크 기술의 발달로 인하여 앞서 언급한 단일 컴퓨터, SMP, NUMA 등을 네트워크로 연결하여 병렬 컴퓨터로서 활용하고자 하는 시도가 클러스터(Cluster)의 개념이다. 강결합(tightly-coupled) 병렬 시스템과 연결합(loosely-coupled) 분산 시스템의 중간 형태로 보면 될 것이다. 보편적인 프로세서, 네트워크 장비, 저장장치로 구성되며 가격 대 성능비 면에서 기존의 대형 컴퓨터 시스템에 비해 우수하고, 업그레이드 및 확장성에서 우수한 면을 가진다. 현재 활용되는 클러스터들은 그 용도에 있어서 과학계산/수치연산, 네트워크 부하 균형 조정, 높은 가용성, 확장성 및 안정성을 위한 데이터베이스 서버 등에 사용된다.
이렇듯 병렬화를 통해 보다 높은 성능을 얻고자 하는 시도로써 PC도 더욱 성능이 높아졌으며 슈퍼컴퓨터의 성능 역시 매우 빠른 속도로 증가하고 있다. 하지만 이들 개별 시스템의 개발에 더하여 활용도를 더욱 높이고자 하는 시도가 90년대 후반부터 이루어졌는데, 분산 컴퓨팅의 한가지로 인식될 수 있는 그리드 컴퓨팅(Grid Computing)의 개념이다. 그리드 컴퓨팅은 컴퓨팅을 위한 자원들을 모두 엮어 활용하고자 하는 계획이다. 개별적으로 구축된 고성능 컴퓨팅 자원들인 슈퍼컴퓨터들과 클러스터 컴퓨터들을 서로 연동하고 이를 하나의 슈퍼컴퓨터처럼 사용할 수 있도록 한다. 인터넷의 일반화와 함께 더욱 강력해진 컴퓨터, 초고속 네트워크 기술에 힘입어 하나의 통일된 컴퓨팅 자원으로서 분산 컴퓨터를 사용하는 것이 가능해진 것이다.
그리드 컴퓨팅은 과학이나 공학, 산업 분야에서 규모가 큰 문제들을 해결하기 위해 지역적으로 흩어져 있으며 서로 다른 조직이 소유한 슈퍼컴퓨터, 저장장치들, 데이터 자원, 특정 기기들을 포함하는 광범위한 자원들의 공유를 가능하게 한다. 초기에는 지역적으로 흩어져 있는 슈퍼컴퓨터들을 연결하고자 하는 프로젝트로 시작되었으나, 현재는 그 의도를 넘어 빠른 속도로 성장하고 있으며, 그리드 인프라가 구축된다면 협업이나 고효율/고성능 컴퓨팅, 분산 슈퍼컴퓨팅 등을 포함하여 매우 많은 응용 분야에 큰 영향을 미칠 것이다.
또한 그리드 컴퓨팅과 유사한 개념이지만 일반 사용자의 컴퓨팅 자원에 초점을 맞추어 근래 각광을 받고 있는 것이 인터넷 분산 컴퓨팅이다. SETI@Home으로 널리 알려진 프로젝트는 일반적인 우주배경복사 전파에 숨어있는 이성적인 무선전파를 파악함으로써 외계 지성체의 존재를 찾아내려는 것이다.
이 프로젝트의 일부로 수천명의 자원자들이 SETI@Home의 데이터를 담고 있는 화면보호기를 각자의 데스크탑 컴퓨터에 내려받아 처리한 후, 그 결과를 버클리 대학교에 보낸다. 전 세계에서 사용되는 컴퓨터들 중에 많은 수의 컴퓨터들이 그 자원을 제대로 활용하지 못한 채 단순히 켜있는 채로 방치되고 있으며, 이를 활용하고자 하는 시도로서 수천대에서 수백만대 PC의 처리 파워가 집적돼 슈퍼컴퓨터의 파워를 창출하게 된다. 중앙의 서버는 대규모의 컴퓨터 업무를 작은 조각들로 나눈 후, 각 조각을 수천대의 데스크탑 컴퓨터에 할당하며, 그러면 각각의 데스크탑 컴퓨터는 할당된 조각을 처리해 그 결과를 서버에 되돌려 준다. 이후 서버는 그 결과들을 집적해 더 작은 조각들을 할당한다.
이런 고파워 저비용의 대안을 이용하려는 도입자들은 바로 제약, 생명공학, 금융 서비스 등 분야의 대용량 컴퓨팅 파워를 필요로 하는 업종이 될 것이다. 현재 국내외에서 인터넷 기반 분산 컴퓨팅을 통해 슈퍼 컴퓨팅의 파워를 얻고자 @Home 프로젝트라 불리는 여러 시도들이 이루어지고 있으며, 우리나라에서도 정보통신부와 한국과학 기술정보연구원 슈퍼컴퓨팅 센터를 중심으로 국가적으로 앞선 IT 인프라를 활용하고자 노력하고 있다.
현재 우리나라의 초고속 정보통신인프라 구축현황과 인터넷 이용률은 세계 최상위권에 속한다. 국내 PC 보급률과 인터넷 이용자 수는 매우 높지만 PC의 이용형태를 분석하여 보면 대부분 문서작성, 웹서핑 또는 게임 등에 이용하는 경우가 대부분이다. 이는 우리나라에 국한된 것이 아니라 전세계적으로 조사되는 PC 사용 경향도 마찬가지이다. 특히 CPU의 성능과 메모리 용량은 기하급수적으로 증가하는 반면, 실제 CPU의 이용률과 정보처리를 위한 메모리의 사용률은 낮다는 분석이 나온다. 다시 말하면 CPU의 유휴시간(idle time)이 많다는 이야기다. @Home 프로젝트는 이와 같이 컴퓨터의 CPU를 이용하지 않는 시간에 작업을 수행하도록 하여 수백-수천만 유휴 컴퓨팅 자원을 통해 슈퍼 컴퓨팅급의 작업 실행을 얻고자 한다. 이 자원을 활용한다면 저비용•고효율의 대용량 컴퓨팅 환경을 구현할 수 있다.
위의 그림과 같이 저장장치, 계산장치 등을 포함한 여러 자원들을 서로 공유하여 개인이 사용하는 PC들이 서로 연결되어 마치 하나의 시스템을 활용하듯 환경이 구축된다. 이러한 환경을 구축하는 데는 비즈니스 측면과 기술 측면 모두에서 여러 가지 이슈들이 존재한다.
인터넷 기반 분산 컴퓨팅의 밑바탕에는 수많은 유휴자원들을 공유하고 이용하고자 하는 의도가 있기 때문에 우선적으로는 그러한 수많은 자원들을 어떻게 모을 것인가가 큰 해결 과제이다. 크게 논란이 되었고 갑작스럽게 많은 회원들이 확보된 냅스터의 경우, 개개인이 자신의 필요에 의해 음악 파일을 공유하기 위한 목적을 가지고 서로 자신의 저장 장치 자원을 공유해 놓은 셈이다. 이렇게 개개인의 목적 성취를 위해 확보된 공유 자원이 이용된 경우도 있지만, SETI@Home과 같이 공공의 목적을 위해 자신의 자원을 기부하는 형태로서 공유자원이 모인 경우도 있다. 이렇게 많은 수의 컴퓨팅 자원을 지속적으로 활용하기 위해 유지하는 것은 마케팅 측면에서의 해결해야할 이슈가 될 것이다.
단지 몇 십 내지 몇 백대의 PC들만을 대상으로 하는 것이 아니고 수백에서 수천만 이상의 자원들을 대상으로 하므로 이들을 관리하기 위한 기술적인 해결 과제들이 또 존재하게 된다. 우선 각 PC들은 자율적으로 각 개인이 사용하는 컴퓨터들이므로 공유되는 PC들은 항상 유휴한 상태가 아니며, 그 상태의 변화가 심하다. 즉, 언제 컴퓨터가 유휴 상태일지 또는 언제 컴퓨터가 꺼질지 등 미리 예측 가능한 상황이 거의 없다고 가정해도 좋을 것이다. 안정적으로 운영되는 하나의 시스템이 아니라 본질적으로 매우 동적으로 변화하는 구조를 가지고 있으므로 이로 인해 기존의 컴퓨팅 개념을 그대로 적용한다면 시스템 운영의 신뢰성을 보장할 수 없게 된다.
이러한 동적인 특성은 구조 뿐 아니라 이질성에서도 나타난다. 즉, 각 PC들은 성능 면에 있어서 매우 다양할 수 있을 뿐 아니라, 사용하는 운영체제도 각양각색이며 연결된 네트워크 성능도 편차가 매우 심할 수 있다. 이렇게 다양하고 이질적인 자원들이 서로 유기적으로 통신하면서 전체적으로는 고른 성능과 안정성을 유지하도록 하는 것은 쉽게 해결될만한 기술적 문제는 아닐 것이다.
또한 인터넷 상에 흩어져 있는 자원들을 이용하기 위해 그들을 지칭할 수 있는 방법도 필요하다. 인터넷에서 개개의 PC들을 구별할 수 있는 현재 가장 널리 사용되는 IP 주소는 각 PC에 항상 고정적이지 않다. 따라서 PC의 자원을 이용하기 위해서는 각 PC를 구별할 수 있는 명명법(naming)이 고안되어야 한다.
이 명명법은 수천만대 규모의 고정적으로 운영되지 않은 자원들을 효율적으로 관리되어야 하므로 기술적으로 효율성 및 성능 등이 고려되어야 한다. 적절한 명명법을 통해 필요한 자원을 필요한 시점에 이용할 수 있어야 하며, 이를 위해서는 역시 검색 기능이 필수적이다. 하나의 큰 작업과 데이터들이 나누어져 여러 PC들에 흩어져 있을 때 이들이 서로 유기적으로 통신하며 컴퓨팅을 수행해야한다면, 어떤 작업이 필요로 하는 다른 작업이나 데이터들이 존재하는 위치를 파악하고 있어야 할 것이다.
그리고 각 개인의 입장에서 보면 자신의 PC 자원을 빌려주는 입장이며, 이는 자신의 PC에서 신뢰할 수 있으며 해롭지 않은 작업이 수행되고 있다는 것을 신뢰할 수 있어야한다는 의미를 갖는다. 인터넷에 연결된 PC들은 현재에도 많은 보안 문제에 시달리고 있는데, 자신의 PC를 개방하여 작업을 수행시키도록 할 때에는 보안에 대한 충분한 믿음을 줄 수 있어야 한다.
이는 어느 정도의 중앙 관리를 통해 시스템의 효율과 성능을 높이기 위한 모니터링이 필요하다는 의미가 될 것이다.
자율성을 매우 강조하는 P2P 방식의 구조에서도 제어 가능한 시스템 운영을 위해서는 서버가 필요하게 된다.
서버의 역할이 최소화되어 완전한 분산 컴퓨팅을 이루는 것 역시 단점이 존재하므로, 적절한 수준의 제어 권한을 가진 서버를 운영하되 각 자원의 자율성을 해치지 않도록 유지하는 것이 필요하다.
위와 같은 여러 이슈들을 해결하고 최적화된 분산 컴퓨팅 환경이 이루어졌다 하더라도 이를 이용하는 각종 어플리케이션들에 따라 성능이 좌우되기도 한다.
예를 들어보면, 어떤 응용 분야의 경우에는 하나의 작업을 수행하는데 반드시 순차적인 수행만이 가능하여, 작업을 작은 부분으로 쪼개어 병렬 및 분산된 방식으로 수행되지 못한다면 분산 컴퓨팅 환경이 구축되어도 활용되지 못할 것이다.
따라서 각 응용 분야별로 최적화된 방식으로 어떻게 작업을 쪼개어 어떤 방식으로 분배시켜 통신량을 줄이면서 각 자원을 최대한 활용할 수 있도록 분산 컴퓨팅 환경을 이용할 것 인가도 연구 대상이다. 환경, 생물, 물리 등 여러 응용 분야별로, 그리고 실제 수행될 어플리케이션 별로 특성이 충분히 연구되고 최적화시킬 요소들을 찾아내는 연구가 필요할 것이다.
또한 향후 인터넷 기반 분산 컴퓨팅이 활성화되고 많은 자원들이 컴퓨팅에 참여하게 될 때 표준 프로토콜이나 최소한의 기능적 요소가 정의되지 않는다면, 서로 다른 방식의 분산 컴퓨팅 프로젝트들로 나누어져 많은 수의 자원이 필요한 분산 컴퓨팅에서 기대할 만큼의 충분한 규모의 자원이 모여지지 않을 수 있다.
그리고 실제 분산 컴퓨팅 환경을 이용하고자 하는 어플리케이션 개발자의 경우 각 분산 컴퓨팅 환경별로 고려해야할 사항이 너무 많아진다면 개발에 어려움이 있어 빠른 시간에 효율적으로 개발되어 수행하지 못하게 될 것이다.
이렇게 대규모의 자원들이 모여 대용량 고성능의 컴퓨팅 파워를 얻고자 할 때에는, 무작정 수적으로 많다고 해서 그만큼의 높은 성능을 얻어낼 수는 없다는 것을 알아야 한다.
예를 들어, 100대의 PC들을 이용해 분산 컴퓨팅을 수행한다고 해서 50대의 PC들을 이용하는 것의 2배 성능을 발휘하지는 않는다. 특히 매우 편차가 심한 네트워크와 PC 성능 차이로 인해 가용한 자원이 증가함에 따라 얻을 수 있는 성능 향상이 기대치 이하일 수 있으며, 심지어는 오히려 성능이 감소할 수도 있다.
따라서 가용한 자원들이 많아지면 많아질수록 성능 향상 효과를 유지할 수 있도록 확장성이 유지되어야 한다.
이는 전체 운영 환경에서 통신의 효율, 작업의 분배 등 기능적으로 모든 부분이 매우 세밀히 설계되어야만 가능해진다.
냅스터로부터 촉발된 P2P에 대한 관심이 개인용 컴퓨터의 쓰임새를 더욱 높이 평가하게 만들었으며, 냅스터 이후 수없이 많은 P2P 응용 기술들이 나타나고 있다. 현재 많은 경우 파일의 공유를 목적으로 하는 냅스터, 그누텔라, 이덩키 등의 응용 프로그램들만이 일반인들 사이에 P2P로 인식되고 있으나, 그들도 역시 인터넷 기반 분산 컴퓨팅의 한 형태이다. 여러 형태의 인터넷 기반 분산 컴퓨팅들을 열거해 보면, 다음과 같은 것들을 들 수 있다.
◇ 파일의 공유 (예: Gnutella, Napster, eDonkey)
◇ 분산 검색 엔진 (예: OpenCOLA, Plebio)
◇ 컴퓨팅 자원들의 공유 (예: SETI@Home, Avaki, Entropia)
◇ P2P 통신 (예: AOL 인스턴트 메신저, ICQ, Jabber)
◇ 협업 환경 (예: Hive, Groove)
몇 년전 높은 관심을 끌던 클라이언트/서버 모델 이후 근래 매우 많은 관심을 받고 있는 P2P 모델과 함께 인터넷 분산 컴퓨팅 전반에 관한 연구와 개발이 전세계에서 활발하게 이루어지고 있다.
파일 공유를 위한 사용만이 널리 알려져 있는 P2P 기술은 위에서 열거한 컴퓨팅 자원의 공유, 협업 환경 등에도 널리 활용될 수 있다. 일반인들이 가장 널리 사용되고 있는 웹 서비스의 경우도, 현재에는 웹 브라우저를 이용해 특정한 URL을 가진 서버에 접속하여 정보를 얻어오는 방식이지만, 향후 P2P 방식을 통해 특정한 한 서버로부터 얻어오는 방식에서 탈피하여 보다 다양한 정보를 공유하는 형태로 진화할 것으로 기대된다.
이 글에서 주로 언급한 컴퓨팅 자원을 위한 응용에 대해서도, 현재까지의 여러 인터넷 기반 분산 컴퓨팅의 구조가 대부분 클라이언트/서버 모델을 근간으로 하고 있으며, 이로 인해 수행되는 응용 분야는 각 PC에 나누어지는 작업들이 서로 종속적인 관계가 없거나 서버가 중계할 수 있을 만큼 적어야 했다. 따라서 P2P 기술의 채택을 통해 서로 종속관계에 있는 작업들을 나누어주고 각 PC들 간에 상호 작용하면서 최종 결과만을 서버에게 전달함으로써 보다 넓은 응용 분야들에 활용될 수 있을 것이다.
인터넷의 활성화와 함께 90년대 후반에 들면서 가능하게된 인터넷 기반 분산 컴퓨팅은 현재 많은 수의 시스템이 실제 운영되고 있다. 상업적인 목적의 회사들부터 정부, 연구소 등의 공공 성격의 기관들이 많은 프로젝트들을 운영하고 있다.
해외의 @Home 프로젝트 동향을 살펴보면 미국을 중심으로 영국, 독일 등 유럽에서도 많은 관심을 가지고 바이오 분야, 기상, 인공지능, 수학, 암호학 등 다양한 응용분야에서 프로젝트가 수행되고 있다. 가장 대표적인 것인 우주로부터 오는 신호나 외계 생명체의 신호를 분석하는 이용되는 SETI@home이 있다. UC Berkeley 대학에서 본격적으로 시작된 이 프로젝트에 등록한 자원제공자는 현재 3백만명 이상으로 지금까지 283,000년의 컴퓨팅 시간, 즉 매일 1천년 정도의 시간을 기증했다고 천문학자이자 SETI@home의 수석 과학자인 댄 베르트하이머 박사는 전했다. 이 프로젝트는 국내에서도 사이트를 운영하고 있으며 약 9천명 정도의 국내 네티즌이 컴퓨팅자원을 제공하며 참여하고 있다. 그 이외에도 스탠포드대학과 영국의 옥스퍼드대학 등이 중심이 되어 @Home 프로젝트의 중추적인 역할을 수행하고 있으며, 관련 업체로써는 Entropia, United Devices, Parabon 등이 대표적으로 바이오 분야의 프로젝트를 집중적으로 수행하고 있다 인터넷기반 분산컴퓨팅 방식이 실제 현실에 적용되고 있는 경우는 고효율 가상탐색을 위한 과제로써 Vertex 등 후보물질 전문 도출 업체와 대형 제약회사의 협력으로 상용화하고 있는 상태이며, 미국 United Devices사의 Cancer Research 또한 100만종의 후보물질 데이터베이스에서 약 65억개의 가상 화학분자 데이터베이스를 생성하고, 이를 암관련 타겟 단백질과 도킹 시뮬레이션을 시행해 약 2-3만개정도의 후보물질을 도출하는데 성공했다.
국내에서도 앞선 초고속인터넷 기반을 적극 활용하고자 정보통신부의 지원하에 한국과학기술정보연구원(KISTI)의 슈퍼컴퓨팅센터를 중심으로 인터넷기반 분산컴퓨팅환경 구축사업인 Korea@Home 프로젝트가 2002년 시범적으로 출발되었다. 이제 시작에 불과하지만 Korea@Home 프로젝트에 3만명의 자원제공자가 동시에 참여할 경우(P-Ⅲ 500MHz 기준), 단순한 이론적인 계산으로 ASCI White 슈퍼컴퓨터와 동등한 성능인 12.7테라플롭스를 제공하며 컴퓨팅파워 대체에 따른 연구비 절감 효과는 상당할 것으로 기대된다.
물론 슈퍼컴퓨터에서 동작하는 다양한 애플리케이션을 모두 Korea@Home 프로젝트로 대체할 수는 없으며, @Home 프로젝트에 적합한 응용을 발굴하는 것은 매우 중요한 과정이다. 또한 자원제공자가 일반 네티즌으로써 대다수 국민이 호응할 수 있는 공공적인 성격의 애플리케이션을 발굴하고 기반 소프트웨어를 개발하여 관련 산업의 활성화를 유도하는 것도 프로젝트를 성공적으로 수행하기 위한 중요한 요소이다.
인터넷 기반 분산 컴퓨팅 환경을 구축하는데 있어서 막대한 초기 자금은 필요하지 않으며, 현재 우리나라는 이미 선도적인 초고속 인터넷망과 높은 PC 보급률 등으로 훌륭한 IT 인프라를 갖추고 있다. 따라서 앞선 인프라를 바탕으로 각 개인의 PC 자원을 활용한다면 막대한 경제적 이득 효과를 얻을 수 있으리라 예상되며, 전세계적으로 그리드와 함께 새로운 인터넷 및 컴퓨팅 환경으로 주목받으며 많은 연구 예산과 인력을 투자하고 있지만, 선진 여러 나라와의 격차가 적은 이 분야에 있어서 압도적인 우위에 서는 것이 가능하다. 따라서 지속적인 연구가 유지된다면 기술적인 측면은 다른 IT 기술과 마찬가지로 선도적인 위치에서 문제들을 해결하며 매우 빠르게 발전하리라 예상되지만, 무엇보다 중요한 것은 각 개인의 참여도이다. 현재는 많은 수의 인터넷 사용자들이 이러한 프로젝트가 존재하는지 조차 모른 채 유휴 PC 자원을 낭비하고 있으며, 관심있는 국내의 상당한 수의 인터넷 사용자들조차 자신의 PC 자원을 외국에서 수행되는 @Home 프로젝트에 참여하고 있다.
1990년대 말부터 PC의 유휴 자원을 모아 슈퍼컴퓨터처럼 사용하는 ‘@Home 프로젝트’가 세계적으로 진행되고 있다. 원리는 간단하다. @Home은 PC 이용자가 컴퓨터 전원을 켜고 다른 작업을 하는 동안 남는 자원을 모아 연구개발에 활용하는 프로젝트다. 세계적으로 가장 유명한 @Home은 미국의 과학재단이 추진한 SETI@Home이다. 지구 밖 지적생명체의 존재를 규명하기 위해, 다른 문명이 송출할지 모르는 주파수 신호를 찾는 작업이다. 1999년 시작돼 현재 약600만 명의 PC 이용자가 참여하고 있다. 최고 성능이 70테라플롭스(1테라플롭스는 초당 1조 번 연산) 이상으로, 수천억 원대의 세계 최고 수준 슈퍼컴퓨터와 맞먹는다.
한국에서도 2002년 국가 차원의 @Home 프로젝트가 시작됐다. 초고속인터넷 가입률 세계 1위라는 높은 수준의 네트워킹 인프라를 기반으로 하는 한국과학기술정보연구원의 Korea@Home이다. 현재 Korea@Home은 7만여 대의 PC 자원을 확보했고, 최고 성능 6.5테라플롭스에 이르는 컴퓨팅 파워를 만들어 냈다. 이렇게 확보한 슈퍼컴퓨팅 자원은 국가 차원에서 추진하는 신약 후보 물질 탐색, 글로벌 리스크 관리, 한반도 집중호우 분석 등 첨단연구에 활용되는 중이다.
국내 인터넷 이용자 가운데 Korea@Home 회원은 0.2%에 그친다. Korea@Home 홈페이지(www.koreaathome.org)에 접속해 회원으로 가입하는 데 드는 시간은 2, 3분 정도다. 슈퍼컴퓨터 몇 대를 눈앞에서 놓쳐 버리는 셈이니 아쉬울 뿐이다. 따라서 국내에서 처음으로 시작되는 Korea@Home 프로젝트에 네티즌들의 많은 관심과 참여를 기대해 본다.