OSDI25 XSched
- Paper Reading
- 2025-08-12
- 65热度
- 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
实验
用两个进程,来向队列里发,来看时延