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 | 참 | 작업로드가 데이터 집합을 재사용할 경우 선택사항, 권장됩니다. |