这思路不错,CPU应该提供相应非特权级的指令,提供更高效的协程切换功能。
【 在 MaLing 的大作中提到: 】
: 现在如果产生IO操作的时候,程序员主动切换协程,来提升吞吐量。我们观察到协程的上下文切换在~7ns左右,而L3访问延迟在 ~17ns,内存访问延迟在~100ns,使用CXL访问远端内存会有更大延迟,因此我们使用 cache 缺失预测的方式,如果预测L2会缺失或者访问L2发生缺失那么CPU 将产生协程切换,同时将产生切换的访问内存指令改成异步操作(等同于prefetch),等到再次切换回来的时候(协程使用简单的双向链表),再次重新执行内存访问指令。这样可以将CPU的计算和访存操作并行起来,提升CPU的吞吐能力。
: 注:这里包括数据和指令缺失都会产生协程的切换
:
--
FROM 110.185.26.*