用于操作系统的数据处理系统和方法

文档序号:8412317阅读:559来源:国知局
用于操作系统的数据处理系统和方法
【技术领域】
[0001] 本公开总体上涉及数据处理,并且更具体地涉及多处理机数据处理系统中的通 信。
【背景技术】
[0002] 一般来说,可以通过基于目录的一致性协议或者通过基于探听的一致性协议保持 对称多处理(SMP)系统中的存储器一致性,在基于目录的一致性协议中,通过参考一个或 多个存储器目录解决一致性,在基于探听的一致性协议中,通过在高速缓存代理之间的消 息传送解决一致性。随着SMP系统的规模扩大为越来越大的η路系统,探听一致性协议受 到至少两个设计约束,即,用于跟踪请求和相关联的一致性消息的高速缓存代理内的排队 结构的深度的限制,以及可用于消息传送的通信带宽的限制。
[0003] 为了解决高速缓存代理内的排队结构的深度的限制,某些设计采用不需要高速缓 存代理实现消息跟踪机制(诸如消息队列)的非阻塞探听协议。取而代之,在非阻塞探听 协议中,高速缓存代理的请求在时间上被限定(意味着探听器在固定时间内响应),并且其 来源被抑制(以便确保可用的通信带宽的公平划分)。例如,总系统带宽可被在系统内的所 有可能的处理节点之间均匀地划分(例如,通过实践划分多路复用),以便确保在所有处理 节点都发出请求的最坏情况下,一致性总线具有足够的带宽。然而,一致性总线带宽以这种 方式的相等分配将任意特定的处理节点可获得的一致性带宽限制为不多于总可用一致性 带宽的预先确定的子集。此外,当只有少数处理节点需要宽带时,系统的一致性带宽可能被 不充分地利用。

【发明内容】

[0004] 在一个或多个实施例中,如果在一个或多个时间段内没有接收到降低命令速率的 一个或多个请求,描述的一个或多个系统、设备、方法和/或处理可以不断地增加互连的命 令速率。在一个例子中,命令速率可被设置为最快级别。在另一个例子中,命令速率可被随 着时间段逐渐增加。如果收到了降低命令速率的请求,命令速率可被设置为基准级别,或者 可被减小到一个较慢的速率级别。在一个或多个实施例中,降低命令速率的一个或多个请 求可以基于推测性命令的发出速率和过度使用失败的数目中的至少一个。
【附图说明】
[0005] 在参考下列附图阅读下面的详细说明之后将明了这些实施例。
[0006] 图1提供了根据一个或多个实施例的示例性数据处理系统;
[0007] 图2提供了根据一个或多个实施例的示例性处理器单元;
[0008] 图3A-3D提供了根据一个或多个实施例的数据处理系统内的命令和响应数据流; [0009] 图3Ε提供了根据一个或多个实施例耦连到互连的多处理系统的示例图;
[0010] 图4提供了根据一个或多个实施例的一个示例时序图,示出了命令、一致响应和 数据传送顺序;
[0011] 图5A-ro提供了根据一个或多个实施例的过度使用(overcommitted)协议的示例 时序图;
[0012] 图6提供了根据一个或多个实施例的过度使用系统的示例框图;
[0013] 图7提供了根据一个或多个实施例的过度使用队列的示例框图;
[0014] 图8提供了根据一个或多个实施例操作过度使用系统的示例方法;
[0015] 图9提供了根据一个或多个实施例操作动态速率抑制器的示例性方法;
[0016] 图10提供了根据另一个或多个实施例操作动态速率抑制器的另一个示例性方 法;
[0017] 图11提供了根据一个或多个实施例操作命令优先级否决主机的示例性方法;
[0018] 图12提供了根据一个或多个实施例操作命令优先级否决客户机的示例性方法;
[0019] 图13提供了根据一个或多个实施例的示例性定时系统,该定时系统可以基于动 态系统工作负载确定在最大化性能和能量效率的同时,处理器单元可以支持的最大命令 数;以及
[0020] 图14提供了根据一个或多个实施例确定定时系统内的命令阈值的示例性方法。
【具体实施方式】
[0021] 在一个或多个实施例中,此处描述的系统、方法和/或处理可以提供和/或实现可 以用于可伸缩高速缓存一致多处理机系统的结构控制器(FBC)。例如,该FBC可以提供一 致的和非一致的存储器访问、输入/输出(I/O)操作、中断通信、和/或系统控制器通信等。 例如,该FBC可以提供一个或多个存储系统和存储子系统内的命令和数据操作的接口、缓 冲和定序等。
[0022] 在一个或多个实施例中,FBC链路可以是或者包括分离事务、多路复用命令和可以 提供对多处理节点(例如,若干多处理器单元的硬件实现)的支持的数据总线。例如,FBC 链路可以提供对多个处理器单元的支持。
[0023] 在一个或多个实施例中,可以通过利用基于非阻塞探听的一致协议保持和/或实 现高速缓存一致性。例如,发起处理节点(例如,多处理器单元的硬件实现)可以向探听器 广播命令,探听器可以向发起处理节点返回一致响应(例如,有序),并且可以向探听器广 播组合探听响应。在一个或多个实施例中可以支持多级(例如,范围)探听滤波(例如,节 点、组、远程组、系统等等),以便利用数据和/或处理线程的局部性。例如,该方法可以减少 互连带宽的所需数量,可以减少全系统命令广播所需的带宽,和/或可以使用基于探听的 一致协议保持硬件强制一致性。
[0024] 在一个或多个实施例中,所谓的"节点范围"是范围被局限到单个集成电路片 (例如,单个处理器单元或者处理节点)内的探听器的事务,并且所谓的〃组范围〃是范围 被局限到一个处理节点的物理组上的探听器的命令广播范围的事务。如果不能使用更有限 的广播范围(例如,节点或者组)一致地完成事务,基于探听的一致协议可以强制向系统的 附加处理节点(例如,组或者包括系统的所有处理节点的系统)重新发送命令。
[0025] 现在转到图1,示出了根据一个或多个实施例的示例性数据处理系统100。如图所 示,数据处理系统100包括可以用于处理数据和/或指令的处理节点110A-110D。在一个 或多个实施例中,数据处理系统100可以是或者包括高速缓存一致对称多处理机(SMP)数 据处理系统。如所示出的,处理节点110A-110D耦连到可以用于传送地址、数据和控制信息 的系统互连120 (例如,互连结构)。系统互连120可被实现为例如总线互连、交换互连和/ 或混合互连等。
[0026] 在一个或多个实施例中,每一个处理节点110A-1IOD可被实现为包括多个处理器 单元112的多芯片模块(MCM),其中每一个处理器单元112A1-112D4可被实现为集成电路 芯片。如图所示,处理节点IlOA可以包括处理器单元112A1-112A4和系统存储器114A ;处 理节点IlOB可以包括处理器单元112B1-112B4和系统存储器114B ;处理节点IlOC可以包 括处理器单元112C1-112C4和系统存储器114C ;并且处理节点IlOD可以包括处理器单元 112D1-112D4和系统存储器114D。在一个或多个实施例中,系统存储器114A-114D包括共 享系统存储器,并且一般地可被通过数据处理系统100的任意处理器单元112读取和写入。
[0027] 如所示出的,每一个处理节点110A-110D可以包括可被通信地直接或者间接地耦 连到互连120的相应互连116A-116D。如图所示,处理器单元112A1-112A4和系统存储器 114A可被耦连到互连116A (例如,互连结构),处理器单元112B1-112B4和系统存储器114B 可被耦连到互连116B (例如,互连结构),处理器单元112C1-112C4和系统存储器114C可被 耦连到互连116C (例如,互连结构),并且处理器单元112D1-112D4和系统存储器114D可被 耦连到互连116D (例如,互连结构)。
[0028] 在一个或多个实施例中,包括在相应处理节点110内的处理器单元112A1-112D4 可被耦连以便彼此通信。在一个例子中,处理器单元112A1-112A4可以通过互连116A和/ 或互连120与其它处理器单元通信。在第二个例子中,处理器单元112B1-112B4可以通过互 连116B和/或互连120与其它处理器单元通信。在第三个例子中,处理器单元112C1-112C4 可以通过互连116C和/或互连120与其它处理器单元通信。在另一个例子中,处理器单元 112D1-112D4可以通过互连116D和/或互连120与其它处理器单元通信。
[0029] 在一个或多个实施例中,互连(例如,互连116八、1168、116(:、1160、120等等)可以 包括网络拓扑,其中节点可以通过网络交换机、纵横式交换器等等彼此耦连。例如,互连可 以确定物理广播,其中处理节点根据一致范围探听由处理器单元提供的命令。
[0030] 在一个或多个实施例中,数据处理系统100可以包括未示出的附加组件,诸如互
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1