星环容器平台中GPU资源管理组件的设计与实现

来源 :南京大学 | 被引量 : 0次 | 上传用户:yanxt99
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着云计算中以Docker和Kubernetes为代表的容器云技术逐渐成熟,许多企业开始将应用容器化,并利用Kubernetes对容器化应用进行管理,其中也包括人工智能应用。然而在当前的容器云技术中,GPU资源的虚拟化与管理技术尚未成熟,而对于人工智能应用,特别是深度学习这类应用又非常需要利用GPU来加速计算,这给人工智能应用迁移到Kubernetes的过程带来了挑战。目前Kubernetes系统通过NVIDIA提供的一种设备插件来对GPU资源进行管理,使得部署在Kubernetes中的工作负载也可以使用GPU资源。然而这种方式只支持容器独占使用物理GPU设备,这会带来两个问题:(1)对于占用GPU资源较少的任务,如模型推理,独占使用会使得GPU利用率较低;(2)物理GPU设备有限,在任务并发较高的情况下,独占使用会使得部分任务长时间不能分配到GPU设备,导致任务平均时延增加。针对上述问题,本工作提出在Kubernetes中集成GPU共享的功能,让多个工作负载可以共享物理GPU,从而提高GPU利用率并降低任务平均时延。本文提出了一项名为Krux的方案,该方案基于Kubernetes的扩展机制,对如何在Kubernetes平台中使用GPU以及共享GPU进行了设计,基于该方案本工作实现了一个GPU资源管理组件。该组件从功能上划分为四个模块,分别是资源发现模块、调度插件模块、资源限制模块以及容器运行时模块。资源发现模块基于Kubernetes的设备插件机制开发,用于监测工作节点上的GPU设备,并将虚拟化后的GPU资源上报到Kubernetes集群;调度插件模块基于Kubernetes的调度框架开发,配合默认调度器对GPU工作负载进行调度决策;资源限制模块负责对CUDA驱动API进行拦截,添加额外的控制逻辑,从而对CUDA应用使用的GPU资源进行限制;容器运行时模块在NVIDIA官方提供的容器运行时的基础上进行了定制化修改,作为一个辅助功能模块将容器创建上游的两个模块与资源限制模块串联起来。目前该GPU资源管理组件已经被集成到星环公司的容器平台3.0版本中。该平台支持的大数据与人工智能平台在最新的开发版本中已开始广泛使用GPU共享的功能,有效地提高了GPU利用率,降低了任务平均时延,帮助企业降低了硬件资源的成本。
其他文献
学位
学位
由于拉曼光谱的分子指纹特性和SERS的增强效应,拉曼检测的应用越来越广泛。而随着拉曼测量检测地点和检测方式的多元化,小型便携式高通量的拉曼光谱仪越发具有应用前景。本论文通过调研国内外市场的各种便携式拉曼光谱仪,购买相关配件,组装出一款小型拉曼光谱仪,并设计光谱处理算法,编写软件进行自动控制,实现高通量的采集操作。最后经过各类样品测试,通过与大型显微拉曼光谱仪的对比分析,验证研制仪器的实用性。本文的
学位
学位
随着城市的不断发展,市政工程厂区及泵站用地往往比较紧张,大量采用沉井结构的泵房周围需采用围护结构严格控制沉井下沉对周边环境的影响,且厂区建构筑物距离较近,沉井周围建构筑物的桩基础往往需要紧邻沉井设置。本文依托颍上县城市地表水厂及配套管网——水源厂工程项目,采用MIDAS-GTS NX建立沉井下沉结构模型,对沉井下沉工况下壁板受力、沉井周边设置不同桩径及桩长的高压旋喷桩对周边环境的围护效果、沉井与周
学位
学位
学位
学位