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

댓글 없음:

댓글 쓰기