KR20210009311A - 효율적인 병렬식 계산을 위한 장치 및 방법 - Google Patents

효율적인 병렬식 계산을 위한 장치 및 방법 Download PDF

Info

Publication number
KR20210009311A
KR20210009311A KR1020207031743A KR20207031743A KR20210009311A KR 20210009311 A KR20210009311 A KR 20210009311A KR 1020207031743 A KR1020207031743 A KR 1020207031743A KR 20207031743 A KR20207031743 A KR 20207031743A KR 20210009311 A KR20210009311 A KR 20210009311A
Authority
KR
South Korea
Prior art keywords
processing
computing unit
processing element
rate
unit
Prior art date
Application number
KR1020207031743A
Other languages
English (en)
Inventor
베른하르트 프로뷔터
토마스 리페르트
Original Assignee
파르텍 클러스터 컴피턴스 센터 게엠베하
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 파르텍 클러스터 컴피턴스 센터 게엠베하 filed Critical 파르텍 클러스터 컴피턴스 센터 게엠베하
Publication of KR20210009311A publication Critical patent/KR20210009311A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5094Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/329Power saving characterised by the action undertaken by task scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • G06F9/4893Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues taking into account power or heat criteria
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Power Sources (AREA)
  • Advance Control (AREA)
  • Multi Processors (AREA)

Abstract

본 발명은 병렬 컴퓨팅 시스템에서 동작하기 위한 컴퓨팅 유닛을 제공하고, 이 컴퓨팅 유닛은 복수의 프로세싱 요소 및 컴퓨팅 유닛을 컴퓨팅 시스템의 다른 구성요소에 연결하기 위한 인터페이스를 포함하고, 각각의 프로세싱 요소는 공칭 최대 프로세싱 속도(NPR)를 가지고 각각의 프로세싱 요소는 데이터가 사전결정된 최대 데이터 속도(MBW)로 메모리 유닛으로부터 전송될 수 있도록 개별 메모리 유닛을 포함하며 인터페이스는 최대 데이터 전송 속도(CBW)를 제공하고, 초당 PP=n×NPR 동작이도록 공칭 최대 프로세싱 속도에서 동작하는 n개의 프로세싱 요소에 의해 획득가능한 컴퓨팅 유닛에 대해 사전결정된 최고 계산 성능(PP)를 제공하기 위해서, 컴퓨팅 유닛은 정수배 f×n의 프로세싱 요소를 포함하며 여기서 f는 1보다 크고 각각의 프로세싱 요소는 NPR/f의 프로세싱 속도로 동작하도록 제한된다.

Description

효율적인 병렬식 계산을 위한 장치 및 방법
본 발명은 병렬 프로세싱 시스템 및 특히 성능/에너지 소비 측면에서 개선된 효율을 갖는 병렬 프로세싱 시스템에 관한 것이다.
일반적인 병렬 프로세싱 시스템에서, 각각 하나 이상의 프로세싱 요소를 포함하는 다수의 계산 노드는 고속 네트워크에 의해 연결된다. 계산 노드의 프로세싱 요소는 각각 내부 메모리를 갖는다. 프로세싱 요소는 자신의 계산 노드 내에서 연결된다. 이러한 온-계산 노드 연결성은 고속 네트워크, 별도의 온-계산 노드 고속 네트워크 또는 공통 메모리(예로서 대칭식 멀티프로세싱(SMP) 시스템)의 기술로 구현될 수 있다. 이러한 구성은 도 1에 도시되었다.
도 1은 각각이 개별 메모리(MEM)를 갖는 복수의 프로세싱 요소(PE)를 포함하는 각 계산 노드를 갖는 복수의 계산 노드(CN)의 구성을 도시한다. 계산 노드는 고속 네트워크(HSN)를 통해 서로 연결되며, 각 계산 노드는 고속 네트워크에 연결하기 위한 네트워크 인터페이스 컨트롤러(NIC)를 포함한다. 개별 프로세싱 요소는 함께 연결되고 네트워크 인터페이스 컨트롤러에도 연결된다.
프로세싱 요소는 프로세싱 요소가 초당 실행할 수 있는 (부동 소수점) 연산의 수에 대한 상한인 최고 성능(PP)를 가지며, 이는 초당 부동 소수점 연산 또는 줄여서 "플롭(flops)"으로 측정된다.(부동 소수점 연산이 인용되는 동안, 연산은 동일하게 정수 연산일 수 있다.) 계산 노드의 최고 성능(PPCN)은 프로세싱 요소의 최고 성능의 합계이다. 일반적으로 주어진 애플리케이션(A)는 최고 성능의 일부분(ηA)만 구현할 수 있으며, 이때 0<η<1, η는 지속 효율성이라고 부른다. 그 이유는 데이터 전송 속도, 즉 프로세싱 요소의 메모리와 계산 레지스터 사이의 메모리 대역폭(MBW)이 유한하기 때문이며, 따라서 주어진 애플리케이션에 대한 최고 성능의 이용이 ηA로 감소할 것이다. 유사한 논의가 입력/출력 데이터 전송 속도, 즉 다른 프로세싱 요소 오프-계산 노드에 대한 프로세싱 요소의 통신 대역폭(CBW)에 대해 이루어질 수 있으며, 잠재적으로 최고 성능의 활용을 추가로 감소시킨다.
경험상, 고성능 컴퓨팅 실무자들은 대부분의 데이터-집약적 애플리케이션에 대해 1에 근접한 η를 획득하기 위해 필요한 요구사항 1 바이트/플롭의 비율 R=MBW/PP를 고려한다. 최고 성능을 소진하기 위해 주어진 애플리케이션 A에 필요한 데이터 속도에 따라, 프로세싱 요소의 실제 메모리 대역폭은 애플리케이션 A에 대해 획득될 수 있는 ηA를 결정한다.
현재의 하이-엔드 CPU는 0.05 내지 0.1 바이트/플롭만큼 낮은 R로 어려움을 겪으며, 이 수치는 프로세싱 요소의 컴퓨팅 코어 수가 증가하면서 지난 10년 동안 지속적으로 감소한 것이다. 현재의 하이-엔드 GPU는 주로 그래픽 애플리케이션과 최근에는 딥 러닝 애플리케이션의 데이터 요구 사항을 충족하도록 설계된 0.15 바이트/플롭 미만의 R을 달성한다. 유해한 결과로서, 대부분의 데이터 집약적인 애플리케이션은 필요한 프로세싱 요소의 측면에서 유사성 또는 실행중인 알고리즘에 의한 임의의 추가 감소와 관계 없이, 현재 CPU에 대해 5 내지 10% 미만의 ηA와 현재 GPU에 대해 약 15%를 선험적으로 획득할 것이다. 데이터 집약적 애플리케이션일수록 프로세싱 요소의 주어진 R에 대한 효율성 ηA가 더 낮아진다.
이러한 문제는, 예를 들어 http://www.electronicdesign.com/analog/memory-wall-ending-multicore-scaling에서 입수가능한 2011년 Electronic Design에 공개된 Al Wegner의 "The Memory Wall is Ending Multicore Scaling"에서 기술된 것처럼 다른 사람들에 의해 확인되었다.
온-계산 노드 및 오프-계산 노드의 다른 프로세싱 요소로의 데이터 전송 속도를 기술하는 주어진 프로세싱 요소의 통신 대역폭에 대해서 유사한 고려가 이루어질 수 있다. 여기서 중요한 것은 코드의 확장가능성에 대한 통신 대역폭의 영향이다.
온-계산 노드의 통신 대역폭의 계산 노드에 관련된 한, 프로세싱 요소가 고속 네트워크를 통해 연결되는 계산 노드, 프로세싱 요소가 계산 노드 상의 개별 네트워크로 연결되고 다시 고속 네트워크로 연결되는 계산 노드 및 공통 메모리를 통해서 온-계산 노드에서 데이터를 교환하는 계산 노드의 세 가지 경우 사이를 구별할 수 있다.
오프-계산 노드에서 통신과 관련하여, 고성능 컴퓨팅 실무자는 비율 r=CBW/MBW>0.1 내지 0.2를 다수의 애플리케이션을 위한 확장가능성을 획득하기에 적절하게 고려한다. 통신 대역폭이 메모리 대역폭에 가까울수록 확장가능성에 대한 조건이 더 우수함이 명백하다.
이론적으로 가능한 통신 대역폭은 프로세싱 요소로부터 고속 네트워크까지 이용가능한 직렬 래인의 수에 의해 결정된다(이것은 CPU 및 GPU 모두에 적용됨). 이러한 수는 현재의 칩 기술에 제약을 받는 직렬 변환기-직병렬 변환기 구현에 의해 제한된다.
계산 노드의 네트워크 인터페이스 컨트롤러(NIC)는 계산 노드의 프로세싱 요소로부터/로의 데이터 스트림을 유지하도록 적절하게 치수화되는 것이 중요하다.
US 2005/0166073 A1은 시스템 메모리 대역폭을 최대화하기 위한 시스템 프로세서의 가변 동작 주파수의 사용을 기술한다.
US 2011/0167229 A1은 메모리와 반대로, 하드 드라이브와 같은 저장 장치에 각각 연결된 다중 컴퓨팅 장치를 포함하는 컴퓨팅 시스템을 기술한다. 시스템의 목적은 저장된 데이터를 검색하는 데이터 속도와 프로세싱 속도를 일치시키는 것이다. 이 문서에서의 제안은 데이터 전송 속도가 더 높은 저장 장치, 즉 하드 디스크 드라이브 대신 또는 그에 추가로 특히 더 낮은 클록 속도에서 동작하는 저전력 프로세서와 결합된 고체 상태 드라이브를 사용하는 것이다.
US 3025/0095620은 컴퓨팅 시스템에서 워크로드의 확장가능성을 추정하기 위한 기술을 설명한다. 이 시스템은 단일 멀티코어 프로세서를 갖는다.
본 발명은 병렬 컴퓨팅 시스템에서 동작하기 위한 컴퓨팅 유닛을 제공하고, 이 컴퓨팅 유닛은 복수의 프로세싱 요소 및 컴퓨팅 유닛을 컴퓨팅 시스템의 다른 구성요소에 연결하기 위한 인터페이스를 포함하고, 각각의 프로세싱 요소는 공칭 최대 프로세싱 속도(NPR)를 가지고 각각의 프로세싱 요소는 데이터가 사전결정된 최대 데이터 속도(MBW)로 메모리 유닛으로부터 전송될 수 있도록 개별 메모리 유닛을 포함하며 인터페이스는 최대 데이터 전송 속도(CBW)를 제공하고, 초당 PP=n×NPR 동작이도록 공칭 최대 프로세싱 속도에서 동작하는 n개의 프로세싱 요소에 의해 획득가능한 컴퓨팅 유닛에 대해 사전결정된 최고 계산 성능(PP)를 제공하기 위해서, 컴퓨팅 유닛은 정수배 f×n의 프로세싱 요소를 포함하며 여기서 f는 1보다 크고 각각의 프로세싱 요소는 NPR/f의 프로세싱 속도로 동작하도록 제한된다.
다른 측면에서, 본 발명은 멀티코어 프로세서 및 복수의 그래픽 프로세싱 유닛(GPU)을 포함하는 컴퓨팅 유닛을 동작시키는 방법을 제공하며, 각각의 GPU는 초당 PPG 동작의 공칭 최고 성능을 가지며, 이 방법은 GPU를 자신의 공칭 최고 성능 비율의 분율 1/f로 동작시키는 것을 포함하며, 컴퓨팅 유닛은 초당 PP 연산의 사전결정된 최고 계산 성능을 제공하고 컴퓨팅 유닛은 PP가 PPG의 n배와 같도록 n×f GPU를 갖는다.
본 발명은 인자 f만큼 프로세싱 요소의 클록 주파수 v를 감소시키면 프로세싱 요소의 에너지 소비가 인자 f만큼 또는 그보다 더 많이 감소할 수 있다는 사실에 관련된다. 이러한 프로세스를 "언더클록킹(underclocking)"이라고 지칭한다.
다음의 대략적인 공식
Figure pct00001
은 프로세싱 요소의 디바이스의 전력 소비를 나타내고, 여기서 C는 커패시턴스, V는 전압, 그리고 P는 전력 소비이다. 이것은 P가 v와 선형적으로 그리고 V와 2차식으로 확장함을 의미한다.
예를 들어 GPU의 클록 주파수와 관련하여 최근 몇 년 동안 전력 모델링에 대한 다수의 글이 발표되었으며, 특히 프로세싱 요소의 개별 부분들에 전력 소비를 할당하도록 노력하고 있다. 최신 NVIDIA GPU를 사용하면, 스트리밍 멀티프로세서(SM)의 주파수를 변경할 수 있다. 이것은 이용가능한 전력 예산을 최적으로 사용하기 위해 하드웨어에 의해 점점 동적으로 그리고 자율적으로 제어되도록 설계되고 있다. 문헌에 따르면, 메모리 하위시스템의 주파수는 변경될 수 없으며 현재 세대에서 자율적으로 클록된다. 이는 메모리 대역폭에 의해 성능이 제한되는 애플리케이션이 SM의 주파수를 다소 감소시킴으로써 에너지 균형을 향상시키는 것을 가능하게 한다. 이러한 방식으로 약 10%의 효과를 기대할 수 있다.
언더클록된 기계의 성능은 종종 예상보다 낫다. 일반적인 데스크톱의 사용에서는 전체 프로세싱 요소 성능이 거의 필요하지 않다. 시스템이 바쁜 경우조차도, 일반적으로 메모리 또는 다른 디바이스로부터의 데이터를 기다리는 데에 많은 시간이 소요된다.
이러한 사실은 원칙적으로 계산 노드의 누적 계산 능력 PPCN을 변경하지 않고 주파수 v에서 동작하는 계산 노드 상에 장착된 프로세싱 요소를 주파수 v/f에서 동작하는 다수의 f 프로세싱 요소로 대체하는 것을 가능하게 한다. 또한, 계산 노드의 에너지 소비가 유지되거나 잠재적으로 감소된다. 실제로 f=2 또는 f=3을 선택할 수 있다.
본 발명의 핵심 측면은 최신 CPU 및 GPU와 같은 프로세싱 요소의 경우, 계산 주파수 f가 동시에 프로세싱 요소의 메모리 대역폭을 감소시키지 않고 감소될 수 있다는 것이다. 결과적으로, 비율 R은 이러한 수정 하에서 인자 f만큼 증가된다. 메모리 속도를 조정하지 않고는 컴퓨팅 코어의 동작 주파수를 증가시킬 수 없다는 점에 주목한다.
둘째로, 계산 노드의 프로세싱 요소의 수를 인자 f만큼 증가시키는 것은 계산 노드 상에서 이용가능한 직렬 래인의 총 수를 인자 f만큼 증가시킨다. 따라서, 오프-계산 노드의 입력/출력 동작에 대한 비율 r 또한 인자 f만큼 증가된다.
이러한 개선은 계산 노드당 동시성을 인자 f만큼 증가시킨다. 이는 높은 확장가능성을 가진 다양한 애플리케이션에 대한 알고리즘식 접근법의 조정을 필요로 하지만 원칙적으로는 문제가 없다.
에너지 소비가 일정하게 유지될 것으로 예상되는 반면, 프로세싱 요소의 수의 증가는 첫눈에 투자 비용을 증가시킬 수 있다. 그러나 이러한 비용의 많은 부분은 계산 노드당 총 메모리 양을 일정하게 유지하면서 각각의 프로세싱 요소에 대해 f의 인자만큼 감소될 수 있는 메모리로 인한 것일 것이다. 또한, 더 낮은 주파수에서 하이-엔드 프로세싱 요소를 사용하는 것은 최고 주파수에서 동작할 수 없는 훨씬 저렴한 수율 부분을 활용하는 것을 가능하게 할 수 있다.
두 번째 조치로서, 프로세싱 요소의 동작 전압(V)의 감소가 수행될 수 있으며 에너지 소비의 추가 감소로 이어질 것이다. 전압에 대한 의존성은 전력 소비가 전압에 따라 2차식으로 확장하기 때문에 극적일 수 있다. 이러한 "언더볼팅(undervolting)"은 언더클라킹에 추가로 또는 개별적으로 사용될 수 있으며 프로세싱 요소의 계산 섹션의 에너지 소비를 개선하기 위한 본 발명의 전략의 또 다른 요소이다.
본 발명은 성능 및 에너지 소비의 측면에서 병렬 프로세싱 시스템의 효율성을 증가시키는 장치를 제공한다. 프로세싱 요소의 동작 주파수를 감소시키고 그에 따라 프로세싱 요소의 수를 증가시켜 증가된 애플리케이션 성능에서 전체 시스템의 동일한 최고 성능을 획득하는 기술적 수정이 도입되었다. 이러한 수정은 전체 효율성에 영향을 미치는 두 가지 시스템 파라미터: 프로세싱 노드의 최고 성능으로 분할된 데이터 대역폭을 등록하기 위한 메모리 및 프로세싱 노드의 최고 성능으로 분할된 병렬 시스템의 고속 네트워크로의 프로세싱 노드의 데이터 대역폭에 영향을 미친다. 이는 노드의 유사성(parallelism)이 일정한 또는 더 낮은 노드 에너지 소비로 증가될 수 있게 한다. 이러한 방식으로, 시스템이 최적의 애플리케이션 성능으로 조정될 수 있다. 원하는 조치에 대해 최적이 선택될 수 있으며, 예를 들어 소정의 애플리케이션 포트폴리오의 평균 애플리케이션 성능 또는 소정의 애플리케이션에 대한 최적의 성능이 선택될 수 있다. 사용된 프로세싱 요소가 메모리 및 입력/출력 성능을 유지하면서 프로세싱 유닛의 계산 코어의 더 낮은 동작 주파수에서 동작하기 때문에, 전체 투자 비용도 유사할 것으로 예상된다.
제시된 본 발명은 선택된 원하는 기준, 예를 들어 소정의 애플리케이션의 포트폴리오에 대한 평균 최대 전력 또는 소정의 애플리케이션에 대한 최대 전력에 따라, 프로세싱 요소 주파수의 감소 및 상응하는 계산 노드 상의 프로세싱 요소의 수의 증가를 결정하는 인자 f를 선택할 수 있게 한다. 실제로, 두 가지 수정사항이 특히 확장가능성과 관련한 애플리케이션 및 아키텍처의 상호작용과 관련하여 에너지 소비 및 투지 비용뿐 아니라 최적의 성능과 같은 시스템 핵심 파라미터의 영향에 따라 독립적으로 적용될 수도 있다.
본 발명의 바람직한 실시예는 첨부된 도면을 참조하여 단지 예로서만 설명될 것이다:
도 1은 종래의 병렬 프로세싱 시스템의 단순화된 개략도;
도 2는 2개의 그래픽 프로세싱 유닛, GPU 및 25 테라플롭의 최고 성능 속도를 포함하는 계산 노드의 개략도; 그리고
도 3은 도 2의 구성보다 2배 많은 그래픽 프로세싱 유닛을 포함하지만 동일한 최대 성능 속도를 포함하는 계산 노드의 개략도이다.
본 발명은 오늘날 존재하는 기술로 구현될 수 있다. 예를 들어, 모든 목적을 위해 참조로 본 명세서에 포함된 WO 2012/049247 A1 및 후속 출원 EP 16192430.3 및 EP 18152903.3에 기술된 바와 같이 2021년까지 최고 엑사스케일 성능을 목표로하는 모듈식 슈퍼컴퓨팅 시스템 내의 부스터 모듈에서 애플리케이션 성능을 가속화하는 방법일 수 있다. 본 발명의 목표는 임의의 다른 아키텍처 설계에 비해 데이터 집약적인 계산을 위한 온-계산 노드 애플리케이션 성능을 인자 f만큼 개선하고, 또한 큰 통신 요구사항의 오프-계산 노드를 갖는 다수의 애플리케이션의 보다 나은 스케일링을 위해 메모리 대역폭과 보조를 맞추기 위해 통신 대역폭을 증가시키는 것이다.
Mellanox BlueField(BF) 멀티코어 시스템 온칩 기술을 사용하는 계산 노드의 세트에 의해 구현된다. BlueField 카드는 다수의 그래픽 프로세서 유닛, GPU, PCIe 4세대 스위치 및 하나 이상의 높은 데이터 속도, HDR, 스위치를 포함할 수 있다. 각각의 BlueField 카드에는 최대 4개의 GPU가 장착될 수 있다. BF 카드는 각각 2개의 Mellanox 호스트 채널 어댑터인 HCA를 포함하며, 따라서 오프-계산 노드에서 2배에 이르는 HDR 성능이 획득될 수 있다.
AMD Radeon Vega 20 GPU는 2018년 중반에 일반 배송이 예상되는 프로세싱 요소에 대한 구체적인 예로 간주된다. Vega-20 GPU는 16개의 PCIe gen4 래인에 의해 BF-계산 노드 상의 PCI-e 인터페이스에 연결될 수 있다. GPU에는 각각 8GB의 4개의 메모리 뱅크로 분할된 32GB의 HBM-2 메모리가 장착될 것으로 예상된다. 16GB의 HBM-2도 가능하며, 각각 4GB의 4개의 메모리 뱅크에 다시 구성된다. 따라서, 메모리 속도는 두 가지 구성 모두에 대해 동일할 수 있다.
예상 메모리 대역폭이 초당 1.28 TB이고 예상 최고 성능이 초당 12.5 테라플롭(2배 정밀도)이면, R=0.1이다. 이것은 실무자의 1 바이트/플롭 규칙과는 인자 10만큼 거리가 멀지만, 여전히 사용가능한 최고의 비율 R 중 하나이다.
통신 대역폭은 16개의 PCIe gen4 래인으로 제한되며, 각각의 래인 및 방향당 2GB가 가능하다. r=64GB/1.28TB=0.05이면, 데이터 집약적인 애플리케이션에 대한 심각한 확장가능성 문제를 해결해야 할 것이다. R 및 r의 임의의 개선이 이러한 측면에서 도움이 될 것이다.
이것은 도 2 및 도 3에 의해 개략적으로 도시되었다.
표준 구성이 BF-CN당 프로세싱 요소로 2개의 GPU를 포함하고, 최대 성능을 획득하는 최고 주파수 v에서 동작되게 한다. 초기 구성은 도 2에 도시되었다. 계산 노드에 관한 한, 아래의 시스템 파라미터가 제공되거나 예상된다:
· 계산 노드당 GPU의 수: 2
· f: 1
· 계산 노드당 에너지 소비: 2×150W=300W
· 계산 노드당 메모리: 64GB
· 계산 노드당 메모리 대역폭: 초당 2.56TB
· 계산 노드당 최고 성능: 초당 25 테라플롭 dp
· 계산 노드당 R: 0.1
· 계산 노드당 PCIe gen4 래인: 32
· 계산 노드당 통신 속도 bi-dir: 128 Gbyte/s(프로세싱 요소에서 프로세싱 요소로의 경우 ½, 프로세싱 요소에서 NIC로의 경우 ½)
· 2×Mellanox HDR 가능: 양방향 초당 100GB
· 계산 노드당 r: 0.05
· NIC가 통신과 균형을 이루지 않음
도 3에 도시된 개선된 구성은 f=2인 최고 주파수 v의 절반에서 동작되는 BF 계산 노드당 프로세싱 요소로서 4개의 GPU를 포함하고, 이것에 의해 동일한 계산 공칭 노드 최고 성능 값을 제공한다. 이러한 경우, 프로세싱 요소는 표준 구성의 최고 성능의 절반까지 동작할 것이다. 향상된 계산 노드와 관련하여, 아래의 시스템 파라미터가 제공되거나 예상된다:
· 계산 노드당 GPU 수: 4
· f: 2
· 예상되는 계산 노드당 에너지 소비량: 4×75W=300W
· 계산 노드당 메모리: 64GB @ GPU당 16GB 또는 128GB @ 32GB
· 계산 노드당 메모리 대역폭: 초당 5.12TB
· 계산 노드당 최고 성능: 초당 25 테라플롭 dp
· 계산 노드당 R: 0.2
· 계산 노드당 PCIe gen4 래인: 64
· 계산 노드당 통신 속도 bi-dir: 256 Gbyte/s(프로세싱 요소에서 프로세싱 요소로의 경우 ½, 프로세싱 요소에서 NIC로의 경우 ½)
· 2×Mellanox HDR 가능: 양방향 초당 100GB
· 계산 노드당 r: 0.05
· 통신에 균형을 맞춘 NIC
에너지 소비를 추가로 감소시키도록 언더 볼팅에 언더클록킹이 추가될 수 있다. 언더볼팅 하의 프로세싱 요소의 안정성은 전체 전압이 인가된 경우보다 영향을 덜 받을 수 있다.

Claims (7)

  1. 병렬 컴퓨팅 시스템에서 동작하기 위한 컴퓨팅 유닛으로서,
    상기 컴퓨팅 유닛은 복수의 프로세싱 요소 및 상기 컴퓨팅 유닛을 컴퓨팅 시스템의 다른 구성요소에 연결하기 위한 인터페이스를 포함하고, 각각의 프로세싱 요소는 공칭 최대 프로세싱 속도(NPR)를 가지고 각각의 프로세싱 요소는 데이터가 사전결정된 최대 데이터 속도(MBW)로 메모리 유닛으로부터 전송될 수 있도록 개별 랜덤 액세스 메모리 유닛을 포함하며 인터페이스는 최대 데이터 전송 속도(CBW)를 제공하고, 초당 PP=n×NPR 동작이도록 공칭 최대 프로세싱 속도에서 동작하는 n개의 프로세싱 요소에 의해 획득가능한 컴퓨팅 유닛에 대해 사전결정된 최고 계산 성능(PP)를 제공하기 위해서, 상기 컴퓨팅 유닛은 정수배 f×n의 프로세싱 요소를 포함하며 여기서 f는 1보다 크고 각각의 프로세싱 요소는 NPR/f의 프로세싱 속도로 동작하도록 제한되는, 컴퓨팅 유닛.
  2. 제 1 항에 있어서,
    상기 유닛은 n개의 프로세싱 요소를 갖는 가상 컴퓨팅 유닛의 메모리 대역폭의 f배의 메모리 대역폭을 나타내는, 컴퓨팅 유닛.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 컴퓨팅 유닛의 프로세싱 요소는 그래픽 프로세싱 유닛인, 컴퓨팅 유닛.
  4. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    상기 프로세싱 요소는 인터페이스 유닛에 의해 함께 연결되고, 각각의 프로세싱 요소는 복수의 S의 직렬 데이터 래인에 의해 인터페이스 유닛에 연결되는, 컴퓨팅 유닛.
  5. 제 1 항 내지 제 4 항 중 어느 한 항에 있어서,
    상기 컴퓨팅 유닛은 프로세싱 요소를 제어하도록 구성된 멀티코어 프로세서를 포함하는 컴퓨터 카드인, 컴퓨팅 유닛.
  6. 제 1 항 내지 제 5 항 중 어느 한 항에 있어서,
    상기 최대 데이터 전송 속도는 프로세싱 요소에서 프로세싱 요소로의 통신 속도의 30% 이내인, 컴퓨팅 유닛.
  7. 멀티코어 프로세서 및 복수의 그래픽 프로세싱 유닛(GPU)를 포함하는 컴퓨팅 유닛을 동작하는 방법으로서,
    각각의 GPU는 초당 PPG 동작의 공칭 최고 성능을 가지고, 상기 방법은 GPU를 자신의 공칭 최고 성능 속도의 분율 1/f로 동작하는 것을 포함하며, 상기 컴퓨팅 유닛은 초당 PP 동작의 사전결정된 최고 계산 성능을 제공하고 상기 컴퓨팅 유닛은 PP가 PPG의 n배이도록 n×f의 GPU를 갖는, 방법.
KR1020207031743A 2018-05-15 2019-05-15 효율적인 병렬식 계산을 위한 장치 및 방법 KR20210009311A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP18172497.2 2018-05-15
EP18172497 2018-05-15
PCT/EP2019/062483 WO2019219747A1 (en) 2018-05-15 2019-05-15 Apparatus and method for efficient parallel computation

Publications (1)

Publication Number Publication Date
KR20210009311A true KR20210009311A (ko) 2021-01-26

Family

ID=62217759

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207031743A KR20210009311A (ko) 2018-05-15 2019-05-15 효율적인 병렬식 계산을 위한 장치 및 방법

Country Status (7)

Country Link
US (1) US20210157656A1 (ko)
EP (1) EP3794448A1 (ko)
JP (1) JP2021523491A (ko)
KR (1) KR20210009311A (ko)
CN (1) CN112166414A (ko)
CA (1) CA3097289A1 (ko)
WO (1) WO2019219747A1 (ko)

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002099433A (ja) * 2000-09-22 2002-04-05 Sony Corp 演算処理システム及び演算処理制御方法、タスク管理システム及びタスク管理方法、並びに記憶媒体
US7321979B2 (en) 2004-01-22 2008-01-22 International Business Machines Corporation Method and apparatus to change the operating frequency of system core logic to maximize system memory bandwidth
JP4894915B2 (ja) * 2007-03-29 2012-03-14 富士通株式会社 情報処理装置設計方法、情報処理装置設計プログラム
FR2943158B1 (fr) * 2009-03-12 2011-04-08 St Wireless Sa Procede de commande d'un transfert de donnees sur un bus informatique a transmission serie.
US20110167229A1 (en) * 2009-12-16 2011-07-07 The Johns Hopkins University Balanced data-intensive computing
EP2442228A1 (en) 2010-10-13 2012-04-18 Thomas Lippert A computer cluster arrangement for processing a computaton task and method for operation thereof
US9594560B2 (en) * 2013-09-27 2017-03-14 Intel Corporation Estimating scalability value for a specific domain of a multicore processor based on active state residency of the domain, stall duration of the domain, memory bandwidth of the domain, and a plurality of coefficients based on a workload to execute on the domain
EP3126969A4 (en) 2014-04-04 2017-04-12 Microsoft Technology Licensing, LLC Expandable application representation
US10496304B2 (en) * 2015-01-02 2019-12-03 Reservoir Labs, Inc. Systems and methods for minimizing communications
CN107465500B (zh) * 2017-07-20 2020-04-03 广州慧睿思通信息科技有限公司 基于fpga的md5暴力破解系统及方法

Also Published As

Publication number Publication date
US20210157656A1 (en) 2021-05-27
CN112166414A (zh) 2021-01-01
WO2019219747A1 (en) 2019-11-21
JP2021523491A (ja) 2021-09-02
CA3097289A1 (en) 2019-11-21
EP3794448A1 (en) 2021-03-24

Similar Documents

Publication Publication Date Title
Kwon et al. Tensordimm: A practical near-memory processing architecture for embeddings and tensor operations in deep learning
Li et al. Kv-direct: High-performance in-memory key-value store with programmable nic
Pekhimenko et al. A case for toggle-aware compression for GPU systems
US9430242B2 (en) Throttling instruction issue rate based on updated moving average to avoid surges in DI/DT
CN112947736B (zh) 具有相同的指令集架构(isa)的非对称性能多核架构
Keckler et al. GPUs and the future of parallel computing
US9811384B2 (en) Dynamic data partitioning for optimal resource utilization in a parallel data processing system
CN104765577B (zh) 一种频率自适应的高速存储系统
EP2680155A1 (en) Hybrid computing system
Potluri et al. Efficient intra-node communication on intel-mic clusters
McCalpin Memory bandwidth and system balance in hpc systems
CN108700929B (zh) 分层自主电容管理
Sun et al. A ugni-based asynchronous message-driven runtime system for cray supercomputers with gemini interconnect
KR102653013B1 (ko) 큐 페어 기반 NVMeoF 이니시에이터-타겟 시스템에서 I/O 전송을 위한 방법 및 시스템
US20190094926A1 (en) Multi-criteria power management scheme for pooled accelerator architectures
EP3575969A1 (en) Reducing cache line collisions
Barrett et al. Reducing the bulk in the bulk synchronous parallel model
KR20210009311A (ko) 효율적인 병렬식 계산을 위한 장치 및 방법
US10255070B2 (en) ISA extensions for synchronous coalesced accesses
Byrne et al. Power-efficient networking for balanced system designs: early experiences with pcie
RU2815262C2 (ru) Устройство и способ эффективного параллельного вычисления
Sikder et al. Exploring wireless technology for off-chip memory access
Kogge et al. [2010] facing the exascale energy wall
CN108897714A (zh) 一种区域自治的多核或众核处理器芯片
Rabinovitz et al. Network offloaded hierarchical collectives using ConnectX-2’s CORE-Direct capabilities

Legal Events

Date Code Title Description
E902 Notification of reason for refusal