• 돌아가기
  • 아래로
  • 위로
  • 목록
  • 댓글
하드웨어

NVIDIA와 IBM은 GPU를 SSD에 직접 연결하기 위해 노력하고 있습니다.

초보나스 초보나스 66

2

2
출처 https://wccftech.com/nvidia-ibm-bam-concept-connect-gpu-to-ssd-for-boost-in-performance-without-cpu/

1.png.jpg

 

NVIDIA, IBM 및 여러 대학 구성원은 GPU 가속 애플리케이션을 위한 상당한 양의 데이터 스토리지에 대한 빠른 "세밀한 액세스"를 제공하는 아키텍처를 만들었습니다. 이 기술은 인공 지능, 분석 및 기계 학습 교육과 같은 분야에 도움이 될 것입니다.

 

 

CPU에 의존하지 않고 SSD에 직접 연결하여 성능을 향상시키는 NVIDIA, IBM 및 대학의 GPU 성능 기술 혁신

Big Accelerator Memory(BaM)는 성능과 용량을 향상시킬 스토리지 액세스와 같은 표준 CPU에 대한 NVIDIA GPU 및 동급 하드웨어 가속기의 의존도를 낮추기 위한 흥미로운 시도입니다.

 


BaM의 목표는 GPU 메모리 용량을 확장하고 효과적인 스토리지 액세스 대역폭을 강화하는 동시에 GPU 스레드에 대한 높은 수준의 추상화를 제공하여 확장 메모리 계층 구조의 대규모 데이터 구조에 대한 온디맨드 세분화된 액세스를 쉽게 만드는 것입니다.

 

 

— 연구원들이 작성한 BaM 디자인 페이퍼


 

NVIDIA는 일상적인 CPU 중심 작업을 GPU 성능 코어로 옮기는 것과 같은 독창적인 프로젝트에 광범위한 리소스를 사용하는 BaM 팀의 가장 저명한 구성원입니다. 가상 주소 변환, 페이지 오류 기반 주문형 데이터 로딩, 상당한 양의 데이터를 관리하기 위한 추가 표준 CPU 기반 메커니즘에 의존하는 대신, 새로운 BaM은 소프트웨어 및 하드웨어 아키텍처를 제공하여 NVIDIA 그래픽 프로세서가 데이터를 직접 가져올 수 있도록 합니다. CPU 코어에만 의존하지 않고 메모리 및 저장 영역에서 데이터를 처리합니다.

 

시청자를 위한 BaM을 분석하면 두 가지 두드러진 기능인 GPU 메모리의 소프트웨어 관리 캐시를 볼 수 있습니다. 데이터 저장소와 그래픽 카드 간의 정보 전송 할당은 RDMA, PCI Express 인터페이스 및 맞춤형 Linux 커널 드라이버를 사용하는 프로세스를 통해 GPU 코어에 있는 스레드에 의해 관리되므로 SSD가 쓰고 읽을 수 있습니다. 필요할 때 GPU에서 메모리. 둘째, GPU 스레드용 소프트웨어 라이브러리는 해당 드라이브와 통신하여 NVMe SSD에서 직접 데이터를 요청합니다. 드라이버 명령은 요청된 특정 데이터가 소프트웨어 관리 캐시 위치에 없는 경우에만 GPU 스레드에 의해 준비됩니다.

 

과도한 작업 부하를 완료하기 위해 그래픽 프로세서에서 작동하는 알고리즘은 특정 데이터 액세스 루틴에 최적화된 방식으로 효율적이고 가장 중요한 정보에 액세스할 수 있습니다.

 

2.png.jpg

 

L-R에서: 기존 CPU 중심 방식과 스토리지 액세스, GPU 기반 BaM 방식, GPU가 SSD에 물리적으로 연결되는 방식의 비교. 이미지 출처: Qureshi et al. 레지스터를 통해

 

 


CPU 중심 전략은 과도한 CPU-GPU 동기화 오버헤드 및/또는 I/O 트래픽 증폭을 유발하여 그래프 및 데이터 분석, 추천 시스템 및 그래프 신경과 같은 세분화된 데이터 종속 액세스 패턴을 사용하는 신흥 애플리케이션의 유효 스토리지 대역폭을 감소시킵니다. 네트워크"라고 연구원들은 이번 달 논문에서 밝혔습니다.

 

 

BaM은 GPU 메모리에서 동시성이 높은 NVMe 제출/완료 대기열의 사용자 수준 라이브러리를 제공하여 주문형 액세스가 소프트웨어 캐시에서 누락된 GPU 스레드가 높은 처리량 방식으로 스토리지 액세스를 할 수 있도록 합니다. 이 사용자 수준 접근 방식은 각 저장소 액세스에 대한 소프트웨어 오버헤드가 거의 발생하지 않으며 높은 수준의 스레드 수준 병렬 처리를 지원합니다.


 

세 그룹의 연구원들은 모든 문제를 지시하는 CPU의 현재 접근 방식에 대한 실행 가능한 대안으로서 설계를 보여주기 위해 BaM, 표준 GPU 및 NVMe SSD를 사용하는 프로토타입 Linux 기반 시스템을 실험했습니다. 연구에 따르면 스토리지 액세스를 동시 작업에 투입할 수 있고, 동기화 제한이 해소되며, I/O 대역폭을 사용하여 이전보다 훨씬 더 효율적으로 애플리케이션 성능을 높일 수 있다고 설명합니다.

 


소프트웨어 캐시를 사용하면 BaM은 가상 메모리 주소 변환에 의존하지 않으므로 TLB 누락과 같은 직렬화 이벤트가 발생하지 않습니다.

 

 

— 이전에 Stanford의 컴퓨터 과학 부서를 이끌었던 NVIDIA의 수석 과학자 Bill Dally와 다른 저명한 저자들이 이 논문에서 언급합니다.


 

BaM 설계의 새로운 세부 사항은 회사의 하드웨어 및 소프트웨어 최적화를 위해 오픈 소스로 제공되어 다른 회사가 자체 설계를 만들 수 있게 됩니다. 비슷한 기능은 AMD의 Radeon Solid State Graphics 카드로 그래픽 카드 프로세서 옆에 플래시를 배치했습니다.

신고공유스크랩
2
2명이 추천
2등
KelvinKang 2022.03.23. 18:27

대략 CPU가 1개인 시스템을 기준으로 만들어진 아키텍쳐로 지금까지 왔는데,

GPU가 CPU만큼 쓰이게 되는 현시점에서는 다시 살펴볼 필요가 있는 아키텍쳐 같긴 하네요..

 

SSD > CPU >  GPU > CPU >  SSD로 가는 길을 대신

SSD > GPU > SSD 로 가게 만들면 빠른건 당연하고, CPU의 여유 자원도 늘겠네요..

 

결국 GPU도 CPU처럼 쓰겠다는 이야기로 보이네요..

GPU도 CPU처럼 다른 장치의 입출력이 가능해지면 CPU를 통해 받는 오버헤드가 줄어드니 너무 당연한 얘기 인듯..

댓글 쓰기 권한이 없습니다. 로그인

취소 댓글 등록

신고

"님의 댓글"

이 댓글을 신고하시겠습니까?

댓글 삭제

"님의 댓글"

삭제하시겠습니까?


목록

공유

facebooktwitterpinterestbandkakao story