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)

相关推荐

  • 部署SD-WAN之前要执行的三个步骤分别是什么

    技术部署SD-WAN之前要执行的三个步骤分别是什么部署SD-WAN之前要执行的三个步骤分别是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。随着企业制

    攻略 2021年11月24日
  • 通州运河公园,通州有特色的文化旅游地有什么

    技术通州运河公园,通州有特色的文化旅游地有什么通州的特色文化旅游这几个景点可以参考:1.历史名桥:八里桥又名永通桥通州运河公园。建于明正统十一年(一四四六年),南北走向,长三十米,宽十六米,桥两侧有三十三块护栏雕饰、三十

    生活 2021年10月30日
  • 中国人民银行个人征信中心,怎样注册个人征信中心帐号

    技术中国人民银行个人征信中心,怎样注册个人征信中心帐号人民银行的个人信用账号不是申请的,是当你产生信用行为后人民银行系统根据你的身份证号码自动生成一个你自己的信用账号中国人民银行个人征信中心。 1. 打开中国人民银行征信

    生活 2021年10月29日
  • eth私有节点搭建

    技术eth私有节点搭建 eth私有节点搭建一.单节点的搭建1.从github上下载源码git clone https://github.com/ethereum/go-ethereum.git2.源码编

    礼包 2021年12月20日
  • 休的四字词语,休字在后面的成语有哪些

    技术休的四字词语,休字在后面的成语有哪些一字千金yī zì qiān jīn[释义]增损一字休的四字词语;赏以千金。形容文辞精妙;不可更改。[语出]南北朝·钟嵘《诗品·古诗》:“文温以丽;意悲而远;惊心动魄;可谓几乎一字

    生活 2021年10月29日
  • javascript如何将对象转化为数组

    技术javascript如何将对象转化为数组这篇文章将为大家详细讲解有关javascript如何将对象转化为数组,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

    攻略 2021年11月19日