◆배원성 도우컴퓨팅 기술연구소장 genesis@taocomputing.com
최근 IT업계의 인수합병에서 한가지 주목할만한 소식이 있었다. 피크스트림(Peakstream)이라는 벤처회사가 구글에 합병이 된 것이다. 이는 거대 회사의 벤처기업 합병 이상의 중요한 의미를 내포하고 있다. 피크스트림 사의 기술은 CPU/GPU 퓨전 형태의 연산가속 기술로 기존 x86기반 시스템의 연산능력을 GPU 기반 하드웨어의 연산가속능력을 탑재한 소프트웨어를 개발할 수 있게 만든 플랫폼을 제공하는 회사다. 또 2006년의 경우 1700만 달러의 투자유치에도 성공했다. 실제 그 내막은 아무도 정확히 예측하지 못하지만 분명히 주지해야 할 중요한 사실은 앞으로 벌어질 중요한 전환기를 맞게 되는 IT 기술의 중심에 가속기반기술이 가치와 중요성을 더하게 될 것이라는 것이다.
◇멀티코어 시대의 시작과 한계=현재 프로세서의 한계는 컴퓨터 칩 제조업체들인 인텔과 AMD를 비롯해 선마이크로시스템스와 IBM 등이 두 개 이상의 CPU를 하나의 실리콘 다이에 탑재한 칩을 개발해 발열 연산능력 및 속도 향상 문제에 대응해 왔다.
그러나 이러한 대안은 많은 프로세서들이 메모리를 두고 경쟁하기 때문에, 각각 메모리에서 데이터를 더욱 오래 기다려야 하며, 이에 따라 병목 현상이 발생하고 성능이 저하될 가능성이 있다. 더욱이 현재 많은 응용프로그램들이 멀티코어 칩에 최적화되어 있지 않고 있다는 것이 가장 큰 문제일 것이다.
인텔과 AMD의 로드맵에 따르면 칩 하나에 보다 많은 코어를 계속해서 탑재할 것으로 예상되기 때문에 그러한 문제점이 더욱 악화될 것으로 전망된다.
그래서 과학자들은 그 대안으로 재설정가능반도체(FPGA)나 주문형반도체(ASIC), 그래픽 프로세서 등의 전용 칩을 비롯해 비디오 게임용으로 개발된 칩을 과학적인 애플리케이션과 기업용 애플리케이션을 아우르는 컴퓨터 가속화의 대안으로 사용하는 기술에 대해 관심을 가지고 관련 기술을 개발하고 있다.
◇하드웨어(HW)기반 가속 기술=HW 기반 가속 기술의 핵심은 기존의 X86 시스템에 병행 장착돼 CPU에 로딩된 작업을 여러 가지 전송형태(PCI-X, PCI-E 등)로 데이터를 받아 수행하는 형식과 전용 칩이 이미 전체 시스템 설계에 고려되어 그 성능을 나타내는 두 가지 형식으로 볼 수 있다.
각각에 대한 특징을 살펴보면 다음과 같다.
FPGA는 프로그래밍이 매우 어렵지만 한번에 하나씩 실행하는 범용 마이크로프로세서와는 달리 한번에 수많은 운영을 실행할 수 있다. 신호처리와 같은 부분에서는 이러한 기술을 이미 받아들여 시그널 프로세싱과 같은 특화부분에서 이미 이용되고 있다. 하지만 이 경우는 전용 칩을 이용한 컴퓨터의 전체적인 재설계를 해야할 뿐 아니라, C/C++ 포트란(Fortran)과 같은 고급언어 기반을 이용하기 위해서는 전용 API의 개발 없이는 상당히 어려운 부분이다. 또 연산의 정밀도 부분에서는 IEEE754 기술규약을 대부분이 만족시키지 못하고 있으며 32비트 단정도 연산에 그치고 있다. 그러나 정수연산이나 비트연산 같은 경우, 탁월한 성능을 보이고 있어 암호분야나 패턴 매칭과 같은 분야의 응용에는 좋은 결과를 보일 수 있을 것이다.
그래픽 프로세서의 경우 엔비디아와 ATI는 범용 프로세서보다 빠른 부동소수점 연산 기능을 제공하며, 비교적 저렴하다. 결점이라면 사용자들이 선호하는 64비트 배정도(double-precision)가 아닌 32비트 정확도인 단정도(single-precision)라는 것이다. 초기 사용자들은 또한 프로그래밍 환경을 추출하지 않고 하드웨어에 직접 프로그래밍해야 하는 어려움이 있었지만 최근에는 양사가 개발한 C/C++기반의 API를 통해 보다 손쉬운 가속화 프로그래밍을 위한 플랫폼을 공급하고 있으며 앞에서 언급한 피크스트림, 래피드마인드(Rapidmind), 스펙(Speg)과 같은 회사들은 독자 또는 기 공급된 API를 통해 가속기술을 사업화 모델로써 만들어 나가고 있는 대표적인 회사다.
IBM의 셀 브로드밴드 엔진과 같은 게임 기술은 라이브러리 콜과 컴파일러 등 보다 전통적인 소프트웨어 기술을 사용한다. IBM은 소니가 출시할 예정인 플레이스테이션 3 콘솔을 위해 소니 및 도시바와 협력해 셀 칩을 개발했다. IBM측은 이 칩이 과학용 슈퍼컴퓨팅을 포함해 애플리케이션을 위한 서버에서 가속화 역할을 할 수 있다고 전했다. 하지만 소니는 아직 플레이스테이션 3의 시장에서의 성공여부가 불분명한 상태에 있으며, 이러한 부분이 암시하는 것은 셀이 소비자 시장에서 성공을 거두지 못할 경우 기업 시장에서의 활성화 역시 지연될 것으로 예상된다.
클리어스피드의 CSX600과 같은 ASIC 칩은 소프트웨어로부터 실행 명령을 기다리는 방식이 아닌, 데이터를 받자마자 구동하는 형태다. 64·32 비트 양쪽에서 동일한 가속성능을 보여주는 설계가 되어있으며 배정도(double precision) 연산도 가능하여 사용자가 원하는 정밀도도 보장할 수 있는 솔루션이다. 이러한 칩은 FPGA 보다 프로그래밍이 쉽고 표준 C와 C++를 기반한 개발 툴을 제공하고 있으며, 또한 전용가속 수학 라이브러리를 이용, 기존의 응용소프트웨어의 가속화에 박차를 가하고 있다.
대표적인 예로 매트랩(matlab)과 매트매티카(mathematica)와 같은 범용 과학연산 프로그램의 경우 이미 그 가속화의 연결이 완료가 된 상태다. 또 앰버(Amber)와 같은 분자동력학 시뮬레이션 프로그램의 경우도 이미 가속화 기술 탑재가 완료되어 있다. 또한 금융분야의 각종 시뮬레이션에 대한 가속화 기술을 접목한 프라이싱 엔진 개발도 완료하여 보급하고 있는 상황이다. 또한 대표적인 연산특화 및 집중화 애플리케이션이 많은 분야인 CAE/CAD분야의 대표적인 상용 애플리케이션에 대해서도 가속화 탑재를 하고 있는 중이다.
◇하드웨어기반 가속기술의 현재=일본의 도쿄공업대학교(Tokyo Institute of Technology)는 전 세계에서 아홉번째로 빠른 슈퍼컴퓨터를 보유하고 있다. NEC가 설계한 이 슈퍼컴퓨터는 1만480개의 AMD 옵테론 칩을 탑재한 선마이크로시스템스의 서버 655대에 의해 구동된다. 또한 애플리케이션 성능을 ASIC 제조업체인 클리어스피드 테크놀로지(ClearSpeed Technology)의 하드웨어 가속화 칩(CSX600)을 탑재한 360개의 보드를 추가로 도입하여 린펙 벤치마크 테스트 결과, 전체 퍼포먼스를 24%를 증가시킨 47테라플롭스를 얻어내는데 성공하였다.
또한 컴퓨팅 업계의 목표라 할 수 있는 1000테라플롭스를 능가하는 슈퍼 컴퓨터를 개발하기 위해서는 가속화 칩이 필요하다.
엔비디아는 새로운 GPU 컴퓨팅 제품인 엔비디아 테슬라(Tesla)를 발표함으로써 기존의 GPU 기반의 연산 가속 API 인 CUDA를 이용한 제품 개발과 시장 개발에 그 노력을 기울이고 있는 또 하나의 사례가 될 것이다.
앞에서 언급한 것처럼 여전히 여러 문제점(단정도 연산 지원 문제 및 과도한 전력 사용량)을 포함하고 있지만 GPU를 이용한 가속도 하나의 대표적인 가속관련 핵심기술로써 자리매김해 나가고 있는 것이 사실임을 증명해주는 주요한 사례인 것이다.
GPU에 의한 가속의 응용의 분야의 사례 중 가장 돋보이는 것으로는 현재 CUDA를 이용하여 분자 동역학 시뮬레이션 애플리케이션중하나인 NAMD의 가속을 이루어낸 미국의 일리노이 주립대학교의 연구 사례일 것이다. 일리노이 주립대학교 어바나-샴페인 캠퍼스의 수석 프로그래머인 존 스톤(John Stone)은 “GPU 컴퓨팅 기술은 우리가 사용하는 프로그램 중 일부 향상된 성능을 가져다 주었다”고 말했다.
칩 제조업체 중에서 AMD는 하드웨어 가속화 지원에 적극적인 태도를 보이고 있다. AMD는 옵테론 시스템의 칩 사이에 인터페이스를 제공하는 CHT(Coherent Hyper transport) 기술을 라이선스 하면서부터 하드웨어 가속화 기술을 지원하고 있다.
토렌자(Torrenza)라 불리는 이 라이선스 프로그램을 사용할 경우 AMD 이외의 벤더들이 옵테론 칩과 메모리를 공유할 수 있는 가속화 기술을 만들 수 있다. 인텔의 로드맵에는 CPU 기술의 진보에 따라 펜티엄 칩이 출시되면서 이러한 접근 방법을 중단했다가 AMD와의 경쟁을 인식, 자사의 FSB를 다른 업체들에게 공개하기도 하였다.
또한 인텔과 IBM의 합작 프로젝트인 Geneseo의 경우, PCI 익스프레스의 규약에 대한 강화 일면에 여러 업체중 눈에 띄는 부분이 과학기술 연산 가속부분의 기술지원 회사 중 클리어스피드가 선정되어 있는 것도 하드웨어 기반 가속기술의 시장의 향후 발전 가능성을 염두에 둔 부분으로 해석될 수 있을 것이다.
전용 칩은 부동 소수점 연산을 실행하는데 있어 회로의 10% 정도를 차지하는데 비해(클리어스피드의 경우 47%) AMD의 옵테론이나 인텔의 제온 등 범용 칩은 다이 면적의 1∼2%에 불과하다. 또한 가속화 칩은 범용 칩보다 훨씬 낮은 클록 속도에서 구동하기 때문에 전력 소모를 낮춰주며 열도 적게 발생시킨다
예를 들어 클리어스피드의 칩은 210MHz에서 구동한다. 이에 비해 인텔의 가장 빠른 펜티엄 칩 조차도 거의 15배에 달하는 3.73GHz의 주파수에서 구동한다. 전용 칩을 사용할 경우, 노드간 네트워킹이 없이도 성능은 향상되는 동시에 전력 소비는 낮출 수 있다. 벡터 연산 등의 운영도 향상되어 여러 데이터 포인트를 동시에 구동할 수 있다.
이러한 부분은 연산 집중코드 및 애플리케이션의 운영에 있어 클러스터링시스템에 있어서 항상 문제가 되는 전력사용문제, 공간확보의 어려움을 회피하면서 전체 노드의 로 레벨의 퍼포먼스를 올리는데도 큰 도움을 줄 수가 있다.
◇향후 전망=범용 컴퓨팅에서의 하드웨어 가속화는 아직은 보편화된 IT 기술이 아닌 최첨단 연구 분야에 국한되어 있다. 하지만 하드웨어 가속화는 고성능 컴퓨팅과 기업용 데이터 프로세싱의 통합이 증가됨에 따라 머지 않은 미래에 상용 시장으로 확산될 수 있을 것이다.
가속화의 영역은 점점 넓어지고 있는 추세다. 초기의 가속화는 프로그래밍이 어렵고 하드웨어에 맞도록 애플리케이션을 조율해야 하는 어려움이 많았다. 그러나 현재는 가속 영역과 가속화를 위한 기술적인 진보가 점점 그 영역을 넓혀 나가고 있는 것이 새로운 추세다.
주로 사용되는 분야는 전통적인 연산 집중화 애플리케이션이 많은 제조분야의 CAE/CAD/CAM의 해석분야, 디지털 비디오 프로세싱과 렌더링과 같은 컴퓨터 그래픽스, 금융 분석, 정유 업계에서의 지진 이미지 프로세싱, 생명과학분야의 각종 모의실험(in silico experiment) 등이다. 상기의 열거분야는 실제 환경에서의 도입에는 아직 제한적이라고 볼 수 있지만, 기술자들이 프로그래밍과 기타 여러 문제들을 극복한다면 하드웨어 가속화 기술은 80년대의 벡터 칩에서 90년대의 RISC 기반 시스템, 2000년대의 클러스터로 진화한 것처럼 차세대 컴퓨팅을 주도할 수 있을 것으로 예상된다.
결론적으로 아직은 도입단계로 보이는 것이 사실이다. 그러나 그것은 현재 이러한 기술에 대한 인식이 국내에서만 떨어지고 있는 점이다. 세계 유수의 기업과 연구단체들은 점진적으로 사용자 기반을 넓히고 있음은 주목할 필요가 있는 기술이며, 그 활용범위는 날로 커질 수 있는 기술로 주목하고 있으며 또한 개발에 박차를 가하고 있다.
IT 분야의 좋은 인력을 많이 가지고 있는 우리나라로써는 현재의 이 새로운 기술에 대한 인식과 이해도가 널리 퍼져 다양한 기업용 애플리케이션에 가속화 기술을 적용과 기반 기술의 발전 및 축적을 해나갈 수 있다면 이는 과거의 CDMA와 같은 기술에서 보여준 발전을 보여줄 수 있는 새로운 신 성장동력 기술로 발전, 자리매김할 수 있으리라 생각한다.
◆약력
1991 대일고등학교 졸업
1995 건국대학교 자연과학대학 응용수학과 졸업(이학사)
1999 고려대학교 일반대학원 수학과 석사학위 취득(응용수학 및 확률론 전공)
1999∼2002 고려대학교 BK21응용수학팀 연구원
2005 3월∼2006 고려대학교 통신수학연구센터 연구원
2006 고려대학교 일반대학원 수학과 박사학위 취득(응용수학 및 확률론 전공)
2006 2월∼2007 3월 서울대학교 생명공학공동연구원 선임연구원
2006 11월∼ 현재 도우컴퓨팅 연산가속기술연구소장