那我们时间差不多了然后我们就开始我们今天下午这个议题首先非常感谢大家参与这个Walkano的这个Mentennar这个Track这个议题简单做一个自我介绍我来自华为云云云生团队然后呢是这个Walkano的Mentennar同时呢我们这个个人的话我也把这个Walkano这么一个开玩项目用到了这个华为云的各种的这个云服务比如说我们的托管室的KBS CCE以及我们Service的平台以及我们华为云的一端到端的这个AF以及华为云的一些中等云的一些服务然后呢同时呢我们也基于Walkano去构建了这个很多的一些比如说混布系统我们的分奥斯体系等等主要是从这四个方面来更新一下就是Walkano在过去半年到一年的一些新的一些特性以及我们做的一些新的一些各方面的一些提升另外的话还有一部分是Service一下就是我们几个比较典型的一些用户的一些案例最后的话大概会更新一下就是说我们在社区层面我们做的那些新的一些改进首先我简单问一下就是第一次参加或者是了解Walkano这个项目的可以举个手还是挺多的简单介绍一下Walkano这么一个开玩项目Walkano这个开玩项目的话是在2019年最开始的时候我们是主要是做AI和大数据的传统的一些AI以及大数据的一些应用搬迁到Kubernetes的生态上面当然我们早期的时候遇到了很多的一些挑战和困难比如说这个我们知道Kubernetes本身其实早期是为微服去设计的所以说在AI以及大数据上面的话其实有很多的一些功能以及性能的一些概迫比如说像AI里面它需要很多的一些调度策略它的这个需要去做一些数据的一些交互和微服是不一样的这个时候呢它就需要一些基础的一些组调度啊这样的一些能力像这个大数据的话它其实提交一个在Kubernetes上面提交一个job它的规模经常是非常大的比如说在我们的内部用户里面我们会发现它提交一个spark job里面可能会有2000多个pod这个2000多个pod对于这个和微服这个特征也是非常不一样所以说不同的业务特征它对于Kubernetes平台的在调度层面的需求是不一样的那我们在这里面的话就针对于这个大数据以及AI提供了一些功能以及性能的优化总结来讲的话主要包含下面的五个方式就是在Kubernetes平台上在Kubernetes平台上在Kubernetes平台上在Kubernetes平台上在Kubernetes平台上在Kubernetes平台上再讲的话主要包含下面的五个方面第一个方面的话就是我们其实增加了一些通用的一些batch里的一些API比如说podgroup比如说q比如说job三个关键的一些API去帮助用户去比较好的把它的业务签到Kubernetes上面这是一些基本的一些能力第二块的话就是增加了一些高阶的一些调度策略在Hardware里面其实它有很多的一些比如说公平的公平调度的一些策略比如说fairshare以及像这个在Tensef路里面训练的时候它基于你叫内部不同的psor和这些不同角色的pod去做一些最佳的一些placement以及像这个为了防止大作业和小作业混合在一起的时候出现一些资源竞争的问题或者小作业饿死提供了这些SLA的一些调度策略以及抢占功能以及backfill等等这样的一些调度策略去满足大部分场景下面的一些调度诉求同时呢我们其实在这里面提供了一个我看到的一个schedular framework它相对于这个上游社区的schedular framework的话它在扩展性上面做了一些更多的增强因为我们知道其实在调度这个领域里面场景它对这个定制化的需求是非常高的所以在可扩展性面做了一些增强第三块的话是对于这个作业生命周期的管理进行了一些完善比如说我们去跑一个这个mpi的任务的时候那我们怎么去评估一个mpi的照部它完成了呢我们会定义很多策略比如说在一个照部内部它关键性的这个角色的pod它如果完成了我们认为这个作业就完成了关键性的这个pod它如果失败了我们可能会做一些重新的这个整个照部的一个restart那所有的这些策略呢就帮助你去使用的时候比如说在晚上训练的时候如果训练的时候你突然出现了一些比如说网络故障或者是你的整个训练的pod如果失败了我们会去做一些自动的拉起或者是自动的把这个照部停掉把这个资源腾让出来去运行一些新的一些训练任务那整个过程是不需要去管理员或者是用户去做一些人工的介入那第四块的话就是关于这个资源管理资源管理这块的话其实我们也借鉴了传统的像slam以及像这个E2这些系统里面的一些一些比较比较典型的一些比如说对列的对列通过对列去支持多组合场景下面的一些资源共享那这些能力的话其实是相对于这个K84本人提供的Names-based resource quota它可以在多组合场景下面把你的资源使用的这个使用效率提升另外的话对于南向的一些应件像我们现在除了GPU之外其实我们其实很多公司都有自己的一些应件像这个NPU啊昆仑啊等等作为一个社区项目我们希望兼容更多的一些易购的一些算力易购的一些卡那第最后一块的话主要是性能提升这个性能提升的话其实在K84里面其实是一个很大的一个挑战像我们其实在对于这个大数捷来讲它对于吞吐性能要求非常高的时候那我们在业务签到K84以后呢你会发现它的吞吐和哈多佩亚里面有一个很大的一个概率这块儿呢我们整个性能提升从这个不止是Skg比如说在APS server去创建POD的时候要做一些优化在容器进向拉起的时候要做一些优化同时在整个容器去构建它的网络的时候也要做一些优化这块儿的优化呢其实不只在我开动这么一个项目里面我们也是联合上游的K84以及ContinuerRuntime等各个开源的项目去做联合的一个优化去帮助这个你在Coronate上面去跑这个计算力任务的时候整个性能的更好那在这里面呢红色的字体呢是我们新增加的一些组件那这些组件呢我们最近的更新的话是里面增加了一个Job Flow以及我看到Agent我看到Agent的话会在10月份就会这个组件就会开放出来Job Flow这个这是我们一会儿会介绍是我们一个新的一个子项目就是我们和博云的一些贡献者联合发布了Job Flow这么一个开源的一个子项目那其实最开始的一个初衷呢也非常简单就是说我们发现其实我们使用了很多的一些像Argle Air Flow等这样的一些工作流编排的一些工具但是呢真正的到用户的生产环境里面我们发现其实还有很多的一些概捕然后我们发现这些概捕其实在像Argle以及Air Flow这些Work Flow的一些开源项目里面其实不是他们的一些未来规划的一些路线所以我们开源了这么一个子项目在后边我会做一些详细的介绍所以从这里面呢我们看到说我们创建了一个关键的大概四个CRD同时呢我们增加了一些除了去做一些比如说这个作业功能的增强实现了一个实现了一个scheduler同时呢实现了一个dscheduler我看到Agent是我们想在节点上面去对于资源的Qs做一些控制开放了一个新的一些组件那我们来看一下大概就是我看到的一个发展的一个立场其实最开始的时候我们在第一个版本里面的时候我们其实就提供了关键的三个APIQHotgroup以及Job提供一些通用的一些批量计算的一些能力在第二步的时候我们发现其实我们要结合很多AI以及大数学的场景去做一些优化所以在这里面首先呢对于比像的一些生态进行的一些继承比如像这个早期的一些couple flowspark operatorflink operatorargocromwell等等比像的生态进行的一些继承这样的话如果说你用couple flow你可能经过简单的一个或两个参数的配置就可以把我cano整个运行起来你把基本的一些调度能力都能够都能够使用起来那第二块的话就是我们也参与到这个除了spark operator之外呢我们也参与到Spark社区的一个和我cano的一个继承比如说我们Spark其实它在Spark 2.3的时候其实已经支持kbs了但是呢它支持的是最基础的就是po的po的级别的一些调度就是它调度的作业的时候是来一个po的调度一个po的它对整个作业的维度是不感知的所以它会出现一些资源竞争以及这个死锁的一些问题所以我们在Spark社区里面也把我cano集成进去然后支持Batch里的一些调度能力另外的话就是我们针对于大数据以及AI的场景做了一些比如说results reservation以及这个任务拓不感知的这些调度能力以及一些性能的提升比如说我们在调度里面其实比较是瓶颈的是比如说当我这个调度器做完角色之后去APS社区去做绑定的时候这个APS其实我们发现其实也很大的一个瓶颈所以我们其实提供了一些比如说BatchBond的这么一些增强型的一些APS一次可以绑定几百个或者上千个这样的一个po的第三块的话就是第三步的话其实我们发现其实我们很多社区的用户去汇报员说在我的一个机讯里面我要装好多upradar比如说他要因为其实比如Petal去Tenseflow他每一个这个训练框架都有自己的优势以及特点很多时候他们都会几个框架都会用到但是每个upradar他对于整个作业管理的维护其实不一样的所以就会导致说他们的维护成本是比较高的所以我们在这一部分的话我们通过Walkano Jarbo这么一个CRD用了upradar去统一的去支持PetalMPI以及Tenseflow这样的话减化用户的一些运营的一些压力同时我们在这个里面的话增加了很多一些比如说刚才说的一些policy让你在训练的时候更轻松然后更自动化我们现在其实发展到第四个阶段就是我们在Walkano这个项目里面我们其实前期更多的是购注一些通用的一些调度能力我们目前的话主要针对一些用户的场景比如说现在的AIGC大模型的这些场景里面怎么样去帮助他们解决四个最核心的问题第一个是性能第二是大模型训练的一些成本第三个是在大模型训练里面它的一个稳定性我们发现其实大模型训练的过程中每天它都会有很多次的这种各种各样的一些故障比如说网络故障GPU卡坏了呀这个故障率目前是非常高的那第四块的话我们是也是希望就是针对于大模型的这个业务的场景做一些软硬协同这样的一些能力那另外的话其实我们也会结合整个业界最近尤其是国内最近一两年很多用户都在进行一些降本增效的一些事情所以我们这里面会做一些比如说在线离线混布的一些系统去帮助用户把这个在线离线业务可以混布到一个机会里面那通过一些技术手段可以降低用户的一些使用成本下面的话我简单介绍一下就是我们最新发布的版本里面的一些新的特性那第一个特性的话就是关于GPU虚拟化GPU虚拟化的一些一些调度以及管理的能力其实我看到在比较早期的时候就支持了GPU sharing就是GPU的一些共享但是我们第一个版本的共享只是在调度层面进行一些共享比如说我可以把多个容器去调度到一个接点上面去共享使用一个GPU卡但是我们早期的版本里面没有支持这个显存的隔离就会出现说如果说是接点上面很多个容器对它使用一个卡的时候就会出现OM在这个版本里面我们就增强了一些隔离能力那这个隔离能力的话其实是通过这个在枯大层面进行枯大Driver一切的一些一些流量的一些代理去解决这么一个问题那我们其实怎么讲的就是在GPU训议化这个方面的话其实业界的方案其实挺多的包括英伟达本身也提供了一些方案比如说MIG以及像MPS等等各种各样的一些训议化的一些方式但是我们也发现其实每一种训议化的方式都有自己的优缺点比如说MIG其实在国内目前使用的用户不是特别多它有一个比较大的这个不能说出问题就是说比较大的一个限制就是说它最多一块卡只能训议出七块卡这个力度还是有点粗的那第二块的话就是我们各个厂商也提供了一些驱动层面的一些训议化它的隔离能力是比较好的但是它的一个限制就是说我们每次要去支持一个新的驱动然后再要改Kono它的周期会比较长那在枯大层面的一些隔离的话它就会比较快一些就是我们比较轻松的可能整个开发迭代的周期比较短但是它的一个限制就是说每出一个新的枯大版本可能我们都要去适配就每种方式都有它的一个优点和缺点那我们社区层面的话我们从这个采用枯大这种方式我们觉得更轻量然后迭代更快能更及时的能够满足我们社区用户的一些需求在这里面的话我们同时也做了一些refactor就是我们把这个我Kono里面对于eGo资源的一些管理以及调度做了一些抽象我们以前只支持GPU通过这个抽象之后我们在后期的版本里面去支持FPGA或者是一些其他的一些eGo算力的时候就会非常的容易另外的话在这个版本里面我们支持的这个比如说你在申请显存的时候可以指定比如说这里面的3000M在后期的版本里面会支持还支持另外一种配置方式比如说这种可以指定这种percentage就是比如说我我选择申请这个两块虚拟的GPU卡然后每块使用20%可以这个更灵活一些另外的话对于这个算力的一些共享的话算力的隔离的话我们目前这个第一个版本的话是不支持的在下一个版本里面会支持也会支持这个算力的隔离这是一个例子在左边的这个压梦里面我们看这是一个POD它的request里面我们可以看到它的这个这个这个Ubuntu Container的这个这个Continer它申请的是VGPUNumber两块虚拟的GPU卡每块卡的显存申请是200M然后下面的这个UbuntuContiner1它的request它的request也是两块申请两块VGPU卡然后显存的是3000M然后我们通过这个Coup CTL的命令进入到这个容器里面我们能看到说它的显存的上限已经被限到了2000M和3000M这是我们最新发布的1.8版本里面带的最大的一个特性这个特性呢也是我们Wakendo社区和第四范氏然后联合这个贡献的一个特性第二个特性呢是刚才也提到了关于工作流编排我们知道其实在很多一些场景下面比如说一些生物治药或者是在做一些这个转码这样的一些场景里面它的一个任务任务任务执行是是一连串的一些工作流比如说是通过多个照顾联合在一起完成整个这个任务不同的照顾之间它会有一些依赖关系那这个依赖关系有的时候是比较复杂的比如说这个例子里面它的这个A运行完了之后再运行C然后C任务运行完了之后它有一个判断条件这个判断条件结果如果是Yes的话它会组异这条这条路径如果是No的话就会组F这条路径那这个语异呢我们如果通过阿狗或者其他的一些工作流编排的一些软件是实现不了的同时呢这和A和C它之间的关系也可以描述的比较复杂比如说是A启动完了之后就可以启动C呢还是A运行完成运行完成之后才可以启动C这个Po的这些都是通这个OrcFlowJobFlow里面它可以解决的问题那JobFlow的话它是一个我们认为它是一个轻量级的多个胶部编排的一个一个工具它可以支持大规模的一些大规模场景的一些大规模场景下面的一些作业的一些编排尤其是针对有我看的胶部另外的话它会支持一些自动化的一些运行的一些一些策略有点像我们社区的一些CrownJob你进行一些非常丰富的一些配置配置完了之后不需要人工干预它可以自动的去控制你整个Flow另外的话就是我们能看到右下角这个组建里面我们在关于这个特性我们增加了两个CRD一个是JobFlow一个是JobFlowTemplate那我们可以看一下这里面是一个粒子在这个粒子里面我们看到这个A的这个job完成了之后可以运行B然后呢I的这个job只要运行起来之后我们就可以开始启动这J这个job然后呢它除了这种关系之外我们还可以看比如说GG的这个G的这个job它必须是就是我们会检测它的一个健康状况它如果是健康的话我们会把H的这个job启动起来那H和E的这个job我们会执行完来之后我们会看这个目录下面这个data.npy的这个文件存不存在再去决定说执行执行这个F这个job所以这是一个非常常见的一个在很多场景下面尤其是像传统的一些做这个科学机身的场景下面非常通用的一个非常非常非常有代表性的一个一个workflow的一个类似在这里面我们通过jobflow template去定义我这个我这个job它的一个它的一个它使用的什么container它的request以及它的status等等那jobflow呢里面就定义了不同的job之间的一些依赖关系比如说这里面定义的B的这个这个job它会依赖于这个它会依赖于A然后C这个job它会依赖于B通过这么一个定义就可以自动的把这个jobflow给运行起来这也是一个简单的例子就是我们在cubeflow去做训练和推理的时候其实一个非常基础的一个流程前期的数据拿到数据之后进行数据的一些清洗切分归一等等然后再进行一些数据的一些预处理预处理完了之后我们可以开始训练训练完之后得到一个模型再去做一些推理那整个这个过程它其实就是一个就是一个workflow在cubeflow里面它有自己的排不来的管理方式它可以轻松地把这个管理起来那么通过这个jobflow也可以进行这样的一个编排把整个整个这个workflow给串联起来其实这样的类子在这个生物医药以及各种像天气预测等等这样的一些传统的一些科学计算里面是非常常见的另外的话我们在1.8的版本里面做了一些很多的一些更新然后我们这里面大概列出了一部分比较有代表性的首先呢第一个比较大的一些更新就是说我们针对于微博以前我们其实讲我Know其实发布了到目前为止发布了大版本加小版本已经20多个版本其实我们强调的更多的是ai和大数据但是最近几年我们发现其实在国内我们很多的一些用户把ai和大数据它的集群它希望和一些微博的集群进行一些混布这个时候就面了一个面了一个技术选型就说我一个集群里面会运行多个调度器虽然说我们的K8S是支持Magisk Agility但是呢当你的通途比较高的时候多个同时调度器他们的其实资源仕途是一致的就会导致说多个调度器可能同时这个并发度高的时候你会出现有些绑定的失败的一些情况所以说我们自己是希望说能够把集群内部的调度器能够做一些归一所以在这里面我们对于这个我看到的schedule对于微服进行了一些很多的一些增强对于比如说有一些非常老的一些微服的一些一些插件我们也进行了比如说这里面的NodeVolumeLimits以及VolumeZone等这些这些特性那些兼容以及集群以及大规模的一些测试那第二块的话是关于一些非常这个一些corner case比如说这里面的提到的比如说你在做训练的时候用户不小心把device plugin给卸载了或者在升级的时候device plugin因为他可能代码写的不是特别好他升级的时候失败了那这个时候调度器他的容忍性这个有一些问题然后我们在这个在1.8的版本里也进行一些增强另外的话还有一个就是我们在之前的版本里面支持了一个关于节点真实负载调度的一些能力以及重调度的能力当时我们只只支持这个PromisOS我们有一些IoT的一些用户他们在系统里面用的比较多的是ERK所以我们也对于这个ERK的这个监控系统再往下的话是我们对于这个比像的一些生态像现在用的比较多的RE这么一个开源项目让我们进行一些集成再通过Wokendo提供了一些调度能力可以解决RE cluster在创建的时候出现了一些资源竞争的一些问题再往下的话是我们对WokendoJob进行的增强你通过简单的一个WokendoJob可以做一些Petals的一些训练另外的话还有一些我们社区的贡献者这个贡献的一些特性比如像这个B站的Conservator他们贡献了一个这个这个关于这个训练的时候它的一个冷静期的一个冷静期保护的一个差践就是说他们的生态环境里面经常会出现大家都往一个info的一个class里面去提交一些训练的任务有的用户他会发现说我这个训练的任务刚刚提交就会被抢占又提交又被抢占所以他这用户就会有很多的抱怨所以增加了这么一个差践就是说我的任务在启动之内的比如说用户可以配置两分钟或五分钟之内是一个例如一个冷静期在这个冷静期内我的作业是不允许被其他用户抢占的这么一个特性为了增加他这个整个这个一个用户的一些体验另外的话还有像这个新马拉雅的这个贡献者提交了一个关于note group的一个plagin这个plagin的话他是希望在一个机讯内部他有来自不同公司提供的一些易购算力而且对于这个GPU的卡他也有不同的类型所以他希望是说用户提交任务的时候可以去对机讯的资源值进行一个进行一个划分每个部门他可能使用的GPU卡是不一样的对于我的比较重要的部门他可能这个使用的GPU卡是这个更先进的对于一些其他的一些部门比如说算法开发公众市的团队他可能使用的GPU卡是共享的或者是比如说T4这种稍微上一代的这些GPU卡还有一个其实我们和上游社区和上游计算框架在进行中的是这个关于Flink社区里面如何去支持一些batch的一些调度能力Flink其实我们在去年的时候应该是在前年的时候我们在Spark社区支持了一个batch scheduler那在Flink社区我们是去年的时候我们也是提交了一个proposal去希望说在Flink里面去支持一些customer的一些batch scheduler当然不只是我可以其他的我们也是从框架层面想让Flink可以兼容其他的一些batch scheduler这里面也包含了一些通用的一些比如说基于作业级别的一些调度能力资源的一些共享机制以及这个教博的一些优先级等等这样的一些特性这个目前的话我们其实在这个已经提交了一些PR再往下的这个特性是目前还没有开源的但是我们其实在我们自己的时间里面觉得还是比较非常有帮助的就是我们在传统的其实在调度的过程中我们发现其实调度器它的其实值得非常简单它就是为一个pull的选择一个node那我们更多的以前我们更多的考虑就是说这个node上面它的资源只要足够只要符合基本的一些要求我们就会把这个pull的放置到这个node上面但是我们会发现其实资源只是资源购置部门是很多上面还是不行的比如说比如说我们在使用的ECS就是那种虚拟机虚拟上面它经常会有一些把它创建了一些弹性网卡因为弹性网卡数量比较少可能云厂上都会提供一些辅助的弹性网卡比如说SAP 应该或者是节点上面会有一些local volume那如果调度的时候不考虑这些因素我们经常会出现说这个pull的node上面之后它真正去启动的时候发现它的local volume没有容量了或者说是弹性网卡没有了就会导致最终其实虽然调度成功了但是事实上你没办法运行起来所以我们增加了两个简单的一些调度算法的一些插件我们在尽可能的在调度的时候呢能够把这个local volume以及比如说弹性网卡这样的一些资源能够考虑进去作为一个决策的因素这么一个需求如果是社区用户如果有这样的一些需求的话我们是后期可以把这么一个这两个插件也可以开放出来再往下的一个特性是我们其实应该是在过去很长的时间一直在一直在这个开发的一个特性就是关于在线和理线混布刚才我也简单介绍了一个背景就是说我们其实现在很多的一些A和大数据的用户他们的公司都在进行一些降本增效的事情所以他们要把微服务尤其是像这个实验不是那么敏感的那些微服务还要和大数据进行一些混布因为我们发现其实之前看到一个统计数据其实还是挺有意思的就是说有一个这个IDC的统计就是说在全球的这个数据中心整个这个资源的使用效率资源的使用率不超过20%大朋友公司可能15%到20%这个使用效率是非常低的但是同时用户有反馈说其实他们的资源一直处于紧缺的状态那我们分析其实有几个比较大的一个因素就是说第一个因素就是说很多用户它在远远生的过程中它的应用是从VM签到这个容器它对于request的添多少值它不知道所以它都会添得比较大就是过量的申请资源第二个比较大的特点就是说比如说一些广告或者是一些电商以及这种业务它有明显的这种潮汐潮汐特征它在比如说早上八九点的时候或者晚上下班之后它处于一个用户的高峰它的资源使用量是非常高的但是比如说过了这些时间点它的使用率非常低所以它每天一平均它的使用率是非常低的我们其实在这个里面的话我们就希望说调度器能够发挥一些作用能够把一些咸质的资源能够进一些超分和超受超卖然后让这些比如说离线的一些大数据的任务或者是一些flink的一些任务能够把这些咸质的资源利用起来提升整个资源的使用效率但是这里面要解决的两个核心的问题第一个就是说我这资源使用效率上来之前我有一个只要保证这在线业务它的一个qlc比如说我广告业务我的qlps我的tps不能受到影响因为它是直接跟我们公司的直接跟公司的这个业务是挂钩的在这个前提下面我们考虑说把这些idle的资源能够做一些二次的分配在这里面我们提供的能力主要是绿色和黄色的这些部分那么在在调度测的话其实我们就会对对于这些不同比如说在线业务或离线业务或者是进线的业务进行一些区分定义不同的优先级对吧因为定一些优先级然后让调度期再做分配的时候去做一些SRO的一个区分同时在超卖资源去分配的时候我也会做一些区分比如说我会把这些超卖的资源去分配给更多的分配离线的一些计算的任务因为超卖资源可能随时又可能会被回收它是属于这种不稳定的资源另外的话就是这里面也增加了一些QoS的一些感知一些调度能力那么在节点上面是一个比较关键的一些比较关键比如说在节点上面我们增加了一个5K的一个Agent那这个Agent它会把不同作业的优先级通过C Group或者通过我们内核提供的能力去通知到内核在内核层门去进行一些资源的一些隔离能力的一些提升另外的话就是我们在节点上面会做一些资源的一些超卖那这个超卖资源需要去做统计那我们需要去做采样采样了之后需要进行一些加工最终把这个超卖资源上报到这个上报到这个APS Server供调度去做一个做决策那在OX层面的话我们提供了一些OX的一些隔离能力这里面的话我们一会会介绍说会从几个方面吧这里面的话我们主要从四个比较大的叶方面来介绍首先就是说我们对于任务要定义它的优先级那这个优先级就是要结合自己的业务情况那这里面我们定义的几个分了几个优先级比如说ProductionMiddle然后DefaultBatch 以及Fury那Production的话这种业务优先级它是最高优先级的比如说是高实验敏感的需要优先保障的那么在有资源竞争的时候我们要去做一些取舍要保证这部分业务它对于资源有优先的获得权那对于这种Middle的例如说可以应设到我们公司内部的应设到公司内部的一些比如说是实验不那么敏感的但是它有就是例如说进线的一些业务Default就是一些普通的业务然后Batch就是一些一些离线的一些业务然后Fury的话是优先级最低的那可能在资源竞争的时候优先去舍弃这部分的业务比如说甚至甚至会驱逐它那这些这是对于调度起来讲它的Property那其实我们还会应设到一些Cuse对于节点上面资源管理的时候会有些Cuse的一些控制第二块的话就是关于这个超卖的一些模型就是我怎么样去定义我的这个超卖资源呢我们这个里面是一个示意图是实际上比这个要复杂一些比如说我会把Request的这个值减去Use的值就是中间是申请但没使用的然后呢这是这个Node的一个资源试图那对于调度器的资源试图它会把这个乘以一个百分之X这可能是我们认为它是一个超分比因为我们会留一些Buffer这个防止这个防止这个在线业务的一个影响对于这种Unstable这种Oversold的这种资源进行一些超分那再往下呢是关于OS隔离OS隔离的话我们这里面这我们没有展开就是比如说传统的这个OS里面其实大家CPU分配的是是这种是CFS它是按照这种公平分配的那我们在对OS内合进行的优化对于不同的定义不同的优先级然后在时间片分配的上面有一些差异化最后呢我们简单介绍几个案例那第一个案例的话是这个华为的中南云就是我们华为的手机像手机业务那是它的用户量是比较大的就是在全球大概有6.7亿的用户然后180万开发者在全球200多个国家都有它的一个业务它的应用其实非常的广泛它的业务腾准的话就是它的POD量比较大那在过去一年它的整个容器化改造的上这个容器化改造之后呢它大概有10万个以上的业POD的是这个通过Wokano去做一些调度然后另外的话它的资源规模的话大概有46万和以上在进行一些在通过这个KBS去进行一些资源的一些分配那在这里面的话它比较大的挑战就是说它所有的应用它是对于这种突发的流量以及它的实验有很高的一个要求比如说在30秒要弹性和调度出1000个容器以及训计机那在这里面呢我们整个中间的这一层Wokano给它提供了一系列的一些能力帮助中东云然后整个把它的业务进行一些容器化改造然后它的收益的话整体它的分配率以及它的使用率得到一个很好的改善那第二个第二个这个用力的话是华为云的Model Arts就是华为云的AI平台它整个AI平台的话其实是承载了整个华为云的一个弹骨大模型的一个业务所以它的整个是一个万一万一参数的一个大模型在这个平台上面运行然后它的单个模型其实会包含上千个上千张GPU以及NPU的一些卡然后它需要最佳的一些拓布调度策略在这里面它Wokano给它提供了一些尤其是针对NPU的调度提供了一些很多增强能力整个的话它的分配率以及它训练的一些实效以及它的一个自然的使用效率都得到了一个很好的改善第三个案例的话这个是我们其实在上次的库普康里面也进行了一个分享这个是这个是荷兰的IMG这个集团它在全球有40多个国家都有它的业务然后它是这是一个大数据的用户它从哈多培亚里面迁移到KBS的时候遇到了很多的一些问题因为它有这种常驻服务有这种批处理服务所以它要进行统一的这个资源平台的归一构建它的下一代的这个数据分析平台也是基于KBS加上Ukano解决它的一个问题最后呢这个关于社区社区这块我们其实现在在国内的用户其实是非常多的然后我们在今年也提供了一个社区共建计划我们首批已经有十一家十一家社区的用户参与到我们的社区共建计划一起来推进这个整个开源项目到他们生产环境整个落地的一个节奏最后的这个这个未来的一些发展方向的话其实主要是以这个AGI弹幕型AIGC为主要方向同时会有一些这个整个这个混播呀以及这个资源利用率提升的一些方向这个的话我们今天就时间有限就不展开然后最后的话大家感兴趣的话可以参与到我们的一些社区的一些这个活动我们的slide可以就我们的github这就是我今天主要的一些内容今天应该是没有时间这个Q&A了吧可以问两个问题是吧可以我们还有点时间现场大家有问题的可以可以提问你好我想问一下就是那个我看到了在那个VGPU的那个那个那个场景的应用就是我刚才看到那个流程图的话是调度器在这一层就帮这个任务选那个GPU的卡的序号吗就是他放到那个对调度器在调度器这已经选好了node选好了node上面第几张卡然后他放到那个polder notion里的是吧对我就是如果原生的话应该是cubelite就是他调度到节点之后cubelite会帮他选GPU的卡的序号就是如果是调度器调度器层这已经选好的话他怎么保证调度器和cubelite选的卡的一致性呢这个的话我们会做一个协同对它是有一些配合的可以展开说说展开说的话我们其实怎么讲呢就是我们做了一些特殊的一些控制比如说cubelite他在去做分辨的时候他要去取那個node取那个node然后去做分辨的时候所以是改了cubelite的代码对我们第一版是改了cubelite的代码好就这一个问题谢谢那位同学也可以他替代他找一些你好我想咨询一个问题就是说我刚刚看到一个案例就是说有一个企业用户他从Yan然后迁移到Vocano然后是想了解一下这两者的区别是什么比方说在Vocano里面也有这个类似于FairScaling类似于跟Yan的调度策略类似的一些策略那就这两者的区别包括我们将来如果说往Vocano这个方向去演进的话是不是可以做到一个all-in-one就是不管是在线的零线的所有的业务我都可以用Vocano全部搞定然后包括就是包括刚刚就是您那个材料里面提到的那个可能还需要自己去定义这个优先级那如果从产品化的这个思路来说我怎么样把这些因素暴露给业务呢如果暴露给业务业务可能说我的优先级都是最高的就这一块就不知道有没有一些比较好的实践就关于刚刚那个就我提到这个问题谢谢先回答第一个问题第一个问题就是说是这个其实很多能力本身业务里面也有但是呢其实对于他们来讲其实他们就是要构建下一代的大数据分析平台它现在目前的业务的话它一部分业务用的是业二有一部分用的是KBIS就是他们的运为成本非常高现在要维护两套技术站对于它的团内来讲它就是需要两套人同时维护两个技术站然后呢整个这个稳定性以及这个支撑的力度对他们来说是一个很大的压力第二的话就是整个现在KBIS整个对于对于这种这个敏捷的交付啊各方面这个其实比较流行的其实大家都在网上签议所以他们希望说就是你说的all in one的这么一个概念能够支持所有的业务刚好我们其实在这块已经能够目前在技术上已经具备了能够把所有的业务签过来除了一些非常特别的业务比如害物害物它是可能因为力数原因它是不太好签到这个KBIS的其他的一些基本都可以第二个问题第二个问题就是说关于优先级的概念优先级的话其实对你如果说不用混布系统的话它是不需要这些优先级的这些概念的但是比如说你要去进行一些降本增效进行业务混布的时候它的这个API一定是要去切换到新的API的否则的话我一个节点里面容纳了更多密度更高密度的一些容器资源竞争的时候那我要去做一些取舍没有优先级的话那我去舍弃哪些呢其实不知道关键的业务可能会因此受到影响那我们今天的那个这个一提就分享到这里如果还有那个什么问题我们可以先下交流我们今天在一楼也有展台开源社区的一个我可以弄一个展台大家可以去过去参观参观