混部,指的是离线混部,一般是将在线业务和离线任务同时混合部署在同一个节点上,以期提升节点的资源利用率。对短视频APP源码来说,实现混部的难点在于底层资源隔离技术的把控,资源利用率低是大多数平台面对的难题,一方面硬件成本高生命周期短;另一方面硬件没法充分利用导致维护成本又增加,在探寻如何提升资源利用率时,出现了混部。
一、混部
混部虽然是区分优先级,但它已经包括在线和离线两部分,甚至可能包含更多优先级的业务,其中短视频APP源码的核心部分包括:底层资源隔离技术和上层资源调度技术,我们来说一下它的实现方案。
二、CPU隔离
作为最基础的隔离技术,CPU 是可压缩(可复用)资源,复用难度相对较低,另一方面,CPU 资源与其他资源关联性较强,短视频APP源码其他资源的使用(申请/释放)往往依赖于进程上下文,间接依赖于 CPU 资源。因此,CPU 隔离的效果也会间接影响其他资源的隔离效果。除此之外,通过降低离线任务的优先级的方式,本质上,还压缩了短视频APP源码离线任务的优先级空间。
三、优先级反转
如果在线任务和离线任务之间有共享资源当离线任务因访问共享资源而拿到锁后,一直无法运行,当在线任务也需要访问该共享资源,而等待相应的锁时,优先级反转出现,导致死锁。一般出现在以下情况中:
1、离线存在共享资源
2、存在共享资源的并发访问
3、离线拿到锁后,被完全压制没有运行机会
四、超线程干扰
当短视频APP源码的在线任务和离线任务同时运行在一对超线程上时,相互之间会因为硬件资源争抢,而出现相互干扰的情况。导致结果是,在混部场景中,在线业务的性能受损,这也是现在业务中比较难解决的一个问题。
声明:以上内容为云豹科技作者本人原创,未经作者本人同意,禁止转载,否则将追究相关法律责任
领取专属 10元无门槛券
私享最新 技术干货