2017.07.26

폰 노이만 이후의 혁신은 없다?··· CPU 아키텍처의 미래 진단

Lamont Wood | Computerworld

CPU 아키텍처의 미래를 예측할 때 어떤 업계 전문가들은 흥미진진할 것이라고 하고 어떤 이들은 재미없을 것이라고 한다. 그러나 아무도 2년마다 속도가 2배로 늘어나던 옛날로 돌아갈 것이라고 예상하지는 않는다.

낙관론자 중에는 UC 버클리(University of California, Berkeley)의 데이빗 패터슨 교수가 있다. 말 그대로 컴퓨터 아키텍처의 교과서를 쓴 그는 “이 시대는 컴퓨터 아키텍처의 르네상스가 일어나는 흥미진진한 시대가 될 것”이라고 내다봤다.

반면, 실리콘 인사이더(Silicon Insider) 설립자이자 마이크로프로세서 컨설턴트인 짐 털리는 별로 그렇지 않을 것이라면서 “5년 내에 우리는 현재의 위치에 비해 10% 진보한 수준일 것”이라고 예측했다.

“존 폰 노이만과 앨런 튜링이 인정할 검증된 아키텍처를 뒤집을 기세의 대학 연구 프로젝트가 몇 년에 한 번씩 등장하곤 한다. 그러나 유니콘이 춤을 추고 나비들이 노래할 그런 환상적인 상황은 절대 현실이 되지는 않는다. 단지 똑같은 컴퓨터의 속도만 빠르게 만들 뿐이며 다들 만족한다. 상품성 측면에서 본다면 꾸준히 조금씩 개선시키는 것이 최선이다”라고 그는 말했다.

이들이 공통적으로 동의하는 현상은 무어의 법칙이 점점 의미를 잃어가고 있다는 것이다. 무어의 법칙이란 같은 가격으로 칩 하나에 심을 수 있는 트랜지스터의 수가 18개월 내지 24개월마다 2배로 늘어나던 것을 말한다. 집적도를 높이기 위해 칩은 더 작아져야 했고 그 결과 뜨거워지기는 하지만 구동 속도가 빨라지면서 성능이 증가했고 덩달아 기대치도 높아졌다. 그러나 오늘날 높아진 기대치는 그대로인 반면, 프로세서 성능 증가는 정체됐다.



성능 증가 정체 그 이후
조지아 공과대학 교수이자 IEEE 컴퓨터학회 전 회장인 톰 콘테(Tom Conte)는 “전력 소모가 핵심 문제”라고 진단했다. 그에 따르면 “제곱 센티미터당 수용할 수 있는 최대치는 150와트이다. 더 높이려면 비상한 냉각 기술이 필요하며, 이는 더 높은 비용으로 이어진다”,

그는 “전력은 주파수와 관련이 있기에 주파수를 높일 수는 없다. 칩이 뜨거워지기 때문이다. 따라서 코어 개수를 늘리고 클럭 속도를 거의 같게 설정하곤 한다. 그러면 컴퓨터에 여러 개의 프로그램이 실행 중인 경우에 속도가 높아진다. 그러나 대부분의 경우 동시에 실행되어야 할 프로그램 수는 기껏해야 몇 개에 불과하다”라고 말했다.

이 방식은 코어가 8개가 되면 한계 효용 단계에 이른다고 린리 그룹(Linley Group)의 애널리스트 린리 그웬냅은 설명했다. 그는 “동시 사용 개수는 대략 8개가 한계점이다. 게다가 코어를 3~4개 이상 사용하는 프로그램은 거의 없다. 코어에서 속도를 얻기에는 벽에 부딪힌 셈이다. 코어 자체도 64비트 정도가 한계다. 인텔 스타일의 코어는 한 번에 약 5개의 명령을 수행할 수 있으며 ARM 코어는 최대 3개까지 가능하지만 5개가 넘으면 한계 효용 체감이 발생한다. 그 이상의 수준에 이르려면 새로운 아키텍처가 필요하다. 결론은 전통적인 소프트웨어에서는 속도 증가가 그다지 크지 않을 것이다”라고 말했다.

콘테에 따르면 사실 90년대에 이미 벽에 부딪혔다. 그는 “트랜지스터는 점점 빨라지고 있었지만 CPU 회로는 점점 느려지고 있었다. 배선 길이가 연산을 지배했기 때문이다. 초기에는 수퍼스칼라(superscalar) 아키텍처(내부 병렬성)을 사용해 그 사실을 숨겼다. 그 결과 속도를 2배 내지 3배 늘릴 수 있었다. 그러다가 전력의 벽에 부딪히는 바람에 그만 접어야 했다”라고 말했다.

패터슨은 “이제 범용 응용프로그램은 더 이상 빠르게 만들 수 있는 방법이 없다. 대책은 도메인 특정 아키텍처다”라고 말했다. 다시 말해, 장치 제조사들은 구체적이고 폭이 좁은 작업을 수행하지만 수행 능력이 일반적인 마이크로프로세서보다는 뛰어난 프로세서들을 추가하게 될 것이라는 전망이다.

이러한 동향은 대표적인 스마트폰 CPU 공급업체 ARM 홀딩스의 주도로 이미 스마트폰 분야에서 한창 진행 중이다. 보통의 스마트폰이 운영체제와 앱을 실행하는 코어를 포함해 10개 내지 20개의 프로세서를 탑재할 수 있을 것으로 ARM의 수석이사 이안 스마이더는 보고 있다.

ARM의 이른바 '빅리틀'(big.LITTLE) 아키텍처다. 이 아키텍처 하에서 프로세서 코어 중 절반(big 코어)은 최대 속도로 전경 앱(foreground apps)을 실행할 수 있고 분기 예측, 비순차적 명령어 처리 등을 위한 여분의 회로가 있다. 소형(LITTLE) 코어는 최대 전력 효율로 배경 앱을 실행한다. 다른 프로세서들은 전력 관리, 센서, 비디오, 오디오, 무선 연결, 터치스크린 관리, 지문 인식 등을 처리하게 된다.

스마이더는 이와 관련해 “성능이 크게 향상되어야만 작업량을 CPU에서 가속기로 이동시키는 비용을 정당화할 수 있다”라며, “그래픽과 비디오에서는 비용이 정당화되었다. 앞으로는 신경 네트워킹이 이러한 솔루션에 적합해 보인다”라고 진단했다.

실제로 신경 네트워킹 프로세서의 인기가 점점 늘어날 것이라는 데에 여러 전문가들이 동의하고 있다. 머신 비전(machine vision), 자연어 인식을 비롯한 여러 형태의 인공지능에 사용되는 머신러닝의 처리 속도가 이들 프로세서를 통해 더욱 빨라질 수 있기 때문이다.

일례로 웨이브 컴퓨팅(Wave Computing)의 최신 프로세서는 1만 6,000개의 코어를 갖고 있다. CTO 크리스 니콜에 따르면 이러한 구조는 순차적 CPU에 데이터를 넣고 빼는 데 필요한 에너지 소모를 피하기 위해 등장했다.

그는 “코어 하나의 결과가 바로 다음 사이클에서 다른 코어의 피연산 함수로 사용될 수 있도록 코어들이 설계되어 있다”라고 설명했다. 이어 “이 개념을 공간 컴퓨팅이라고 하며, 이 과정의 경우 시간을 3차원으로 하는 2차원 그리드로 개념화할 수 있다”라고 덧붙였다.

니콜에 따르면 이를 통해 얻을 수 있는 속도 혜택이 종래의 작업 처리과 비교해 약 600의 가속 계수에 이른다. 올해 말까지 출고될 최종 사용자 버전은 범용 컴퓨터가 아닌 신경 네트워킹 기기로 사용될 예정이다.

패터슨은 “훈련을 거친 신경 네트워크는 더 작은 도메인 특정 프로세서를 사용하는 스마트폰에서 구동 가능하다”라고 설명했다.

이렇듯 전문화된 프로세서의 단점은 자체 도구와 컴파일러를 요구하는 전문화된 소프트웨어를 구동한다는 점이다. UC 버클리의 크르스테 아사노빅 교수는 “소프트웨어의 관점에서 보면 CPU의 확산은 정말 무서울 정도다. 최대한 저항하는 양상이었지만 이제는 다른 방법이 없는 듯 보인다”라고 말했다.

이러한 혼란 상황에 대처하기 위해 전문화된 프로그래밍 프레임워크가 등장했다. 도메인 특정 프로세서(DSP) 설계 허가 업체 카덴스 디자인 시스템(Cadence Design Systems)의 이사 스티브 로디는 다음과 같이 설명했다.

“전문화된 프로그래밍 프레임워크를 이용해 프로그래머들은 플랫폼과 관계 없고 컴퓨터 제조업체들로 하여금 다른 여러 수준의 자원을 적용할 수 있게 해주는 코드를 작성할 수 있다. 칩 제조업체들은 해당 칩에 대한 프레임워크 지원 방식을 결정해야 한다. 고가 제품은 DSP에서 구동되지만 저가 제품에서는 같은 코드가 CPU에서 구동될 수도 있다. 따라서 개발자는 세세한 것까지 모두 몰라도 여러 폰에서 앵그리 버드(Angry Birds) 게임을 작성할 수 있게 된다.”

신경 네트워킹만을 위해 생겨난 프레임워크만 해도 구글(Google)의 텐서플로우(TensorFlow), 마이크로소프트(Microsoft) 인지 툴킷(CNTK), 아마존(Amazon)의 엠엑스넷(MXNet) 등 여러 가지가 있다고 패터슨은 소개했다.

그는 “이들은 하드웨어도 겨냥하고 있으며 설계자가 하드웨어에 소프트웨어를 구동하기 쉽게 해준다”라고 덧붙였다.

직접 언어 실행 ‘현재까지는 회의적’
만약 프로세서가 자바(Java)와 같은 고급 언어의 명령을 직접 실행할 수 있다면 프레임워크가 필요 없을 것이고 소프트웨어의 구동 속도 또한 빨라질 수 있다. 그러나 이 개념은 아직까지 현실성이 없다는 평가다.

털리는 “가끔 시도는 되고 있지만 항상 처참한 실패로 끝나곤 했다. 처음 50%나 75%까지는 매우 순조롭게 진행되기 때문에 투자금 유치도 늘어나고 금요일마다 맥주 파티가 벌어진다. 그러다가 마지막 25%에서는 큰 난관에 부딪힌다. 결과를 보면 속도 증가가 그리 크지 않다. 결국 모두 실패로 돌아갔다”라고 말했다.
 

2017.07.26

폰 노이만 이후의 혁신은 없다?··· CPU 아키텍처의 미래 진단

Lamont Wood | Computerworld

CPU 아키텍처의 미래를 예측할 때 어떤 업계 전문가들은 흥미진진할 것이라고 하고 어떤 이들은 재미없을 것이라고 한다. 그러나 아무도 2년마다 속도가 2배로 늘어나던 옛날로 돌아갈 것이라고 예상하지는 않는다.

낙관론자 중에는 UC 버클리(University of California, Berkeley)의 데이빗 패터슨 교수가 있다. 말 그대로 컴퓨터 아키텍처의 교과서를 쓴 그는 “이 시대는 컴퓨터 아키텍처의 르네상스가 일어나는 흥미진진한 시대가 될 것”이라고 내다봤다.

반면, 실리콘 인사이더(Silicon Insider) 설립자이자 마이크로프로세서 컨설턴트인 짐 털리는 별로 그렇지 않을 것이라면서 “5년 내에 우리는 현재의 위치에 비해 10% 진보한 수준일 것”이라고 예측했다.

“존 폰 노이만과 앨런 튜링이 인정할 검증된 아키텍처를 뒤집을 기세의 대학 연구 프로젝트가 몇 년에 한 번씩 등장하곤 한다. 그러나 유니콘이 춤을 추고 나비들이 노래할 그런 환상적인 상황은 절대 현실이 되지는 않는다. 단지 똑같은 컴퓨터의 속도만 빠르게 만들 뿐이며 다들 만족한다. 상품성 측면에서 본다면 꾸준히 조금씩 개선시키는 것이 최선이다”라고 그는 말했다.

이들이 공통적으로 동의하는 현상은 무어의 법칙이 점점 의미를 잃어가고 있다는 것이다. 무어의 법칙이란 같은 가격으로 칩 하나에 심을 수 있는 트랜지스터의 수가 18개월 내지 24개월마다 2배로 늘어나던 것을 말한다. 집적도를 높이기 위해 칩은 더 작아져야 했고 그 결과 뜨거워지기는 하지만 구동 속도가 빨라지면서 성능이 증가했고 덩달아 기대치도 높아졌다. 그러나 오늘날 높아진 기대치는 그대로인 반면, 프로세서 성능 증가는 정체됐다.



성능 증가 정체 그 이후
조지아 공과대학 교수이자 IEEE 컴퓨터학회 전 회장인 톰 콘테(Tom Conte)는 “전력 소모가 핵심 문제”라고 진단했다. 그에 따르면 “제곱 센티미터당 수용할 수 있는 최대치는 150와트이다. 더 높이려면 비상한 냉각 기술이 필요하며, 이는 더 높은 비용으로 이어진다”,

그는 “전력은 주파수와 관련이 있기에 주파수를 높일 수는 없다. 칩이 뜨거워지기 때문이다. 따라서 코어 개수를 늘리고 클럭 속도를 거의 같게 설정하곤 한다. 그러면 컴퓨터에 여러 개의 프로그램이 실행 중인 경우에 속도가 높아진다. 그러나 대부분의 경우 동시에 실행되어야 할 프로그램 수는 기껏해야 몇 개에 불과하다”라고 말했다.

이 방식은 코어가 8개가 되면 한계 효용 단계에 이른다고 린리 그룹(Linley Group)의 애널리스트 린리 그웬냅은 설명했다. 그는 “동시 사용 개수는 대략 8개가 한계점이다. 게다가 코어를 3~4개 이상 사용하는 프로그램은 거의 없다. 코어에서 속도를 얻기에는 벽에 부딪힌 셈이다. 코어 자체도 64비트 정도가 한계다. 인텔 스타일의 코어는 한 번에 약 5개의 명령을 수행할 수 있으며 ARM 코어는 최대 3개까지 가능하지만 5개가 넘으면 한계 효용 체감이 발생한다. 그 이상의 수준에 이르려면 새로운 아키텍처가 필요하다. 결론은 전통적인 소프트웨어에서는 속도 증가가 그다지 크지 않을 것이다”라고 말했다.

콘테에 따르면 사실 90년대에 이미 벽에 부딪혔다. 그는 “트랜지스터는 점점 빨라지고 있었지만 CPU 회로는 점점 느려지고 있었다. 배선 길이가 연산을 지배했기 때문이다. 초기에는 수퍼스칼라(superscalar) 아키텍처(내부 병렬성)을 사용해 그 사실을 숨겼다. 그 결과 속도를 2배 내지 3배 늘릴 수 있었다. 그러다가 전력의 벽에 부딪히는 바람에 그만 접어야 했다”라고 말했다.

패터슨은 “이제 범용 응용프로그램은 더 이상 빠르게 만들 수 있는 방법이 없다. 대책은 도메인 특정 아키텍처다”라고 말했다. 다시 말해, 장치 제조사들은 구체적이고 폭이 좁은 작업을 수행하지만 수행 능력이 일반적인 마이크로프로세서보다는 뛰어난 프로세서들을 추가하게 될 것이라는 전망이다.

이러한 동향은 대표적인 스마트폰 CPU 공급업체 ARM 홀딩스의 주도로 이미 스마트폰 분야에서 한창 진행 중이다. 보통의 스마트폰이 운영체제와 앱을 실행하는 코어를 포함해 10개 내지 20개의 프로세서를 탑재할 수 있을 것으로 ARM의 수석이사 이안 스마이더는 보고 있다.

ARM의 이른바 '빅리틀'(big.LITTLE) 아키텍처다. 이 아키텍처 하에서 프로세서 코어 중 절반(big 코어)은 최대 속도로 전경 앱(foreground apps)을 실행할 수 있고 분기 예측, 비순차적 명령어 처리 등을 위한 여분의 회로가 있다. 소형(LITTLE) 코어는 최대 전력 효율로 배경 앱을 실행한다. 다른 프로세서들은 전력 관리, 센서, 비디오, 오디오, 무선 연결, 터치스크린 관리, 지문 인식 등을 처리하게 된다.

스마이더는 이와 관련해 “성능이 크게 향상되어야만 작업량을 CPU에서 가속기로 이동시키는 비용을 정당화할 수 있다”라며, “그래픽과 비디오에서는 비용이 정당화되었다. 앞으로는 신경 네트워킹이 이러한 솔루션에 적합해 보인다”라고 진단했다.

실제로 신경 네트워킹 프로세서의 인기가 점점 늘어날 것이라는 데에 여러 전문가들이 동의하고 있다. 머신 비전(machine vision), 자연어 인식을 비롯한 여러 형태의 인공지능에 사용되는 머신러닝의 처리 속도가 이들 프로세서를 통해 더욱 빨라질 수 있기 때문이다.

일례로 웨이브 컴퓨팅(Wave Computing)의 최신 프로세서는 1만 6,000개의 코어를 갖고 있다. CTO 크리스 니콜에 따르면 이러한 구조는 순차적 CPU에 데이터를 넣고 빼는 데 필요한 에너지 소모를 피하기 위해 등장했다.

그는 “코어 하나의 결과가 바로 다음 사이클에서 다른 코어의 피연산 함수로 사용될 수 있도록 코어들이 설계되어 있다”라고 설명했다. 이어 “이 개념을 공간 컴퓨팅이라고 하며, 이 과정의 경우 시간을 3차원으로 하는 2차원 그리드로 개념화할 수 있다”라고 덧붙였다.

니콜에 따르면 이를 통해 얻을 수 있는 속도 혜택이 종래의 작업 처리과 비교해 약 600의 가속 계수에 이른다. 올해 말까지 출고될 최종 사용자 버전은 범용 컴퓨터가 아닌 신경 네트워킹 기기로 사용될 예정이다.

패터슨은 “훈련을 거친 신경 네트워크는 더 작은 도메인 특정 프로세서를 사용하는 스마트폰에서 구동 가능하다”라고 설명했다.

이렇듯 전문화된 프로세서의 단점은 자체 도구와 컴파일러를 요구하는 전문화된 소프트웨어를 구동한다는 점이다. UC 버클리의 크르스테 아사노빅 교수는 “소프트웨어의 관점에서 보면 CPU의 확산은 정말 무서울 정도다. 최대한 저항하는 양상이었지만 이제는 다른 방법이 없는 듯 보인다”라고 말했다.

이러한 혼란 상황에 대처하기 위해 전문화된 프로그래밍 프레임워크가 등장했다. 도메인 특정 프로세서(DSP) 설계 허가 업체 카덴스 디자인 시스템(Cadence Design Systems)의 이사 스티브 로디는 다음과 같이 설명했다.

“전문화된 프로그래밍 프레임워크를 이용해 프로그래머들은 플랫폼과 관계 없고 컴퓨터 제조업체들로 하여금 다른 여러 수준의 자원을 적용할 수 있게 해주는 코드를 작성할 수 있다. 칩 제조업체들은 해당 칩에 대한 프레임워크 지원 방식을 결정해야 한다. 고가 제품은 DSP에서 구동되지만 저가 제품에서는 같은 코드가 CPU에서 구동될 수도 있다. 따라서 개발자는 세세한 것까지 모두 몰라도 여러 폰에서 앵그리 버드(Angry Birds) 게임을 작성할 수 있게 된다.”

신경 네트워킹만을 위해 생겨난 프레임워크만 해도 구글(Google)의 텐서플로우(TensorFlow), 마이크로소프트(Microsoft) 인지 툴킷(CNTK), 아마존(Amazon)의 엠엑스넷(MXNet) 등 여러 가지가 있다고 패터슨은 소개했다.

그는 “이들은 하드웨어도 겨냥하고 있으며 설계자가 하드웨어에 소프트웨어를 구동하기 쉽게 해준다”라고 덧붙였다.

직접 언어 실행 ‘현재까지는 회의적’
만약 프로세서가 자바(Java)와 같은 고급 언어의 명령을 직접 실행할 수 있다면 프레임워크가 필요 없을 것이고 소프트웨어의 구동 속도 또한 빨라질 수 있다. 그러나 이 개념은 아직까지 현실성이 없다는 평가다.

털리는 “가끔 시도는 되고 있지만 항상 처참한 실패로 끝나곤 했다. 처음 50%나 75%까지는 매우 순조롭게 진행되기 때문에 투자금 유치도 늘어나고 금요일마다 맥주 파티가 벌어진다. 그러다가 마지막 25%에서는 큰 난관에 부딪힌다. 결과를 보면 속도 증가가 그리 크지 않다. 결국 모두 실패로 돌아갔다”라고 말했다.
 

X