OSDI25 XSched
- Paper Reading
- 2025-08-12
- 282热度
- 0评论
scheduling for XPUs
在XPU上实现抢占式调度
CPU的抢占式调度
抢占式调度(Preemptive Scheduling)是一种操作系统调度策略,核心思想是:
当有更高优先级或更紧急的任务需要运行时,操作系统可以立即中断当前正在运行的任务,把 CPU 资源“抢”过来给那个更高优先级的任务。
XPU
XPU: FPGA, NPU, GPU
目前在XPU上做了很多的任务

但是好像没有什么调度

Opps: 抽象成任务
他们在交任务时有硬件queue

Design: XQueue
所以我们可以用一层抽象来表示我们的任务。XQueue就是一个任务Queue


我们在任务层和硬件层中间加一层调度层,来实现我们的抢占式调度方案

Design:多层级的阻断方法

Level 1 阻断CPU-XPU的任务提交
用纯软件cpp实现

Level 2 把Hardware Queue 跟硬件阻断
用instruct实现

Level 3 阻断运行时的程序
用GPU trap handler/用时间片轮询的GPU,时间片=0

实验
用两个进程,来向队列里发,来看时延

