레이블이 제온 파이인 게시물을 표시합니다. 모든 게시물 표시
레이블이 제온 파이인 게시물을 표시합니다. 모든 게시물 표시

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월 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

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월 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년에 도래할 지 재미있게 살펴볼 일입니다.

참고자료