【技术实现步骤摘要】
百亿亿次级结构时间同步
技术介绍
近些年,大幅度地提高了对高性能计算(HPC)的使用和兴趣。历史上,HPC通常与所谓的“超级计算机”相关联。超级计算机主要由西摩克雷(SeymourCray)在控制数据公司(CDC)、克雷研究公司(CrayResearch)以及后来具有克雷的名字或由其首字母组成的图案的公司在20世纪60年代提出,最初被研制,并且持续数十年。虽然20世纪70年代超级计算机仅使用少量处理器,然而在20世纪90年代开始出现具有数千个处理器,并且最近已经实现了具有几十万“现成的(off-the-shelf)”处理器的大规模并行超级计算机。存在很各种HPC架构,面向实现以及研究两者,以及具有各种级别的规模和性能。然而,共同的线程是大量计算单元(诸如,处理器和/或处理器核心)的互连从而以并行的方式协作地执行任务。在最近的片上系统(SoC)设计和提案中,使用二维(2D)阵列、圆环、环或其他配置在单个SoC上实现数十个处理器核心等等。此外,研究者已经提出了3DSoC,其中在3D阵列中对数百个或者甚至数千个处理器核心进行互连。独立的多核处理器和SoC也可能密集地位于服务板上,其继而经由背板等通信地互连。另一通用方法为对服务器机架(例如,刀片服务器和模块)中的典型地被配置2D阵列中作为计算节点的集群的计算单元进行互连。存在需要在各种服务器和/或计算节点的集合之间进行精确同步的各种类型的处理任务。举例来说,当部署在集群中时,计算节点典型地在它们自身之间发送消息,并且接收消息的顺序是非常重要的。为此,存在可能用于确保消息以适当的顺序处理的各种排序模型,包括FIFO(先入 ...
【技术保护点】
一种在如下的环境中执行的方法,所述环境包括经由包括多个结构交换机和多个结构链路的结构通信地耦合到多个从节点的主时钟节点,所述方法包括:经由具有固定延迟的时钟树路径将由在所述主时钟节点上操作的主时钟生成的主时钟时间数据转发至所述多个从节点中的每一个从节点;对于给定的从节点,确定从所述主时钟节点至所述从节点的所述时钟树路径的所述固定延迟;以及使用由所述从节点接收的所述主时钟时间数据以及被确定的从所述主时钟节点至所述从节点的所述时钟树路径的所述固定延迟来对所述从节点的本地时钟和在所述主时钟节点上操作的所述主时钟进行同步,其中,对于所述从节点的至少一部分从节点,从所述主时钟节点至那些从节点的时钟树路径遍历多个结构交换机。
【技术特征摘要】
2015.12.22 US 14/977,7731.一种在如下的环境中执行的方法,所述环境包括经由包括多个结构交换机和多个结构链路的结构通信地耦合到多个从节点的主时钟节点,所述方法包括:经由具有固定延迟的时钟树路径将由在所述主时钟节点上操作的主时钟生成的主时钟时间数据转发至所述多个从节点中的每一个从节点;对于给定的从节点,确定从所述主时钟节点至所述从节点的所述时钟树路径的所述固定延迟;以及使用由所述从节点接收的所述主时钟时间数据以及被确定的从所述主时钟节点至所述从节点的所述时钟树路径的所述固定延迟来对所述从节点的本地时钟和在所述主时钟节点上操作的所述主时钟进行同步,其中,对于所述从节点的至少一部分从节点,从所述主时钟节点至那些从节点的时钟树路径遍历多个结构交换机。2.如权利要求1所述的方法,其中,遍历所述主时钟节点和从节点之间的给定转发路径的多个结构交换机中的每一个结构交换机包括:多个端口,每一个端口包括能够操作地耦合到接收缓冲器的接收端口以及能够操作地耦合到发送缓冲器的发送端口;交换电路,其在操作期间,能够实现第一端口的接收缓冲器和第二端口的发送缓冲器之间的能够选择的连接;上游时钟端口的接收端口和下游时钟端口的发送端口之间的至少一个旁路电路路径,其能够实现在所述接收端口处接收的数据沿着旁路电路路径被转发至所述发送端口。3.如权利要求2所述的方法,其中,至少一个电路路径包括能够操作地被耦合到所述接收端口和所述发送端口中的至少一部分的环形总线。4.如权利要求2或3所述的方法,其中,所述至少一个电路路径包括能够操作地被耦合到所述接收端口和所述发送端口中的至少一部分的第一环形总线和第二环形总线,其中,数据对于所述第一环形总线以顺时针方向被转发并且数据对于所述第二环形总线以逆时针方向被转发,并且其中,所述数据基于哪个环形总线引起最少延迟而沿着所述第一环形总线和所述第二环形总线中的一个而被转发。5.如前述权利要求中的任一项所述的方法,其中,主时钟节点和从节点之间的时钟树路径遍历多个结构交换机和将所述多个结构交换机通信地链接的多个链路段,并且其中,确定时钟树路径的所述固定延迟包括:确定所述多个链路段中的每一个链路段的延迟;确定在所述多个结构交换机中的每一个结构交换机内的从上游时钟端口至下游时钟端口的交换机转发延迟,其中,所述时钟树路径包括耦合到所述上游时钟端口的第一链路段和耦合到所述下游时钟端口的第二链路段;以及聚合所述多个链路段中的每一个链路段的延迟和所述交换机转发延迟。6.如前述权利要求中的任一项所述的方法,其中,数据是使用流控制单元(flit)的流来跨越所述多个结构链路而被传输的,并且其中,所述主时钟时间数据被包含在沿着从所述主时钟节点至所述多个从节点的所述时钟树路径而被转发的至少一个flit内。7.如权利要求6所述的方法,其中,所述主时钟时间数据被包含在第一flit和第二flit中,所述第一flit包括所述主时钟时间数据的较高比特部分并且所述第二flit包括所述主时钟时间数据的较低比特部分。8.如权利要求7所述的方法,其中,所述第一flit中的所述主时钟时间数据的较高比特部分的一部分与所述第二flit中的所述主时钟时间数据的较低比特部分是重叠的,所述方法进一步包括比较重叠部分中的所述主时钟时间数据比特以确定所述主时钟时间数据的所述较高比特部分和所述较低比特部分是一致的。9.如权利要求6所述的方法,进一步包括:在结构交换机的上游时钟端口的接收端口处接收包括flit的流的flit流,所述接收端口具有相关联的接收缓冲器;检测所述flit流中的第一多个flit包含与结构数据包相对应的数据;将所述第一多个flit存储在所述接收端口的接收缓冲器中;检测所述flit流中的flit与包含主时钟时间数据的时间控制flit相对应;从所述时间控制flit中提取所述主时钟时间数据;将所述主时钟时间数据沿着旁路电路路径从所述接收端口转发至所述结构交换机中的下游时钟端口;将所述主时钟时间数据封装在新的时间控制flit中,所述新的时间控制flit是在所述下游时钟端口的发送端口处生成的;以及将所述新时间控制flit注入到从所述发送端口向结构链路发出的flit流中。10.如权利要求6所述的方法,进一步包括:在结构交换机的上游时钟端口的接收端口处接收包括flit的流的flit流,所述接收端口具有相关联的接收缓冲器;检测在所述flit流中的flit与包含主时钟时间数据的时间控制flit相对应;将所述时间控制flit从所述接收端口转发至所述结构交换机中的下游时钟端口而并不将所述时间控制flit缓存在与所述接收端口相关联的所述接收缓冲器中;以及将所述时间控制flit注入到从所述下游时钟端口的发送端口向结构链路发出的flit流中。11.如权利要求6所述的方法,其中,对于每一个从节点,包含所述主时钟时间数据的所述至少一个flit以确保被转发至所述从节点的所述主时钟时间数据的数据完整性的方式沿着从所述主时钟节点至所述从节点的时钟树路径被转发。12.如前述权利要求中的任一项所述的方法,进一步包括确定所述主时钟和从节点上的本地时钟之间的时钟速率不匹配。13.如权利要求12所述的方法,其中,确定所述主时钟和所述本地时钟之间的所述时钟速率不匹配包括:在所述从节点处接收第一主时钟时间数据;在所述从节点处存储与所述第一主时钟时间数据相对应的第一主时钟时间样本;结合接收所述第一主时钟时间数据,在所述从节点处存储所述本地时钟的第一样本;在所述从节点处接收第二主时钟时间数据;在所述从节点处存储所述第二主时钟时间数据;结合接收所述第二主时钟时间数据,在所述从节点处存储所述本地时钟的第二样本;从所述第二主时钟时间数据减去所述第一主时钟时间数据以获得主时钟时间样本差;从所述本地时钟的第二样本减去所述第一样本以获得所述本地时钟时间样本差的时间差;以及从所述主时钟时间样本差减去所述本地时钟时间样本差,并且将结果除以所述本地时钟时间样本差以获得所述时钟速率不匹配。14.如前述权利要求中的任一项所述的方法,进一步包括:利用新的主时钟节点来代替主时钟节点;以及经由具有固定延迟的时钟树路径将由在所述新的主时钟节点上操作的...
【专利技术属性】
技术研发人员:T·D·洛维特,M·A·帕克,M·S·比利泰拉,
申请(专利权)人:英特尔公司,
类型:发明
国别省市:美国,US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。