Exploiting CXL-based Memory for Distributed Deep Learning——论文泛读

ICPP 2022 Paper CXL论文阅读笔记整理

问题

深度学习(DL)正被广泛用于解决不同领域的科学应用中的复杂问题。DL应用程序使用大规模高性能计算(HPC)系统来训练给定的模型,需要消耗大量数据。这些工作负载具有很大的内存和存储需求,通常超出HPC服务器上可用的有限主内存量。导致在训练过程中,输入训练数据和模型参数经常被交换到较慢的存储层,显著增加了总体训练时间。

挑战

针对基于TensorFlow的DL模型,分析了TensorFlow[7]平台中的数据暂存和放置,发现数据流路径中有以下限制:

  • TensorFlow不知道底层内存和存储子系统的异构性[22]。

  • TensorFlow不利用额外的内存和存储层来优化数据输入管道[8]。

  • TensorFlow的默认缓存和预取机制不足以在内存和存储资源有限的服务器上处理大型数据集[29]。

本文方法

本文利用计算快速链路(CXL),提出了DeepMemoryDL框架,为DL工作负载提供额外的内存和快速暂存空间,以减少总体训练时间。

关键思想是使TensorFlow能够识别和利用各种可用的内存和存储设备层,并开发主动预取和缓存技术,利用DL工作负载的I/O访问模式来避免I/O停滞。管理额外的基于CXL的内存的分配,根据不同的可用内存和存储设备的配置文件将其分类到不同的层中,在每个工作节点的适当层中预取和缓存所需的数据。

【资源收集+负载分析+数据预取,核心是预取】

本文将DeepMemoryDL与TensorFlow集成,以表明提出的方法减少了读写延迟,提高了整体I/O吞吐量,并减少了训练时间。评估显示,与默认的TensorFlow平台和基于CXL的内存扩展方法相比,性能分别提高了34%和27%。

实验

实验环境:八台运行Ubuntu 20.04 LTS服务器操作系统的服务器,每台服务器有两个2.40 GHz Intel Xeon Gold 6240R处理器,192 GB内存,其中96 GB内存用于模拟CXL内存和CXL存储设备,服务器之间通过10 Gbps以太网连接。通过从远程NUMA域分配内存来模拟CXL内存,通过在远程NUMA上创建RAMDisk[16]来模拟CXL存储设备。

实验对比:执行时间

实验参数:数据集,CXL内存大小,批量大小

总结

基于CXL内存扩展内存时,如何优化DL模型训练,本文提出DeepMemoryDL框架,通过资源收集+负载分析+数据预取,优化模型训练时间,避免数据读取导致的I/O停滞。核心是数据预取,并没有利用很多CXL的特性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/573420.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

k8s使用calico网络插件时,集群内节点防火墙策略配置方法

前言 我们在内网使用k8s时,有时候需要针对整个集群的节点设置防火墙,阻止一些外部访问,或者是仅允许白名单内的ip访问,传统做法是使用firewall之类的防火墙软件,但是,使用firewall存在如下问题&#xff1a…

Unity inputSystem 读取输入值的方法

1:通过关在 PlayerInput 获取 设置后之后在同意物体上挂载C# 脚本 通过事件获得 2: 生成 C#脚本 通过C# 脚本获得 3:通过回调函数

redis中的缓存穿透问题

缓存穿透 缓存穿透问题: 一般请求来到后端,都是先从缓存中查找数据,如果缓存中找不到,才会去数据库中查询数据。 而缓存穿透就是基于这一点,不断发送请求查询不存在的数据,从而使数据库压力过大&#xff…

python+vue得物文具玩具礼品商城系统flask-django

网站素材:收集好看的素材,然后使用PS做出适合网页尺寸的图片。在需求分析阶段以前期调研结果为基础,理解系统功能、性能、可靠性等要求,采用数据流图、实体联系图、状态转换图、数据字典等给出系统的逻辑模型。在设计阶段&#xf…

【静态分析】静态分析笔记07 - 指针分析基础

参考: 【课程笔记】南大软件分析课程7——指针分析基础(课时9/10) - 简书 -------------------------------------------------------------- 1. 指针分析规则 规则:采用推导形式,横线上面是条件,横线下…

【VTKExamples::Meshes】第十八期 OBBDicer

很高兴在雪易的CSDN遇见你 VTK技术爱好者 QQ:870202403 公众号:VTK忠粉 前言 本文分享VTK样例OBBDicer,并解析接口vtkOBBDicer,希望对各位小伙伴有所帮助! 感谢各位小伙伴的点赞+关注,小易会继续努力分享,一起进步! 你的点赞就是我的动力(^U^)ノ~YO 1. …

GaussDB轻量化运维管理工具介绍

前言 本期课程将从管理平台的架构出发,结合平台的实例管理、实例升级、容灾管理和监控告警的功能和操作介绍,全面覆盖日常运维操作,带您理解并熟练运用GaussDB运维平台完成运维工作。 一、GaussDB 运维管理平台简介 开放生态层 友好Web界面…

解决office2016专业增强版 “你的许可证并非正版,你可能是盗版软件的受害者“

问题描述:安装完office后,用kms已经激活成功,但是一直在上面显示“你的许可证不是正版,并且你可能是盗版软件的受害者,使用正版Office,避免干扰并保护你的文件安全。” 尝试过网上的各种方法都没用,后面发现是用的HEU …

分享:9.3版本无缝导入AVEVA PDMS高版本工程12.0,12.1,E3D

9.3版本可以无缝导入AVEVA PDMS的工程。 UKP3d导入AVEVA PDMS工程的方法 http://47.94.91.234/forum.php?modviewthread&tid163583&fromuid6 (出处: 优易软件-工厂设计软件专家) (从AVEVA PDMS导出时元件和等级的功能我们正做收尾工作,到时可以…

Kafka---总结篇

kafka架构 主要概念 broker: 存储消息的机器 控制器controller (1)使用zookeeper, 除了提供一般的broker功能之外,还负责选举分区首领。通过在zookeepr中创建一个名为 /controller的临时节点称为 controller。每个选出的contro…

百科词条创建要多久成功?

在互联网信息爆炸的时代,百科词条作为权威的知识分享平台,其重要性不言而喻。那么,创建一个百科词条需要多久才能成功呢?创建百科词条是一个相当需要有耐心的工作,接下来伯乐网络传媒就来给大家讲一讲。 一、影响百科词…

node-sass报错如何解决

npm install 安装的时候 报node-sass错误 这个一看就是node版本兼容性导致的问题 node-sass与node版本不匹配 下面是常见的node版本和对应的node-sass版本 解决办法 1.单独安装node-sass npm install node-sass9.0.0 还是报上面的错误!!!&a…

论文笔记:Leveraging Language Foundation Models for Human Mobility Forecasting

SIGSPATIAL 2022 1intro 语言模型POI客流量预测 2 方法 3 实验

Midjourney如何利用quality控制图片质量,让细节更丰富

hello 小伙伴们,我是你们的老朋友——树下,今天分享Midjourney提示词常用参数——quality,通过更给quality的值可以生成质量更好的图片,让细节更丰富,那么这个参数是怎么用的呢?话不多说,直接开…

2014NOIP普及组真题 3. 螺旋矩阵

线上OJ: 一本通:http://ybt.ssoier.cn:8088/problem_show.php?pid1967 背景知识: 螺旋矩阵可以采用模拟的方式生成。就是顺时针四个方向 第1步、是第 1 行,方向为从左到右,数值1。当向右遇到 边界n 或者 格子已填过数…

基于卷积神经网络的手写数字识别

⚠申明: 未经许可,禁止以任何形式转载,若要引用,请标注链接地址。 全文共计3077字,阅读大概需要3分钟 🌈更多学习内容, 欢迎👏关注👀【文末】我的个人微信公众号&#xf…

海外短剧:跨文化的新浪潮与看剧系统的搭建,海外短剧系统搭建开发定制

在全球化的大潮下,海外短剧作为一种新兴的文化交流方式,正逐渐受到越来越多人的喜爱。这种融合了各地文化元素、叙事手法新颖独特的短剧形式,不仅丰富了观众的视觉体验,也为影视媒体和想拓展海外市场的企业带来了无限商机。 一、…

MMSeg分析Flops和Params

Flops计算量,params参数量 在文件中 tools/analysis_tools/get_flops.py利用以下命令实现 python tools/analysis_tools/get_flops.py configs/xxx/xxx-Net.py后面可跟参数shape控制输入图片尺寸,例如 python tools/analysis_tools/get_flops.py conf…

Python Django框架的内容管理系统库之wagtail使用详解

概要 Python Wagtail库是一个基于Django框架的内容管理系统(CMS),它提供了丰富的功能和工具,帮助开发者快速构建灵活、强大的网站和应用。本文将介绍如何安装和使用Python Wagtail库,以及它的特性、基本功能、高级功能、实际应用场景和总结部分。 安装 首先,需要安装Py…

uni-app HBuilderX通过easycom省略import自动导入自定义组件

快速尝试 自HBuilderX 2.5.5起支持easycom组件模式。更新HBuilderX即可尝试。 easycom默认已启用,并对项目下的components和uni_modules目录开启自动扫描,对符合下面路径和命名规则的组件自动导入。 components/组件名/组件名.vue uni_modules/组件名/…