公开了数据处理系统的同步。中央化同步设备响应于系统同步请求的接收来确定通过数据处理系统发送的至少事务请求的子集的进展。同步设备包括:至少一个端口,用于接收来自数据处理系统的请求以及向数据处理系统输出请求和响应;多播电路,被配置为响应于系统同步请求的接收来生成多个同步请求并且输出多个同步请求以用于多播到数据处理系统内的设备中的至少一些设备,同步请求查询在各个设备的每一个处至少事务请求的子集的进展;收集电路,用于收集对多个同步请求的响应,响应确认所查询的进展已经在各个设备处出现,收集电路被配置为确定何时接收到对全部多个同步请求的响应以及响应于确定已接收到全部响应来输出对系统同步请求的响应。
【技术实现步骤摘要】
本专利技术的领域涉及在包括经由互连连接的多个设备的系统中的数据处理的领域,并且具体地,涉及同步该分布式系统内不同组件的方式。
技术介绍
包括由一个或多个互连所互连的许多设备的分布式系统是已知的。流经这些互连的事务(transaction)请求可能采用不同的路线并且可能以不同方式被延迟。因此,事务的顺序有相当大的机会改变。取决于事务,这可能是或者不是问题,但是在某些情况下,它可导致可具有无法预料结果的程序顺序的改变。因此,在事务请求流中某些点处系统的同步是重要的,并且事务请求生成器可具有生成某些同步请求的能力,所述同步请求可通过系统被多播,以便确定更早事务的进展。当对全部多播的同步请求的响应已被接收时,事务请求生成器将知道先前的事务已到达所请求的点并且发出随后的事务请求是安全的。这种同步请求的一个示例是屏障请求。这些被生成以便相关于屏障请求维持事务请求的顺序。因此,事务请求生成器可在事务请求流中的某个点生成屏障,其中重要的是在随后的事务请求被发出之前先前的事务请求已完成或至少到达了系统中的要求点。因此,所有待决(pending)事务请求被发出并且多个屏障事务被生成和发送以便跟随其进展正在被监视的事务请求。当对全部多个屏障事务的响应被接收到时,然后随后的事务请求可被发出。在随着事务请求生成器和接收方的数量增加而复杂性增大的系统中,在每一个事务请求生成器中生成和分发同步请求并且收集它们的响应所需的电路是庞大的。特别是,事务生成器必须知道同步请求应当被发送到的全部目的地,它必须发送屏障并且跟踪来自每一个目的地的响应。期望能够提供大型分布式系统的同步,而不用过度增加系统组件的硬件。
技术实现思路
本专利技术的第一方面提供了一种同步设备,用于响应于多个不同类型的系统同步请求之一的接收来确定通过数据处理系统发送的至少事务请求的子集的进展,所述数据处理系统具有多个设备(包括用于生成事务请求的多个事务请求生成设备、用于接收事务请求的多个接收设备、所述同步设备和用于互连这些设备中的至少一些设备的至少一个互连);所述系统同步请求包括多个事务生成设备之一所生成的请求并且查询至少事务请求的子集的进展;所述同步设备包括:至少一个端口,用于接收来自数据处理系统的请求以及向数据处理系统输出请求和响应;系统同步请求标识电路,用于标识在所述至少一个端口处接收的系统同步请求的类型;缓冲电路,用于存储所接收的要被输出到多播电路的待决系统同步请求;仲裁电路,用于选择待决系统同步请求中的下一个以用于输出到所述多播电路;所述多播电路,被配置为响应于系统同步请求的接收来生成多个同步请求并且输出所述多个同步请求以用于多播到数据处理系统内设备中的至少一些设备,所述同步请求查询在所述至少一些设备中的各个设备的每一个处至少事务请求的子集的进展;收集电路,用于收集对所述多个同步请求的响应,所述响应确认所查询的进展已经在所述各个设备处出现,所述收集电路被配置为响应于已接收到所述系统同步请求中的一个来确定何时生成对全部所述多个同步请求的响应以及响应于确定已接收到全部所述响应来输出对所述系统同步请求中的所述一个的响应。本专利技术认识到大型分布式系统中系统同步的硬件和带宽需求的增加问题。本专利技术通过提供可通过生成所需的同步请求(然后被多播到有关设备)来响应来自各个事务生成设备的多个不同系统同步请求的中央同步设备来解决此问题。该同步设备也收集对它多播的同步请求的响应,并且当已收集了全部响应时,该同步设备响应发出系统同步请求的事务生成设备。通过中央化同步,各个事务生成器不需要它们自己的同步电路,它们仅需要生成系统请求并且将其发送到该特定设备以及等待响应。因此,请求生成和多播电路和响应收集电路可位于可由许多事务生成器使用的这一个设备中。此外,响应多播同步请求的设备不需要识别系统同步请求的源以及向相应设备发送响应,它们仅仅向同步设备发送对同步请求的响应,由此有助于这些响应的路由。此外,通过提供同步设备内的仲裁电路,在该中央设备中给出优先级,可控制不同同步请求的顺序,并且可解决潜在的冲突。这避免了如现有技术的设备中所存在的各个事务生成器和接收设备用复杂握手机制控制流的需要。应当注意,事务生成设备是生成事务的任何设备,因此它可以是系统中的主控或发起设备,例如数据处理器或图形引擎。接收设备是接收事务请求的任何设备,它可以不是事务请求的最终目的地,而是可以是中间设备,例如一致性控制器或另一个互连。在某些实施例中,所述仲裁电路被配置为根据系统同步请求的类型和系统同步请求的源来选择待决系统同步请求中的下一个以用于输出到所述多播电路。系统同步请求的顺序排列和优先级区分可根据请求的类型和源以及所存储的优先级算法来由仲裁电路决定。来自不同源的系统同步请求之间的冲突可由仲裁电路识别并解决,而不需要数据处理系统中的复杂流程控制。在某些实施例中,所述同步设备被配置为除了执行系统同步请求之外还执行多个系统维持请求,所述仲裁电路被配置为选择系统维持请求和统同步请求中的下一个以便输出到所述多播电路。除了集中地控制同步请求,在某些实施例中,同步设备也可接收和处理其它系统维持请求。这些通常是不针对存储器的请求,并且包括存储器维持请求、配置请求和错误处理请求。这些请求需要由针对同步请求的电路相类似的电路处理,因为它们是多播的并且响应被收集。此外,它们中的某些可涉及同步请求,并且因此,如果相同的设备执行这些请求则是有利的,因为这简化了对这些请求的流程控制。尽管系统同步请求可以许多方式跟踪至少事务请求的子集的进展,但是在某些实施例中,系统同步请求请求确认事务请求已完成。尽管进展被查询的事务请求的子集可以是任意子集,但是在某些实施例中,该子集是生成系统同步请求的事务请求生成设备先前输出的事务请求。通常,生成系统同步请求的设备在它发出可能依赖于较早请求的系统广泛影响的随后请求之前希望知道它较早所生成的请求进展如何。因此,通常,事务请求的子集是生成系统同步请求的设备已发出的那些事务请求中的至少一些事务请求。在某些实施例中,所述系统同步请求请求确认至少事务请求的子集已在它们的目的设备处被接收。尽管在某些情况下,希望知道事务请求是否已完成,即已在最终目标处执行了它们预期的动作。在其它情况下,知道它们已在其目的设备处被接收就足够了,因为可能这对于要发出的随后的事务请求是足够的。这例如可能是这样的情况,其中目的设备不允许重排序所接收的事务请求。在某些实施例中,所述同步设备包括数据存储装置,以用于存储标识同步请求被多播到达的至少一些设备的至少一个目标列表。响应于系统同步请求而同步请求被多播到达设备可被存储为同步设备内的列表。这可以是集中存储信息并且允许同步请求多播到适当设备的便利方式。知道要被跟踪的先前事务已被发送到哪以及因此将所生成的同步请求多播到哪可能是复杂的问题,在同步设备内存储基于系统的连接和路线的列表是向同步设备提供该信息的便利方式。这还允许流控制,在任何一个时间也许仅允许一定数量的系统同步请求被处理,这避免向目标洪泛用能具有矛盾需求的同步消息。在某些实施例中,所述数据处理系统包括安全处理域和非安全处理域,所述数据存储装置是从所述非安全处理域不可访问的安全数据存储装置。在该情况下,如果设备的目标列表被安全地存储可按需从安本文档来自技高网...
【技术保护点】
一种同步设备,用于响应于多个不同类型的系统同步请求之一的接收来确定通过数据处理系统发送的至少事务请求的子集的进展,所述数据处理系统具有多个设备,包括用于生成所述事务请求的多个事务请求生成设备、用于接收所述事务请求的多个接收设备、所述同步设备和用于互连这些设备中的至少一些设备的至少一个互连;所述系统同步请求包括所述多个事务生成设备之一所生成的请求并且查询至少事务请求的子集的进展;所述同步设备包括:至少一个端口,用于接收来自所述数据处理系统的请求,以及向所述数据处理系统输出请求和响应;系统同步请求标识电路,用于标识在所述至少一个端口处接收的系统同步请求的类型;缓冲电路,用于存储所接收的要被输出到多播电路的待决系统同步请求;仲裁电路,用于选择所述待决系统同步请求中的下一个以用于输出到所述多播电路;所述多播电路,被配置为响应于系统同步请求的接收来生成多个同步请求并且输出所述多个同步请求以用于多播到所述数据处理系统内的设备中的至少一些设备,所述同步请求查询在所述至少一些设备中的各个设备的每一个处至少事务请求的子集的所述进展;收集电路,用于收集对所述多个同步请求的响应,所述响应确认所查询的进展已经在所述各个设备处出现,所述收集电路被配置为响应于已接收到所述系统同步请求中的一个来确定何时生成对全部所述多个同步请求的响应以及响应于确定已接收到全部所述响应来输出对所述系统同步请求中的所述一个的响应。...
【技术特征摘要】
...
【专利技术属性】
技术研发人员:潘尼德拉·库玛·曼娜瓦,詹姆师德·加拉,拉玛穆尔西·古鲁·普拉萨哈,迈克尔·艾伦·菲利波,
申请(专利权)人:ARM有限公司,
类型:发明
国别省市:英国;GB
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。