엔비디아, 빅데이터 분석 벤치마크 20배 앞서며 신기록 돌파

초고속 TPCx-BB 성능 달성한 엔비디아 DGX A100 시스템 기반 래피즈(RAPIDS)
by NVIDIA Korea

엔비디아가 TPCx-BB로 알려진 표준 빅데이터 분석 벤치마크 테스트에서 약 20배 빠른 성능을 달성했습니다.

16개의 엔비디아 DGX A100 시스템으로 구동되는 래피즈(RAPIDS) 오픈소스 데이터 사이언스 소프트웨어 라이브러리 제품군이 사용된 테스트에서 불과 14.5분만에 벤치마크를 실행한 건데요. 현재 CPU 시스템에서 달성한 최고 결과는 무려 4.7시간입니다. 엔비디아 DGX A100에는 총 128개의 엔비디아 A100 GPU가 탑재됐으며, 엔비디아 멜라녹스(Mellanox) 네트워킹이 사용됐습니다.

엔비디아 소프트웨어와 하드웨어의 조합으로 획기적인 결과 달성

데이터 분석에 있어 중요한 것은 실제 결과이기 때문에, 많은 조직들은 인공지능(AI)을 사용해 데이터로부터 통찰력을 이끌어내죠. TPCx-BB 벤치마크는 구조화된 데이터에 대한 머신러닝과 SQL을 결합한 쿼리, 그리고 자연어 처리와 비정형 데이터를 통해 오늘날 데이터 분석 워크플로우에서 발견되는 다양성을 반영합니다. 이러한 결과는 업계에 새로운 표준을 제시하게 되는데, 새로운 표준의 획기적인 발전은 엔비디아 소프트웨어 및 하드웨어 생태계를 통해 이루어집니다.

해당 벤치마크를 실행하기 위해 엔비디아는 데이터 처리 및 머신러닝에 래피즈, 수평 스케일링(horizontal scaling)에 Dask, 초고속 통신에 UCX 오픈소스 라이브러리를 각각 사용했으며, 이 모든 것들은 엔비디아 DGX A100을 기반으로 구동됐습니다.

엔비디아 DGX A100 시스템은 단일 소프트웨어 정의 플랫폼에서 분석, AI 교육 및 추론을 효과적으로 수행할 수 있습니다. 또한, 엔비디아의 최신 암페어(Ampere) 아키텍처를 기반으로 하는 엔비디아 A100 텐서(Tensor) 코어 GPU와 엔비디아 멜라녹스 네트워킹을 턴키 시스템으로 통합하여 쉽게 확장 가능하도록 합니다.

병렬 처리를 통한 탁월한 성능 구현

TPCx-BB는 ETL(추출, 변환, 로드)과 머신러닝 워크플로우를 대표하는 기업들을 위한 빅데이터 벤치마크입니다. 벤치마크의 30개 질의에는 재고 관리, 가격 분석, 판매 분석, 추천 시스템, 고객 세분화, 감정 분석 등의 빅데이터 분석 활용사례가 포함됩니다.

분산 컴퓨팅 시스템은 지속적으로 개선되고 있음에도 불구하고, 이러한 빅데이터 워크로드가 CPU에서 실행될 경우 여전히 병목현상이 나타나는데요. 엔비디아 DGX A100을 기반으로 래피즈를 활용해 달성한 이번 결과는 GPU와 관련한 최초의 비공식 TPCx-BB 벤치마크로, CPU 전용 시스템에서 실행된 역사적인 테스트라 할 수 있습니다.

이번 벤치마크에서 레피즈 소프트웨어 에코시스템과 DGX A100 시스템은 컴퓨팅, 통신, 네트워킹 및 스토리지 인프라를 가속화했으며, 이를 통해 데이터 사이언스 워크로드를 규모에 맞게 실행할 수 있는 새로운 기준을 제시했습니다.

대규모로 실행된 효과적인 벤치마킹

SF10000 TPCx-BB에서 이번 엔비디아의 테스트는 10테라바이트(TB) 이상의 데이터를 가진 워크로드에 대한 결과를 보여줍니다. 이 같은 규모에서 쿼리의 복잡성은 빠른 실행시간을 요구하게 되는데, 이는 공간, 서버 장비, 전력, 냉각 및 IT 전문 지식과 같은 데이터센터 비용을 증가시킨다. 탄력적인 DGX A100 아키텍처는 이러한 과제를 해결합니다. 또한 새로운 엔비디아 A100 텐서 코어 GPU 시스템을 통해 데이터 과학자들은 A100의 혁신적인 성능으로 워크로드를 가속화할 수 있습니다.

오픈소스 커뮤니티와의 협업 강화

래피즈 TPCx-BB 벤치마크는 많은 파트너와 오픈소스 커뮤니티가 참여하는 프로젝트입니다.

TPCx-BB 쿼리는 래피즈 데이터프레임 라이브러리, cuDF, 래피즈 머신러닝 라이브러리, cuML, CuPy, BlazingSQL및 Dask를 주요 라이브러리로 활용하는 일련의 파이썬(Python) 스크립트로 구현됐습니다. Numba는 NER(Named Entity Recognition)용 spaCy와 함께 사용자 정의 함수에 사용자 정의 로직을 구현하기 위해 사용됐습니다.