网易伏羲私有云在资源调度及资源整合方面的实践

本文介绍了网易伏羲在私有云资源调度及资源整合方面的实践,包括事件调度引擎、潮汐集群和Kubernetes调度优化。事件调度引擎解决了跨平台资源调度问题,潮汐集群利用OpenStack资源的周期性空闲进行AI训练,而Kubernetes调度优化则通过自研算法减少资源碎片化。此外,还探讨了GPU压缩调度、担保区调度和抢占式调度等策略,以提高资源利用率和系统效率。
摘要由CSDN通过智能技术生成

网易伏羲成立于2017年,是国内专业从事游戏与泛娱乐AI研究和应用的顶尖机构。伏羲计算效能团队2018年开始基于Kubernetes/OpenStack,面向AI,游戏等业务,打造了伏羲私有云。本文主要介绍下网易伏羲云在资源调度及资源整合方面的实践。

背景与挑战

网易伏羲成立于2017年,是国内专业从事游戏与泛娱乐AI研究和应用的顶尖机构。伏羲云从2018年开始基于Kubernetes构建了一站式的集模型开发,训练,评估和在线预测于一体的协作性AI云平台——丹炉,后来又面向在线应用业务,在丹炉的基础上衍生出了容器云平台。2019年我们在OpenStack的基础上开发了云游戏平台。2020年我们则面向游戏测开场景基于OpenStack搭建了私有云平台——筋斗云。

伏羲云上运行着AI训练/推断,游戏测开环境,数据库中间件,区块链,部分大数据服务,以及2B,2C应用等诸多业务。不同业务对资源的需求与利用呈现多样性,如AI训练,云游戏渲染主要依托于异构GPU计算;强化学习大规模训练主要使用CPU计算,对CPU有近乎无限的需求;在线业务对资源的实际利用率具有时间周期性或普遍利用率很低;很多复杂的分布式任务的部署,则需要强大的调度编排系统的支撑。而由于不同的业务需求及历史原因,伏羲云搭建了多个Kubernetes及Openstack集群,面对一个个资源孤岛,如何提升跨平台/跨集群的资源整合,提高单集群资源利用与弹性,都给我们带来了不小的挑战。

本文将介绍下伏羲云在资源调度及资源整合方面的部分实践,包括伏羲云架构介绍,事件调度引擎,潮汐集群,Kubernetes调度优化等。

伏羲云架构介绍

伏羲云主要依托网易自有机房,在游戏出海的背景下,我们也接入了如AWS等公有云资源,服务于海外业务。伏羲云基于Kubernetes和OpenStack等平台,孵化出了许多面向AI,  游戏等场景的产品。伏羲云基本架构如下:

从上往下看,在用户接入层伏羲云提供了交互,团队协作式的页面功能,也提供了OpenAPI功能,供一些第三方平台如NLP机器人平台,强化学习编程平台,画像平台,云游戏平台等直接调用。平台功能层直接面向用户,主要是一些产品功能的封装。基础支撑层则注重向上对业务共性做统一的抽象,向下则对不同的平台(Kubernetes,OpenStack,公有云),做统一的封装,使得业务不用感知底层细节。在Kubernetes和OpenStack层面,我们则做了一些适应业务需求的扩展开发或定制化改造。

事件调度引擎

伏羲私有云根据业务特点,实现了许多产品应用,如AI开发环境,AI训练任务,模型服务,容器服务,云主机,打包机,云游戏实例,数据库实例等。这些产品,最终会对应为Kubernetes/OpenStack里面一个或多个资源类型,如容器服务基于Kubernetes的Deployment进行封装,云游戏实例基于OpenStack的虚拟机进行封装,数据库实例则基于Kubernetes的自定义CRD进行封装。有些比较复杂的调度任务,则同时需要用多种资源来描述,这些资源甚至是跨Kubernetes和Openstack平台的。例如下图是我们基于Kubernetes开发的强化学习训练框架的一种使用场景:

和常见的深度学习训练不同,强化学习训练需要和环境(Environment)实时交互。网易伏羲开发的强化学习机器人主要服务于游戏。而基于Unity的游戏环境通常需要在Windows上才能运行,如此一个强化学习训练任务则可能要分布在OpenStack,Kubernetes两个不同的平台上。而且客户端和服务端之间,服务端内部的不同

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值