기본 콘텐츠로 건너뛰기

무어의 법칙은 끝났을까? (2)





 앞서 언급했듯이 2006년에서 지금까지 GPU 부분에서는 괄목할만한 성능 향상이 일어났습니다. 물론 CPU 부분에서도 성능 향상이 이어졌지만, 소비자용 제품을 기준으로 했을 때 GPU 부분에서 성장이 더 두드러졌다는 데는 의문의 여지가 없을 것입니다. 


 여기에는 몇 가지 이유가 존재합니다. 첫 번째 이유는 GPU가 CPU 대비 병렬화에 따른 이점이 크다는 점입니다. 사실 듀얼코어에서 쿼드코어, 헥사코어, 옥타코어하는 식으로 코어의 숫자를 늘려도 이를 필요로하는 프로그램을 구동하지 않는 이상 체감 성능 향상은 누리기 어렵습니다. 대개의 PC 유저들에서 현재까지는 8코어 이상의 프로세서가 크지 않은 이유입니다. 물론 시간이 지날 수록 멀티코어 지원이 대세가 되는 데다 한번에 돌리는 응용 프로그램의 종류도 많아지므로 코어가 많을 수록 좋긴 하지만, 상대적인 이점이 적다는 이야기입니다. 


 반면 그래픽카드는 그 주목적인 게임에서 프로세서의 성능을 거의 다 사용하므로 이런 고민이 없습니다. 여러 개의 작은 스트림 프로세서 혹은 CUDA 코어가 그래픽 처리 작업을 분산해서 시행하므로 사실 GPU 한 개가 아니라 두 개, 세 개를 쓰면 더 처리 속도를 빠르게 할 수 있습니다. 비록 멀티 GPU 기술의 경우 효율이 좋지는 못하지만, 그래픽 처리에 있어서는 병렬화의 이점이 매우 크다는 점을 보여주는 사례입니다. 


 하지만 2006년에 콘로가 CPU 시장에 진입한 후 시장 변화는 경쟁 구도 역시 중요한 역할을 한다는 점을 보여줍니다. 그래서 2006년에 등장한 콘로와 GeForce 8800 를 기준으로 이야기를 풀어 나겠습니다. G80으로 알려진 GeForce 8800 시리즈는 2006년 등장했습니다. 당시 6억 8100만개의 트랜지스터를 집적해 듀얼 코어 콘로의 2억9100만개보다 더 큰 프로세서였습니다. 공정도 콘로처럼 65nm가 아닌 90nm공정이라 다이 사이즈도 480㎟으로 꽤 거대했습니다. 메모리는 GDDR3 768MB를 사용했습니다. 


 콘로와는 달리 당시 GeForce 8800은 경쟁자가 있었습니다. Radeon HD 2900이 그것으로 80nm공정에서 7억개의 트랜지스터를 집적했으며 다이 사이즈는 420㎟에 달했습니다. 물론 이 시기에도 엔비디아가 우세하긴 했지만, CPU 시장처럼 독점 상태는 아니었으며 GPU 부분은 AMD, 엔비디아의 경쟁 구도가 형성됩니다. 


 2007년에 엔비디아는 클럭을 높인 GeForce 8800 Ultra로 대응하는 한편 2008년에는 다시 G92 (9800시리즈)를 내놓으면서 경쟁에 돌입합니다. AMD와 엔비디아의 경쟁사는 그것만으로도 한 권의 책이 될 정도로 길기 때문에 중간에 대폭 생략하고 설명하면 이로 인해 그래픽 프로세서의 트랜지스터 집적도가 경쟁적으로 커졌다는 것입니다. 


 G92로는 충분하지 않다는 사실을 깨달은 엔비디아는 GT200-100-A2, 즉 GeForce GTX 260을 들고 나왔습니다. 2008년에 등장한 GTX 260은 14억개의 트랜지스터를 집적했고 65nm 공정에서 다이 사이즈가 576㎟나 됐습니다. 불과 2년 만에 트랜지스터 집적도가 두 배 이상 늘어난 것이죠. 하지만 엔비디아는 이것도 충분치 않을 것이라는 점을 알고 있었습니다. 같은 시기에 경쟁자가 HD4000 시리즈를 내놓았고 HD 5000 시리즈를 준비하고 있었기 때문입니다. 


 이에 엔비디아는 트랜지스터 30억개가 넘는 GPU를 2009년 출시하기 위해 준비했습니다. 그러나 당시 TSMC의 40nm 공정의 낮은 수율로 인해 정식 출시는 2010년에 이뤄졌습니다. 그래도 GF100은 불과 2년도 되지 않는 시기에 GT200보다 두 배가 넘는 트랜지스터를 집적해 시장에 출시되었습니다. 이렇게 트랜지스터 집적도가 올라간 이유는 사실 게이밍 성능 이외에 GPGPU라는 새로운 분야에 출시하기 위한 목적이 컸습니다. 아무튼 이렇게 무어의 법칙은 정작 이를 주창한 인텔이 아니라 GPU 업계에서 더 잘 맞는 아이러니한 상황이 연출되었습니다. 


 2012년에 등장한 GK104는 (600시리즈) 35.4억개의 트랜지스터로 한 템포 쉬는 듯한 모습을 보여줬는데, 이는 경쟁자인 AMD의 힘이 빠진 것과 더불어 제조 공정상의 어려움도 한 몫 했습니다. GPU가 더 크고 복잡해지면서 한 번에 실수 없이 제조하기가 점점 어려워졌는데다 경쟁자가 제 역할을 하지 못하면서 굳이 복잡한 빅칩을 먼저 출시할 이유가 줄어든 것이죠. 


 이런 이유로 케플러 빅칩인 GK110은 소비자용으로는 2013년에 등장했습니다. 70.8억개의 트랜지스터를 지닌 GTX 780 시리즈 및 Titan 시리즈는 28nm 공정으로 제조되었으며 561㎟의 면적을 지니고 있었습니다. 사실 2010년 이후로는 GPU 역시 미세 공정의 장벽에 부딪히게 된 것입니다. 소비자와 제조사 모두 더 큰 칩을 원했지만, 파운드리 반도체 업계는 공정 미세화에 큰 애로 사항을 겪었습니다. 이 문제에 대해서는 다음에 더 자세하게 이야기하기로 하고 GPU 이야기를 계속해 보겠습니다. 


 비록 공정 미세화의 지연에도 불구하고 더 빠른 GPU에 대한 요구가 컸기 때문에 제조사들은 빠르게 다음 제품을 준비했습니다. 이렇게 태어난 GM200 칩은 같은 28nm 공정으로 제조되었으며 80억개의 트랜지스터를 지니고 있었습니다. 다이 사이즈는 601㎟로 소비자용 GPU에서는 일반적으로 최대로 여겨지는 크기까지 커졌습니다. 동시대에 등장한 4코어 인텔 프로세서가 트랜지스터 20억개 미만인데도 크기도 200㎟ 이하인 점을 감안하면 더 빠른 GPU에 대한 소비자의 요구와 제조사의 경쟁이 얼마나 큰 차이를 만드는지를 알 수 있습니다. 


 40nm 공정처럼 오래간 28nm 공정을 뒤로 하고 16nm 미세 공정이 도입된 2016년에는 다시 한 번 트랜지스터 집적도가 증가하게됩니다. GeForce GTX 1080 Ti와 타이탄에 사용된 GP102 칩은 120억개의 트랜지스터를 집적했는데 이는 GeForce 8800과 비교시 10년간 대략 17.6배 정도 트랜지스터 집적도 증가로 볼 수 있습니다. 무어의 법칙에서 예측한 32배보다는 낮지만, CPU와는 현저하게 차이가 날 정도로 집적도가 증가했습니다. 


 성능 역시 크게 증가해 GeForce GTX 1080 Ti의 연산 능력은 단정밀도 기준 11TFLOPS에 달합니다. 이는 GeForce 8800 의 518GFLOPS 대비 20배가 넘습니다. 무어의 법칙만큼은 아니지만 2006년 이후 기술 정체가 일어나 프로세서 성능에 큰 변화가 없다는 주장에는 상당한 무리수가 있습니다. 


(엔비디아 GPU의 와트당 성능 변화. 출처: 엔비디아) 


 이와 같은 차이는 물론 여러 가지 이유가 있습니다. 앞서 설명했듯이 GPU가 특히 병렬화에 따른 이점이 크다는 점과 GPGPU 및 인공지능처럼 고성능 GPU의 수요가 늘어난 것 등이 복합적으로 작용했습니다. 하지만 CPU 시장보다 강한 경쟁 구도가 중요한 원인 중 하나라는 점도 확실합니다. 물론 이는 산업계 전반에서 흔히 볼 수 있는 형태입니다. 경쟁이 치열한 시장일수록 신제품 출시 주기가 짧고 가격 경쟁이 치열할 것입니다. 


 하지만 이와 같은 경쟁 구도는 엔비디아가 점유율을 높게 유지하면서 점차 희석되고 있습니다. 특히 지난 몇 년간 AMD의 약세로 인해 GPU 시장의 모습이 CPU 시장을 닮아갈 우려가 커지고 있습니다. 


 최근 그래픽카드 가격은 출시 가격 자체과 과거보다 높아졌고 가상화폐 채굴붐까지 일어나 높은 가격에 유지되고 있습니다. 이런 상황에서는 엔비디아가 신제품을 새로 출시하거나 가격을 낮출 이유가 줄어들 것입니다. 실제로 현재 판매되는 GeForce 10xx 계열 제품들은 2016년에 등장한 것으로 2018년 초까지 더 빠른 신제품 출시는 사실상 이뤄지지 않고 있습니다. 과거 타이탄으로 등장한 1080Ti 정도가 소비자용으로 판매되는 수준입니다. 이는 공정 장벽과 채굴붐, 그리고 경쟁 구도의 희석 등이 복합적으로 작용한 결과로 보입니다. 


 아무튼 GPU 시장에서 보듯이 소비자는 더 빠른 컴퓨터에 대한 욕구가 없었던 적이 없습니다. 이 욕구를 채우기 위해 제조사들은 계속해서 신제품을 선보였지만, 아직도 새로운 그래픽카드에 대한 수요는 수그러들지 않고 있습니다. 오히려 슈퍼 컴퓨팅이나 인공지능 처럼 새로운 영역에 사용되면서 더 빠른 GPU에 대한 수요가 점점 커지고 있는게 현실입니다. 


 2017년 엔비디아는 인공지능 연산에 초점을 맞춘 볼타를 출시하면서 무려 220억개의 트랜지스터를 집적했습니다. 하지만 해당 산업이 빠르게 발전하면서 앞으로 이보다 더 고성능 제품에 대한 수요가 클 것이라는 점은 의심의 여지가 없습니다. 이보다 더 많은 트랜지스터를 집적하지 못한 것은 기술적 한계 때문이지 결코 수요가 없어서는 아닙니다. 


 2006년 이후에도 그전처럼 프로세서 기술은 크게 발전했고 GPU는 슈퍼컴퓨팅이나 인공지능 연산에 활용되면서 새로운 시장을 창출하고 있습니다. 물론 2010년 이후에는 미세 공정 장벽에 부딪히면서 트랜지스터 집적도 증가세가 둔화되고 있으나 더 이상 혁신이나 새로운 수요가 없어서 성장을 못한다는 이야기는 납득하기 힘든 이야기입니다. 


 미래엔 그럴지도 모르지만, 적어도 지금까지는 아닙니다. 오히려 GPU 기술이 발전이 인공지능 같은 다른 분야에 파급효과를 일으키고 있으며 다시 이것이 자율 주행차 같은 미래 기술의 발전을 촉진해서 시장 판도를 새롭게 바꿀 것으로 예상됩니다. 


 다음에는 x86 CPU 부분에서는 진짜 2006년 이후 눈에 띄는 성능 향상이 없었는지를 알아보고 미세 공정에 따른 장벽에 대한 이야기로 넘어가겠습니다. 



댓글

이 블로그의 인기 게시물

통계 공부는 어떻게 하는 것이 좋을까?

 사실 저도 통계 전문가가 아니기 때문에 이런 주제로 글을 쓰기가 다소 애매하지만, 그래도 누군가에게 도움이 될 수 있다고 생각해서 글을 올려봅니다. 통계학, 특히 수학적인 의미에서의 통계학을 공부하게 되는 계기는 사람마다 다르긴 하겠지만, 아마도 비교적 흔하고 난감한 경우는 논문을 써야 하는 경우일 것입니다. 오늘날의 학문적 연구는 집단간 혹은 방법간의 차이가 있다는 것을 객관적으로 보여줘야 하는데, 그려면 불가피하게 통계적인 방법을 쓸 수 밖에 없게 됩니다. 이런 이유로 분야와 주제에 따라서는 아닌 경우도 있겠지만, 상당수 논문에서는 통계학이 들어가게 됩니다.   문제는 데이터를 처리하고 분석하는 방법을 익히는 데도 상당한 시간과 노력이 필요하다는 점입니다. 물론 대부분의 학과에서 통계 수업이 들어가기는 하지만, 그것만으로는 충분하지 않은 경우가 많습니다. 대학 학부 과정에서는 대부분 논문 제출이 필요없거나 필요하다고 해도 그렇게 높은 수준을 요구하지 않지만, 대학원 이상 과정에서는 SCI/SCIE 급 논문이 필요하게 되어 처음 논문을 작성하는 입장에서는 상당히 부담되는 상황에 놓이게 됩니다.  그리고 이후 논문을 계속해서 쓰게 될 경우 통계 문제는 항상 나를 따라다니면서 괴롭히게 될 것입니다.  사정이 이렇다보니 간혹 통계 공부를 어떻게 하는 것이 좋겠냐는 질문이 들어옵니다. 사실 저는 통계 전문가라고 하기에는 실력은 모자라지만, 대신 앞서서 삽질을 한 경험이 있기 때문에 몇 가지 조언을 해줄 수 있을 것 같습니다.  1. 입문자를 위한 책을 추천해달라  사실 예습을 위해서 미리 공부하는 것은 추천하지 않습니다. 기본적인 통계는 학과별로 다르지 않더라도 주로 쓰는 분석방법은 분야별로 상당한 차이가 있을 수 있어 결국은 자신이 주로 하는 부분을 잘 해야 하기 때문입니다. 그러기 위해서는 학과 커리큘럼에 들어있는 통계 수업을 듣는 것이 더 유리합니다. 잘 쓰지도 않을 방법을 열심히 공부하는 것은 아무래도 효율

R 스튜디오 설치 및 업데이트

 R을 설치한 후 기본으로 제공되는 R 콘솔창에서 코드를 입력해 작업을 수행할 수도 있지만, 보통은 그렇게 하기 보다는 가장 널리 사용되는 R 개발환경인 R 스튜디오가 널리 사용됩니다. 오픈 소스 무료 버전의 R 스튜디오는 누구나 설치가 가능하며 편리한 작업 환경을 제공하기 때문에 R을 위한 IDE에서 가장 널리 사용되어 있습니다. 아래 링크에서 다운로드 받습니다.    https://www.rstudio.com/  다운로드 R 이나 혹은 Powerful IDE for R로 들어가 일반 사용자 버전을 받습니다. 오픈 소스 버전과 상업용 버전, 그리고 데스크탑 버전과 서버 버전이 있는데, 일반적으로는 오픈 소스 버전에 데스크탑 버전을 다운로드 받습니다. 상업 버전의 경우 데스크탑 버전의 경우 년간 995달러, 서버 버전은 9995달러를 받고 여러 가지 기술 지원 및 자문을 해주는 기능이 있습니다.   데스크탑 버전을 설치하는 과정은 매우 쉽기 때문에 별도의 설명이 필요하지 않을 것 같습니다. 인스톨은 윈도우, 맥, 리눅스 (우분투/페도라)에 따라 설치 파일이 나뉘지만 설치가 어렵지는 않을 것입니다. 한 가지 주의할 점이라면 R은 사전에 반드시 따로 설치해야 한다는 점입니다. R 스튜디오만 단독 설치하면 아무것도 할 수 없습니다. 뭐 당연한 이야기죠.   설치된 R 스튜디오는 자동으로 업데이틀 체크하지 않습니다. 따라서 업데이트를 위해서는 R 스튜디오에서 Help 로 들어가 업데이트를 확인해야 합니다.     만약 업데이트 할 내용이 없다면 최신 버전이라고 알려줄 것이고 업데이트가 있다면 업데이트를 진행할 수 있도록 도와주게 됩니다. R의 업데이트와 R 스튜디오의 업데이트는 모두 개별적이며 앞서 설명했듯이 R 업데이트는 사실 기존 버전과 병행해서 새로운 버전을 새롭게 설치하는 것입니다. R 스튜디오는 실제로 업데이트가 이뤄지기 때문에 구버전을 지워줄 필요는

150년 만에 다시 울린 희귀 곤충의 울음 소리

  ( The katydid Prophalangopsis obscura has been lost since it was first collected, with new evidence suggesting cold areas of Northern India and Tibet may be the species' habitat. Credit: Charlie Woodrow, licensed under CC BY 4.0 ) ( The Museum's specimen of P. obscura is the only confirmed member of the species in existence. Image . Credit: The Trustees of the Natural History Museum, London )  과학자들이 1869년 처음 보고된 후 지금까지 소식이 끊긴 오래 전 희귀 곤충의 울음 소리를 재현하는데 성공했습니다. 프로팔랑곱시스 옵스큐라 ( Prophalangopsis obscura)는 이상한 이름만큼이나 이상한 곤충으로 매우 희귀한 메뚜기목 곤충입니다. 친척인 여치나 메뚜기와는 오래전 갈라진 독자 그룹으로 매우 큰 날개를 지니고 있으며 인도와 티벳의 고산 지대에 사는 것으로 보입니다.   유일한 표본은 수컷 성체로 2005년에 암컷으로 생각되는 2마리가 추가로 발견되긴 했으나 정확히 같은 종인지는 다소 미지수인 상태입니다. 현재까지 확실한 표본은 수컷 성체 한 마리가 전부인 미스터리 곤충인 셈입니다.   하지만 과학자들은 그 형태를 볼 때 이들 역시 울음 소리를 통해 짝짓기에서 암컷을 유인했을 것으로 보고 있습니다. 그런데 높은 고산 지대에서 먼 거리를 이동하는 곤충이기 때문에 낮은 피치의 울음 소리를 냈을 것으로 보입니다. 문제는 이런 소리는 암컷 만이 아니라 박쥐도 잘 듣는다는 것입니다. 사실 이들은 중생대 쥐라기 부터 존재했던 그룹으로 당시에는 박쥐가 없어 이런 방식이 잘 통했을 것입니다. 하지만 신생대에 박쥐가 등장하면서 플로팔랑곱