2020년 2월 5일 수요일

라즈베리파이에서 Subsonic 설치

라즈베리파이를 오디오 스트리밍 서버로 사용하기 위해서는 서버에 Subsonic 같은 패키지를 설치하고 휴대폰이나 노트북에는 클라이언트를 설치하여 사용한다. 저는 아이폰에 iSub 을 사용하고 있다.

Subsonic을 설치하는 방법은 단순하고 별 어려움이 없다. 아래 과정을 하나하나 실행하면 된다.

설치 방법

설치된 패키지들이 새로운 버전이 있는지 확인하고 최신 버전으로 업그레이드해준다.
sudo apt-get update
sudo apt-get upgrade



자바를 설치한다.
sudo apt-get install openjdk-8-jre



Subsonic 설치파일을 받는다. 여기가 공식 사이트이다. 설치과정 및 설정방법이 설명되어 있다. 현재 최신 버전은 6.1.6이지만 혹시 더 최신 버전이 있는지는 다음에서 확인할 수 있다. 우리가 사용할 버전은 Debian/Ubuntu 버전이다.  만약 더 최신 버전이 있다면 아래 링크를 수정하여 실행한다.
sudo wget -O http://www.subsonic.org/pages/download2.jsp?target=subsonic-6.1.6.deb



받은 패키지를 설치한다.
sudo dpkg -i subsonic-6.1.6.deb


이후 사용자를 생성하고 subsonic 환경설정파일에서 root 대신 이 사용자로 변경한다.

sudo adduser subsonic audio



SUBSONIC_USER=root 에서 SUBSONIC_USER=subsonic 으로 변경
sudo nano /etc/default/subsonic



서비스를 재시작해준다.
sudo service subsonic restart

그런 후에 웹에서 http://localhost:4040 를 열어보면 아래와 같은 초기 설정화면이 보이면 일단 설치는 되었다.





이후 admin 계정의 패스워드를 수정하고, 설정의 미디어 폴더 메뉴에서 미디어 폴더를 원하는 곳으로 지정하고 "Scan Media Folders Now"를 한다. 저같은 경우에는 마운트되어있는 외장 SSD로 지정하였다. 웹에 화일들이 잘 보이면 곡들을 선택하여 들어보자.

오류 및 해결책

현재 한가지 문제는 위 설치방법대로 하면 flac파일들이 재생이 안된다. 아마도 설치한 패키지가 Debian/Ubuntu 버전이어서 라즈베리파이에는 잘 맞이 않는것 같다.

로그화일을 보면 Syntax error가 뜬다. 이 로그는 기본으로 사용하는 ffmpeg 이 안되서 lame으로 바꿔서 lame에서 문제가 있는것 같지만 ffmpeg도 동일하다.
cat /var/subsonic/subsonic.log

[2020-02-04 22:27:00,825] INFO InputStreamReaderThread - (/var/subsonic/transcode/lame) /var/subsonic/transcode/lame: 1: /var/subsonic/transcode/lame: Syntax error: "(" unexpected

따라서 라즈베리용으로 다시 설치하자.
sudo apt-get install ffmpeg
sudo rm /var/subsonic/transcode/ffmpeg
sudo ln -s /usr/bin/ffmpeg /var/subsonic/transcode/ffmpeg

sudo service subsonic restart

이제는 문제없이 실행이 될 것이다!


참조
http://www.subsonic.org/pages/installation.jsp#debian
http://pmdzsite.online.fr/index.php?article17/subsonic-on-raspberry-pi-3

2014년 4월 6일 일요일

Disruptive Technology, 파괴적인 기술?

요즘 들어 Disruptive Technology라는 말을 많이 듣게 됩니다. 파괴적인 기술? 저는 처음에 이 말을 듣고 "아니 기술이 어떻기에 파괴적이라는 거야" 하고 의아해했었습니다. 위키백과 사전에 의하면 "와해성 기술"이라고 나옵니다. 그리고 이어서 "업계를 완전히 재편성하고 시장을 대부분 점유하게 될 신제품이나 서비스"라고 설명합니다. 어떤 시장에서 기존 업체를 와해시키고 완전히 대체할 만한 강한 파괴력을 지닌 기술을 의미합니다. 정말로 이런 Disruptive technology를 통해서 많은 업체가 사라지거나 어려움을 겪게 되는 것을 요즘 들어 자주 볼 수 있습니다.

대표적인 예를 들면 여러분들이 가장 먼저 떠올릴 애플의 스마트폰 기술을 들 수 있겠습니다. 이로 말미암아 전통적인 몇몇 휴대폰 업체들의 이름이 사라지게 되었고 다른 많은 업체가 어려움을 겪고 있죠. 휴대전화 시장뿐만 아니라 PC라든가 엔터프라이즈등 다른 시장 더 나아가 우리들의 삶까지도 영향을 끼친 기술입니다. 자동차 업계에서도 이런 기술이 나오고 있죠. 테슬라 모터스의 테슬라 자동차가 자동차 업계에서의 Disruptive Technology를 주도하고 있다고 생각합니다. 사실 1800년 후반 자동차가 처음 등장한 이후 자동차는 많은 기술적인 발전을 했지만 테슬라가 엄청난 파괴력을 지닌 변화의 바람을 일으키고 있습니다.

요즘 기업  IT환경에서 Disruptive 기술을 뽑으라고 하면 소프트웨어 정의 인프라구조(Software Defined Infrastructure, SDI)라고 하겠습니다. SDI는 소프트웨어 정의 서버, 소프트웨어 정의 네트워크, 소프트웨어 정의 스토리지 등등을 아우르는 커다란 말입니다. 모든 인프라를 소프트웨어로 정의하겠다는 것입니다. 모든 것이 하드웨어적으로 고정된 것이 아니라 소프트웨어로 원하는 대로 쉽게 정하고 바꿀 수 있다는 것입니다. 사람이 현장에서 직접 손댈 필요 없습니다. 이 기술이 Disruptive이라고 하는 것은 관련 업계의 지도가 바뀔 수 있는 파괴력을 지닌 커다란 흐름이기 때문입니다. 이 기술로 인해 앞으로 몇 년이 지나면 전통적인 업체가 사라지거나 커다란 어려움을 겪을 수 있고, 또는 새롭게 부상하는 기업이 생길 것입니다.

2014년 3월 21일 금요일

중국의 엑사급 슈퍼컴퓨터 계획

어제는 일본의 국가 슈퍼컴퓨터 계획에 대해서 포스팅을 하였습니다. 오늘은 중국입니다. 중국과 일본은 다 대한민국과 치열한 경쟁을 하고 있는 인접 국가 들이죠. 사실 이 분야에서 치열한 경쟁을 하고 있는 지는 나중에 좀 더 알아보도록 하겠습니다.

중국은 이미 세계 최고 성능의 슈퍼컴퓨터를 보유하고 있는 나라입니다. Tianhe-2는 33.8 페타 플롭스(PFlops)의 성능을 자랑하고 있습니다. 사용된 프로세서가 3만 2천개, 보조 프로세서가 4만 8천개, 총 8만개에 달합니다. 여기에 독자적인 네트워크용 실리콘 및 OS를 사용하고 있습니다. 이런 중국이 엑사급 슈퍼컴을 만들겠다는 계획을 가지고 있다는 것은 당연하게 여겨지는 사실입니다. 2009년 Thianhe-1을 통해 중국이 슈퍼컴에서 새롭게 두각을 나타내기 시작해서 Thianhe-1A, Tihanhe-2까지 왔습니다. 이 이후 중국은 2015년 이내에 지금의 성능보다 3배 뛰어난 100PFs 시스템을 내 놓겠다는 강한 의지를 보이고 있습니다. 그동안 해 왔던것을 보면 어려운 일도 아닌것 같습니다.
중국 슈퍼컴 역사 및 계획

그런데 자료를 잘 살펴보면 100PFs의 성능은 Tianhe-2의 시스템 업그레이드를 통해서 뿐만 아니라 Shenwei-x를 통해서도 이루려고 하는 듯합니다. Shenwei는 중국 자체 기술 기반의 프로세서로서 벌써 3대째 제품입니다. 좀 더 자세한 정보는 여기를 클릭하시면 얻으실 수 있습니다. 제 생각으로는 중국이 반도체 공정 기술만 가지고 있었으면 지금보다도 더 뛰어난 제품을 더 일찍 선보이지 않았을까 생각합니다. 현재의 제품이 65나노 공정을 사용하고 있으니 14nm기반과는 비교도 못되죠. 그렇지만 과거 10년동안 꾸준히 투자를 해 왔다는 사실이 믿기지 어려울 정도로 놀라울 따름입니다.
중국 100 PFs 슈퍼컴 계획

엑사급 슈퍼컴을 만들겠다는 중국의 계획은 이 뿐만이 아닙니다. 엑사급 슈퍼컴을 위한 실험적인 시스템을 2016까지 진행을 한다고 합니다. 지금보다 10배 정도 에너지 효율성이 뛰어난 시스템을 실험적으로 만들고 본격적인 엑사급은 2018년이나 2019년으로 목표를 삼지 않을까 생각합니다. 중국의 프로젝트는 2년 주기로 진행되는 것 같아 보입니다. 엄청나게 빠르게 진행하고 있는 것이죠.
중국의 엑사급 슈퍼컴은 노드당 10 테라 플럽스에 광 스위치 그리고 와트 당 50GFlops의 에너지 효율성으로 생각을 하고 있는 것 같습니다. 지금 최신의 서버 프로세서랑 대략적으로 비교를 해보면 대략 20배 이상의 성능과 에너지 효율성이 향상 되어야만 될 것 같습니다. 지금과 다른 새로운 개념의 Quantum 컴퓨팅이나 광 컴퓨팅도 생각을 하고 있는 듯합니다.
일본, 중국 그리고 중국을 겨냥하고 있는 인도, 전통적으로 많은 투자를 해 오고 있는 유럽 국가들중 한국은 어느 정도의 위치에 있을까요?

참조

일본의 엑사급 HPC 슈퍼컴 개발 계획

슈퍼 컴퓨터에 관심이 있는 분들이나 이 업계에 종사하시는 분들이라면 엑사(Exa)급에 해당하는 슈퍼컴의 도래에 대해서 많이 들 말씀도 나누고 어떻게 될까 예측도 합니다. 제가 작년에 썼던 글에서 저도 저 나름대로 2019년 경에 나올 것이라고 예측을 했었습니다. "빅터의 IT 이야기: 언제쯤 엑사급 슈퍼컴퓨터(Exascale)가 출현할까?"를 한번 보시기 바랍니다. 주요 화제가 된다는 것은 그 만큼 많은 기술적인 장벽이 있고 이루기가 어렵기 때문이죠. 인텔도 2019년 이전에 엑사급 슈퍼컴을 실현 하기 위하여 많은 기술적인 장벽들을 해결하고 제품을 출시하기 위해 노력을 하고 있는데, 어제 일본의 엑사급 시스템에 대한 기사가 HPCwire에 실렸습니다. 일본에서는 독자 기술로 K 슈퍼컴을 2011년 6월에 발표해서 모든 사람들을 깜짝 놀래키기도 했었는데 이 후속 제품에 대한 좀 더 자세한 내용입니다.

K 컴퓨터는 2011년 6월에 8.1 페타 플럽스(PFlops)의 성능과 93.0%의 효율성으로 1위를 차지한 슈퍼컴퓨터이죠. 이후 6개월 후 10.5페타 성능과 93.2%의 놀라운 성능으로 세계 역사상 가장 처음으로 10 PFs의 벽을 넘은 슈퍼컴퓨터로 기록 되었습니다. 이 K 슈퍼컴은 일본 정부의 후원으로 SPARC 아키텍처를 사용하여 개발한 CPU에 Tofu라고 하는 6차원 토러스(Torus) 인터커넥트를 사용한 일본 독자적인 제품입니다.

일본은 이 후에도 지속적인 투자를 하여 또한 엑사급의 슈퍼컴을 세계 최초로 내 놓겠다고 합니다. 무려 13.8억불 ,한국 돈으로는 약 1조 5천억원을 투자하여 2019년에 설치 2020년에 가동을 한다고 합니다. 이번 한국의 기상청의 슈퍼컴 도입 예산 약 500억원과 비교하면 30배가 넘는 금액입니다. 정말 대단하죠. 후지쯔, 히다찌 그리고 NEC가 각 각 제품 계발 및 생산을 한다고 합니다. 아래 그림을 보면 일본의 슈퍼컴퓨터에 대한 투자 및 비젼을 볼 수 있습니다. 엑사급 컴퓨터를 만든 후에 대학교 및 국가 연구소, 산업계에 확산을 시킨다는 계획입니다. 대국이긴 대국입니다.
일본 HPC 슈퍼컴 개발 계획
출처: HPCwire

계획하고 있는 다음 제품의 로드맵을 살펴보면 대용량 이기종 시스템으로 가는 것 같습니다. N-body나 분자 동역학, 스텐실 애플리케이션등과 같이 계산 집중적인 앱들을 위해 가속기를 새롭게 만든다고 합니다. 허수아비 아키텍처(Straw man architecture)라고 합니다. 왜 허수아비라고 하는지는 잘 모르겠네요. "extreme SIMD 아키텍처"를 이용하여 컴퓨팅 계산 성능을 높이고 이 컴퓨팅 코어들과 내장된 메모리와 네트워크 컨트롤러가 서로 밀접하게 동작을 할 것이라고 합니다. 메모리는 칩당 16-32GB의 HBM(high bandwidth memory)이 내장되며 3차원으로 적층 하고 1 TB/s의 높은 대역폭으로 제공한다고 합니다. 코어수는 무려 2048개에서 4096개. 가능한 프로그래밍 모델을 보면 C 확장이나 OpenACC, OpenCL 기반을 살펴보고 있으며 CUDA의 언급은 없었다고 합니다. 아래 그림은 가속기에 대한 구조 및 설명 장표 입니다.
PACS-G 가속기 구조

2014년 3월 14일 금요일

제온 파이(Xeon Phi)의 의미. 제온 + 파이 ?

제온 파이의 의미?

인텔은 아주 처음으로 내 놓은 고성능, 고도로 병렬화된 컴퓨팅용 프로세서의 이름을 인텔® 제온 파이™(Intel® Xeon Phi™)라고 지었습니다. 왜 제온 파이라고 지었을까요? 제온 파이는 '제온'과 파이의 합성어일까요? 또한 그 뜻은 무엇인지 한번 유추해 보도록 하겠습니다.

우선 브랜드 입장에서 공식 이름은 인텔® 제온 파이™ 보조 프로세서(또는 코프로세서)입니다. 인텔이라는 회사 이름과 "제온 파이"라고 하는 하나의 상표(트레이드 마크)와 함께 제품이름이 되었습니다. 제온 파이가 x86기반으로 테크니컬 컴퓨팅으로 확장을 했으니 기존 서버 및 고성능 컴퓨팅에서 잘 알려진 제온 브랜드를 쓰는 것은 당연한 일일 것입니다. 그런데 도대체 파이라는 말은 무엇이고 어떤 의미일까요?

우선 위키피디아에서 Phi가 어떤 뜻을 가지고 있는지 한번 찾아봅시다. Phi는 그리스 문자의 21번째 글자로 대문자 Φ, 소문자 φ, 수학 기호 ϕ로 쓰고, 읽기로는 파이 또는 피라 읽는다고 되어 있습니다. 여러가지 의미가 있는데 대표적으로 수학에서 황금비로 사용되고 있으며 자연 및 과학, 건축 등에서 사용되는 용어라고 합니다. 역시 위키피디아에 의하면 황금비는 아래와 같이 정의한다고 합니다.
"황금비(黃金比) 또는 황금분할(黃金分割)은 주어진 길이를 가장 이상적으로 둘로 나누는 비로, 근사값이 약 1.618인 무리수이다. 기하학적으로 황금분할은 이미 유클리드(원론 3, 141)가 정의한 이래 예술분야, 특히 건축, 미술 등에서 즐겨 응용되었다. 황금비는 고대 그리스인에 의하여 발견되었고, 이후 유럽에서 가장 조화적이며 아름다운 비례(프로포션)로 간주되었다. ~~고대 그리스로부터 건축물(이를테면 파르테논 신전)을 아름답게 짓기 위해 황금비가 많이 사용되고 있으며, 명함, 담배갑 , 신용카드 등에서도 볼 수 있다. HDTV 나 컴퓨터의 와이드 모니터 등에는 16:9, 15:9(5:3), 16:10(8:5) 등의 비율이 사용되고 있는데 이것은 황금비의 근사값이라 할 수 있다. 또한 피라미드를 지을 때에도 황금비가 사용되었다.~~"
위 정의에서 굵게 강조한 단어들을 조합해 보면 대략적으로 왜 파이라는 이름을 선정했는지 짐작이 갑니다. 인텔이 목표로 하는 제온 파이의 분야는 계산을 많이 사용하는 곳인데, 파이라는 이름이 인텔이 목표로 하는 분야에서 가장 이상적으로 조화적이며 아름답게 사용 되었기에 이 보다 더 좋은 이름은 없을 것 같다는 생각입니다.
황금비로 설계되었다는 파르테논 신전

2012년 11월에 처음 제온 파이 보조 프로세서를 발표하였습니다. 인텔의 희망대로 과연 성공하는 히트 상품이 될 지 한번 지켜보도록 합시다.

2013년 7월 28일 일요일

암달의 법칙과 구스타프슨의 법칙 비교

이번 글에서는 지난 글(슈퍼컴퓨터에서의 무어의 법칙 - 암달의 법칙, 구스타프슨의 법칙)에 이어 암달의 법칙과 구스타프슨의 법칙을 애미메이션 영화에 적용하여 설명을 하겠습니다. 이 예를 통해서 어느 정도 이해가 더 쉽게 되길 바랍니다.

쉬렉과 같은 애니메이션 영화나 아니면 요즘 개봉되고 있는 "Mr. 고"같은 컴퓨터 그래픽이 들어가는 영화는 각종 특수 효과들을 컴퓨터를 이용하여 구현을 합니다. 이때 특수효과들을 더 실제와 가깝게 하기 위해서는 많은 컴퓨팅 시간이 필요합니다. 또한 렌더링 작업도 많은 시간이 걸리게 됩니다. 복잡도에 따라 걸리는 시간은 다르겠지만 서버 한대로 수시간이 필요하다고 합니다. 여기서 계산을 간단히 하기 위해서 프로세서의 코어 하나가 필름 한장을 처리하는데 100시간이 걸리다고 합시다. 즉, 한 화면을 우리가 눈으로 볼 수 있는 형태로 바꾸는데 싱글 코어로는 4일이 넘게 걸리는 것이죠. 당연히 이 시간을 줄여야겠죠. 더 최신의 프로세서를 사용한다거나 코어수가 많은 프로세서를 사용하려 할 것입니다. 이때 코어수가 10개인 프로세서 2개가 장착되는 서버로 계산을 한다고 하면 시간이 얼마가 걸릴까 궁금하겠죠. 이럴때 적용할 수 있는 것이 바로 암달의 법칙입니다.

S(N) = 1/((1-P) + P/N)

S(N), 바로 성능향상은 전체 프로그램중 병렬화가 차지하는 부분과 병렬화를 담당하는 시스템의 수(N)의 관계입니다. N이 증가하면서 생기는 오버해드를 무시하고 병렬화 비중이 95%라고 하면 코어수 하나에서 실행했을 때 100시간 걸리는 것이 10개 코어 프로세서 2개를 사용하면 대략 9.7시간이 걸릴 것으로 예상되고, 이때 최대 속도 향상은 10.2배입니다. 코어수는 20배 증가했는데 속도는 10.2배밖에 향상이 되지 않습니다.

그런데 영화를 제작하는데 있어서 필름 한두장만 컴퓨터로 만드는 것은 아닙니다. 상연시간이 2시간이고 초당 프레임수가 24인 영화를 만든다면 총 17만 2천8백장의 화면을 만들어야 합니다. 코어수가 20인 위 서버로 계산을 한다면 무려 4600년이나 되는 엄청난 시간이 걸린다는 계산이 나옵니다. 그럼 이렇게 엄청난 데이터 처리를 어떻게 할까요? 영화 만드는 것을 포기하라구요?  방법이 있죠. 바로 서버수를 늘리면 되는 것입니다. 서버 한대에서 처리할 것이 아니라 서버 1000대에서 처리하면 4.6년으로 줄게 되고 2000대로 계산하면 2.3년이면 되죠. 약간 다른 관점으로 보면 서버 한대로 9.7시간 동안 1 화면을 렌더링 할 수 있었다면 서버 1000대로 동일한 9.7시간동안 거의 1000화면 처리를 할 수 있게 됩니다. 이때 바로 적용할 수 있는 것이 구스타프슨의 법칙입니다. 계산 과학에서 커다란 문제는 병렬화를 효과적으로 하여 처리할 수 있다는 개념이죠. 암달의 법칙인 병렬화 부분에 성능향상이 제한된다는 것에 사로잡히지 말라는 것입니다. 작업을 한대의 시스템에서 처리할 수 있는 양만큼 나눈후 시스템 수를 늘리라는 것이다. 컴퓨터의 수에 따라 성능 향상은 비례한다라는 것입니다. 확장성의 법칙입니다. 바로 클러스터링을 이용한 슈퍼컴퓨터의 기본 개념이 되었고 구글이나 네이버, 페이스북등 거의 모든 인터넷 포털 업체들이 수천대의 서버에서 수만대의 서버를 운용하는 이유이기도 합니다.

구스타프슨의 법칙 수식은 아래와 같습니다.

S(P) = a + P(1-a) = P - a x (P-1)

성능향상은 프로세서수 P에 비례하며 기울기는 (1-a)가 됩니다(a는 병렬화 할 수 없는 부분). 암달의 법칙에서는 성능향상이 프로세서수가 아무리 증가해도 특정값으로 제한이 되는데 구스타프슨의 법칙에서는 비례하죠. 바로 관점의 차이가 결과도 다르게 나오는 것입니다. 그렇다고 어느 한 식이 잘못됐다는 것은 아닙니다.

지난 관련 글

2013년 7월 24일 수요일

슈퍼컴퓨터에서의 무어의 법칙 - 암달의 법칙, 구스타프슨의 법칙

고성능 컴퓨팅(HPC, High Performance Computing) 또는 슈퍼컴퓨터의 세계에서는 암달의 법칙이나 구스타프슨의 법칙은 반도체에서 무어의 법칙만큼이나 잘 알려진 법칙입니다. 이 두 법칙은 컴퓨팅 자원이 많아진다면 그 성능은 어떻게 달라질까에 대한 이론적 설명을 하고 있습니다. 이번 글에서는 이 두 법칙이 무엇이며 고성능 컴퓨팅에서 의미하는 바는 무엇인지 알아보도록 하겠습니다.

우선 이 두가지 법칙은 무었인가요? 암달의 법칙은 병렬 컴퓨터 또는 고성능 클러스터링 컴퓨터에서 성능 향상은 순차적인 부분이 전체의 프로그램에서 차지하는 비율에 제한된다라는 것입니다. 즉, 아무리 많은 컴퓨팅 자원이 있더라도 순차적인 부분이 차지하는 비율에 따라 그 성능 효과는 다르다라는 것입니다. 예를 들면, 아래그래프를 보면 프로그램의 50%만이 병렬화 할 수 있는 부분이라면 이론적인 성능 향상은 아무리 많은 프로세서를 사용하더라도 최대 2배로 제한됩니다. 이에 반해 구스타프슨의 법칙은 암달의 법칙과는 조금 다른 시각에서 바라본 법칙으로 작은 컴퓨터로 처리하기 어려운 대용량 데이터 처리는 효과적으로 병렬화하여 처리 할 수 있다는 법칙입니다. 두 법칙의 차이는 관점의 차이로서 암달의 법칙은 여러 사람(컴퓨터)이 일을 함으로써 일 처리 시간을 단축할 수 있다는 시간적인 시각에서 최대 성능향상을 예측할 수 있는 방법을 제시했다면 구스타프슨의 법칙은 여러 사람(컴퓨터)이 일을 함으로써 더 많은 일처리를 할 수 있다는 처리양적인 관점에서 바라본 것입니다. 예를 들면 한사람이 한나절 걸려서 처리 할 수 있는 일을 똑같은 처리능력을 가진 두 사람이 똑 같이 나눠서 일을 하면 반나절이면 끝낼 수 있다라고 보는 것이 암달의 법칙이라면, 구스타프슨의 법칙은 한사람이 하루에 하던 일을 두 사람이 동일한 하루 동안에 하면 두배의 일을 할 수 있다라고 보는 것입니다. 이 개념이 클러스터링을 이용한 고성능 컴퓨팅의 기본 개념적 바탕이 되었습니다.

아래 도표를 보면 암달의 법칙이나 구스타프슨의 법칙은 프로세서의 수가 많아지면 성능향상은 이루어 지게 됩니다. 암달의 법칙 도표를 보면 병렬화 부분이 차지하는 비율에 따라 성능향상을 이룰 수 있는 폭은 커지지만 언젠가는 성능향상이 한계에 닿게 됩니다. 특정 이상의 자원 추가는 무의미 하다는 것이죠. 그렇지만 구스타프슨은 성능 향상 기울기의 차이는 있을 수 있어도 자원의 증가는 곧바로 성능의 향상으로 이어진다라고 보는 것입니다. 현재의 단일 컴퓨터로 처리하기가 어려운 충분히 커다란 대용량의 처리는 각 컴퓨터에 맞게 적당히 일을 나눠 많은 수의 컴퓨터로 처리할 수 있다고 보는 것입니다.

암달의 법칙

구스타프슨의 법칙

다음 글에서는 이러한 법칙이 고성능 컴퓨터(HPC) 또는 슈퍼컴퓨터에서 어떤 의미가 있는지 살펴보겠습니다.

2013년 7월 17일 수요일

전경련 빌딩 유리벽의 비밀 - 자연과학을 이용한 에너지 이용 극대화

회사 앞에 위치한 전국 경제인 연합회(전경련)의 새로운 빌딩이 한창 공사중입니다. 오가며 바라보는 빌딩을 가까이서 보면 그렇게 높은 생각이 들지 않다가 멀리 신촌에서도 빌딩이 불뚝 솟은 모습을 보면 참으로 높다라는 생각이 들게 됩니다. 지하 6층에 지상 50층 건물로 63빌딩과 비슷한 높이라고 합니다.

그런데 가만히 건물 외관을 살펴보면 기발하고 재미있는 것이 있습니다. 보통의 유리 빌딩들은 외벽 유리들이 다 평편한데 이 건물은 밖으로 올록 볼록 튀어 나왔습니다. 우리 전통 가옥의 처마가 처진 모양입니다. 무슨 이유가 있어 보입니다. 어떤 이유일까요?

아름다움의 표현에 대해서 언급을 하기 보다는 저는 기능적인 면에서 설명을 할까 합니다. 커다랗게 두가지 숨은 기능이 있다고 생각합니다.
첫째, 각 처마의 위치에는 태양 전지판이 있어 태양 발전을 합니다. 전력을 생산하는 것이죠. 그리고 여름에 태양 광선과 전지판이 직각에 가깝게 세움으로써 전지판의 사용 효율을 극대화 하였습니다. 아래 하지때의 그림을 보면 시각적으로 쉽게 이해가 되리라 생각됩니다.
두번째는 사계절에 따른 태양 고도가 변화하는 자연현상을 잘 이용하여 냉난방을 자연적으로 극대화했습니다. 여름에는 햇볕을 차단하여 시원하게 할 수 있고, 반면에 겨울에는 햇볕을 최대한 실내로 받아 들여 자연 난방을 할 수 있는 구조입니다. 냉난방을 자연의 현상을 이용하여 효율적으로 하고 있는 것이죠.

여름철 태양의 고도 및 채광

겨울철 태양의 고도 및 채광 
첫번째에 대해서는 특별히 설명을 하지 않아도 쉽게 이해하시리라고 생각합니다. 두번째에 대해서 좀 더 부연 설명을 드리면, 여름에는 서울 태양의 남중고도는 76도 정도 됩니다. 즉, 이때 태양 전지판으로 전기를 생산함과 동시에 햇볕이 건물 안으로 들어오지 못하게 가리게 됩니다. 그렇지만 겨울에는 전력을 생산하는 것보다는 따듯하게 하는 것이 더 중요하므로 태양 빛이 건물 안으로 많이 투과가 되면 될수록 더 좋습니다. 이것을 고려하여 태양 전지판을 적절한 크기와 적절한 기울기로 세웠습니다. 그림에서 보시듯이 여름에는 햇볕이 투과되지 않고 겨울에는 투과가 되는 것을 보실 수 있습니다. 아주 뛰어난 발상이죠. 그리고 전기를 생산할 때인 여름에는 햇빛 가림막 역할을 함과 동시에 최소 면적으로 최대 전력을 생산할 수 있는 각도로 맞춰 설계를 했습니다. 결론은 자연과학을 이용하여 비용을 낮추고 자연을 보호하는 1석 2조의 효과를 얻는 것이죠.

참고
남중고도란 천체가 가장 남쪽에 왔을 때의 고도를 말합니다. 태양의 남중고도는 "90도 + 적위 - 그 지방의 위도"로 구합니다. 서울의 위도는 37.5도이며, 적위는 동지때는 -23.5도이며 하지때는 +23.5도가 됩니다. 따라서 하지 때의 남중 고도 h는 90˚ -37. 5˚+23.5˚ = 76˚ , 동지 때의 남중 고도 h는 9 0˚-37.5˚ -23.5˚ = 29˚ 가 됩니다.

2013년 7월 15일 월요일

린팩(Linpack)은 슈퍼컴퓨터의 성능을 올바르게 측정하고 있는가?

최근 몇년간 슈퍼컴퓨터의 성능을 측정하는데 사용되는 밴치마크 도구들 중 대표적인 린팩(Linpakc)이 과연 슈퍼컴퓨터의 성능을 올바르게 측정을 할 수 있는가에 대한 논의가 활발히 이루어지고 있다. 1970년대에 처음 발표되어 사용되던 것이 왜 논쟁의 대상인 되었는가?

논쟁은 이렇다. Linpack은 실 애플리케이션들의 성능을 제대로 평가하는데 한계가 있다는 것이다. 또한 변화하는 애플리케이션 사용 경향에 발 맞추지 않았다는 것이다. 사회가 변화하고 슈퍼컴퓨터들이 기존의 과학 계산용에서 보다 폭 넓게 사용되면서 기존의 전통적인 방법으로는 성능을 측정하는데 있어서 부족하다는 것이다. 최근 슈퍼컴들의 사용을 보면 단순히 선형 대수 계산만이 아닌 복잡한 형태의 계산에 사용이 된다. 부동소수점으로 이루어진 행렬 연산의 처리 속도뿐만 아니라 데이터를 주고 받는데 필요한 성능, 네트웍의 성능도 또한 점점 더 중요해지기 때문이다. 그리고 최근에 Top500에서 높은 순위를 얻기 위해 무작정 GPGPU를 사용하여 높은 점수를 받으려는 것이 과연 의미 있는 노력인가하는 논쟁이다. 그렇지만 논쟁이 활발해진 것은 2010년 GPGPU를 사용한 중국의 Tianhe-1A가 Top500에서 1위를 차지하면서 미국의 자손심에 커다란 상처를 준 이후일 것이다.

린팩은 1993년 이래 top500 슈퍼컴퓨터들의 성능을 재서 최고 500위 순위를 매기는데 사용되는 벤치마크 도구이다. 부동소수점 행렬 연산의 속도를 측정한다. 초당 몇 번의 부동소수점을 처리했느냐가 얼마나 빠른 컴퓨터인가를 판가름하는데 사용된다. 일반적으로 몇 Giga/Tera/Peta Flops(Floating Point operation per second)로 표현한다. 이번 ISC'13에서 1위를 한 중국의 Tianhe-2의 성능은 33.86PFlops이다.

이러한 논쟁의 결과로 그동안 사용되던 Linpack이 대체되거나 수정될 전망이다. Linpack을 처음 만든 사람중의 한 사람인 Jack Dongarra교수는 "슈퍼컴퓨터의 순위를 매기는 Linpack은 더이상 실질 애플리케이션의 성능과 밀접한 연관성이 없다."고 말하며, 11월 다음 Top500 목록을 발표할 시점에 선보일 새로운 벤치마크둘을 개발하고 있다고 밝혔다.
새로운 벤치마크 도구 이름은 HPCG(the High Performance Conjugate Gradient)이며 현대의 애플리케이션과 데이터 처리 패턴에 맞는 성능 측정 도구가 될 것이다라고 한다. 발표 즉시 린팩을 대체하진 못하겠지만 실질 애플리케이션의 성능을 대변하는 대체 수치로서 사용될 것이다.

이 새로운 벤치마크 툴인 HPCG가 HPC업계에 어떤 변화를 줄 지 지켜볼 일이다.

참고
http://www.utk.edu/tntoday/2013/07/10/professor-jack-dongarra-announces-supercomputer-benchmark/
[PDF]Toward a New Metric for Ranking High Performance Computing Systems

Tianhe-1A에 관련된 글들

2013년 7월 12일 금요일

Tianhe-2(Milky Way-2) 슈퍼컴 시스템 분석 – 운영체제, 소프트웨어 스택

이번에는 Tianhe-2 시스템의 계산노드, 패브릭과 Frontend에 이어 소프트웨어에 대해서 살펴 보겠습니다. 지난 글은 아래 링크에서 참조 하시면 됩니다.
  1. 1위 슈퍼컴, Tianhe-2(Milky Way-2) 시스템 분석
  2. Tianhe-2(Milky Way-2) 슈퍼컴 시스템 분석 – 계산노드
  3. Tianhe-2(Milky Way-2) 슈퍼컴 시스템 분석 – 패브릭 & Frontend

운영체제는 NUDT에 의해 개발된 리룩스 버전의 Kylin Linux를 사용합니다. 이 OS는 Tianhe-1A에 사용되었던 것과 같은 것으로 다양한 마이크로 프로세서들을 지원하고 여러 종류의 컴파일러를 지원한다고 합니다. 자원 관리는 Simple Linux Utility for Resource Management (SLURM)을 이용합니다. 전원 절감을 고려한 자원 할당 기술과 다양한 스케쥴링 정책들을 가지고 있다고 합니다. 자체 시스템에 적합하도록 리룩스를 이용한 자체 OS를 만들어 활용한다는 사실이 놀랍기만 합니다.

TH-2 소프트웨어 스택에서 Fortran, C, C++, 과 자바 컴파일러, OpenMP 그리고 GLEX (Galaxy Express) 채널 지원을 하면서 MPICH 3.0.4을 기반으로 한 MPI 3.0이 있습니다. 다중채널 메시지 데이터 전송을 할 수 있며 동적 흐름 제어(dynamic flow control) 및 오프로드 컬렉티브 작업들을 합니다. 또한 디렉티브를 기반으로 하는 노드안의 프로그래밍 모델인 OpenMC라고 불리우는 것을 개발을 하였습니다. Open-MP, CUDA, OpenACC, 또는 OpenCL들을 사용하는 대신에 새로운 병렬 프로그래밍 모델인 OpenMC는 애플리케이션을 개발할 때 뛰어난 편의성을 제공합니다. 이 하드웨어와 소프트웨어를 위한 새로운 추상화는 CPU코어와 제온 파이 프로세서를 포함 모든 컴퓨팅 프로세서위에 단일화된 논리계층을 제공하면서 비슷한 ISA와 이기종 프로세서들에게도 확장이 가능합니다. CPU와 가속기를 위한 단일화된 추상화(abstraction)로 OpenMC 모델은 신이기종 구조의 장점을 최대로 발휘합니다. OpenMC는 계속해서 개발이 진행중이라고 합니다.
TH-2 Software Stack

인텔의 ICC 13.0컴파일러를 사용하며 인텔의 MKL 11.0.0과 제온 파이를 위한 BLAS기반으로한 자체의 수치연산 라이브러리를 가지고 있다고도 합니다. NUDT가 최적화작업을 진행했습니다.

이렇게 해서 몇 회에 걸쳐 top500 1위인 Tianhe-2의 슈퍼컴 시스템에 대해서 살펴보았습니다. 1위를 해서 대단한 것이 아니라 슈퍼컴 분야에서도 전세계를 이끌겠다는 강한 의지를 보였다 점에서 놀랍습니다. 우리도 한발 한발 비록 느릴 수는 있어도 앞으로 걸음을 내딛는 모습을 보여줄 때라고 생각이 됩니다.

조금은 긴 내용이지만 읽어주신 분들께 감사드립니다. 많은 내용은 아래 참조문서를 참조했으며 외신에서 발표된 내용을 정리하였습니다.

참조
Deep detail on the full scope of the Tianhe-2

언제쯤 엑사급 슈퍼컴퓨터(Exascale)가 출현할까?

엑사급 슈퍼컴(Exascale Supercomputer)

이번 ISC’13에서 1위를 차지한 슈퍼컴의 성능은 33.86PFlops입니다. 그러면 언제쯤 Peta의 천배인 Exa급 슈퍼컴이 나올까요? 아래 그래프를 보면 가운데 빨간선이 1위를 차지한 슈퍼컴들의 성능을 표시한 선입니다. 이 1위 슈퍼컴들의 추세를 살펴보면 대략 언제쯤 엑사급 성능 슈퍼컴이 나올 수 있을지 추측이 가능합니다. 세로축의 1 EFlops와 #1 슈퍼컴 성능 추세선이 만나는 빨간 별 표시가 바로 엑사 성능입니다. 대략 2019년 말로 예상됩니다. 과연 이러한 추세대로 2019년에서 2020년에 엑사급 슈퍼컴이 나올 수 있을지 지켜보는 것도 재미있을 것입니다.
Top500 슈퍼컴 성능 추세
엑사급 성능을 이루기 위해서 그냥 서버만 많이 사서 구축하면 되는 것이 아닙니다. 극복해야 할 많은 난관들이 있습니다. 보통 현재의 기술 발달로는 달성하기 어렵고 기존과는 다른 전혀 뭔가 새로운 기술 발달이 있어야만 가능하다고 합니다. Disruptive Technology라고 말을 하는 뭔가 새로운 기술. Exa급 성능을 이루기 위한 기술적인 난관들과 그 어려움을 극복하기 위한 각계에서의 노력들에 대해서 적어 보도록 하겠습니다.

2013년 7월 9일 화요일

여러분의 노트북은 슈퍼컴퓨터입니다!

여러분의 노트북은 몇년 전 정도의 슈퍼컴에 해당할까요? 최근에 발표한 4세대 코어 i7를 사용하고 계신다면 지금 여러분은 10년전 슈퍼컴을 개인용 노트북으로 사용하고 계십니다. 10년이면 강산도 변한다는데 IT에서의 변화는 그 속도가 더 빠른것 같습니다. 확인하기 위해서 2002년 6월 Top500 자료를 살펴보니 정말로 408위 슈퍼컴이 161.9GFlops의 성능을 내더군요. 최신 노트북의 이론 성능이 179GF이고 대략 90% 효율성을 가정하면 실효 성능은 161.2GF이 됩니다.
Top500 슈퍼컴 성능 진화
위 챠트는 슈퍼컴의 역사이자 성능 진화의 이력입니다. 1993년도에 처음으로 발표하기 시작했으며 매년 2회 세계 최고 슈퍼컴 500개를 발표합니다. 줄기차게 성능이 향상되었음을 알 수가 있습니다. 가운데에 있는 줄이 1위 슈퍼컴의 성능을 표시한 것이고, 맨 위에 있는 줄은 500개 성능을 합한 총 성능이며 가장 아래줄은 500위에 해당하는 슈퍼컴의 성능을 표시한 것입니다.

각 선들의 기울기는 어떤 의미일까요?

이 기울기는 슈퍼컴 성능의 진화 추세입니다. 무어의 법칙을 슈퍼컴에 적용시킨 것이라고 볼 수 있습니다. 그렇지만 슈퍼컴은 매 18개월마다 2배씩 증가한다는 무어의 법칙보다 조금 더 빠르게 발전했습니다. 대략 14개월마다 성능이 2배 증가한다고 합니다. 이유는 병렬화의 발달로 슈퍼컴에 사용되는 서버의 숫자가 계속해서 증가하기 때문입니다. 점점 더 많은 칩을 사용하는 것이죠, 이번 SC’13에서 1위를 차지한 중국의 Tianhe-2는 보조프로세서를 합쳐 무려 8만개의 프로세서를 사용하였습니다. 코어 수로는 585만 6천개입니다. 놀랍습니다. 그런데 1위를 차지한 시스템이 영원히 1위를 차지할 수는 없죠. 언젠가는 Top500 리스트에서도 사라지게 되는데 대략 6~8년이면 500위권 밖으로 밀려나게 됩니다. 한 시스템이 가장 오래동안 1위를 차지한것은 일본의 Earth-Simulator로 무려 5번이나 1위에 머물렀습니다.

그럼 이번 ISC’13에서 1위를 차지한 슈퍼컴의 성능이 33.86PFlops인데 언제쯤 Peta의 천배인 Exa급 슈퍼컴이 나올까요?

2013년 7월 7일 일요일

Tianhe-2(Milky Way-2) 슈퍼컴 시스템 분석 – 패브릭 & Frontend

이번에는 지난 회의 Tianhe-2의 시스템 일반과 계산노드 및 전체적인 시스템 구성에 이어 Frontend 시스템 및 패브릭 솔류션에 대해서 살펴 보겠습니다. 지난 글은 아래 링크에서 참조 하시면 됩니다.
  1. 1위 슈퍼컴, Tianhe-2(Milky Way-2) 시스템 분석
  2. Tianhe-2(Milky Way-2) 슈퍼컴 시스템 분석 – 계산노드

Frontend 프로세서 - FT-1500

Tianhe-2는 컴퓨팅 노드와 함께 4096개의 갤럭시 FT-1500 CPU로 이루어진 Frontend(전처리) 시스템이 있습니다. FT-1500프로세서는 NUDT에서 자체적으로 개발하고 제작한 FeiTeng 계열의 CPU입니다. 이 프로세서는 SparcV9 프로세서 기반의 16개 코어가 들어있으며 각 코어는 4개의 스레드를 지원합니다. 40nm 반도체 공정기술을 사용하였으며 1.8GHz 의 속도로 부동소수점 성능은 144GFlops입니다. 이 시스템의 성능은 Linpack성능에는 포함되지 않았습니다. 평균 65W 의 전력을 소비하며, 이전 Tianhe-1A에서 사용된 FT-1000보다 코어수, 클럭, 공정기술등에서 커다란 발전을 이룬 칩입니다. 아직은 몇세대 전의 반도체 공정 기술을 사용했지만 자체적으로 설계 제작하여 실제로 적용을 하였다는 점에서 커다란 의미가 있다고 봅니다. 반도체 기술만 얻게 된다면 더욱 더 뛰어난 상용 프로세서도 가능하리라 생각됩니다.
Tianhe-2 Frontend processor, FT-1500

패브릭(Fabric) 솔류션

Milky Way-2(은하-2)에서는 TH Express-2라는 자체 기술의 고속 인터커넥터 네트웍을 사용합니다. 정확한 의미는 알려지지 않았지만 광과 전자를 혼합 사용하는 방식이라고 하며 네트웍 토폴리지는 Fat-Tree 토폴리지입니다. 160Gbps의 양방향 전송속도를 보입니다. 576포트를 지원하는 13개의 스위치로 구성되어 있습니다. 네트웍 프로토콜 역시 자체 개발한 것이라 합니다. 라우터 칩(NRC)과 NIC칩도 직접 제작을 하였습니다.
Tianhe-2 Fabric 솔류션

NRC(Network Router Chip) 하나의 전송속도는 2.56 Tbps입니다. 칩에 대한 규격은 아래 그림과 같습니다. MPI를 통한 Broadcast operation은 6.35GB/s로 동작 합니다. 12,000노드에서 1K 데이터의 레이턴시는 약 9us로 측정된다고 합니다.
Tianhe-2 NRC, NIC
지금까지 몇 회에 걸처 Tianhe-2의 시스템에 대해서 알아보았습니다. 다음 회에서는 소프트웨어적인 부분을 살펴보도록 하겠습니다.

참조
Deep detail on the full scope of the Tianhe-2

2013년 7월 3일 수요일

Tianhe-2(Milky Way-2) 슈퍼컴 시스템 분석 – 계산노드

지난 Tianhe-2 시스템에 대한 개요에 이어 이번에는 시스템의 각 부분 구성에 대해서 알아보도록 하겠습니다.
우선, 이번 시스템에는 신이기종(Neo-Heterogeneous) 시스템이라는 용어를 사용하고 있습니다. 신이기종 시스템은 단일 프로그래밍 모델을 사용하는 이기종 시스템을 말합니다.
Neo-Heterogeneity = Heterogeneous system with a single programming model
기존에는 CPU와 가속기가 함께 쓰인 시스템에 대해서 이기종 아키텍처라는 말을 사용했었지만 지금은 신이기종(Neo-Heterogeneous)이라는 말을 쓰기도 합니다. 신이기종 아키텍처는 하드웨어 관점에서는 CPU와 가속기를 함께 사용하는 이기종 시스템이지만 동일한 프로그래밍 모델, 환경을 사용하는 시스템을 말합니다. 프로그램 개발과 최적화 과정이 기존의 이기종 아키텍처보다 쉽습니다. 예를 들면 기존 Tianhe-1A에서는 CPU와 가속기를 사용한 이기종 아키텍처입니다. CPU와 GPGPU 가속기는 전혀 다른 프로그래밍 모델을 사용하여야 하기 때문에 프로그램 개발자들이 개발하는데 무척 복잡해서 많은 노력을 들여야 하며 시간을 허비해야만 하였습니다. 그렇지만 이번 Tianhe-2시스템은 제온 프로세서와 제온 파이 코프로세서의 사용으로 동일한 프로그래밍 모델을 사용할 수 있다고 합니다. 따라서 신이기종 아키텍처 시스템이라고 지칭하고 있습니다.

계산 노드

Milky Way-2의 설계에 있어 가장 기본이 되는 계산 노드는 아이비 브리지 기반 인텔 제온 프로세서 2개와 인텔 제온 파이 코프로세서 3개로 구성되어 있습니다. 이 계산 노드 2개가 합쳐져서 하나의 계산 블레이드가 구성됩니다. 이 계산 블레이드들이 중간 백플레인을 사이에 두고 앞 뒤 대칭적으로 8개씩 총 16개의 블레이드가 결합되어 하나의 프레임을 이룹니다. 다시 4개의 프레임이 하나의 랙에 장착되게 됩니다. 즉 한 랙에는 256개의 프로세서와 384개의 제온 파이 코프로세서가 장착되어 있습니다. 컴퓨팅 밀집도가 무척 높다고 볼 수 있습니다. 한 캐비넷의 성능은 총 439.3TFlops이나 됩니다.
계산 노드

계산 블레이드는 논리적으로 2개의 계산 노드로 구성되어 있으며, 물리적으로는 절반 크기의 CPM과 APU모듈이 수평으로 나란히 결합되어 있습니다. CPM 모듈은 4개의 CPU와 1개의 제온 파이로 구성되어 있으며 APU모듈은 5개의 인텔 제온 파이로 구성되어 있습니다.
계산 블레이드

아래의 사진은 계산 블레이드가 랙에 장착된 모습과 APU에 들어가 있는 제온 파이 코프로세서의 모습입니다.
계산 블레이드
계산 블레이드에 장착된 제온 파이 코프로세서

아래의 그림은 계산 노드들이 백 플레인에 장착되는 구조를 보여주고 있습니다. 8개의 블레이드가 앞면에 그리고 8개의 블레이드가 뒷면에 장착됩니다.


계산 노드를 위한 프로세서는 인텔것을 썼지만 다음부터 소개드릴 패브릭, 네트웍, FrontEnd 시스템, 화일 시스템은 자체 기술로 개발을 하였습니다. 또한 이런 모든 부품들을 이용하여 밀집도가 높은 서버를 설계 제작도 자체적으로 하였습니다. 이런 추세로라면 머지않아 모든 부품 및 기술들이 중국인들에 의해 개발 생산된 것들로 이루어진 슈퍼컴을 볼 수 있을 것 같습니다.

참조
Full Details Uncovered on Chinese Top Supercomputer
Deep detail on the full scope of the Tianhe-2

2013년 7월 2일 화요일

1위 슈퍼컴, Tianhe-2(Milky Way-2) 시스템 분석

중국은 2013년 6월 Top500 슈퍼컴퓨터 리스트에서 Tianhe-2(Milky Way-2) 시스템으로 1위를 차지했습니다. 지난 2010년 11월에 Tianhe-1에 이어서 2번째로 세계 1위를 차지하게 되었습니다. 정말 중국의 과학 기술에 대한 투자 규모는 상상을 초월할 정도로 거대하고 놀랍습니다. 이 시스템이 어떤지 알아보면서 어떤 의미가 있는지도 함께 살펴보도록 하겠습니다.

Tianhe-2의 이름에 대해서 잠깐 알아보면 읽기는 천하(天河)로 읽지만 뜻은 은하수(銀河水)입니다. 우리나라에서는 천하라는 말보다는 은하라는 말을 더 많이 쓰죠.
Tianhe-2(Milky Way-2) 시스템. 출처: http://www.top500.org

개괄적인 시스템의 제원에 대해서 알아보도록 하겠습니다.
  • 성능: 54.9PFlops Peak Performance, 33.86PF Max performance, 61.68% 효율성
  • 프로세서: 3만 2천개의 출시 예정인 인텔 제온 E5-2692v2(12C, 2.2GHz) 프로세서와 4만 8천개의 제온 파이 31S1P 코프로세서, 4096개의 갤럭시 FT-1500 프로세서로 구성된 신이기종(Neo-Heterogeneous) 아키텍처 시스템
  • 상호연결 기술: 중국 자체 고속 상호연결 기술, TH-Express 2
  • 메모리: 총 1PB
  • 저장장치: 전역 공유 병렬 스토리지 시스템(Global shared parallel storage system), 12.4PB
  • 캐비넷수: 125+13+24(compute/communication/storage )=162
  • 소비전력: 17.8 MW(냉공조 포함시 24 MW)
  • 장소: National University of Defense Technology
  • 용도: 생명 공학, 지구 물리학, 기상, 빅데이터 분석, 정부 안보 애플리케이션등
우선 이 시스템의 이론 성능을 계산해 보도록 하겠습니다. 단일 프로세서의 이론 성능은 아래와 같은 공식으로 계산이 됩니다.
이론 DP(Double Precision) Flops = 클럭 x 단위 클럭당 처리가능 DP 부동소수수 x 코어수
사용된 제온 프로세서는 2.2Ghz, 8 DP FPs/clocks, 12 Cores 로 이론 성능은 소켓당 211.2GFlops 이 되며, 제온 파이의 성능은 1.1Ghz x 16 DP FPs/clocks x 57 Cores 로 1003.2GFlops 입니다. Milky Way-2에는 제온 프로세서와 제온 파이가 각각 32,000와 48,000개로 이루어 졌기 때문에 총 이론 성능은 54.9PFlops입니다.

중요 시사점은 첫째, 중국이 지난 Tianhe-1A 이후 두번째로 1위를 차지했다라는 것입니다. 이것은 일회성이 아니라 지속적인 투자를 의미하며 국가 차원의 막대한 투자와 기술 국가로 도약하고자 하는 강한 의지를 볼 수 있습니다. 다음으로는, 인텔 기반의 프로세서와 가속용 보조 프로세서를 제외하면 모든 기술이 중국 자체 기술을 이용했다라는 것입니다. 새로운 하드웨어 아키텍처, 갤럭시 FT-1500 16코어 프로세서, TH Express-2 네트웍 기술, OpenMC 병렬 프로그래밍 모델, 안정성을 위한 관리 기술, 병렬 스토리지 시스템, 자체 리룩스 운영시스템인 Kylin Linux, 중국 기업에 의한 서버 제작등등 프로세서외 모든 것들이 중국에서 만들어 졌습니다. 조만간 프로세서도 자체 개발 제작하여 사용할 날도 머지 않을 듯 합니다. 앞으로 다가올 엑사급 슈퍼컴퓨터 시대에 대비하여 모든 것을 중국 기술 기반으로 하고자 하는 꿈을 향해 한 걸음 더 나갔다는 생각이 됩니다.

참조

2013년 6월 30일 일요일

[독서] Effective Networking for International Professionals

사회생활을 하는데 있어서 네트워킹의 중요성은 굳이 말로 하지 않아도 모든 직장인들은 그 중요성을 몸으로 느끼고 있다고 생각합니다. 직장을 옮기려고 하거나 직무를 전환하고자 하는 사람에게는 더욱 더 중요하겠조. 이 책은 오랜 HR경험을 바탕으로 인맥쌓기에 대한 조언을 담았습니다.





7 Reasons Why Networking is Crucial for Your Career Transition
업종 전환이나 회사를 변경하고자 하는 사람에게 있어서 왜 인맥쌓기가 중요한지 7가지로 강조를 한다. 첫번째 이유로는 구직 게시판은 비효율적이다. 특히 회외로 나가고자 하거나 당사자가 매니저급 이상이거나 임원인 경우에는 더욱 비효율적이다. 어느 회사의 CEO가 바뀌었거나 어느 회사가 새로운 CIO를 영입했다는 소식은 뉴스를 통해서 종종 듣게 되지만 어떤 과정으로 바뀌었는지에 대해서는 언급이 없다. 구직 게시판을 통해서 새로운 임원을 구했을리는 만무하다. 두번째로는 80% 이상의 구직은 절대로 밖으로 알려지지 않는다. 많은 회사들이 인원을 보충할 때 회사 내부 직원의 채용을 우선시 하기 때문에 당연한 결과일 수가 있다. 네트웍을 통하지 않고서는 이런 기회를 알기는 불가능에 가깝다. 다음으로는 채용하는 사람 입장에서 자기가 믿는 사람으로부터 소개를 받은 사람을 더 신뢰를 한다는 것이다. 이외 Opening new Doors. Long Term Career Success. An Essential Skill - 다른 사람들과의 협업이 더욱 더 중요해지기 때문에 네트웍은 필수 불가결한 기술이다.

3 Mistakes Most People Make in Building Relationships
  1. Not Knowing Why: 관계를 형성하고 네트웍을 하는데 있어서, 당신의 열정과 가치 그리고 당신의 목적을 전달할 수 있어야 하는 것이 무척 중요하다.
  2. Me, me, me: 관계 형성의 기초는 다른 사람에게 가치를 만드는 것이며 상호 혜택이 되는 관계를 만드는 것이다.
  3. Starting Too Late: 전직이 필요하지 않을 때부터 시작하라.
Foundation of Successful Relationships
  1. 목표 회사를 아주 구체적으로 정의하고 나열하라
  2. 효율적으로 전달하라. 할 수 있는 기술들을 나열하는 것만으로는 부족하다. 가치(혜택)들을 전달하라.
  3. 원하는 것을 정확히 파악하라. 당신의 커리어 패스에서 무엇을 원하는지 어느 곳을 가고자 하는지 명확히 파악하고 정의하여야 한다.
How to Build a Strong Network to Support Your Career Transition
  • 당신의 현 네트웍은 매우 중요하다. 알게 모르게 이미 커다란 네트웍을 가지고 있다. 신뢰하는 90 사람을 열거하라. 이 사람들이 여러분의 가치를 긍정적으로 추천할 수 있도록 하라.
  • 관련 업계의 행사장은 중요한 네트워크 형성장이다.
  • 소셜 이벤트는 재미있거나 새로운 친구들을 사귈 기회를 줄 뿐만 아니라 커리어에서도 중요하다.
  • Career Fairs, Sports Events
  • LinkedIn
  • 지속적으로 관계를 유지하라.
Key Takeaways
  • 먼저 제공하라
  • 지금 적극적으로 네트워킹을 하라
  • 효과적인 인맥을 위한 시스템을 갖춰라

2013년 6월 27일 목요일

차세대 인텔 제온 파이, 코드명 “나이츠 랜딩(Knights Landing)”

독일에서 개최된 ISC'13은 인텔에게 있어서 그 어떤 행사보다도 뜻 깊은 행사였을 것입니다. 인텔 기반의 슈퍼컴퓨터가 1997년 6월 ASCI Red 이후로 13년만에 처음으로 1위를 차지 했을 뿐만 아니라,  발표된지 6개월된 제온 파이 코프로세서가 48,000개나 사용되었기 때문입니다. 또한 새롭게 이름을 올린 슈퍼컴퓨터들 중 무려 98%에 해당하는 시스템들이 인텔 제온 프로세서를 사용했습니다. 두말할 것도 없이 인텔 제온 프로세서의 높은 성능과 뛰어난 에너지 효율성을 증명한 셈이죠. 인텔에서는 이때 차세대 제온 파이, 나이츠 랜딩(Knights Landing)을 공개하였는데 이 차세대 제품의 특징에 대해서 적어보고자 합니다.

이번에 발표된 나이츠 랜딩의 주요 특징은 다음과 같습니다.
  • 첨단 14nm 반도체 공정 기술 기반
  • 독립 CPU(호스트 프로세서) 또는 PCIe 코프로세서 타입
  • CPU와 메모리를 동일 패키지화(on-package) 
차세대 제품에서 더 높은 성능과 에너지 효율성을 제공하는데 있어서 14nm 공정 기술은 가장 기본적인 기술적 발판이 되어줄 것입니다. 앞으로 더 많은 코어수를 지원하고 현재의 해스웰 프로세서처럼 메모리를 CPU에 포함 시킬 것으로 예상이 되는데 이것들을 가능하게 하는 것이 바로 최첨단 14nm 미세 공정 기술입니다. 이 기술로 더 많은 트랜지스터들을 집적하여 발생하는 전력 소비를 낮춰야만 하는 어려움을 극복할 수 있으리라 생각됩니다.

다음으로 중요한 2번째 기능은 현재 나이츠 코너처럼 코프로세서로 동작할 뿐만 아니라 CPU처럼 독립적으로 동작을 할 수 있도록 하는 것입니다. 이것은 프로그래머 개발자들에게 엄청난 유연성을 제공하게 되고 오프로드(Offload)를 할 때 발생하는 오버헤드를 줄여 성능을 높일 수가 있게 됩니다. 지금 현재 제품을 사용할 때는 항상 호스트 프로세서로서 제온 프로세서를 함께 사용하여만 하지만 앞으로는 제온 파이 혼자서 OS를 부팅하고 프로그램들을 실행시킬 수 있는 제온 프로세서와 같은 '프로세서'가 되는 것이죠. 그렇게 된다면 제온 파이가 직접 인터커넥트 패브릭 솔류션에 연결되어 시스템이 훨씬 간단해지고 성능은 높아질 뿐만 아니라 에너지 소비를 줄일 수 있게 되는 것입니다.

세 번째로는 메모리가 프로세서와 같은 패키지에 포함이 된다는 것입니다. 이것으로 높은 메모리 대역폭과 급격히 낮아진 레이턴시를 제공할 수 있게 되고 높아질 CPU의 성능과 균형을 맞출 수 있게 될 것으로 예상됩니다. 높아지는 프로세서의 성능에 맞춰 메모리 및 IO의 성능을 균형있게 맞추는 것이 인텔에서는 중요한 일이죠. 현재로서의 가장 합리적인 해결책이 바로 프로세서 칩과 메모리 칩을 합쳐 패키지 하는 것이리라 생각됩니다. 그 이후에는 CPU 칩과 메모리 칩을 쌓는 것일 수도 있겠죠. 이 메모리는 3 가지 방식으로 사용될 수 있습니다. 프로세서와 메모리 사이에서 CPU의 캐시처럼 추가적인 캐시 역할을 할 수 있으며 다음으로는 외부 메모리의 확장으로 사용될 수 있고, 마지막으로는 내장 온-패키지 메모리를 두 부분으로 나눠 각각 캐시와 메모리 확장으로 사용할 수 있는 하이브리드 방식으로 사용될 수 있습니다. 사용자 애플리케이션 환경에 따라 사용할 수 있는 유연한 사용 모델을 제공하는 것이죠.

차세대 인텔 제온 파이 프로세서: 나이츠 랜딩
앞으로 나이츠 랜딩이 발표되는 시점에 테크니컬 컴퓨팅 환경이 어떻게 변화가 될 지 무척 궁금합니다. 엑사급의 슈퍼컴퓨터 시대가 인텔의 의지대로 업계 예상보다 2년정도 앞선 2018년에 도래할 지 재미있게 살펴볼 일입니다.

참고자료

2013년 6월 23일 일요일

파워포인트를 블로그나 홈페이지에 공유하기

블로그를 만든후 감격의 첫 글입니다. 무엇에 대해서 글을 쓸까 고민을 하다가 제가 발표하는 자료들을, 주로 파워포인트, 공유하면 어떨까 생각이 들었습니다. 그런데 초보인지라 어떻게 파워포인트 문서를 블로그내에 포함을 시킬까 방법을 찾아보니 자세히 설명되어 있는 자료가 없어 직접 정리를 해 보았습니다. 도움이 되길 바랍니다.

파워포인트나 엑셀, 워드화일등의 문서를 블로그에 게시하는 법입니다. Google Doc를 이용하여 생성된 문서들을 블로그나 웹에 포함시키는 방법입니다. 제가 Google Blodgger를 사용하기 때문에 Google Doc를 이용하는 방법에 대해서 설명드립니다. 아래 파워포인트가 문서에 포함되어 있는것을 보실 수 있습니다. 아래에서 '재생'이나 '다음'을 클릭하여 하나하나 보시면 생각보다 쉽습니다. HTML에 대한 지식이 전혀 없어도 문제없습니다.



슬라이드안의 '다음' 화살표 버튼을 클릭하면 하나 하나 보실 수 있습니다.
도움이 되셨기를 바랍니다.