|
标签化体系结构
为了在高吞吐、低延迟的同时还能实现高利用率,我们提出了标签化冯 · 诺依曼体系结构(Labeled von Neumann Architecture,LvNA;图 1)。LvNA 的主要思想,是在经典冯 · 诺依曼体系结构之上增加一套基于标签机制的可编程接口,使得总线与共享硬件部件支持“DIP”能力,即 D—区分(Distinguishing)、I—隔离(Isolation)、P—优先化(Prioritizing),从而降低计算机系统内部因资源竞争造成的干扰。
图 1 标签化冯 ·诺依曼体系结构
D属性标签机制。在 LvNA 中,标签将依附于所有的数据访问请求中,用于标识该请求来源于哪一个应用(或应用类别),并随着数据访问请求一同在整个计算机系统中传播。这样,总线和共享硬件部件就可以通过检查数据访问请求的标签来对不同应用(或应用类别)的请求进行区分,从而支持区分属性(D 属性)。
I属性标签机制。总线和共享硬件部件可以在对数据访问请求进行来源区分的基础上,对请求所访问的空间资源(如缓存、内存地址空间等)进行隔离,减缓或消除因为空间资源的共享冲突带来的干扰,从而支持隔离属性(I 属性)。
P属性标签机制。总线和共享硬件部件可以在对数据访问请求进行来源区分的基础上,对请求所使用的性能资源(如队列、带宽等)进行优先化,减缓或消除因为性能资源的共享冲突带来的干扰,从而支持优先化属性(P 属性)。
基于上述标签机制,控制逻辑按照预先设定的规则,以标签为依据对相应的数据访问请求实施不同的性能调控策略。这些性能调控策略是软件可编程的,并且可以做到比传统操作系统的性能调控更为细粒度,从而对延迟敏感型应用会有更优的性能调控效果。
LvNA 对硬件的增强并不改动现有指令的语义,因此对软件系统没有侵入性,可以做到无须修改操作系统和应用程序。此外,LvNA 不依赖于处理器流水线结构的改动,因而可以适用于任意处理器。