방안 1 ‘멀티 뇌’를 가진 컴퓨터를 만들어라 - 멀티코어
![](https://images.dongascience.com/uploads/old/Contents/201008/2(24).jpg)
인텔, 에이엠디(AMD)와 같은 세계적인 프로세서 생산 업체들이 선택한 대안은 클럭을 높이는 대신 ‘뇌’를 늘리는 것이다. 입출력 및 연산을 처리하는 ‘뇌’, 즉 코어의 수를 늘렸다. 이렇게 하나의 칩 안에 두 개 이상의 코어를 집적시키는 기법을 멀티코어라고 한다. 슈퍼컴퓨터도 멀티코어가 들어가면서 빠르게 발전하고 있다. 현재 세계 최고 컴퓨터인 미국 오크리지연구소의 재규어는 AMD의 6개 코어를 쓰고 있다.
연산하는 뇌가 여러 개 있으면 동시에 많은 연산을 처리할 수 있다. 또 같은 캐쉬 메모리를 사용해 통신비용이 크게 줄어든다. 캐쉬 메모리는 CPU와 메모리의 속도 차를 극복하고자 중간에 둔, 작은 메모리다. 자주 쓰는 정보를 담아두기 때문에 빠르게 읽어 들일 수 있다.
멀티코어는 2001년 IBM에서 만든 ‘파워4(Power4)’에서부터 서막을 열었다. 마지막까지 클럭 향상을 고집하던 인텔도 새로운 코어 구조를 내놓으며 본격적으로 멀티코어에 뛰어들었다. 2010년 상반기에는 AMD에서 12코어 프로세서(코드명 매그니쿠어)가 나왔다. 이 프로세서를 두 개 달면 24코어를 가진 ‘괴물’ 컴퓨터를 얻을 수 있다. 인텔도 2009년 말에 48개 코어를 한 칩에 구현한 연구 결과를 공개했다.
그러나 멀티코어도 장밋빛 미래만 있는 것은 아니다. 코어 수를 늘리는 데 한계가 있기 때문이다. 코어수가 늘어나면 처리할 수 있는 데이터양이 늘어나지만, 메모리 대역폭이 따라가질 못하면 실제 성능이 떨어진다. 또 캐쉬 메모리의 일관성을 유지하기가 어렵다. 캐쉬 메모리는 메인 메모리의 복사본을 가지므로 동일 데이터에 대해서는 각 코어의 캐쉬 메모리와 메인 메모리가 모두 일관성을 유지해야 한다. 멀티코어 패러다임이 이러한 문제를 극복하고 오랫동안 지속될지, 그렇지 않으면 새로운 패러다임이 등장할지는 좀 더 지켜봐야 할 일 같다.
![](https://images.dongascience.com/uploads/old/Contents/201008/3(25).jpg)
방안 2 그래픽 연산장치의 위대한 발견 - 범용그래픽 처리장치(GPGPU)
처음부터 코어를 수백 개 이상 갖고 태어난 녀석이 있다. 바로 그래픽 연산을 수행하는 장치인 GPU다. 최근 GPU는 슈퍼컴퓨터의 고용량 연산을 담당할 차세대 장치로 떠오르고 있다. GPU는 그래픽 카드 회사인 엔비디아(nVidia)가 1999년 처음으로 내놨다. 이전에는 CPU가 그래픽에 관련된 모든 연산을 처리했고 비디오 카드는 단지 화면 출력을 맡았다. 하지만 점차 고해상도(HD) 영화나 게임 3D 영상에 대한 요구가 늘면서 그래픽 처리는 아예 GPU가 담당하게 됐다.
![](https://images.dongascience.com/uploads/old/Contents/201008/4(24).jpg)
CPU가 명령 하나를 내려 데이터 하나를 처리하는 구조라면 GPU는 명령 하나로 여러 데이터를 동시에 처리하는 구조다. 예를 들어 컴퓨터 그래픽은 3차원 세계의 사물을 2차원의 화면에 표현하기 위해 좌표와 모양을 계산하는 동시에 각 화소마다 색깔을 입힌다. 이때 모든 작업을 병렬 계산 형태로 빠르게 수행한다. 이런 능력을 일반 계산에도 적용할 수 있다. 최근 GPU 제작사들은 계산 능력을 극대화한 범용 프로그램을 만들고 GPU용 표준 언어(OpenCL)를 발표했다.
슈퍼컴퓨터 연구자들도 GPU의 가능성을 높게 보고 있다. 미국 국가슈퍼컴퓨팅응용센터(NCSA)의 존 타운스 기반시설책임자는 GPU에 이렇게 많은 고유 라이브러리나 응용프로그램이 개발돼 있는 줄 몰랐다”며 “차세대 슈퍼컴퓨터는 GPU일 가능성이 크다”고 말했다. 도쿄대 공대는 엔비디아의 계산 전용 GPU 카드를 장착한 쓰바메라는 슈퍼컴퓨터를 만들어 2008년 ‘슈퍼컴퓨터 톱500’에 올랐다. 2010년 봄 ‘톱10’ 안에는 GPU 탑재 컴퓨터가 각각 2위와 7위에 올랐다.
GPU의 특이한 병렬 구조는 CPU 대비 수십~수백 배의 성능을 낸다고 알려져 있다. 하지만 이는 GPU 구조를 극대로 활용한 프로그램에 한한 결과라서 모든 프로그램을 GPU에서 수행하기는 어렵다. 또 그래픽 전공자가 아닌 프로그래머가 그래픽 응용프로그래밍 인터페이스(API)을 이용해 프로그램을 짠다는 것이 매우 난해해 소수 사람들의 전유물로 남아있을 가능성도 높다. 다만 지금까지 GPU가 발전한 추이를 살펴보면 그래픽이란 특수 목적 프로세서에서 점점 범용으로 진화하고 있는 것만은 틀림없다.
▼관련기사를 계속 보시려면?
클럭에 매달린 프로세서에는 미래가 없다
덩치 큰 슈퍼컴퓨터, 소프트웨어로 다이어트하다
물과 공기로 열 내리는 그린 빌딩이 답
생명의 타임캡슐 씨앗
이중휴명 전략펴는 깽깽이풀
![](https://images.dongascience.com/uploads/old/Contents/201008/2(24).jpg)
인텔, 에이엠디(AMD)와 같은 세계적인 프로세서 생산 업체들이 선택한 대안은 클럭을 높이는 대신 ‘뇌’를 늘리는 것이다. 입출력 및 연산을 처리하는 ‘뇌’, 즉 코어의 수를 늘렸다. 이렇게 하나의 칩 안에 두 개 이상의 코어를 집적시키는 기법을 멀티코어라고 한다. 슈퍼컴퓨터도 멀티코어가 들어가면서 빠르게 발전하고 있다. 현재 세계 최고 컴퓨터인 미국 오크리지연구소의 재규어는 AMD의 6개 코어를 쓰고 있다.
연산하는 뇌가 여러 개 있으면 동시에 많은 연산을 처리할 수 있다. 또 같은 캐쉬 메모리를 사용해 통신비용이 크게 줄어든다. 캐쉬 메모리는 CPU와 메모리의 속도 차를 극복하고자 중간에 둔, 작은 메모리다. 자주 쓰는 정보를 담아두기 때문에 빠르게 읽어 들일 수 있다.
멀티코어는 2001년 IBM에서 만든 ‘파워4(Power4)’에서부터 서막을 열었다. 마지막까지 클럭 향상을 고집하던 인텔도 새로운 코어 구조를 내놓으며 본격적으로 멀티코어에 뛰어들었다. 2010년 상반기에는 AMD에서 12코어 프로세서(코드명 매그니쿠어)가 나왔다. 이 프로세서를 두 개 달면 24코어를 가진 ‘괴물’ 컴퓨터를 얻을 수 있다. 인텔도 2009년 말에 48개 코어를 한 칩에 구현한 연구 결과를 공개했다.
그러나 멀티코어도 장밋빛 미래만 있는 것은 아니다. 코어 수를 늘리는 데 한계가 있기 때문이다. 코어수가 늘어나면 처리할 수 있는 데이터양이 늘어나지만, 메모리 대역폭이 따라가질 못하면 실제 성능이 떨어진다. 또 캐쉬 메모리의 일관성을 유지하기가 어렵다. 캐쉬 메모리는 메인 메모리의 복사본을 가지므로 동일 데이터에 대해서는 각 코어의 캐쉬 메모리와 메인 메모리가 모두 일관성을 유지해야 한다. 멀티코어 패러다임이 이러한 문제를 극복하고 오랫동안 지속될지, 그렇지 않으면 새로운 패러다임이 등장할지는 좀 더 지켜봐야 할 일 같다.
![](https://images.dongascience.com/uploads/old/Contents/201008/3(25).jpg)
방안 2 그래픽 연산장치의 위대한 발견 - 범용그래픽 처리장치(GPGPU)
처음부터 코어를 수백 개 이상 갖고 태어난 녀석이 있다. 바로 그래픽 연산을 수행하는 장치인 GPU다. 최근 GPU는 슈퍼컴퓨터의 고용량 연산을 담당할 차세대 장치로 떠오르고 있다. GPU는 그래픽 카드 회사인 엔비디아(nVidia)가 1999년 처음으로 내놨다. 이전에는 CPU가 그래픽에 관련된 모든 연산을 처리했고 비디오 카드는 단지 화면 출력을 맡았다. 하지만 점차 고해상도(HD) 영화나 게임 3D 영상에 대한 요구가 늘면서 그래픽 처리는 아예 GPU가 담당하게 됐다.
![](https://images.dongascience.com/uploads/old/Contents/201008/4(24).jpg)
CPU가 명령 하나를 내려 데이터 하나를 처리하는 구조라면 GPU는 명령 하나로 여러 데이터를 동시에 처리하는 구조다. 예를 들어 컴퓨터 그래픽은 3차원 세계의 사물을 2차원의 화면에 표현하기 위해 좌표와 모양을 계산하는 동시에 각 화소마다 색깔을 입힌다. 이때 모든 작업을 병렬 계산 형태로 빠르게 수행한다. 이런 능력을 일반 계산에도 적용할 수 있다. 최근 GPU 제작사들은 계산 능력을 극대화한 범용 프로그램을 만들고 GPU용 표준 언어(OpenCL)를 발표했다.
슈퍼컴퓨터 연구자들도 GPU의 가능성을 높게 보고 있다. 미국 국가슈퍼컴퓨팅응용센터(NCSA)의 존 타운스 기반시설책임자는 GPU에 이렇게 많은 고유 라이브러리나 응용프로그램이 개발돼 있는 줄 몰랐다”며 “차세대 슈퍼컴퓨터는 GPU일 가능성이 크다”고 말했다. 도쿄대 공대는 엔비디아의 계산 전용 GPU 카드를 장착한 쓰바메라는 슈퍼컴퓨터를 만들어 2008년 ‘슈퍼컴퓨터 톱500’에 올랐다. 2010년 봄 ‘톱10’ 안에는 GPU 탑재 컴퓨터가 각각 2위와 7위에 올랐다.
GPU의 특이한 병렬 구조는 CPU 대비 수십~수백 배의 성능을 낸다고 알려져 있다. 하지만 이는 GPU 구조를 극대로 활용한 프로그램에 한한 결과라서 모든 프로그램을 GPU에서 수행하기는 어렵다. 또 그래픽 전공자가 아닌 프로그래머가 그래픽 응용프로그래밍 인터페이스(API)을 이용해 프로그램을 짠다는 것이 매우 난해해 소수 사람들의 전유물로 남아있을 가능성도 높다. 다만 지금까지 GPU가 발전한 추이를 살펴보면 그래픽이란 특수 목적 프로세서에서 점점 범용으로 진화하고 있는 것만은 틀림없다.
▼관련기사를 계속 보시려면?
클럭에 매달린 프로세서에는 미래가 없다
덩치 큰 슈퍼컴퓨터, 소프트웨어로 다이어트하다
물과 공기로 열 내리는 그린 빌딩이 답
생명의 타임캡슐 씨앗
이중휴명 전략펴는 깽깽이풀