会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
首页 / 专利库 / 家用器具 / 定时器 / CPU集群中的高精度定时器

CPU集群中的高精度定时器

阅读:925发布:2021-03-01

IPRDB可以提供CPU集群中的高精度定时器专利检索,专利查询,专利分析的服务。并且公开了一种CPU集群中的高精度定时器。一种系统包括第一节点,第一节点生成具有频率的第一时钟信号,生成多个数据分组,修改数据分组以包括表示与第一节点相关联的时间和相位信息的数据,并且传送数据分组。第二节点接收多个数据分组和第一时钟信号,基于多个数据分组确定时间和相位信息,基于第一时钟信号确定频率,并且基于时间和相位信息以及第一时钟信号的频率生成第二时钟信号和本地时间中的至少一个。,下面是CPU集群中的高精度定时器专利的具体信息内容。

1.一种系统,包括:

第一节点,生成具有频率的第一时钟信号,生成多个数据分组,修改所述数据分组以包括表示与所述第一节点相关联的时间和相位信息的数据,并且传送所述数据分组;以及第二节点,接收所述多个数据分组和所述第一时钟信号,基于所述多个数据分组确定所述时间和相位信息,基于所述第一时钟信号确定所述频率,并且基于所述时间和相位信息以及所述第一时钟信号的频率而生成第二时钟信号和本地时间中的至少一个。

2.根据权利要求1所述的系统,其中,表示时间和相位信息的所述数据包括至少一个时间戳。

3.根据权利要求1所述的系统,其中,所述第一节点是主节点,并且所述第二节点是从节点。

4.根据权利要求1所述的系统,其中,所述第一节点包括交换机模块,所述交换机模块修改所述数据分组以包括表示时间和相位信息的所述数据,并且传送所述数据分组。

5.根据权利要求4所述的系统,其中,所述交换机模块包括根据IEEE1588协议工作的以太网交换机。

6.根据权利要求1所述的系统,其中,所述第二节点包括确定所述时间和相位信息的分组同步模块。

7.根据权利要求6所述的系统,其中,所述分组同步模块根据IEEE1588协议、使用基于分组的定时方案来确定所述时间和相位信息。

8.根据权利要求1所述的系统,其中,所述第二节点包括从时钟生成模块,所述从时钟生成模块基于所述时间和相位信息以及所述第一时钟信号的频率而生成所述第二时钟信号和所述本地时间中的至少一个。

9.根据权利要求8所述的系统,其中,所述从时钟生成模块使用所述时间和相位信息以及所述第一时钟信号的频率而实现锁相环,所述锁相环将所述第二时钟信号锁定于所述第一时钟信号。

10.根据权利要求1所述的系统,还包括生成第三时钟信号的第三节点,其中:所述第一节点和所述第三节点是主节点;

所述第二节点是从节点;以及

所述第二节点在所述第一时钟信号与所述第三时钟信号之间进行选择。

11.根据权利要求1所述的系统,其中,所述第一节点和所述第二节点耦合到背板并且经由所述背板进行通信。

12.一种方法,包括:

在第一节点处,

生成具有频率的第一时钟信号;

生成多个数据分组;

修改所述数据分组以包括表示与所述第一节点相关联的时间和相位信息的数据;以及传送所述数据分组;以及在第二节点处,

接收所述多个数据分组和所述第一时钟信号;

基于所述多个数据分组来确定所述时间和相位信息;

基于所述第一时钟信号确定所述频率;以及

基于所述时间和相位信息以及所述第一时钟信号的频率而生成第二时钟信号和本地时间中的至少一个。

13.根据权利要求12所述的方法,其中,表示时间和相位信息的所述数据包括至少一个时间戳。

14.根据权利要求12所述的方法,其中,所述第一节点是主节点,并且所述第二节点是从节点。

15.根据权利要求12所述的方法,其中,修改所述数据分组以包括表示时间和相位信息的数据包括:根据IEEE1588协议而修改所述数据分组。

16.根据权利要求12所述的方法,其中,确定所述时间和相位信息包括:根据IEEE1588协议、使用基于分组的定时方案来确定所述时间和相位信息。

17.根据权利要求12所述的方法,还包括:使用所述时间和相位信息以及所述第一时钟信号的频率来实现锁相环,所述锁相环将所述第二时钟信号锁定于所述第一时钟信号。

18.根据权利要求12所述的方法,还包括:

在第三节点处,生成第三时钟信号,其中,所述第一节点和所述第三节点是主节点,并且所述第二节点是从节点;以及在所述第二节点处,在所述第一时钟信号与所述第三时钟信号之间进行选择。

19.根据权利要求12所述的方法,还包括:

将所述第一节点和所述第二节点耦合到背板;以及经由所述背板提供所述第一节点与所述第二节点之间的通信。

说明书全文

CPU集群中的高精度定时器

[0001] 对相关申请的交叉引用
[0002] 本申请要求2012年8月21日提交的美国临时申请第61/691,460号的权益。上述申请的全部公开内容通过引用合并于此。

技术领域

[0003] 本公开涉及CPU集群中的时钟定时。

背景技术

[0004] 这里提供的背景描述出于一般地介绍本公开的背景的目的。对于在该背景部分中进行描述的程度以及不可被另外当作是提交时的现有技术的描述的方面,当前指定的发明人的工作既不是明确地也不是隐含地被承认为相对于本公开的现有技术。
[0005] 多个节点可在系统中互连。例如,每个节点可包括一个或多个处理器以及其它部件,其它部件包括但不限于易失性存储器和非易失性存储器、专用硬件(诸如专用集成电路(ASIC))以及各种通信接口。仅作为示例,ASIC和通信接口可包括电信、军用、工业自动化和/或全球定位系统(GPS)装置和接口。每个节点可包括以卡或板配置来布置的一个或多个印刷电路板(PCB)。
[0006] 节点可在CPU集群系统(诸如被配置成包围背板和多个节点的机箱)中互连。例如,每个节点可包括一个或多个插头或插座型边缘连接器(即,布置在卡或板的边缘上的连接器)。背板可包括被配置成容纳节点的边缘连接器的多个互补插座或插头型背板连接器。节点插入机箱中,并且背板连接器容纳边缘连接器中的相应边缘连接器。CPU集群系统的示例实现包括但不限于高级电信计算架构(ATCA)系统、紧凑型外围部件互连(CPCI)系统以及VPX系统。可使用其它适当的连接类型。
[0007] 节点经由背板相互进行通信。例如,背板可包括一条或多条数据总线。或者,节点可通过背板经由点到点连接而彼此直接进行通信。节点可经由背板传递数据(例如,基于分组的数据)、定时信息(例如,时钟信号)或任何其它信息。

发明内容

[0008] 一种系统包括第一节点,该第一节点生成具有频率的第一时钟信号,生成多个数据分组,修改数据分组以包括表示与第一节点相关联的时间和相位信息的数据,并且传送数据分组。第二节点接收多个数据分组和第一时钟信号,基于多个数据分组确定时间和相位信息,基于第一时钟信号确定频率,并且基于时间和相位信息以及第一时钟信号的频率生成第二时钟信号和本地时间中的至少一个。
[0009] 一种方法包括:在第一节点处,生成具有频率的第一时钟信号,生成多个数据分组,修改数据分组以包括表示与第一节点相关联的时间和相位信息的数据,并且传送数据分组。该方法包括:在第二节点处,接收多个数据分组和第一时钟信号,基于多个数据分组确定时间和相位信息,基于第一时钟信号确定频率,并且基于时间和相位信息以及第一时钟信号的频率生成第二时钟信号和本地时间中的至少一个。
[0010] 根据下文中提供的详细描述,本公开的另外的应用领域将变得显而易见。应理解,详细描述和具体示例仅旨在用于说明目的并且不旨在限制本公开的范围。

附图说明

[0011] 将根据详细描述和附图而更充分地理解本公开,在附图中:
[0012] 图1A示出了根据本公开的原理的包括多个节点集群的网络;
[0013] 图1B示出了根据本公开的原理的节点集群;
[0014] 图2是根据本公开的原理的节点集群的功能框图;
[0015] 图3是根据本公开的原理的主节点和多个从节点的功能框图;
[0016] 图4是根据本公开的原理的接口控制模块的功能框图;以及
[0017] 图5示出了根据本公开的原理的操作节点集群的方法。
[0018] 具体实现方式
[0019] 在节点集群(诸如CPU集群系统)中,多个节点可执行一个或多个分布式应用。换言之,节点集群中的每个节点可为给定应用或该应用的任务提供相同的或不同的处理功能。仅作为示例,节点可针对与应用相关联的各个任务串行地或并行地工作。
[0020] 应用可依赖于跨越多个节点的公共时基。换言之,每个节点可尝试根据期望的时间、相位和频率而与其它节点同步。多个节点之间的适当同步提高了节点集群的总体准确度。因此,依赖于准确时间的应用可分布在节点间。
[0021] 例如,节点集群可实现基于分组的定时方案以确定时间和相位。在基于分组的定时方案中,在节点之间传送的数据分组可包括时间戳或表示时间和相位的其它数据。仅作为示例,主节点可将包括时间戳的数据分组分发给多个从节点。此外,每个从节点可包括与节点的定时相关联的相应节点振荡器。节点可基于包括在数据分组中的信息而确定时间和相位。相反,节点可使用包括在数据分组中的信息而估计频率,并且根据所估计的频率使用节点振荡器来生成节点时钟信号。
[0022] 所估计的频率不是准确地对应于与主节点相关联的频率。例如,主节点可根据主时钟信号和相关联的振荡器来工作。节点振荡器可能具有相对于主时钟信号的频率的时变偏移(例如,由于振荡器漂移)。在根据本公开的节点集群中,从节点根据主时钟信号或分配给每个从节点的另一时钟信号而生成各个节点时钟信号。因此,每个从节点仍可以以基于分组的定时方案或其它定时方案而独立地确定时间和相位信息,但是将节点时钟信号锁定于系统范围时钟信号。
[0023] 现在参照图1A和图1B,网络100可包括统称为节点集群104的多个节点集群104-1、104-2、…、104-n。仅作为示例,网络100可对应于CPU集群系统,该CPU集群系统包括但不限于高级电信计算架构(ATCA)系统、紧凑型外围部件互连(CPCI)系统和VPX系统。每个节点集群104包括诸如机箱108(例如,机箱108-1、108-2、…、108-n,被统称为机箱108)的结构。每个机箱108包括容纳多个节点116的背板112。仅作为示例,每个节点116包括在卡或板的边缘上的一个或多个边缘连接器120,这一个或多个边缘连接器120连接到背板112的相应背板连接器124。任意给定的节点集群104中的节点116可根据由背板112和/或另一节点116分发的系统范围时钟信号而生成相应的节点时钟信号。
[0024] 现在参照图2,示意性地示出的示例节点集群200包括被统称为从节点204的多个从节点204-1、204-2、…、和204-n以及被统称为主节点208的一个或多个主节点208-1、208-2、…、208-m。各从节点204和主节点208与背板212进行通信。例如,节点204和208使用一个或多个数据信号216传送和/或接收数据(例如,数据分组)。节点204和208还可传送和/或接收一个或多个时钟信号220。节点204和208基于数据信号216和时钟信号220而对处理进行同步。例如,每个从节点204可根据相同的时间、相位和频率而工作。
从节点204可实现基于分组的定时方案,以基于经由数据信号216从一个主节点208接收到的数据分组而确定时间和相位。相反,每个从节点204基于由一个主节点208生成的时钟信号220而确定频率。此外,尽管节点204和208被示出为经由背板212连接,但可使用其它连接结构和/或接口。例如,节点208可仅使用用于将时钟和数据并行地传送到节点的任意适当连接接口(例如,导线、线缆等)而接线在一起。
[0025] 在一些实现中,从节点204可在两个主节点208之间进行选择。例如,从节点204可选择主节点208中的第一主节点,以根据主节点208中的第一主节点的时间、相位和频率而工作。或者,从节点204可选择主节点208中的第二主节点,以根据主节点208中的第二主节点的时间、相位和频率而工作。
[0026] 现在参照图3,节点集群300包括被统称为从节点304的从节点304-1、304-2和304-3以及主节点308。尽管仅为了说明目的而示出了主节点308,但是可以理解,节点集群
300可包括多个主节点308,每个主节点308被配置成与从节点304进行通信。此外,节点集群300可包括任意数量的从节点304。
[0027] 主节点308包括主时钟生成模块320、交换机模块324以及被统称为应用模块328的应用模块328-1、328-2、…和328-n。应用模块328执行与节点集群300的操作相关联的处理和/或其它任务。仅作为示例,应用模块328可包括执行电信、军用、工业自动化和/或全球定位系统(GPS)相关的处理任务的一个或多个处理器和/或专用集成电路(ASIC)。应用模块328可对应于跨越多个节点工作并且使用公共时基的任何应用。
[0028] 主时钟生成模块320生成主时钟信号332。主时钟信号332被分发给每个从节点308。主时钟信号332也可被分发给应用模块328。因此,主时钟信号332可以是用作节点集群300的公共时基的公共时钟或系统范围时钟。例如,主时钟生成模块320生成具有预定频率的主时钟信号332。尽管如所示出的,主时钟生成模块320将主时钟信号332直接提供到从节点304,但是可以理解,主时钟信号332可经由诸如图2所示的背板212的结构或任意其它适当的连接接口来分发(例如,经由导线或线缆被分发给远程机架中的节点)。
[0029] 交换机模块324经由数据信号336将数据(例如,数据分组)传送到从节点304并且从从节点304接收数据。类似地,交换机模块324可与应用模块328交换数据分组。交换机模块324可包括诸如以太网交换机的任何适当的数据交换机。仅作为示例,交换机模块324包括根据诸如IEEE1588的精确时间协议(PTP)和/或网络时间协议(NTP)而工作的以太网交换机。尽管如所示出的,交换机模块324将数据信号336直接提供到从节点308,但是可以理解,数据信号336可经由诸如图2所示的背板212的结构来分发。此外,尽管交换机模块324被示出为与主节点308集成,但是交换机模块324可以位于主节点308外部。
[0030] 交换机模块324修改传送到从节点304的每个数据分组,以包括表示与主节点308的操作相关联的时间和相位信息的数据。例如,交换机模块324可修改每个数据分组,以包括指示数据分组的对应传送时间的时间戳。因此,用于传送到从节点304的多个数据分组的时间戳表示与节点集群300的操作相关联的时间和相位信息。
[0031] 每个从节点304包括接口控制模块360以及被统称为应用模块364的应用模块364-1、364-2、…和364-m。与主节点308的应用模块328类似,应用模块364执行与节点集群300的操作相关联的处理和/或其它任务。仅作为示例,应用模块364可包括一个或多个处理器和/或ASIC,并且可对应于跨越多个节点工作且使用公共时基的任意应用。应用模块364可执行用于执行任务的多个相应软件集。
[0032] 接口控制模块360从主节点308接收主时钟信号332和数据信号336(即,数据分组)。接口控制模块360可实现输入/输出(I/O)控制器集线器(ICH)或任意其它适当的接口控制器。接口控制模块360使用从主节点308接收到的数据分组的时间戳来确定时间和相位信息。接口控制模块360使用主时钟信号332的频率以及时间和相位信息来生成从时钟信号368。接口控制模块360将从时钟信号368分发给应用模块364,应用模块364可将基于从时钟信号368的本地时间分发给各个软件应用。或者,接口控制模块360可将基于时间和相位信息以及频率的本地时间分发给应用模块。因此,根据主节点308的时间、相位和频率而生成从时钟信号368(或者本地时间)。接口控制模块360还可经由数据信号372与应用模块364交换数据分组。
[0033] 现在参照图4,示例接口控制模块400包括分组同步模块404、本地振荡器408和从时钟生成模块412。分组同步模块404基于包括在每个数据分组中的时间戳而确定与(例如,经由数据信号416)从主节点接收的数据分组相关联的时间和相位信息。例如,分组同步模块404可根据IEEE1588PTP、国际电信联盟(ITU-T)建议G.8261/Y.1361(通过引用合并于此)或其它适当的基于分组的定时方案、基于时间戳而恢复时间和相位信号420。仅作为示例,分组同步模块404可实施高精度计数器(HPC)和/或IEEE1588兼容计数器来实现基于分组的定时方案。分组同步模块404将时间和相位信号420提供给从时钟生成模块412。分组同步模块404也可经由数据信号424输出数据分组。
[0034] 在典型的基于分组的定时方案中,可基于所恢复的时间和相位信息而计算估计频率(例如,与主节点相关联的频率)。例如,可基于与到主节点的数据分组传递和来自主节点的数据分组传递相关联的估计往返延迟和估计时变偏移(例如,由于归因于本地振荡器408的振荡器漂移)而计算估计频率。
[0035] 相反,接口控制模块400不计算估计频率。替代地,分组同步模块404将时间和相位信号420提供到从时钟生成模块412,并且从时钟生成模块412基于时间和相位信号420以及从主节点接收的主时钟信号444而生成从时钟信号440。具体地,从时钟生成模块412确定主时钟信号444的频率,并且根据时间和相位信号420以及主时钟信号444的频率而生成从时钟信号440。例如,从时钟生成模块412可使用时间和相位信号420以及主时钟信号444的频率而将从时钟信号440锁定于主时钟信号。仅作为示例,从时钟生成模块412可实现锁相环(PLL)以将从时钟信号440锁定于主时钟信号444。从时钟生成模块412可与本地振荡器408进行通信以监视主时钟信号444。从时钟生成模块412将从时钟信号440分发给应用模块364(如图3所示),并且可将从时钟信号440提供给分组同步模块404。
[0036] 在一些实现中,节点集群可包括多于一个主节点。例如,节点集群可包括多于一个主节点以实现冗余或提供附加的功能。因此,接口控制模块400可在从多个主节点接收的信息之间进行选择。仅作为示例,接口控制模块400可包括分别用于在数据信号468之间和主时钟信号472之间进行选择的交换机460和464。交换机460可输出根据选择信号476而选择的一个数据信号468。相反,交换机464可输出根据选择信号480而选择的一个主时钟信号472。仅作为示例,任意从节点、主节点或者与节点集群相关联的任意其它结构可生成选择信号476和480。
[0037] 类似地,接口控制模块400可包括用于基于选择信号496而在本地振荡器信号488与外部振荡器信号492之间进行选择的交换机484。例如,其它从节点、节点集群的背板或者与节点集群相关联的任意其它结构可生成外部振荡器信号492。
[0038] 现在参照图5,操作节点集群的方法500开始于504。在508,方法500生成数据分组以传送到一个或多个从节点。在512,方法500修改数据分组以包括对应的时间戳。在516,方法500将包括时间戳的数据分组和主时钟信号传送到从节点。在520,方法500根据基于分组的定时方案、使用时间戳来确定时间和相位信息。在524,方法500基于时间和相位信息以及主时钟信号的频率来生成从时钟信号。方法500结束于528。
[0039] 以上描述本质上仅是说明性的并且不以任何方式限制本公开、其应用或使用。本公开的广泛教导可以以多种形式来实现。因此,尽管本公开包括特定示例,但是本公开的真正范围不应如此被限制,这是由于在研究了附图、说明书和所附权利要求之后其他修改将变得明显。为了清楚的目的,相同的附图标记将在图中用于标识类似的元件。如这里所使用的,短语“A、B和C中的至少一个”应被解释为表示使用非排他性逻辑或的逻辑(A或B或C)。应理解,可以以不同的顺序(或者同时地)执行方法中的一个或多个步骤,而不改变本公开的原理。
[0040] 如这里所使用的,术语“模块”可是指下列项、是下列项的一部分或者包括下列项:专用集成电路(ASIC);电子电路;组合逻辑电路;现场可编程门阵列(FPGA);执行代码的处理器(共享、专用或组);提供期望功能的其它适当硬件部件;或者以上的部分或全部的组合,诸如在片上系统中。术语“模块”可包括存储由处理器执行的代码的存储器(共享、专用或组)。
[0041] 如以上所使用的术语“代码”可包括软件、固件和/或微代码,并且可以是指程序、例程、函数、类和/或对象。如以上所使用的术语“共享”表示可使用单个(共享)处理器来执行来自多个模块的部分或全部代码。另外,来自多个模块的部分或全部代码可由单个(共享)存储器来存储。如以上所使用的术语“组”表示来自单个模块的部分或全部代码可使用一组处理器来执行。另外,来自单个模块的部分或全部代码可使用一组存储器来存储。
[0042] 这里描述的设备和方法可由一个或多个处理器执行的一个或多个计算机程序来实现。计算机程序包括存储在非暂态有形计算机可读介质上的处理器可执行指令。计算机程序还可包括所存储的数据。非暂态有形计算机可读介质的非限制性示例是非易失性存储器、磁存储装置和光学存储装置。
高效检索全球专利

IPRDB是专利检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,专利查询、专利分析

电话:13651749426

侵权分析

IPRDB的侵权分析产品是IPRDB结合多位一线专利维权律师和专利侵权分析师的智慧,开发出来的一款特色产品,也是市面上唯一一款帮助企业研发人员、科研工作者、专利律师、专利分析师快速定位侵权分析的产品,极大的减少了用户重复工作量,提升工作效率,降低无效或侵权分析的准入门槛。

立即试用