HyperAI초신경

도구 추천: GPU용으로 특별히 제작된 고성능 휠

6년 전
헤드라인
추천 목록
Dao Wei
特色图像

Super Neuro에서

GPU와 데이터베이스는 각각 장점이 있습니다. GPU는 머신 러닝과 같은 작업 처리에 적합한 반면, 데이터베이스는 복잡한 연결 계산과 같이 특정 요구 사항이 있는 계산에 적합합니다.

현재 GPU 가속을 제공하는 몇몇 데이터베이스 솔루션 제품이 있는데, 여기에는 익숙한 MapD와 Kinetica가 있습니다. 오늘은 새로운 오픈소스 제품인 BlazingSQL을 소개해드리겠습니다.

BlazingSQL은 RAPIDS 기반으로 구축된 GPU 가속 데이터베이스 쿼리 도구입니다. BlazingSQL은 RAPIDS를 확장하여 사용자가 GPU 메모리에서 Apache Arrow에서 직접 SQL 쿼리를 실행할 수 있도록 합니다.

BlazingDB는 다른 유사 제품보다 훨씬 빠른 속도와 GPU 적응성 외에도 대부분 SQL 데이터웨어하우스에서 기업이 직접 데이터를 추출하고 복사해야 하는 반면, Apache Parquet에서 직접 데이터를 읽을 수 있어 데이터 채널 아키텍처를 간소화하는 동시에 고성능 부하도 지원합니다.

더 중요한 점은 BlazingSQL이 NVIDIA와 Samsung으로부터 투자를 받았으며, NVIDIA와 매우 좋은 협력 관계를 유지하고 있다는 것입니다.

성과 평가

도구의 성능을 비교하려면 먼저 비교 벤치마크 테스트를 수행하고 종단 간 분석 워크로드를 실행해야 합니다.

* 단계는 다음과 같습니다: Data Lake > FTL Feature Engineering > XGBoost Training

* 우리는 Apache Spark와 BlazingSQL을 각각 사용하여 GCP에서 비슷한 가격의 두 클러스터를 구축했습니다.

* 최종 결과는 BlazingSQL이 Apache Spark보다 5배 더 빠르게 실행된다는 것입니다.

(새로운 버전은 동일한 작업 부하에서 Apache Spark보다 20배 더 빠르게 실행됩니다.)

좋은 말에는 좋은 안장이 필요합니다

Blazing SQL이 효율적인 실행 결과를 얻을 수 있는 이유는 저렴하면서도 강력한 성능을 갖춘 새로운 보급형 GPU인 GCP의 T4 GPU를 아낌없이 사용하기 때문입니다.

새로운 T4 GPU를 사용하면 비용이 절반으로 줄어들고, Apache Spark 클러스터를 4개의 CPU 노드로 줄여 가격을 일관되게 유지할 수 있었습니다.

하지만 최종 결과는 GPU 메모리가 절반으로 줄어들더라도 전체 작업 부하가 훨씬 빨라진다는 것입니다.

Blazing SQL 엔지니어는 또한 "SIMD Expression Interpreter"라고 불리는 GPU DataFrames(GDF)에 맞게 특별히 구축된 GPU 실행 커널을 개발했습니다.

SIMD 표현식 인터프리터를 설명하려면 시간이 많이 걸릴 것이므로, 여기서는 SIMD 표현식 인터프리터가 어떻게 작동하는지, 그리고 왜 이런 성능 향상이 일어나는지에 대한 몇 가지 세부 정보만 공유하겠습니다.

SIMD 표현식 인터프리터의 성능 향상은 주로 다음과 같은 주요 단계를 통해 달성됩니다.

1. 이 기계는 다양한 입력을 지원합니다. 이러한 입력은 GDF 열, 리터럴, 함수가 될 수 있습니다.

2. 이러한 입력을 로드할 때 SIMD 표현식 인터프리터는 GPU에서 레지스터 할당을 최적화하여 GPU 활용도를 높이고 궁극적으로 성능을 향상시킵니다.

3. 또한 가상 머신은 이러한 입력을 처리하고 동시에 여러 출력을 생성합니다. 예를 들어 다음 SQL 쿼리를 고려해 보세요. SELECT colA + colB * 10, sin(colA) — cos(colD) FROM tableA