제1부

하드웨어 가속화 기술, “넘어야 할 산 많지만 차세대 컴퓨팅 기술 주도할 것”

이들은 ‘주류’ 컴퓨팅과는 다소 동떨어져 있었다. 한 CIO는 이들의 작업에 대해 ‘미래와의 대화’라고 칭했으며, 마이크로소프트의 한 과학자는 이들을 ‘괴짜들’이라고 부르기도 했다. 하지만 업계에서 이러한 기이한 행동을 하고 있는 컴퓨터 엔지니어들은 대부분의 IT 역사에서 규정된 컴퓨팅 속도를 대폭 개선시키기 위한 시도로서 전용 칩 개발에 헌신적인 연구와 노력을 기울이고 있는 사람들이다.
IBM과 크레이(Cray), 썬 마이크로시스템즈를 비롯해, 미국과 일본의 대학과 연구소의 컴퓨터 과학자들은 마이크로프로세서의 입출력에 부담을 주지 않거나 열과 비용을 많이 발생시키지 않고 소프트웨어 애플리케이션을 향상시킴으로써 성능을 대폭 높여주는 전용 컴퓨터 칩에 대한 실험을 진행하고 있다. 이러한 기술들은 지난 수년간 전통적인 마이크로프로세서의 성능 향상이 크게 둔화됨에 따라 상대적으로 높은 관심을 갖게 되었다.
지금까지는 최대 컴퓨터 칩 제조업체들인 인텔과 AMD를 비롯해 썬마이크로시스템즈와 IBM 등이 두 개 이상의 CPU를 하나의 실리콘 다이에 탑재한 칩을 개발해 발열 문제나 속도 향상 문제에 대응해왔다. 하지만 성능장애 문제는 멀티코어 방식으로 이어질 수밖에 없어 일부 과학자들은 대안을 찾는 것이 보다 현명하다고 주장해왔다. 이들은 FPGA나 ASIC, 그래픽 프로세서 등의 전용 칩을 비롯해 과학적인 애플리케이션과 기업용 애플리케이션을 아우르는 컴퓨터 내부의 비디오 게임용으로 개발된 칩도 사용하고 있다. 도쿄공업대학교(Tokyo Institute of Technology)는 지난 6월에 세계에서 일곱 번째로 빠른 슈퍼 컴퓨터를 발표했다. NEC가 설계한 거대한 이 슈퍼컴퓨터는 10,480개의 AMD 옵테론 칩을 탑재한 썬마이크로시스템즈의 서버 665대에 의해 구동된다. 벤치마크 테스트 결과, 38.2 테라플롭스(초당 1조개의 부동 소수점 연산 능력)의 처리 능력을 선보인 바 있다. 도쿄공업대학교는 애플리케이션의 성능을 높일 수 있는 맞춤형 ASIC 제조 업체인 클리어스피드 테크놀로지의 하드웨어 가속화 칩을 탑재한 360개의 보드를 추가로 도입할 예정이다. 이를 통해 슈퍼컴퓨터의 처리 능력을 5~10 테라플롭스로 늘릴 수 있을 것으로 기대된다.
이 시스템의 핵심적인 설계 포인트는 저렴한 x86 기술을 슈퍼컴퓨팅에 적용해 수많은 사용자들로 확대하기 위해 범용 옵테론과 전용 클리어스피드 칩간의 밸런스를 유지하는 것이었다. 도쿄공업대학교의 슈퍼컴퓨팅 인프라를 책임지고 있는 사토시 마츠오카는 “범용 및 전용 분야에서 세계 최고가 되고 싶다”고 밝혔다. 그는 슈퍼컴퓨터가 단백질 분자 분석과 허리케인 및 태풍 연구, 뇌의 혈액 흐름 시뮬레이션, 지구의 자기장 효과 분석에 이르는 다양한 프로그램을 구동하기 때문에 “전문 분야로의 깊이 있는 확장만도 버거웠던 것이 사실”이라고 덧붙였다. 컴퓨팅 업계의 목표라 할 수 있는 1,000 테라플롭스를 능가하는 슈퍼컴퓨터를 개발하기 위해서는 가속화 칩이 필요하다. 마츠오카는 “이것이 향후의 추세”라고 전했다.

속도 향상에 대한 요구 사항 거세
현재 하드웨어 가속화 기술은 TCP/IP와 SSL 가속화 등의 어플라이언스뿐만 아니라 비디오 게임 시스템과 하이엔드 엔터테인먼트 PC에서도 등장하고 있다.
명인과 기계의 대전으로 이목을 집중시켰던, 1997년 IBM의 딥블루(Deep Blue) 체스 컴퓨터와 세계 챔피언인 개리 카스파로프의 대국에서 딥블루가 승리하는 데에도 가속화 기술이 결정적인 역할을 담당했었다. 또한 FPGA 역시 프로토타입을 위한 칩 테스트에서 높은 인기를 구가해왔다.
최근 보다 많은 애플리케이션으로 가속화 기술을 확장하려는 시도가 이루어지고 있다. 기업들은 단순히 전용 프로세서로 로드를 할당하는 것이 아니라 가속화를 CPU에 통합하길 원한다. 이들은 모든 애플리케이션에서 구동하고 싶어하며 속도를 향상시키기 위한 프로그래밍도 수월하기를 바라고 있다.
하지만 가속화는 모든 부문에 적합한 것은 아니다. 가속화는 프로그램하기도 어렵고 하드웨어에 맞도록 애플리케이션을 조율해야 한다. 주로 사용되는 분야는 디지털 비디오 프로세싱과 컴퓨터 애니메이션, 금융 분석, 정유 업계에서의 지진 이미지 프로세싱, 생명과학 등이다. 지금까지는 실제 환경에서의 도입이 제한적이다. 하지만 기술자들이 프로그래밍과 기타 여러 문제들을 극복한다면 하드웨어 가속화 기술은 80년대의 벡터 칩에서 90년대의 RISC 기반 시스템, 2000년대의 클러스터로 진화한 것처럼 차세대 컴퓨팅을 주도할 수 있을 것으로 예상된다. IBM의 딥 컴퓨팅 부사장인 데이브 튜렉은 “아직은 해결해야 할 과제가 많다”면서, “하지만 머잖아 실현될 것이라는 데에는 이견이 없을 것”이라고 말했다.
그렇다면 지금 관심의 대상이 되고 있는 이유가 무엇일까? 10여년 동안, 칩 제조업체들은 성장 엔진으로 클럭 속도를 높이는데 주력해왔다. 클럭 속도가 매 18개월마다 두 배로 높아지며, 칩 속도 역시 이를 따르고 있어 시스템에 칩을 추가하지 않고도 매년 애플리케이션의 성능이 50~60% 향상되어왔다. 트랜지스터의 소형화와 칩의 파이프라인에 보다 많은 작업을 배치할 수 있는 능력과 더불어 보다 복잡한 초소형 아키텍처에 대한 정기적인 발표는 신제품에 대한 꾸준한 수요를 이끌었다.
하지만 폭넓게 사용되어 온 싱글 스레드(single-threaded) 소프트웨어를 위한 칩 성능향상은 이제 매년 20% 정도로 떨어지고 있다. 보잉과 미국 연방 정부를 고객으로 두고 있는 슈퍼컴퓨터 회사인 크레이의 스티브 스콧 CTO는 “싱글 스레드의 시대는 완전히 끝났다”고 주장했다.
“멀티코어가 만병통치약은 아니다”
속도가 빠른 트랜지스터일수록 많은 열을 발생하기 때문에 고가의 냉각 장치가 필요하며, 이는 다시 성능 향상에 제약 요인이 된다. 한편, 유선이 얇아짐에 따라, 전기 저항도 높아지며, 하나의 클럭 사이클에서 칩의 표면에 대한 커뮤니케이션을 더욱 어렵게 만든다. 이에 따라, 업계는 멀티코어 칩으로 전환, 클럭 속도를 높이지 않고도 칩에 또다른 CPU를 추가해 이러한 문제를 해결하고 있다. 성능은 높이고 전력 소비는 낮추는 형태의 이러한 움직임은 이미 인텔과 AMD간의 새로운 경쟁 구도를 형성하고 있다.
하지만 멀티코어 칩에는 잠재적인 결점이 있다. 많은 프로세서들이 메모리를 두고 경쟁하기 때문에(현재는 칩 하나에 코어가 두개이지만 내년에는 네 개, 10년 내에는 백 여개가 될 것임), 각각 메모리에서 데이터를 더욱 오래 기다려야 하며, 이에 따라 병목 현상이 발생하고 성능이 저하될 가능성이 있다. 더욱이, 멀티코어 방식은 PC와 서버를 병렬적인 컴퓨터로 인식하기 때문에 프로그램하기가 매우 어려워진다. 또한 많은 프로그램들이 멀티코어 칩에 최적화되어 있지 않다.
인텔과 AMD의 로드맵에 따르면 칩 하나에 보다 많은 코어를 계속해서 탑재할 것으로 예상되기 때문에 그러한 문제점이 더욱 악화될 것으로 전망된다. 튜렉은 “멀티코어 칩은 만병통치약이 아니다”라고 말했다. 마이크로소프트는 고성능 컴퓨팅에 수백만 달러를 투자했다는 이유로 병렬 컴퓨터와 같이 PC를 프로그래밍할 필요성을 역설하고 있다. 업계가 열이나 병렬식 구조, 전력 소모를 높이지 않고 시스템 성능을 강화할 수 있는 가속화 기술을 사용할 수만 있다면 사용자들은 그러한 문제점에 대해 개의치 않게 될 것이다.
하지만 이러한 방식이 모두에게 통용되는 것은 아니다. 구글의 엔지니어인 루이즈 바로소는 “전용 칩이 과학적인 애플리케이션의 속도를 크게 향상시켜줄 수는 있다. 하지만 대중 시장을 목표로 한 칩은 멀티코어 기술의 보급에 힘입어 병렬 프로세싱의 간격을 좁혀주게 될 것이며, 프로그래밍 시간도 단축시켜줄 것”이라면서, “전반적으로 효과적인 솔루션이 될 수 있을 것”이라고 말했다. 그는 혁신을 앞당기는데 중요한 역할을 담당할 것이라는 설명을 덧붙이면서 전용 프로세서와 FPGA의 발전 단계도 주목하고 있다고 전했다. 하지만 이러한 접근 방법은 예측 가능한 패턴을 가진 애플리케이션이나 십진법의 수학에서만 효과가 있을 뿐, 웹 서비스에서는 그렇지 못하다.
도쿄공업대학의 슈퍼컴퓨터는 최고의 하드웨어 가속화 시스템이라 할 수 있다.
IBM은 이 기술을 적용해 부동 소수점 연산 능력의 전용 실리콘을 사용하는 자사의 새로운 셀(Cell) 프로세서를 탑재한 기업용 서버 제품군을 올해 여름에 선보일 예정이다. 썬의 R&D 담당 부사장인 그렉 파파도풀로스는 버클리의 캘리포니아 대학 연구 기관과 협력, 수많은 FPGA를 활용해 인터넷의 행동을 시뮬레이션하고 보다 탄력적인 시스템을 개발할 계획이라고 밝혔다. 또한 일본의 이화학연구소인 리켄 인스티튜트(Riken Institute)는 내년에 분자역학 분야의 전용 애플리케이션을 위해 페타플롭까지 가능한 전용 가속화 기술이 구현되어 인텔 제온 칩을 보완하는 MD-Grape 3 시스템을 발표할 예정이다.
칩 제조업체 중에서 AMD는 하드웨어 가속화 지원에 적극적인 태도를 보이고 있다. AMD는 옵테론 시스템의 칩 사이에 인터페이스를 제공하는 cHT(Coherent Hypertransport ) 기술을 라이선스하면서부터 하드웨어 가속화 기술을 지원하고 있다. 토렌자(Torrenza)라 불리는 이 라이선스 프로그램을 사용할 경우 AMD 이외의 벤더들이 옵테론 칩과 메모리를 공유할 수 있는 가속화 기술을 만들 수 있다. 인텔의 로드맵에는 칩에 대한 프로세서간 연결 기능이 포함되어 있지 않으며, 멀티코어 방식을 고수할 것으로 알려졌다. 80년대와 90년대의 인텔 전략에는 프로세서간 상호연결 기능이 있었지만 CPU 기술의 진보에 따라 펜티엄 칩이 출시되면서 이러한 접근 방법을 중단했다.
크레이는 지속해서 확장할 계획인 XD 1 시스템을 비롯해 오크리지 국립 연구소와 2천만 달러의 계약을 체결해 2008년까지 페타플롭까지 처리 능력을 향상시킬 XT3 슈퍼컴퓨터를 결합한 미래의 시스템에 토렌자 방식을 사용할 방침이다. 크레이는 코드명 ‘스콜피오’인 코프로세서(co-processor)도 개발하고 있다.
신흥 기술인 가속화, “머지않아 상용시장으로 확산”
범용 컴퓨팅에서의 하드웨어 가속화는 보편화된 IT 기술이 아닌 최첨단 연구 분야에 국한되어 있다. 오크리지의 CIO인 스콧 스튜드험은 “아직 신흥 기술”이라고 밝혔다. 하지만 하드웨어 가속화는 고성능 컴퓨팅과 기업용 데이터 프로세싱의 통합이 증가됨에 따라 머지 않은 미래에 상용 시장으로 확산될 수 있을 것이다. 마케팅 담당자들이 데이터 마이닝 알고리즘을 사용하는 비율이 높아지고 은행들이 전세계 금융 시장을 대상으로 영업을 확장하고 있으며, 유통 업체들이 RFID 장비의 도입을 확산함에 따라 최근의 기업 컴퓨팅 환경은 엄청난 양의 데이터를 생산해내며 이를 처리하고 있다. 슈퍼컴퓨팅 클러스터 판매 회사인 리눅스 네트웍스의 조슈아 해르 CTO는 “가속화는 최근 가장 뜨거운 이슈”라고 전했다.
여러 방면에서, 가속화에 대한 관심은 칩 디자인 동향에 대응하는 것이다. 전용 칩은 부동 소수점 연산을 실행하는데 있어 회로의 10% 정도를 차지하는데 비해 AMD의 옵테론이나 인텔의 제온 등 범용 칩은 다이 면적의 1~2%에 불과하다. 그 대신에, 옵테론이나 제온 등과 같은 범용 칩은 시스템의 구성 요소들을 제어하고 어떤 계산이 발생하는지 예측하며, 이를 통한 명령을 실행하는데 회로의 많은 부분을 차지하고 있다. 이러한 점을 감안해볼 때, 서로 밸런스를 이루는 칩이 요구된다.
또한 가속화 칩은 범용 칩보다 훨씬 낮은 클럭 속도에서 구동하기 때문에 전력 소모를 낮춰주며 열도 적게 발생시킨다. 예를 들어, 클리어스피드의 칩은 259MHz에서 구동한다. 이에 비해 인텔의 가장 빠른 펜티엄 칩 조차도 거의 15배에 달하는 3.73GHz의 주파수에서 구동한다.
전용 칩을 사용할 경우, 애플리케이션의 속도가 원래보다 몇 배 이상 높아질 수 있어 노드간 네트워킹이 없이도 성능은 향상되는 동시에 전력 소비는 낮출 수 있다. 벡터 연상 등의 운영도 향상되어 여러 데이터 포인트를 동시에 구동할 수 있다. 또한 ‘빠른 푸리에 변환(Fourier Transforms)’도 가능해 신호를 콤포넌트 주파수로 분해하며 다양한 과학 및 공학 분야에 사용될 수 있다.
가속화의 가장 큰 단점은 프로그램이 어렵다는 것이다. 과학 애플리케이션용 소프트웨어 가속화 제품을 개발하고 있는 인터랙티브 슈퍼컴퓨팅의 최고과학자인 앨런 에델만은 “파워는 믿을 수 없을 정도로 뛰어나지만 프로그래밍하는 것이 상당히 힘들다”고 말했다.
프로그래밍 가속화 비용은 IBM 고객들에게 “엄청나게 높다”고 튜렉이 말했다. 이는 개발 시간 측면에서 만이 아니라 내부 기술력의 부족과 전용 칩을 위한 새로운 코드를 제작해야 하기 때문이다.
슈퍼컴퓨터의 프로그램을 용이하게 만들기 위한 중심에는 다파(Darpa) 프로그램이 있다. 고생산성 컴퓨팅 시스템이라 불리는 이 프로그램은 상용화 이전의 슈퍼컴퓨터 프로토 타입을 구축한 업적을 높이 평가 받고 있다.
문제점을 간단히 말하자면, C, C++, 포트란, 자바와 같이 높은 수준의 절차적인 프로그래밍 언어는 시리얼 단계에서 명령을 실행하도록 범용 프로세서를 프로그래밍해야 하며, 가속화가 한번에 수많은 작업을 실행하도록 해야 한다는 것이다. 일부 신생 업체들은 FPGA를 위해 C 언어를 수용하고 있지만 전문가가 아닌 이상 C언어에서 성과를 올리기는 쉽지 않을 것이다.
클리어스피드는 ASIC용 벤더 연산을 위한 C언어의 확장판을 제공하고 있다. 하지만 이러한 방식조차도 보드 성능의 절반 정도만 향상시킬 수 있을 뿐이라는 것이 이 회사 CTO인 존 구스타프슨의 설명이다. 클리어스피드는 수많은 과학자와 엔지니어, 경제학자들이 사용하고 있는 연산 모델링 패키지 업체인 매스웍스(MathWorks) 및 울프레임 리서치(Wolfram Research)와 협력해 자사의 칩에 이들 업체의 애플리케이션을 탑재하기 위한 시도에 나서고 있다.
아직은 다양한 기업용 애플리케이션에 가속화 기술을 적용하는 것이 쉽지 않지만 점진적으로 사용자 기반을 넓히고 있음은 주목할 필요가 있다.Aron Ricadela

가속화의 네 가지 경로

가속화 칩의 한계를 넘어서려는 컴퓨터 엔지니어들은 FPGA와 ASIC, 그래픽 프로세서, 비디오 게임 칩 등 4대 기술을 주목하고 있다.
각각에 대한 특징을 살펴보면 다음과 같다.
FPGA
설계자들에게 실리콘에 여백을 제공해 필요에 따라 다시 프로그램할 수 있도록 해준다. FPGA는 프로그램하기가 매우 어렵지만 한번에 하나씩 실행하는 범용 마이크로프로세서와는 달리 한번에 수많은 운영을 실행할 수 있다. 크레이와 SGI는 FPGA를 사용하는 선두 시스템 공급업체이며, 리눅스 네트웍스는 PCI-X를 통해 연결하는 대신에 앞단의 버스에 칩을 두는 방식으로 올해에 이 시장에 진입할 계획이다. 리눅스 네트웍스는 이러한 방식이 컴퓨팅 속도를 더욱 높여준다고 밝혔다.
ASIC
클리어스피드의 CSX600과 같은 칩은 소프트웨어로부터 실행 명령을 기다리는 방식이 아닌, 데이터를 받자마자 구동하는 형태이다. 클리어스피드는 표준형 x86 보드로 직접 플러그할 수 있는 고성능 컴퓨팅 전용 ASIC을 만들고 있다. 이러한 칩은 FPGA보다 프로그램하기가 쉽지만 표준 C와 포트란을 지원하지는 못한다. IBM은 클리어스피드를 위한 반도체를 제작해 최근 재판매하고 있다.
그래픽 프로세서
Nvidia와 ATI 테크놀로지스는 범용 프로세서보다 8배 정도 빠른 부동소수점 연산 기능을 제공하며, 비교적 저렴하다. 결점이라면 사용자들이 선호하는 64비트 배정도(double-precision)가 아닌 32비트 정확도인 단정도(single-precision)라는 것이다. 사용자들은 또한 프로그래밍 환경을 추출하지 않고 하드웨어에 직접 프로그래밍해야 한다.
게임 기술
IBM의 셀 브로드밴드 엔진과 같은 게임 기술은 라이브러리 콜과 컴파일러 등 보다 전통적인 소프트웨어 기술을 사용한다. IBM은 소니가 출시할 예정인 플레이스테이션 3 콘솔을 위해 소니 및 도시바와 협력해 셀 칩을 개발했다. IBM측은 이 칩이 과학용 슈퍼컴퓨팅을 포함해 애플리케이션을 위한 서버에서 가속화 역할을 할 수 있다고 전했다. 이 칩은 전용 부동소수점 가속화 기술이 구현된 마이크로프로세서로 구성되어 있다. 하지만 소니는 아직 플레이스테이션 3를 공개하지 않고 있다. 셀이 소비자 시장에서 성공을 거두지 못할 경우 기업 시장에서의 활성화 역시 지연될 것으로 예상된다.
저작권자 © 아이티데일리 무단전재 및 재배포 금지