RCUDA
rCUDA![]() | |
개발자 | 발렌시아 대학교 |
---|---|
안정적 해제 | 20.07 / 2020년 7월 26일; 전 |
운영 체제 | 리눅스 |
유형 | GPGPU |
웹사이트 | rcuda |
원격 CUDA를 뜻하는 rCUDA는 원격 GPU 가상화를 위한 미들웨어 소프트웨어 프레임워크의 일종이다.CUDA 애플리케이션 프로그래밍 인터페이스(API)와 완벽하게 호환되며, 하나 이상의 CUDA 지원 GPU를 단일 애플리케이션에 할당할 수 있다.각 GPU는 클러스터에 속하거나 가상 시스템 내부에서 실행될 수 있다.완전한 활용도가 부족한 GPU 클러스터의 성능을 향상시키기 위한 접근법이다.GPU 가상화는 클러스터에 필요한 GPU 수를 줄이고, 결과적으로 에너지, 취득 및 유지보수를 줄이는 비용 구성으로 이어진다.
권장되는 분산 가속 아키텍처는 일부 클러스터 노드에만 GPU가 연결된 고성능 컴퓨팅 클러스터다.로컬 GPU가 없는 노드가 GPU 자원을 필요로 하는 애플리케이션을 실행할 때, 커널의 원격 실행은 로컬 시스템 메모리와 원격 GPU 메모리 사이의 데이터와 코드 전송에 의해 지원된다. rCUDA는 이러한 클라이언트-서버 아키텍처를 수용하도록 설계되었다.한쪽에서는 클라이언트가 고급 CUDA Runtime API에 래퍼 라이브러리를 채용하고, 다른 한쪽에서는 TCP 포트에서 요청을 수신하는 네트워크 청취 서비스가 있다.서로 다른 GPU 가속 애플리케이션을 실행하는 여러 노드는 동시에 클러스터에 설치된 전체 가속기 세트를 사용할 수 있다.클라이언트는 요청을 해당 컴퓨터에 설치된 GPU에 액세스하여 요청을 실행하는 서버 중 하나에 전달한다.GPU의 시간 다중화, 즉 공유는 각 원격 GPU 실행 요청에 대해 서로 다른 서버 프로세스를 생성함으로써 이루어진다.[1][2][3][4][5][6]
rCUDA v20.07
rCUDA 미들웨어는 CUDA 호환 장치의 원격 동시 사용을 가능하게 한다.
rCUDA는 클라이언트와 서버 간의 통신을 위해 InfiniBand 네트워크 또는 소켓 API를 사용한다. rCUDA는 세 가지 다른 환경에서 유용할 수 있다.
- 군집.고성능 클러스터에 설치된 GPU 수를 줄이려면 다음과 같이 하십시오.이는 에너지 절약과 더불어 취득 비용, 유지보수, 공간, 냉각 등과 같은 기타 관련 절감으로 이어진다.
- 학계.상품 네트워크에서, 많은 학생들에게 동시에 몇 개의 고성능 GPU에 대한 접근을 제공한다.
- 가상 시스템.물리적 시스템의 CUDA 시설에 액세스할 수 있도록 하기 위해.
현재 버전의 rCUDA(v20.07)는 그래픽 상호운용성을 제외한 CUDA 버전 9.0을 지원한다. rCUDA v20.07은 클라이언트와 서버 양쪽의 Linux OS(64비트 아키텍처용)를 대상으로 한다.
CUDA 애플리케이션은 rCUDA와 함께 실행되기 위해 소스 코드를 변경할 필요가 없다.
참조
- ^ J. Prades; F. Silla (December 2019). "GPU-Job Migration: the rCUDA Case". Transactions on Parallel and Distributed Systems, vol 30, no. 12.
{{cite journal}}
:Cite 저널은 필요로 한다.journal=
(도움말)CS1 maint: 위치(링크) - ^ J. Prades; C. Reaño; F. Silla (March 2019). "On the Effect of using rCUDA to Provide CUDA Acceleration to Xen Virtual Machines". Cluster Computing, vol.22, no. 1.
{{cite journal}}
:Cite 저널은 필요로 한다.journal=
(도움말)CS1 maint: 위치(링크) - ^ F. Silla; S. Iserte; C. Reaño; J. Prades (July 2017). "On the Benefits of the Remote GPU Virtualization Mechanism: the rCUDA Case". Concurrency and Computation: Practice and Experience, vol. 29, no. 13.
{{cite journal}}
:Cite 저널은 필요로 한다.journal=
(도움말)CS1 maint: 위치(링크) - ^ J. Prades; B. Varghese; C. Reaño; F. Silla (October 2017). "Multi-Tenant Virtual GPUs for Optimising Performance of a Financial Risk Application". Journal of Parallel and Distributed Computing, vol. 108.
{{cite journal}}
:Cite 저널은 필요로 한다.journal=
(도움말)CS1 maint: 위치(링크) - ^ F. Pérez; C. Reaño; F. Silla (June 6–9, 2016). "Providing CUDA Acceleration to KVM Virtual Machines in InfiniBand Clusters with rCUDA". 16th IFIP International Conference on Distributed Applications and Interoperable Systems (DAIS 2016), Heraklion, Crete, Greece.
{{cite journal}}
:Cite 저널은 필요로 한다.journal=
(도움말)CS1 maint: 위치(링크) - ^ S. Iserte; J. Prades; C. Reaño; F. Silla (May 16–19, 2016). "Increasing the Performance of Data Centers by Combining Remote GPU Virtualization with Slurm". 16th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (CCGRID 2016), Cartagena, Colombia.
{{cite journal}}
:Cite 저널은 필요로 한다.journal=
(도움말)CS1 maint: 위치(링크)