当前位置: 首页 > 专利查询>英特尔公司专利>正文

用于百亿亿次级结构的时间同步的方法、装置和系统制造方法及图纸

技术编号:15987411 阅读:40 留言:0更新日期:2017-08-12 06:59
用于实现跨百亿亿次级结构的时间同步的方法和装置。主时钟节点经由包括多个结构交换机和多个结构链路的结构耦合到多个从节点,其中每一个从节点经由遍历至少一个结构交换机的各自的时钟树路径连接至该主时钟节点。该结构交换机被配置为选择地沿着具有固定延迟的旁路掉该交换机的缓冲器和交换机电路的路径内部转发主时钟时间数据,这使得全部时钟树路径同样具有固定延迟。针对每一个从节点确定该时钟树路径的固定延迟。然后通过使用由每一个从节点接收的主时钟时间数据和确定的从主时钟节点到从节点的时钟树路径的固定延迟将从节点的本地时钟与主时钟进行同步。还提供了用于确定主时钟和本地时钟之间的时钟速率不匹配的技术。

【技术实现步骤摘要】
百亿亿次级结构时间同步
技术介绍
近些年,大幅度地提高了对高性能计算(HPC)的使用和兴趣。历史上,HPC通常与所谓的“超级计算机”相关联。超级计算机主要由西摩克雷(SeymourCray)在控制数据公司(CDC)、克雷研究公司(CrayResearch)以及后来具有克雷的名字或由其首字母组成的图案的公司在20世纪60年代提出,最初被研制,并且持续数十年。虽然20世纪70年代超级计算机仅使用少量处理器,然而在20世纪90年代开始出现具有数千个处理器,并且最近已经实现了具有几十万“现成的(off-the-shelf)”处理器的大规模并行超级计算机。存在很各种HPC架构,面向实现以及研究两者,以及具有各种级别的规模和性能。然而,共同的线程是大量计算单元(诸如,处理器和/或处理器核心)的互连从而以并行的方式协作地执行任务。在最近的片上系统(SoC)设计和提案中,使用二维(2D)阵列、圆环、环或其他配置在单个SoC上实现数十个处理器核心等等。此外,研究者已经提出了3DSoC,其中在3D阵列中对数百个或者甚至数千个处理器核心进行互连。独立的多核处理器和SoC也可能密集地位于服务板上,其继而经由背板等通信地互连。另一通用方法为对服务器机架(例如,刀片服务器和模块)中的典型地被配置2D阵列中作为计算节点的集群的计算单元进行互连。存在需要在各种服务器和/或计算节点的集合之间进行精确同步的各种类型的处理任务。举例来说,当部署在集群中时,计算节点典型地在它们自身之间发送消息,并且接收消息的顺序是非常重要的。为此,存在可能用于确保消息以适当的顺序处理的各种排序模型,包括FIFO(先入先出)、全排序以及因果排序。这些排序方案的每一个都需要额外的开销,这导致了性能降低。举例来说,FIFO排序可能典型地需要使用FIFO路由器,全排序需要通过中央实体发送消息,并且因果排序是典型地使用向量时钟实现的。理想地,最有效的排序方案会简单地包括使用绝对时间为每一个消息标记时间戳。这会支持绝对排序,它对于很多HPC和其他过程来说是优选的排序方案。然而,这固有地难以实现,因为不存在如在HPC环境中进行共享的绝对时间的此类事物。更确切地,时间并不需要太绝对,而是在每一个服务器上运行的时钟是同步的。一种用于同步时钟的方案由IEEE1588标准定义。IEEE1588提供了一种用于对经由能够多播的网络(例如,以太网)连接的时钟进行同步的标准协议。IEEE1588被设计为在需要很少网络带宽开销、处理功率以及管理设置的异构网络的时钟当中提供容错同步。IEEE1588通过定义称为精确时间协议或者PTP的协议来进行提供。时钟的异构网络是包括不同特性的时钟的网络,所述不同特性的时钟诸如时钟的时间源的来源,以及时钟频率的稳定性。PTP协议提供了一种将所有参与时钟同步至该网络中的最高质量时钟的容错方法。IEEE1588定义了时钟特性的标准集组合针对每一个定义了数值范围。通过运行分布式算法,称为最佳主时钟算法(BMC),该网络中的每一个时钟识别出最高质量的时钟;其是具有最好特性集合的时钟。最高排位的时钟被称为“主(grandmaster)”时钟,并使所有其他的“从(slave)”时钟同步。如果“主”时钟被从网络中移除,或者如果它的特性以它不再是“最佳”时钟的方式改变,那么BMC算法为参与时钟提供了用于自动地确定当前“最佳”时钟的方式,当前“最佳”时钟成为新的主时钟。最佳主时钟算法提供了确定该时钟用作整个网络的时间源的容错并且管理自由的方式。从时钟通过使用双向多播通信同步至1588主时钟。主时钟周期性地发出称为“同步”包的数据包,其包括当该数据包离开主时钟时的时间的时间戳。主时钟还可以选择性地,发出包括该“同步”包的时间戳的“跟踪”包。使用单独的“跟踪”包允许主时钟精确地在其中数据包的离开时间事先无法确切得知的网络上对“同步”包标记时间戳。举例来说,以太网通信的冲突检测和随机退避机制防止知晓该数据包的准确发送时间直到在没有检测到冲突的情况下在数据包被完全发送,此时不可能改变数据包的内容。虽然IEEE1588和PTP为某些应用提供了充足水平的时钟同步(近似数十微秒),但仍不足精确到满足很多HPC环境的需要。因此,实现一种比IEEE1588好上数个数量级的维持时钟同步的机制将是有利的。附图说明通过参考下面的详细描述并结合附图,前述的各方面以及本专利技术随之而来的很多优点将变得更易于理解同时变得更好地理解,其中,除非另行指明,在附图中不同视图的类似的附图标记表示类似的部件。图1是示出了根据一个实施例的包括结构架构的各种组件和互连的系统的高层次视图的示意图;图2是描述根据一个实施例的通过结构链路传输数据的各架构层的示意图;图3是示出了组成为一组的多个flit的示意图;图4是示出了根据一个实施例的结构数据包的结构的示意图;图5是示出了根据一个实施例的标准检测LTP的数据结构的图;图6是示出了根据一个实施例的14位CRCLTP的数据结构的图;图7是示出了根据一个实施例的增强的检测LTP的数据结构的图;图8是示出了根据一个实施例的标准检测空LTP的数据结构的图;图9是示出了根据一个实施例的在使用4个通道的两个链路端口之间的双向数据传输的示例的示意图;图10a是示出了根据一个实施例的其中实现了时间同步的结构中的示例时钟树的示意图;图10b是示出了在其中备份主时钟节点代替原始主时钟节点的对图10a进行展开的示意图;图11a是被配置为使用接近交换机边缘的环形母线对在上游时钟端口和下游时钟端口之间传输时钟数据的交换机的示意图;图11b是示出了根据一个实施例的时钟端口的进一步细节的示意图;图12是示出了根据一个实施例的主时钟高SPCflit的格式的图;图13是示出了根据一个实施例的主时钟低SPCflit的格式的图;图14是示出了根据一个实施例的用于确定主节点时钟和从节点上的本地时钟之间的时钟漂移的操作和逻辑的流程图;图15是示出了根据一个实施例的用于计算时钟树路径延迟的操作和逻辑的流程图;以及图16是示出了用于在主时钟和本地时钟之间执行时钟同步的操作并进一步示出了使用经由图14的流程图确定的时钟漂移的对同步的时钟进行更新的流程图。具体实施方式用于实现百亿亿次级结构的时间同步的方法和装置的实施例在本文中进行描述。在下面的描述中,提出了大量特定细节以提供对本专利技术的各实施例的彻底理解。然而,本领域技术人员将认识到,本专利技术可在没有特定细节中的一个或多个的情况下实施,或者与其他方法、组件、材料等一起实施。在其他实例中,公知的结构、材料或操作并没有具体示出或者描述以避免模糊本专利技术的各方面。贯穿本说明书的对“一个实施例”或“实施例”的引用是指结合该实施例描述的特定特征、结构或特性被包含在本专利技术的至少一个实施例中。因此,贯穿本说明书在多处出现的短语“在一个实施例中”或“在实施例中”并不必须所有都指相同的实施例。此外,在一个或多个实施例中,该特定特征、结构或特性可能以任何适当的方式进行组合。为了清晰起见,在本文中,附图中的独立组件还可能通过附图中它们的标签进行引用,而不是通过特定的附图标记。此外,指示特定类型的组件(与特定组件相反)的附图标记可能被示出为后面跟着表示“典型的”的“(typ)”的附图标记。本文档来自技高网...
<a href="http://www.xjishu.com/zhuanli/62/201611224436.html" title="用于百亿亿次级结构的时间同步的方法、装置和系统原文来自X技术">用于百亿亿次级结构的时间同步的方法、装置和系统</a>

【技术保护点】
一种在如下的环境中执行的方法,所述环境包括经由包括多个结构交换机和多个结构链路的结构通信地耦合到多个从节点的主时钟节点,所述方法包括:经由具有固定延迟的时钟树路径将由在所述主时钟节点上操作的主时钟生成的主时钟时间数据转发至所述多个从节点中的每一个从节点;对于给定的从节点,确定从所述主时钟节点至所述从节点的所述时钟树路径的所述固定延迟;以及使用由所述从节点接收的所述主时钟时间数据以及被确定的从所述主时钟节点至所述从节点的所述时钟树路径的所述固定延迟来对所述从节点的本地时钟和在所述主时钟节点上操作的所述主时钟进行同步,其中,对于所述从节点的至少一部分从节点,从所述主时钟节点至那些从节点的时钟树路径遍历多个结构交换机。

【技术特征摘要】
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

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1