기본 콘텐츠로 건너뛰기

러시아 토종 CPU - 엘브루스 4C 출시



 구소련은 IT 부분에서는 미국의 상대가 될 수 없었습니다. 실리콘 밸리를 중심으로 급속도로 발전하는 미국의 IT 산업 경쟁력은 지금도 막강해서 세계 주요 IT 기업 가운데 상당수가 미국 기업(인텔, IBM, 퀄컴, 애플, HP, Dell, 오라클, 시스코, 구글, 마이크로소프트, 페이스북 등등) 일 정도입니다. 한마디로 전세계 IT 인프라와 컨텐츠는 미국 기업들이 주도하고 있다는 것이죠. 

 이런 상황에서 구소련이 할 수 있었던 가장 좋은 대안은 역설계 기술을 이용해서 미국의 IT 기술을 모방하는 것이었습니다. 가장 간단한 해결책으로 쉽게 말해 짝퉁을 만드는 것이었죠. 구소련의 인텔 짝퉁 CPU들은 그렇게 탄생했습니다. ( http://blog.naver.com/jjy0501/100099437783 참조) 

 그런데 사실 이것 말고도 구소련은 자체적인 컴퓨터를 제작한 바 있습니다. 1973년 등장했던 엘브루스(Elbrus, Эльбрус)가 그것으로 인텔 짝퉁 CPU와 달리 메인프레임 컴퓨터 비슷한 방식을 목표로 설계되었습니다. 이런 컴퓨터들은 구소련의 우주 프로그램이나 핵무기 연구, 방위 산업 연구 등에 활용되었습니다. 

 구소련 붕괴 이후 이런 자체 개발 CPU들은 미제 CPU 대비 허접한 성능으로 인해 사실상 존립 자체가 매우 어려운 상황이었지만, 러시아가 소련 해체 이후 혼란한 상황에서 다시 일어선 것과 비슷하게 엘브루스 역시 다시 살아났습니다. 다만 살아남기 위해 이 러시아제 CPU는 서방, 특히 미국의 기술을 받아들였습니다. 

 1992년 설립된 MCST (Moscow Center of SPARC Technologies/закрытое акционерное общество (ЗАО) «МЦСТ») 사는 이름처럼 지금은 오라클에 인수된 선(Sun)의 스팍(SPARC) CPU의 구조를 가져왔는데, 이는 아키텍처가 오픈되어 있기 때문입니다.

 하지만 이들은 SPARC 계열 CPU를 계속해서 개발하는 대신 매우 독특한 발전 방향을 잡았습니다. 그것은 x86 에 호환되는 VLIW (Very Long Instruction Word) 아키텍처입니다. 물론 x86에 호환되는 윈도우 및 리눅스 OS를 구동하기 위해서 어쩔 수 없는 선택이었겠죠. 

 이런 방향을 잡은 회사가 사실 하나 더 있는데 2009년에 파산한 트랜스메타(Transmeta)입니다. 이 회사의 크루소 및 에피시온 CPU들은 x86 호환 프로세서로 성능은 낮았지만 아무튼 저전력 시장에서 그럭저럭 명맥을 유지하다 결국 인텔이 저전력 프로세서로 이 시장에 뛰어들자 파산했습니다. 물론 VLIW 기반의 호환 프로세서로써 성능이 너무 낮았던 것도 그런 운명을 맞이하게 된 주요 이유였죠.  



(엘브루스 4C CPU의 사진. ) 


(엘브루스 CPU의 호환 구조. )
 엘브루스 2000(Elbrus 2000)이 이런 구조를 가진 첫 CPU로 2005년에 공개된 후 2008년부터 양산에 들어갔습니다. 이 CPU는 MCST가 설계와 판매를 담당하고 제조는 대만의 TSMC가 맡았습니다. 130nm 공정으로 제조되었기 때문에 인텔이나 AMD의 최신 CPU와는 처음부터 경쟁상대라고 보기는 어려웠고 러시아 내의 일부 수요에 대응하기 위한 것이었습니다.
 이후 MCST는 2011년 2 코어 엘브루스 2000 계열 CPU를 탑재한 Elbrus-2S+를 내놓았습니다. 역시 제조는 TSMC에서 맡았는데 90nm 공정으로 제조되었습니다. 이 회사의 미세 공정 설계 능력이 일천하다보니 공정 전환이 답답하게 느렸던 것이죠. 그리고 2014년에 와서야 Elbrus-4S라는 4 코어 CPU를 65nm 공정으로 선보였는데, 실제 양산형 버전으로 보이는 Elbrus-4C가 이제 출시되었다는 소식입니다.

(Elburus 2000 계열 CPU들. 출처 : 위키)   

 엘브루스 4S/C 는 쿼드 코어 엘브루스 2000 계열 CPU 를 가지고 있는데, 트랜지스터 집적도는 엄청나게 커서 무려 9억 8600만개의 트랜지스터를 가지고 있다고 합니다. 트랜지스터 집적도로만 따지면 쿼드 코어 하스웰의 CPU 부분보다 더 많은 수준입니다. L2 캐쉬가 8MB로 보이는데 (코어당 8MB는 사실 가능하지 않을 것 같고) 아마도 x86 호환 VLIW 구조로 인해서 CPU 의 다이 사이즈가 아주 큰 것이 원인으로 보입니다. 다이 사이즈는 무려 380㎟ 에 달합니다.  

 클럭은 800MHz 한 가지 뿐인데, 사실 클럭은 매우 낮지만 VLIW 구조  상 한 번 사이클에 처리할 수 있는 명령어수는 더 많습니다. 즉 하스웰이 클럭 사이클 당 8 개의 명령어를 처리하면 엘브루스는 23개를 처리할 수 있는 구조입니다. 하지만 이는 최적의 상태를 감안한 것으로 실제 성능은 이보다 떨어집니다. 다만 낮은 클럭 대비 성능은 나쁘지 않은 수준이라고 할 수 있습니다.

 만약 이 엘브루스에 최적화된 VLIW 네이티브 코드를 처리한다면 800MHz의 낮은 클럭에도 불구하고 50GFLOPS라는 생각보다 양호한 성능을 가질 수 있다고 합니다. (배정밀도는 그 절반 성능) 문제는 실제로는 이런 코드는 거의 사용하지 않고 x86 호환 코드만 사용하고 있다는 것이겠죠. 참고로 Core i7-4770K는 AVX2에 최적화된 코드를 사용할 때 176GFLOPS의 연산 능력을 가지고 있습니다.

(엘브루스의 연산 구조)


(엘브루스의 연산 능력)
 엘브루스 2C의 경우 아톰 D510 (듀얼 코어 1.66 GHz)와 견줄만한 연산 능력을 가지고 있다고 하지만, 실제적으로 봤을 때는 앞서 언급한 것 처럼 x86 호환 OS에서 구동할 때는 성능상의 손해를 감수해야 합니다.
 여러 모로 봤을 때 성능은 크게 기대하기 어려운 x86 호환 CPU라고 할 수 있을 것입니다. 그래도 2014년 우크라이나 사태 이후 서방측에 의존하지 않는 러시아 토종 시스템에 대한 관심이 높아진 상태라서 엘브루스의 앞날이 꼭 어둡다고만 하기는 어려울 것입니다.

(엘브루스 4C는 온보드 방식으로 보드에 붙어 있음)    


(엘브루스 4C 를 사용한 PC인 Elbrus ARM-401 )
 엘브루스 4C를 지원할 칩셋도 역시 MCST 자체 제작인데 무려 130 nm 공정을 사용한 것으로 SATA II, USB 2.0 등을 지원할 수 있습니다. 그리고 현대적인 그래픽 카드를 지원할 수 있는 PCIe 슬롯도 갖추고 있습니다. 여기에 라데온 HD 6000 계열 그래픽 카드를 장착할 수 있다고 하네요.
 엽기적이긴 하지만 엘브루스 4C에 라데온 HD 6970을 장착하고 2004년에 출시된 둠 3의 오리지널 버전을 구동한 영상도 있습니다. 1080p 에서 20 프레임 정도 나오는데 같은 그래픽 카드를 Core i7 920 에 붙이면 크라이시스도 30프레임은 넘게 나오는 점을 감안할 때 이 CPU 의 낮은 성능으로 인해 라데온이 제대로 힘을 못쓰고  있다는 것을 알 수 있습니다. (여담이지만 제가 2004년에 펜티엄 4 2.8GHz에 지포스 6800으로 구동했을 때도 1600X1200에서 이 정도 성능은 나왔던 것 같은데 말이죠)  

(동영상)
 아무튼 이렇게 저성능의 x86 호환 CPU지만 누군가 필요로 하기 때문에 시장에 나오는 것이겠죠. 서방측에 대한 의존을 줄이기를 희망하는 러시아는 이미 ARM 기반의 CPU 도 같이 개발 중입니다. 어떤 엽기적인 물건이 나올지는 알 수 없지만, 아무튼 시대가 낳은 독특한 산물임에 틀림없어 보입니다.
 한 가지 더 흥미로운 사실은 MCST가 더 고성능 버전의 차기작도 준비 중이라는 것입니다. 28nm 공정으로 나올 8 코어 CPU로 몇 년 후에 등장할 예정입니다. 물론 이 시기에는 이미 인텔 CPU들은 7nm 공정으로 이전 중일 것입니다. 과연 미래는 어떻게 될지 흥미롭네요.   

  

 참고 








댓글

이 블로그의 인기 게시물

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

 사실 저도 통계 전문가가 아니기 때문에 이런 주제로 글을 쓰기가 다소 애매하지만, 그래도 누군가에게 도움이 될 수 있다고 생각해서 글을 올려봅니다. 통계학, 특히 수학적인 의미에서의 통계학을 공부하게 되는 계기는 사람마다 다르긴 하겠지만, 아마도 비교적 흔하고 난감한 경우는 논문을 써야 하는 경우일 것입니다. 오늘날의 학문적 연구는 집단간 혹은 방법간의 차이가 있다는 것을 객관적으로 보여줘야 하는데, 그려면 불가피하게 통계적인 방법을 쓸 수 밖에 없게 됩니다. 이런 이유로 분야와 주제에 따라서는 아닌 경우도 있겠지만, 상당수 논문에서는 통계학이 들어가게 됩니다.   문제는 데이터를 처리하고 분석하는 방법을 익히는 데도 상당한 시간과 노력이 필요하다는 점입니다. 물론 대부분의 학과에서 통계 수업이 들어가기는 하지만, 그것만으로는 충분하지 않은 경우가 많습니다. 대학 학부 과정에서는 대부분 논문 제출이 필요없거나 필요하다고 해도 그렇게 높은 수준을 요구하지 않지만, 대학원 이상 과정에서는 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 스튜디오는 실제로 업데이트가 이뤄지기 때문에 구버전을 지워줄 필요는

R 패키지 설치 및 업데이트 오류 (1)

 R 패키지를 설치하거나 업데이트 하다보면 여러 가지 문제가 생기는 경우들이 있습니다. 이 경우 아예 R을 재설치하는 것도 방법이지만, 어떤 경우에는 이렇게해도 해결이 안되고 계속해서 사용자는 괴롭히는 경우도 있습니다. 이런 경우 중 하나를 소개합니다.  새로운 패키지를 설치, 혹은 업데이트 하는 과정에서 같이 설치하는 패키지 중 하나가 설치가 되지 않는다는 메세지가 계속 나왔는데, 사실은 백신 프로그램 때문이었던 경우입니다.   dplyr 패키지를 업데이트 하려고 했는데, 제대로 되지 않아 다시 설치를 진행했습니다. 그런데 일부 패키지가 제대로 설치되지 않는다는 메세지가 나왔습니다.  > install.packages("dplyr") Error in install.packages : Updating loaded packages > install.packages("dplyr") Installing package into ‘C:/Users/jjy05_000/Documents/R/win-library/3.4’ (as ‘lib’ is unspecified) also installing the dependencies ‘bindr’, ‘bindrcpp’, ‘Rcpp’, ‘rlang’, ‘plogr’ trying URL ' https://cran.rstudio.com/bin/windows/contrib/3.4/bindr_0.1.1.zip ' Content type 'application/zip' length 15285 bytes (14 KB) downloaded 14 KB trying URL ' https://cran.rstudio.com/bin/windows/contrib/3.4/bindrcpp_0.2.2.zip ' Content type 'application/zip' length 620344 b