[테마특강] 전문가에게 듣는다;병렬처리 컴퓨터 기술동향

병렬처리 컴퓨터의 중요성을 강조하는 말로 다음과 같은 것이 있다. 인간으로 태어나서 죽음, 세금과 병렬처리는 인간 누구나 싫어하지만 피할 수 없다 는 것이다.

병렬처리 컴퓨터는 일반적으로 다중처리 컴퓨터(Multiprocessor)와 구별되어 불린다. 다중처리 컴퓨터는 여러개의 프로세서를 버스 또는 다단계 연결망(M ultistage Interconnection Network; MIN)으로 연결하고 메모리를 공유하는 형태를 가지고 있다. 이렇게 함으로써 사용자에게 단일 메모리 주소공간을 제공하여 프로그램하기가 쉬운 장점이 있으나 버스 또는 MIN이 수용할 수 있는 통신량의 한계로 연결할 수 있는 프로세서의 수가 제한된다. 버스의 경우최대로 연결할 수 있는 수는 10여개 정도로 다중처리 컴퓨터는 확장성이 나쁜 것이 단점이다. 다중처리 컴퓨터와 대별되는 개념인 병렬처리 컴퓨터는 메시지 교환방식에 의한 분산메모리형 컴퓨터이다. 각 프로세서는 자체의 메 모리를 가지고 있으며 프로세서들은 서로 메시지를 교환하면서 주어진 문제 를 해결한다. 때문에 문제의 정도에 따라서 프로세서의 연결이 용이한 반면 일반사용자들이 프로세서간 통신을 인지하고 프로그램을 하여야 하므로 프로 그램하기가 어려운 단점이 있다. 즉 일반사용자들에게 단일 주소공간을 제공 하지 못한다.

이러한 병렬처리 컴퓨터와 다중처리 컴퓨터의 장점만을 살린 컴퓨터-확장성 이 뛰어나고 단일 메모리공간을 사용자에게 제공하는-가 새로운 구조로 가장장래가 밝은 형태이며 세계각국이 연구를 집중하고 있다. 이 컴퓨터는 분산 공유메모리(Distributed Shared Memory; DSM) 병렬처리 컴퓨터라 불린다. 이 컴퓨터의 하부구조는 메시지 교환형 분산메모리 병렬처리 컴퓨터 구조를 갖고 사용자에게 단일 주소공간을 제공하기 위하여 메시지 교환동작을 숨기고 메모리 단일성(coherency)을 하드웨어 및 소프트웨어적으로 보장하는 것이다. 이 글에서는 병렬처리 컴퓨터의 세계적 동향과 우리의 연구현황과 더불어 그응용 우리 실생활에 미치는 영향 등에 대하여 기술하고자 한다. 병렬처리 컴퓨터가 관심을 끌면서 본격 연구되기 시작한 것은 지난 83년 미국 캘리포니아공대의 Cosmic cube가 처음이다. 최초의 하이퍼큐브형 컴퓨터인 CosmicC ube는 대형의 수치 계산문제에서 좋은 성능을 보였다. 이것의 성공으로 즉시4개회사가 하이퍼큐브형 컴퓨터인 인텔사의 iPSC, 아메테크사의 시스템/14, 플로팅 포인트사의 T시리즈, N큐브사의 Ncube/10이 출시되었다. 이후 많은병렬처리 컴퓨터가 출현하여 싱킹머신사의 CM2(Hy-percube), CM5(FAT Tree), 매스파사의 MP2(Mesh), 인텔사의 패러곤 XP/S(Mesh), 켄달 리서치사의KSR1(R ing)등 많은 병렬처리 컴퓨터가 출현하였다. 이들 컴퓨터의 경향을 보면 보다 단순한 연결망을 갖는다. 즉 하이퍼큐브 연결망에서 최근의 경향은Mesh, Ring 또는 Fat Tree의 형태를 가지고 있다. 이런 경향은 단위 컴퓨터간 통신 방식의 진보에 힘입은 것이다. 단위컴퓨터(node)간 통신방식에는 Store and Forward, Circuit Switc-hing, Virtual Cut Through, Wormhole Routin g 방식들이 존재하며 초기의 통신방식은 대부분이 Store and Forward 방식 으로 통신시간은 거치는 통신연결선(link) 수에 비례한다. 반면 현재 가장앞선 형태는 Wormhole Routing 방식으로 통신시간은 통신연결선 수에 거의 무관할 정도로 통신시간이 짧게 된다. 그러한 이유로 대부분의 병렬컴퓨터는 Wormhole Routing을 택하며 단순한 Mesh와 같은 연결망 구조를 갖는 추세이다. 현재는 슈퍼컴퓨터 시장의 80%가 공유 메모리 형태이며 그 예로 크레이사의Y MP, NEC사의 SX 3등이 있다. 오는 96년경 슈퍼컴 시장의 50%이상을 점유할 것으로 보이는 분산메모리 병렬처리 컴퓨터로는 인텔의 패러곤 XP/S, CM5등이다. 분산 공유형 병렬처리 컴퓨터는 공유 메모리형과 분산 메모리형의 장점을 모아 확장이 용이하고 프로그램하기가 쉬운 형태를 갖는다. 이런구조 로는 지난 93년에 일부 상용화된 것으로 KSR1이 있고 올해에는 크레이 T3D가 출현할 것이다. 스탠퍼드대학의 DASH, FLASH, MIT의 Alewife, 스웨덴의 DDM, USC의 E.press Ring, 규슈대학의 KRPP가 모두 분산 공유 메모리형 프로토타입이다. 이 구조는 2000년경 초병렬컴퓨터의 주종을 이룰 것으로 전망된다.

병렬처리 컴퓨터가 점점 더 각광받고 있는 이유는 무엇보다도 가격 대 성능 이 기존 슈퍼컴퓨터에 비교하여 대단히 뛰어나며 그 유지 보수면에서 무척 용이하다는 것이다.

병렬처리 컴퓨터의 시장동향을 보면 얼마 남지 않은 2000년에는 미국 벡터 슈퍼컴퓨터보다 약 3배이상의 매출을 기록할 것으로 예측되고 있다. <그림 1> 또한 2000년의 컴퓨터는 3T로 표현되는 성능을 가지고 있다. 즉 테라FLOP S(초당 10⒀⒁ 소수연산) 계산능력, 테라비트 저장능력, 테라비트의 초당 통신능력을 가진 컴퓨터가 출현할 것이다. 병렬처리 컴퓨터의 발전 이정표로보 면 충분히 실현 가능한 일이다. 미국의 경우 올해 시스템 성능을 1테라FLOPS 로 잡고 있으며, 이 시스템의 한 부분으로 쓰이는 embedded컴퓨터로서 1백기 가FLOPS컴퓨터를 실용화하는 계획을 가지고 있고, 2000년에는 1백테라FLOPS 컴퓨터가 구현되며 1테라FLOPS embeded컴퓨터가 실용화될 것이다. 오는2005 년에는 1페타FLOPS(1천테라FLOPS)컴퓨터의 실용화가 계획되고 있다. 이렇듯병렬처리 컴퓨터는 기존의 슈퍼컴을 대체하며 그 우수한 확장성을 바탕으로이제 우리에게 다가오고 있다.

이와 같은 것을 가능하게 하는 것은 고성능 CPU의 출현이다. 현재 가장 성능 이 좋은 프로세서는 DEC사의 알파 칩으로서 그 최대성능이 3백메가FLOPS이 다. 예상되는 2000년의 프로세서는 한 칩에 1억개의 트랜지스터를 집적하게 될것이며 성능은 2기가FLOPS에 이를 것이다. 이러한 성능은 한개의 칩상에 4개의 CPU를 집적하고 캐시메모리를 사용함으로써 가능하다.

현재의 기술로 1백~1천개의 단위컴퓨터를 연결하는 것은 그리 어려운 일이아니므로 그 기가FLOPS짜리 프로세서를 연결하여 테라FLOPS컴퓨터를 구현하는 것은 쉽게 예상될 수 있다. 이와 같은 장점으로 이미 미국.일본의 슈퍼컴 퓨터 제작회사인 크레이, 후지쯔와 대형컴퓨터 업체들인 IBM, 탠덤, AT&T는 본격적인 병렬처리 연구개발 및 출시에 총력을 다하고 있다.

병렬처리 컴퓨터의 고성능화와 더불어 각국의 국가적 연구지원도 치열하게 이루어지고 있다. 외국의 병렬처리와 관련, 국가적 지원현황을 보면 미국의 경우 정부 주도하에 HPCC(High Performance Computing & Communication)프로 젝트를 진행하고 있으며 5년간 18억5천만달러를 투입하고 고성능 슈퍼컴퓨터개발 최신 소프트웨어 개발 및 국가 연구교육 전산망 구축 등을 목표로 하고 있다. 유럽은 High Performance Computing프로젝트 진행에 35억 ECU를 투입하고 있다. 이 과제는 ESPRIT, ALVEY 과제의 후속사업으로 고성능 병렬처리 및 분산처리 컴퓨터 연구를 목표로 하고 있다. 연구기간은 92~97년이다.

가까운일본의 경우 Real World Computing 프로젝트를 93년부터 2002년까지 진행하며 정부지원은 총 6백억엔이다. 고성능 병렬처리 컴퓨터기술 및 이를기반으로 한 휴먼인터페이스를 연구하는 것이다.

고성능 병렬처리 컴퓨터의 연구와 확산에 힘입어 이제 계산과학이라는 분야가 탄생하게 되었다. 이 계산과학(Computational Science)이라는 용어를 처음 사용한 사람은 노벨 물리학상 수상자인 켄 윌슨이며 용어의 의미와 같이계산에 의하여 과학 및 공학문제를 해결하는 것이다. 그의 Quark소자 특성 계산에 3백페타FLOPS(3×10⒀ FLOPS)의 계산이 필요하였으며 1기가FLOPS 컴퓨터를 사용하면 약 3천5백일, 약 10년이 소요되며 테라FLOPS 컴퓨터가 나오면 3.5일이면 된다. 또 다른 예로 일본의 경우 Computational Wind Tunnel (CWT)에 의해 실제 풍동에서 해결해야 할 문제를 컴퓨터가 해결하고 있다.

거대한풍동과 모형 제작의 번거로움을 덜고 수십기가FLOPS 컴퓨터를 사용, 풍동 시뮬레이션을 통하여 로켓 모델설계에 많은 기여를 하였다. 일본의 로켓이 가장 경제적인 이유도 병렬처리 컴퓨터 덕분이다.

또한 유명한 자동차회사인 포드사의 경우 새로운 모델을 설계하는 데 슈퍼컴 을 사용함으로써 작업기간을 5개월 단축하였고 약 9천5백만달러의 개발비용 을 절약하였다. 또 알루미늄캔을 설계하는 데 일반 퍼스컴으로 6개월이나 소요되는 일을 단 이틀만에 해결하였다. 이뿐만이 아니라 계산과학이 해결하고 자 하는 응용분야는 천문기상학, 미생물학, 화학, 전자기학, 유체역학, 기하학적 모델링, 물성학 등 많은 분야를 계산과학에 의하여 해결하게 될 것이다. 병렬컴퓨터의 국내현황을 보면 지난 88년 한국과학기술원에서 8node KAICUBE 1이 개발되었으며 사용 프로세서는 68000이었다. 이어서 32 node KAICUBE2 가 지난 89년에 개발되어 32메가FLOPS의 성능을 보였다. 그 후 많은 개선을 하여 93년에 KAICUBE860을 개발, 총 8node 최대 3백20메가FLOPS의 성능을 얻었다. 포항공대에서는 Transputer를 사용한 POPAI를 발표하였다. 94년에는 전자통신연구소에서 인텔의 펜티엄계열 프로세서를 사용하여 클러스터 형태 로 하는 주전산기Ⅳ 개발에 착수, 오는 97년에 상용화할 예정이다. 한국과학 기술원에서는 KAICUBE계열에 대한 연구를 꾸준히 진행하여 분산 공유 메모리 형 병렬처리 컴퓨터와 K4에 대한 연구를 지속적으로 하고 있다.

병렬처리 컴퓨터가 일반 컴퓨터처럼 사용되기 위하여 해결되어야 할 과제는 편리한 병렬 프로그램언어, 병렬 디버거와 더불어 운용체계이다. 특히 프로 세서가 수천, 수만개가 되었을 때 이들을 효율적으로 관리하기 위한 운용체계에 대한 연구는 대단히 중요하다. 또한 병렬처리 컴퓨터에서 해결하여야 하는 것은 데이터의 입출력 문제이다. 이것은 2000년까지 해결될 전망이다.

이런 기본적인 문제와 더불어 해결되어야 할 문제는 기존 프로그램들과의 호환성이다. 현재까지 개발된 프로그램들이 아무 수정없이 병렬처리 컴퓨터에 서 사용될 수 있다면 병렬컴퓨터는 기존 컴퓨터시장을 완전히 점유하게 될것이다. 이를 위하여 기존 순차수행 프로그램을 번역하여 병렬프로그램을 자동 생성해주는 프로그램언어 번역기 및 병렬 프로그램 언어에 대한 연구를 활발히 하고 있다. 대표적인 예로는 일리노이대학의 Parafrase, 라이스대학 의 PFC, 그리고 IBM의 PTRAN등이 있다. 하지만 이들은 대부분 공유 메모리구 조의 컴퓨터를 목표로 제작된 것이다. 메시지 전달형의 경우 Connection Mac hine을 위한 C ,라이스대학의 FORTRAN D, SUPRENUM프로젝트의 SUPERB등이있다. KAICUBE860의 경우는 C프로그램을 번역하여 병렬프로그램을 자동 생성해주는KAPPA KAist Parallel Programm-ing Aid)를 개발하였다. KAPPA는 주어진 순차 C프로그램을 분석하여 MDG(Macro Data flow Graph)를 생성한 후 이 MDG 의 각 노드들을 스케줄링, 매핑한 후 KAPPA 자체에 구현되어 있는 KAICUBE시 뮬레이터에서 시뮬레이션한 후 만족스러운 결과를 보이면 KAICUBE에서 수행 이 가능한 병렬프로그램을 생성하여 준다. KAPPA를 사용하여 수행한 계산시간은 전문가가 만든 병렬 프로그램 수행시간보다 경우에 따라 2~3배 더 소요된다. 이와같은 프로그램언어 번역기가 좀 더 보편화되어 아무 제약없이 사용될 수 있도록 연구하는 것이 병렬컴퓨터가 일반 사용자에게 가까이 갈 수있는 해결책이라 확신한다.

병렬처리 컴퓨터에서 다음으로 필요한 일은 응용 소프트웨어의 개발이다. 특히 현재로서는 과학 및 공학계산에 대단히 적합하므로 병렬처리 컴퓨터에서 사용할 수 있는 응용 소프트웨어를 많이 개발하여야 한다. 우리나라는 우수 한 인력이 많으므로 병렬처리용 과학 및 공학용 소프트웨어를 개발하면 그 자체만으로도 세계적 경쟁력을 확보할 수 있을 것으로 생각한다.

한 나라의 국력을 가늠하는 척도는 여러가지가 있으나 그 나라가 보유하고 있는 슈퍼컴퓨터의 수가 과학기술 수준을 가름할 정도가 되었다. 미국의 가 트너그룹 조사에 의하면 지난 90년 세계적으로 6백11대의 슈퍼컴퓨터가 활용 되고 있으며 이중 약 50%인 3백1대를 미국이, 28%인 1백74대를 일본이, 그리고 19%인 1백15대를 유럽이 보유하고 있다. 향후 2000년에는 약 2천2백대 의 슈퍼컴퓨터가 운용될 것이며 이들이 병렬처리 컴퓨터로 대치될 것이다.

이 병렬컴퓨터의 장점은 단일 CPU에 의한 물리적 한계를 병렬화로 극복하는 것과 저렴한 개발비용 및 유지보수의 용이성이다. 무엇보다도 국내의 현재기술로 개발이 가능하다는 것이 중요한 점이다.

과학기술의 핵심인 슈퍼 계산능력을 값싸게 제공함으로써하루 빨리 한국기술 의 세계화를 이룰 수 있는 기반이 되도록 병렬처리 컴퓨터 연구에 더 많은지원이 요청된다.