반응형

노드(node)는 데이터를 전송하는 통로에 접속되는 하나 이상의 단위로, 통신망의 분기점이나 단말기의 접속점을 말합니다.

한 노드에 다수의 GPU를 장착하여 노드 당 계산 속도를 높이면 적은 수의 노드로도 많은 양의 계산을 한꺼번에 처리할 수 있는 장점이 있습니다.

만일 이것이 가능하면 슈퍼컴퓨터의 구축비용뿐만 아니라 소모되는 전력도 획기적으로 줄일 수 있습니다.

그러나 지금까지 다수의 GPU를 효율적으로 장착하는 소프트웨어 기술이 개발되지 못해 대부분의 슈퍼컴퓨터에는 각 노드 당 최대 2개의 GPU밖에 장착하지 못했습니다.

□ 서울대 이재진 교수팀은 일반 슈퍼컴퓨터와는 달리 노드 한 대에 최대 6개의 그래픽 처리장치(GPU)를 장착하는 방법으로 기존 슈퍼컴퓨터의 노드 당 계산 속도를 세계에서 가장 빠른 수준으로 끌어올리는데 성공했습니다.

이 교수팀이 개발한 소프트웨어 기술을 사용하면 노드마다 최소 3개 이상의 GPU를 장착하고 효율적으로 계산할 수 있습니다.

이재진 교수팀은 이번 연구결과를 바탕으로 16개의 노드(총 96개 GPU 장착)로 구성된 슈퍼컴퓨터 시작품 '스누코어(SnuCore)'를 자체 제작했습니다.

일반적으로 슈퍼컴퓨터의 계산 속도를 평가하는데 사용하는 프로그램인 린팩 벤치마크로 측정한 스누코어의 노드 당 계산 속도는 0.991테라플롭스(TFLOPS)로 이 수치는 현존하는 슈퍼컴퓨터 중에서 가장 빠릅니다.

게다가 전력효율 면에서도 와트당 871메가플롭스(MFLOPS)로 세계 20위권을 기록했습니다.

스누코어는 시중에서 흔히 구할 수 있는 부품(AMD의 CPU와 GPU, 타이안의 마더보드 및 멜라녹스의 인피니밴드 네트워크 장비 등)에 연구팀이 자체 설계한 냉각 시스템을 이용해 제작되었습니다.

서울대 매니코어 프로그래밍 연구단에서 자체 제작한 슈퍼컴퓨터 스누코어(SnuCore). 가운데 위치한 것이 자체 제작한 냉각 시스템이며, 좌우로 노드가 8개씩 위치하고 있다.



연구팀은 새로 개발한 소프트웨어 최적화 기술을 다양한 프로그래밍 언어 OpenCL과 MPI를 사용해 린팩 벤치마크에 적용하였고, 그 결과 스누코어의 각 노드에 장착된 6개의 GPU를 효율적으로 사용하여 세계에서 가장 빠른 노드 당 계산속도를 확보했습니다.

스누코어의 성능 대비 가격은 다른 세계 최상위급 슈퍼컴퓨터들과 비교해도 최대 8.3%(1/12)로 저렴합니다.

따라서 스누코어에 적용된 소프트웨어 기술을 사용하면 세계 최상급의 성능을 지닌 슈퍼컴퓨터를, 기성부품을 사용하여 저렴한 비용으로 구축할 수 있게 됩니다.

이 교수팀은 이번 연구결과를 서울대에서 개발하고 있는 OpenCL 기반의 프로그래밍 환경인 SnuCL에 적용해 추후 일반 국민에게도 공개할 예정입니다.

이재진 서울대 교수(오른쪽), 조강원 연구원(왼쪽), 나정호 연구원(가운데)이 슈퍼컴퓨터 SnuCore의 상태를 점검하고 있다.

 

 용  어  설  명

린팩 벤치마크 (LINPACK Benchmark) :
 벤치마크는 컴퓨터에서 실행시켜 처리시간과 같은 값을 측정해 컴퓨터의 성능을 평가하는 프로그램이다.
린팩 벤치마크는 컴퓨터의 계산 속도를 평가하는 벤치마크 중 하나로, 배정도(double precision) 부동소수점 연산(floating-point operation)이 필요한 선형 시스템의 해를 구하는데 걸리는 시간을 측정해 계산 속도를 측정한다.
린팩 벤치마크는 Top500에서 세계 500위권의 슈퍼컴퓨터를 선정하는 기준으로 사용되는 등 슈퍼컴퓨터의 성능 측정에 널리 사용되고 있다.

FLOPS (floating-point operations per second) :
 컴퓨터의 성능을 측정하는 단위로 초당 수행할 수 있는 부동소수점(floating-point) 연산의 수를 의미한다.
'FLOPS' 앞에 '킬로(K)', '메가(M)', '기가(G)', '테라(T)'의 접두사가 붙으면 각각 초당 10의 3승, 10의 6승, 10의 9승, 10의 12승회의 실수 연산을 수행함을 의미한다.
예를 들어 2 GFLOPS는 초당 2×109 회, 즉 20억 회의 부동소수점 연산을 수행할 수 있음을 뜻한다.

OpenCL(Open Computing Language) :
개방형 범용 병렬 컴퓨팅 프레임워크

노드(node) :
데이터를 전송하는 통로에 접속되는 하나 이상의 단위. 주로 통신망의 분기점이나 단말기의 접속점을 말함

<연 구 개 요>

최근 고성능 컴퓨팅을 위해 그래픽 처리 장치(GPU)를 그래픽 처리 대신 일반적인 계산을 위해 사용하는 GPGPU(General Purpose computing on GPU) 기술이 보편화되기 시작하였다.
GPU는 많은 계산을 한꺼번에 수행할 수 있어 기존의 CPU보다 계산 속도가 빠르고 계산량에 비해 전력소모가 상대적으로 적은 장점을 가지고 있다.
중국과 일본에서 각각 구축한 세계 2위와 5위의 슈퍼컴퓨터를 포함, 2011년 11월에 Top500 사이트(http://top500.org)에 의해 선정된 세계 500위권 내 슈퍼컴퓨터 중 37대가 GPGPU 기술을 사용하였으며 이는 2011년 4월에 비해 2배가량 증가한 수치이다.
슈퍼컴퓨터를 구성하는 각 노드에 다수의 GPU를 장착함으로써, GPGPU 기술이 가지는 장점인 고성능과 에너지?비용?공간 효율성을 극대화할 수 있다.
하지만 다수의 GPU를 효율적으로 사용하는 소프트웨어 기술이 없어서 기존의 슈퍼컴퓨터들은 노드 당 대개 1개 혹은 2개의 GPU만을 장착해 왔다.

본 연구팀은 다수의 GPU를 효율적으로 사용하는 소프트웨어 기술을 연구 개발하였는데, 이는 노드 내 다수의 GPU 간에, 또는 노드 간에 효율적으로 작업을 분배하여 작업량의 불균형이 발생하지 않도록 하는 기술, 노드 내 서로 다른 GPU 간, 또는 노드 간 통신을 최적화하는 기술, 실행 시의 환경에 적응하여 노드 내 계산 자원을 효율적으로 관리하는 기술 등을 포함한다.
또한 이 기술을 바탕으로 비용과 전력소모를 최소화한 슈퍼컴퓨터 시작품 SnuCore를 자체 제작하였다.
SnuCore는 16개의 노드로 이루어져 있고, Tyan의 마더보드를 장착한 각 노드는 AMD의 Opteron 12-core CPU 2개와 GPU 6개(Radeon HD6990 그래픽 카드 3장)를 가지고 있다. Mellanox의 인피니밴드(InfiniBand) QDR 네트워크 스위치가 노드 간 통신에 사용되었다.

한 노드에 다수의 GPU를 장착할 경우 열이 많이 발생하는데, 이것이 노드 내부의 온도를 증가시켜 슈퍼컴퓨터의 안정성을 떨어뜨린다.
이를 방지하기 위해 이재진 교수 연구팀은 냉각된 물을 순환시켜 GPU에서 발생한 열을 외부로 방출하는 수냉 시스템을 자체적으로 설계, 제작하였다.
이 시스템은 상용 수냉 시스템보다 훨씬 저렴하며 노드 내 GPU의 온도를 상온보다 낮은 수준(약 18℃)에서 안정적으로 유지시켜 준다.

본 연구팀이 새로 개발한 소프트웨어 기술을 OpenCL과 MPI를 사용하여 린팩 벤치마크에 적용하였으며, 이를 SnuCore에서 실행한 다음 Top500 및 Green500 사이트의 규정대로 SnuCore의 계산 속도 및 전력효율을 측정하였다.
Green500(http://green500.org)은 Top500에 들어갔던 슈퍼컴퓨터들을 대상으로 이들의 전력효율에 따른 순위를 집계하는 사이트이다.
SnuCore의 계산 속도는 15.86 TFLOPS, 전력효율은 Watt 당 871 MFLOPS로 측정되었다.
SnuCore의 각 노드는 0.991 TFLOPS의 린팩 벤치마크 성능을 가지는데, 이 성능은 2011년 11월에 발표된 Top500의 슈퍼컴퓨터들과 비교해 보았을 때 가장 높은 수준이다.
따라서 본 연구에서 개발된 기술을 사용하면 같은 수의 노드를 사용해 더 높은 성능을 낼 수 있다. SnuCore의 전력효율은 Green500에서 15위와 16위 사이에 위치하는 수준이다.
 
SnuCore를 제작하는 데는 1 TFLOPS 당 1,300만 원 정도의 비용이 소요되었다.
이는 현재 세계에서 가장 빠른 슈퍼컴퓨터인 일본의 K Computer의 약 12분의 1, 두 번째로 빠른 슈퍼컴퓨터인 중국의 TianHe-1A의 약 3분의 1, 세 번째로 빠른 슈퍼컴퓨터인 미국의 Jaguar의 약 5분의 1 수준이다.
 
현재 Top500에서 노드 당 최고 성능은 독일의 LOEWE-CSC로, 노드 당 1개의 GPU를 사용하였고, 총 682개의 노드를 사용하여 Top500의 33위이다. 노드 당 성능은 438.9 GFLOPS 인데, 같은 팀이 보고한 4개의 노드에서 측정한 노드 당 성능은 526.3 GFLOPS이다.
따라서 노드가 4개에서 682개로 증가할 때 16.6%의 성능 감소가 있다. SnuCore의 경우 더 나쁘게 잡아서 20%의 성능 감소가 있다고 가정하더라도, 1000개 정도의 노드를 가정할 때 노드 당 성능이 792 GFLOPS 가 나오며 이는 여전히 세계 최고의 노드 당 계산속도이다.
 
본 연구의 결과가 의미하는 바는 특별히 제작된 부품이 아니라 시중에서 흔히 구할 수 있는 기성부품과 소프트웨어 기술을 이용하여 전력효율이 좋은 고성능?저비용의 대규모 슈퍼컴퓨터를 제작하는 것이 가능하다는 것이다.
본 연구팀은 이번 연구 결과를 서울대에서 개발하고 있는 OpenCL 기반의 프로그래밍 환경인 SnuCL에 적용하여 일반에게 추후 공개할 예정이다.


<이재진 교수>

1. 인적사항
 ○ 성 명 : 이재진(李在鎭, 44세)
 ○ 소 속 : 서울대학교 컴퓨터공학부

2. 학력
  1986 - 1991 서울대학교 물리학 학사
  1993 - 1995 Stanford University, Computer Science 석사
  1995 - 1999 University of Illinois at Urbana-Champaign, Computer Science 박사

3. 경력사항 
  1999.08 - 1999.12  University of Illinois at Urbana-Champaign
    Dept. of Computer Science
    Visiting Lecturer
  2000.01 - 2002.08  Michigan State University
    Dept. of Computer Science and Engineering
    Assistant Professor
  2002.09 ~ 2004.09 서울대학교 컴퓨터공학부, 조교수
  2004.10 ~ 2010.09 서울대학교 컴퓨터공학부, 부교수
  2010.10 ~ 현재  서울대학교 컴퓨터공학부, 교수
  2009.04 ~ 현재  교과부 연구재단 지정 매니코어 프로그래밍 연구단, 단장

4. 주요연구업적
1. Sangmin Seo, Gangwon Jo, and Jaejin Lee. Performance Characterization of the NAS Parallel Benchmarks in OpenCL, IISWC '11: Proceedings of the 2011 IEEE International Symposium on Workload Characterization, pp. 137 ? 148, Austin, Texas, USA, November 2011.
2. Seungkyun Kim, Kiwon Kwon, Chihun Kim, Choonki Jang, Jaejin Lee, and Sang Lyul Min. Demand Paging Techniques for Flash Memory Using Compiler Post-pass Optimizations, ACM Transactions on Embedded Computing Systems, Vol. 10, No. 4, Article 40,  November 2011.
3. Sangmin Seo, Junghyun Kim, and Jaejin Lee. SFMalloc: A Lock-Free and Mostly Synchronization-Free Dynamic Memory Allocator for Manycores, PACT '11: Proceedings of the 20th ACM/IEEE/IFIP International Conference on Parallel Architectures and Compilation Techniques, pp. 253 ? 263, Galveston Island, Texas, USA, October 2011.
4. Jun Lee, Jungwon Kim, Junghyun Kim, Sangmin Seo, and Jaejin Lee. An OpenCL Framework for Homogeneous Manycores with no Hardware Cache Coherence, PACT '11: Proceedings of the 20th ACM/IEEE/IFIP International Conference on Parallel Architectures and Compilation Techniques, pp. 56 ? 67, Galveston Island, Texas, USA, October 2011.
5. Jungho Park, Choonki Jang and Jaejin Lee. A Software-Managed Coherent Memory Architecture for Manycores, Poster presentation in PACT '11: Proceedings of the 20th ACM/IEEE/IFIP International Conference on Parallel Architectures and Compilation Techniques, Galveston Island, Texas, USA, October 2011.
6. Jungwon Kim, Sangmin Seo, Jun Lee, Jeongho Nah, Gangwon Jo, and Jaejin Lee. OpenCL as a Programming Model for GPU Clusters, LCPC '11: Proceedings of the 24th International Workshop on Languages and Compilers for Parallel Computing, Fort Collins, Colorado, USA, September 2011.
7. Junghyun Kim, Sangmin Seo, and Jaejin Lee. An Efficient Software Shared Virtual Memory for the Single-chip Cloud Computer, APSys '11: Proceedings of the 2nd ACM SIGOPS Asia-Pacific Workshop on Systems, Shanghai, China, July 2011.
8. Choonki Jang, Jungwon Kim, Jaejin Lee, Hee-Seok Kim, Dong-Hoon Yoo, Sukjin Kim, Hong-Seok Kim, and Soojung Ryu. An Instruction-Scheduling-Aware Data Partitioning Technique for Coarse-Grained Reconfigurable Architectures, LCTES '11: Proceedings of the ACM SIGPLAN/SIGBED 2011 International Conference on Languages, Compilers, and Tools for Embedded Systems, pp.  151 ? 160, Chicago, Illinois, USA, April 2011.
9. Eunbyung Park, Bernhard Egger, and Jaejin Lee. Fast and Space Efficient Virtual Machine Checkpointing, VEE '11:  Proceedings of the 2011 ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments, pp. 75 ? 85, Newport Beach, California, USA, March 2011.
10. Jungwon Kim, Honggyu Kim, Joo Hwan Lee, and Jaejin Lee. Achieving a Single Compute Device Image in OpenCL for Multiple GPUs, PPoPP ?11: Proceedings of the 16th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, pp.  277 ? 288, San Antonio, Texas, USA, February 2011.

반응형

+ Recent posts