《1.基于eBPF构建可编程调度框架.pptx》由会员分享,可在线阅读,更多相关《1.基于eBPF构建可编程调度框架.pptx(22页珍藏版)》请在三个皮匠报告上搜索。
1、首届中国首届中国eBPFeBPF研讨会研讨会可编程调度框架交流研讨主讲人:陈辉2022-11-12首届中国首届中国eBPFeBPF研讨会研讨会目录录01背景介绍02业界调研03技术方案04未来展望首届中国首届中国eBPFeBPF研讨会研讨会背景介绍01首届中国首届中国eBPFeBPF研讨会研讨会背景终端场景云场景在线业务调度器游戏场景调度器视频场景阅读场景业务诉求:性能最优,功耗达标 调度策略:场景感知,按需选核,快速调频等业务诉求:提升CPU利用率,干扰隔离调度策略:分层调度,干扰感知&隔离离线业务业界调度策略(不同性能需求,不同调度策略):功耗感知:EAS;降低响应时延:Muqss;资源隔
2、离与共享:Caladan;提升吞吐:shinjuku;首届中国首届中国eBPFeBPF研讨会研讨会技术问题“千人千面”,定制策略多,架构臃肿肿腐化,维护维护成本高XX场景 低时延XX场景 流畅体验XX场景 高资源利用率XX场景极致小型化xx策略xx策略xx策略xx策略UserKernelIO调度内存文件系统l抽象化,模块化导致信息丢失、协同困难,性能不佳XX场景 低时延XX场景 流畅体验XX场景 高资源利用率XX场景极致小型化IOUserKernel调度内存文件系统syscall模块化、协同困难首届中国首届中国eBPFeBPF研讨会研讨会问题与目标维护困难验证&部署困难产品人员策略共享困难定制
3、化需求多,分支多,无法upstreaming,维护成本高;搭建环境成本高,验证&部署周期长,TTM长;缺乏策略共享机制开发人员重复开发架构用户态与内核态调度语义丢失调度采用通用机制,无法精准匹配业务模型首届中国首届中国eBPFeBPF研讨会研讨会业界调研02首届中国首届中国eBPFeBPF研讨会研讨会2024-5-9发展历程2004年Con Kolivas 提交“Pluggable cpu scheduler framework”patch2009年IEEE Student Conference on Research and Development 发表 Runtime CPU Schedu
4、ler Customization Framework for a flexible mobile operating system 论文 2019年Aleix Roca Nonell 发表 A Linux Kernel Scheduler Extension For Multi-Core Systems 论文 2021年SOSP 论文ghOst:Fast&Flexible User-Space Delegation of Linux Scheduling2021年Peter Oskolkov提交User-managed concurrency groupspatch2021年Roman Gu
5、shchin提交Controlling the CPU scheduler with BPFpatch首届中国首届中国eBPFeBPF研讨会研讨会2024-5-9Google ghOst scheduler Framework1)进程级可编程调度策略,不同进程间的调度策略之间互不影响;2)内核态ghost调度类感知任务状态变化,并通知给用户态线程Agent,由用户态线程Agent负责策略执行;3)内核态感知任务状态变化后,将任务状态信息封装成自定义消息,通过自定义通信机制,通知给用户态线程Agent,并将CPU释放给Agent线程,Agent线程获取自定义消息,并执行对应的调度策略;APPli
6、bagent.so/libbase.so/libghost.so(StatusWord)(Channel)ghost Agent(friend Enclave)ghost Scheduler(CpuState)LocalEnclave(CpuRep(RunRequest/agent)(ghost_cpu_data*data_region)ghost(gbl_ctl_fd_)(StatusWordTable*gbl_sw_table_)struct ghost_enclavestruct ghost_status_wordstruct ghost_queuestruct ghost_txnsys