当前位置:首页 > 报告详情

使用 RAPIDS 加速 APACHE SPARK 3.0.pdf

上传人: li 编号:29488 2021-02-07 51页 30.67MB

1、NVIDIA使用RAPIDS加速APACHESPARK3.0Alessandro Bellina and Jason Lowe, 10/6/2020Allen Xu and Liangcai Li,12/15/2020#page#AGENDA用于ApacheSpark的RAPIDS加速器工作原理加速Shuffle0.2版本中的亮点0.3版本中的计划#page#RAPIDS ACCELERATOR FORAPACHE SPARK 3.0#page#加速的ETL?GPU可以让大象跑得更快吗?Https:/Wwpigsels.co#page#是的TPCX-BBLike指标测试结票(10TB数据集,2

2、NodesDGX-2集群)Query Time:GPU Vs CPU (Mins)ime(mins)Query#21Query#5Query#16Query#22DCPU25.956.167.133.80GPU1.311.160.560.14环境:2DGX-2(96CPUCores,1.5TB内存16V100GPUS,512GBGPU内存/每个节点)非官方、完整的TPCX-BB测试(仅ETL)#page#端到端的DLRM在CRITEO数据集上的表现Spark ETL+训练CriteoDataset(1TB)45.0是最初实现的160x是纯CPU方式的48x(4%费用)(sinoH)是传统方式的

3、10x(1/6费用)Time144.045.00.705072Original CPU (1 Core forSpark CPU(96 Core for ETL)SparkGPU8-V100forETLSpark CPU (96 Core for ETLETL96Core CPU for&SparkGPU(1-V100&Training)&1-V100Training)Training)Training)0745.045.007Training0.5ETL144.012.112.1#page#“The more you buy,tthe more yousave.”Jensen Huang,G

4、TC 2020#page#spark.conf.set(“spark.rapids.sql.enabled”,“true)start=time.time()Spark.sql(selecto_orderpriority,count(*)as order_countfrom无需代码更改orderswhere(none)date1993-07-01o_orderdateand o_orderdate date 1993-87-01+interval 3 monthand exists(相同的SQLandDataFrame代码,selectfromLineitemwhereLorderkey = o

5、_orderkeyand LcommitdateString=fuserNameGpuProjectEquality(=,=)if(userhif(NOT(cast(valuew106Foo)asint)=0)me.equalsiFoohellohellolelsefelseBitwisegoodbye“good byeAS myUDFValUe)#136Scala.mathThe UDF is compiledto catalystNVIDIAUDF PluginOpaque to Spark:scalasspark.sqlCselectvalue,myuDFvalue)fromType c

6、astsdemo).collectSELECT myuDFicol) FROM tableres57:Arraylorgapache.spark.sql.RowProject String opsArrayFoo,hello,Bar,goodbyej)myuDF(value#106)ASmyuDF(value)梦131More Support plannedExperimental feature in RAPIDS Accelerator for Apache Spark 0.2#page#加速PANDASUDFS两个方面Spark Pandas UDFs实现对Python进程的GPU资源管

word格式文档无特别注明外均可编辑修改,预览文件经过压缩,下载原文更清晰!
三个皮匠报告文库所有资源均是客户上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作商用。
本文主要介绍了NVIDIA的RAPIDS Accelerator for Apache Spark,这是一个可以让Spark利用NVIDIA GPU进行加速的插件。主要内容包括: 1. RAPIDS Accelerator 0.2版本要求Spark 3.0.0或3.0.1,RAPIDS cudf 0.15,CUDA 10.1及以后,NVIDIA GPU with Pascal 构架及以后,Ubuntu 16.04+或CentOS 7+。 2. RAPIDS Accelerator可以加速Spark的ETL、SQL查询、DataFrame操作等,如GPU加速的Shuffle、读写Parquet文件、支持Scala和Pandas UDF等。 3. 在TPC-DS基准测试中,使用RAPIDS Accelerator可以将某些查询的性能提升55%,节省成本61%。 4. RAPIDS Accelerator 0.3版本计划支持Spark 3.1.0,DataFrame caching 加速,ArrayType、StructType、MapType,collect_list aggregations,DecimalType精度<= 18等。 5. RAPIDS Accelerator可以在云上运行,只要虚拟机满足最低要求。 6. 使用RAPIDS Accelerator时,需要确保所有运行加速器的节点都有自己的GPU,Spark Driver节点不需要。 7. RAPIDS Accelerator提供了配置选项,如spark.rapids.sql.enabled是主开关,spark.rapids.sql.explain用于打印未被支持的算子等。 8. RAPIDS Accelerator与Spark社区合作,通过Spark Plugin机制添加相应的AQE规则,以提供更好的加速。初步结果显示,GPU加速可以将性能提升至50%,而CPU为30%。
"GPU加速如何提升Spark性能?" "RAPIDS Accelerator有哪些最新特性?" "如何判断我的Spark作业是否适合GPU加速?"
客服
商务合作
小程序
服务号
折叠