Apache Spark용 NVIDIA GPU 클러스터 튜닝

GPU 제공업체의 권장사항을 사용하고 선택적 라이브러리를 설치하여 성능을 최적화하도록 NVIDIA GPU 클러스터를 조정할 수 있습니다.

GPU 클러스터를 튜닝하면 Oracle AI Data Platform 워크벤치에서 작업별로 호출될 때 해당 클러스터의 성능을 최적화할 수 있습니다.

NVIDIA GPU 기반 클러스터의 경우 NVIDIA의 튜닝 가이드에 따라 성능 최적화를 위해 취할 수 있는 권장 사항과 단계를 확인할 수 있습니다.

또한 최적화를 지원하기 위해 Apache Spark 라이브러리용 NVIDIA cuDF 및 cuML 플러그인을 설치할 수도 있습니다.

  • cuDF plugin for Apache Spark 라이브러리는 Apache Spark용 가속기이며, GPU를 활용하여 처리 속도를 높이는 플러그인 세트를 제공합니다.
  • cuML plug-in for Apache Spark 라이브러리는 Apache Spark에서 GPU 가속 분산 머신 러닝을 지원하고 cuML 라이브러리로 구동되는 여러 PySpark ML 호환 알고리즘을 제공합니다.

cuDF 플러그인 라이브러리는 일반적으로 기능 엔지니어링 및 데이터 청소에 먼저 사용되며 cuML 플러그인 라이브러리를 사용하여 교차 검증이 대규모로 수행됩니다. 이러한 라이브러리는 사기 감지(시계열), 웹 클릭스트림 및 A/B 실험과 같은 사용 사례에 사용할 수 있습니다.

표 9-2 권장 Spark 구성

설정 노트
스파크.태스크.리소스.gpu.amount 0.0625 1 / spark.executor.cores
spark.rapids.sql.concurrentGpu작업 3 GPU 메모리 / 8GB, 최대 4개
spark.rapids.shuffle.multiThreaded.writer.threads 32 CPU 코어/작업자당 GPU 수
스파크.라피드.셔플.다중 스레드.스레드 32 CPU 코어/작업자당 GPU 수
spark.shuffle.manager com.nvidia.spark.rapids.spark350.RapidsShuffleManager -
스파크.rapids.shuffle.mode 다중 스프레드됨 -
스파크플러그인 com.nvidia.spark.SQL 플러그인 -
스파크.엑스큐터.리소스.gpu.amount 1 -
spark.sql.files.maxPartitionBytes 2 GB 선택 사항, 큰 데이터 세트에 권장
spark.rapids.sql.batchSize바이트 2 GB 선택 사항, 큰 데이터 세트에 권장
spark.rapids.memory.host.spillStorage크기 32 G 선택 사항, 큰 데이터 세트에 권장
spark.rapids.memory.pinnedPool.size 8 G 선택 사항, 큰 데이터 세트에 권장
스파크.sql.adaptive.coalescePartitions.minPartitionSize 32MB 선택 사항, 큰 데이터 세트에 권장
spark.sql.adaptive.advisoryPartitionSizeInBytes 160MB 선택 사항, 큰 데이터 세트에 권장
spark.rapids.filecache.enabled 작업로드가 데이터 집합을 재사용할 경우 선택사항, 권장됩니다.