spark调优参数(spark3.0新特性)

技术Spark 3.0内置支持GPU调度的示例分析这篇文章将为大家详细讲解有关Spark 3.0内置支持GPU调度的示例分析,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

本文将详细解释Spark 3.0中内置支持GPU调度的示例分析。这篇文章的内容质量很高,所以边肖会分享给大家参考。希望你看完这篇文章后有所了解。

如今,大数据和机器学习已经大大结合。在机器学习中,由于计算迭代时间可能很长,开发人员一般会选择使用GPU、FPGA或TPU来加快计算速度。在Apache Hadoop版本中,已经内置了本机支持GPU和FPGA。

Spark  3.0内置支持GPU调度的示例分析

Spark作为一个通用计算引擎,当然也不会落后太多。来自Databricks、NVIDIA、谷歌和阿里巴巴的工程师正在为ApacheSpark添加本机GPU调度支持。该解决方案填补了Spark在GPU资源任务调度方面的空白,将大数据处理和AI应用有机融合,拓展了Spark在深度学习、信号处理和重大数据应用方面的应用场景。

这项工作的问题可以在SPARK-24615中查看。

相关spip (spark项目改进建议)文件可在spip:加速器感知调度中找到。

Spark  3.0内置支持GPU调度的示例分析

目前,Apache Spark支持的资源管理器shate和Kubernetes已经支持GPU。为了让Spark也支持GPU,需要在技术层面进行两项重大改变:

在集群管理器层面,集群管理器需要升级以支持GPU。并为用户提供相关的API,让用户可以控制GPU资源的使用和分配。

在Spark内部,需要在调度器层面进行修改,使调度器能够识别用户任务请求中对GPU的需求,然后根据执行器上的GPU供给完成资源分配。

因为让Apache Spark支持GPU是一大特色,所以项目分为几个阶段。在Apache Spark版本中,独立、纱和Kubernetes资源管理器下将支持GPU,现有的正常作业基本不受影响。对TPU的支持、对Mesos Explorer中GPU的支持以及对Windows平台的GPU支持将不是本次发布的目标。而且,这个版本不支持GPU卡中的细粒度调度;Apache Spark版本将把一个GPU卡和它的内存作为一个不可分割的单元。

1、Spark Scheduling

在这个级别,我们必须允许指定来自RDD/PandasUDF API的资源请求,这应该在DAGScheduler中进行总结。TaskSetManager管理每个阶段的未完成任务,我们需要用GPU请求来处理那些任务。对于不需要GPU的作业,调度行为和效率应该和以前一样。

目前,CPUS_PER_TASK(spark.task.cpus)是一种int类型的全局配置,用于指定每个任务应该分配的核心。为了支持GPU配置,引入了spark . task . GPU参数来指定每个任务需要申请的GPU数量。如果用户没有指定Spark . task . CPU或spark.task.gpus,spark程序将使用默认值;因为需要向后兼容,所以如果用户没有指定spark . task . CPU或spark.task.gpus,这两个参数的默认值分别是1和null。

对于执行器后端来说,它需要能够识别和管理GPU,并将这些信息(如修改现有的RegisterExecutor类)同步到schedulerback band,然后schedulerback band可以根据这些GPU信息为那些需要GPU资源的任务分配资源。

00-1010的第一阶段将支持独立,纱和库本内特GPU。Spark需要在这三种资源管理上做一些工作。

2、Resource Manager

Standalone是Spark内置的资源管理模式,但目前的Standalone部署模式无法支持GPU等资源。为了识别GPU信息,一种可行的方法是在配置文件中配置GPU资源。通过读取配置信息,工作者维护内存结构中的可用资源,如图形处理器和中央处理器。同时,执行器所应用的资源(包括GPU)是通过allocateworkerresourcetoxecutors方法在主机上分配的。

00-1010为了在YARN上支持GPU,我们需要使用YARN 3 . 1 . 2版本;同时,我们需要对纱簇进行相关配置,使纱簇能够开始支持GPU资源。请看这里如何配置纱上的GPU资源。

为执行器申请纱容器时,Spark需要将执行器所需的GPU数量映射到纱容器请求中的yarn.io/gpu资源。纱有GPU隔离机制,所以无论是否使用Docker容器,未分配给纱容器的GPU资源的使用都会被阻塞。

需要注意的是,到目前为止,纱只支持Nvidia GPU。

00-1010从Kubernetes 1.8版本开始,Kubernetes采用设备插件模型,支持GPU、高性能NIC、FPGA等设备。Kubernetes目前支持英伟达、AMD和英特尔GPU设备。在独立模式或纱模式下,指定火花k8s中任务的图形处理器数量。它还支持spark . task . GPU和spark . executor . GPU的全局配置,并且还支持RDD阶段每个任务的设置。

这里将分享对Spark 3.0中内置GPU调度支持的示例分析。希望

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/148959.html

(0)

相关推荐

  • 很感人的电影,什么电影好看,看着感人

    技术很感人的电影,什么电影好看,看着感人《七号房的礼物》这部电影,真的让人从头哭到尾很感人的电影。里面有很多温馨的片段,有可爱逗比的狱友,有傻乎乎的龙九,有超级可爱的艺胜,可是在观影过程中,你每次笑完之后,都会立刻心塞,

    生活 2021年10月29日
  • JavaScript中ECMAScript是什么

    技术JavaScript中ECMAScript是什么这篇文章主要介绍了JavaScript中ECMAScript是什么,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起

    攻略 2021年10月30日
  • 如何使用php工厂模式

    技术如何使用php工厂模式这篇文章主要介绍“如何使用php工厂模式”,在日常操作中,相信很多人在如何使用php工厂模式问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何使用php工厂模式”

    攻略 2021年10月22日
  • 高脚蟹,刚刚死的螃蟹吃不完如何保存

    技术高脚蟹,刚刚死的螃蟹吃不完如何保存放冰箱的冷冻室冷冻起来,超市也卖那种冷冻的海鲜的。或者你可以腌制起来。不过死掉的螃蟹是不建议吃的。如果一次性买多了吃不了的话可以用以下方法保鲜高脚蟹:1、放在冰箱冷藏室内用湿毛巾盖上

    生活 2021年10月21日
  • 气怎么写,写页岩气作文怎么写600

    技术气怎么写,写页岩气作文怎么写600地理位置:山东省地处中国东部气怎么写、黄河下游,是中国主要沿海省市之一。位于北半球中纬度地带。陆地南北最长约420公里,东西最宽约700余公里,陆地总面积15。67万平方公里,约占全

    生活 2021年10月21日
  • Spark 2.3.1当Kafka 0.9使用Direct模式异常消耗信息时会发生什么?

    技术Spark2.3.1+Kafka0.9使用Direct模式消费信息异常怎么办Spark2.3.1+Kafka0.9使用Direct模式消费信息异常怎么办,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因

    攻略 2021年12月15日