买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】用于在用于交换机架构的多级仲裁上实现公平性的系统和方法_英特尔公司_201680091255.0 

申请/专利权人:英特尔公司

申请日:2016-12-30

公开(公告)日:2024-03-26

公开(公告)号:CN110140115B

主分类号:G06F13/36

分类号:G06F13/36;G06F13/40;H04L47/629;H04L49/112

优先权:

专利状态码:有效-授权

法律状态:2024.03.26#授权;2020.01.24#实质审查的生效;2019.08.16#公开

摘要:在一些实施例中,本发明涉及使用加权仲裁器交换机来在将输入流通过多个输入端口传递到输出端口中提供公平性。加权仲裁器交换机可以在层级架构中被组合,以使得能够通过许多级交换机路由。每个输入端口都具有相关联的流计数器,以对通过输入端口的输入流业务员进行计数。仲裁器交换机使用来自层级中较低级别的仲裁器交换机的流计数和权重,以通过输出端口生成输入流的公平分布的路由。描述并要求保护了其它实施例。

主权项:1.一种交换机,包括:第一流计数器电路,其与第一输入端口相关联,所述第一流计数器电路用于对流过所述第一输入端口的输入流进行计数以生成输入流计数;第二流计数器电路,其与第二输入端口相关联,所述第二流计数器电路用于对流过所述第二输入端口的输入流进行计数;加权仲裁器电路,其用于基于权重将输入流从所述第一输入端口或者所述第二输入端口中的至少一个传递到输出端口,其中,所述权重是从来自所述第一流计数器电路的输入流计数以及来自所述第二流计数器电路的输入流计数导出的,取决于所述交换机内的模式,来自所述第一流计数器电路或者所述第二流计数器电路中的至少一个的输入流计数在来自所述第一流计数器电路或者所述第二流计数器电路中的至少一个的数据流中的至少一个流过之后被调整。

全文数据:用于在用于交换机架构的多级仲裁上实现公平性的系统和方法技术领域概括而言,本主题的实施例涉及交换架构,并且更具体而言,涉及用于使各种输入和输出交换之间和之中的仲裁更公平的系统。背景技术在交换网络和设备中存在用于仲裁的各种机制。例如,在路由分组的交换机中,分组在交换机输入处排队并为输出而竞争。该竞争或争夺需要直接影响交换机性能的仲裁策略。最佳策略取决于交换机的当前状态和当前业务模式。这个问题是困难的,这是因为状态空间、可能的转换和动作集都随着总端口计数或交换机中的输入输出端口呈指数级增长。被交换的结构或交换结构是网络拓扑,其中,网络节点经由一个或多个网络交换机特别是交叉交换机crossbarswitch互连。因为被交换的结构网络跨多个物理链路散布网络业务,因此被交换的结构产生高于广播网络例如,早期的以太网的总吞吐量。应当注意的是,在本文档中已经用星号替换了URL中的句点,以避免无意的超链接。目前的设计尚未解决在许多高基数交换机架构中例如,基于分片的微架构中的不公平问题。例如,最近的AriesTM片上系统SOC基于分片的交换机表现出如本文所述的问题。高基数交换机具有许多端口的交换机,例如64输入乘以64输出64x64可能使用低效的仲裁技术。例如,在基于分片的架构中,内部设计可以由按行和列布置的分片的矩阵构成。输入-输出交换机范围的仲裁可以被解耦成多级方案,其中,在子交换机或分片级处的每行上的所有输入之中发生第一级仲裁,接着针对每列中的每个输出端口发生第二级仲裁。然而,不同的端口可能具有来自不同数量的设备或组件的不同业务模式。附图说明在不一定按比例绘制的附图中,类似的数字可以描述不同视图中的相似组件。具有不同字母后缀的类似数字可以表示相似组件的不同实例。在附图的图中,通过示例而非限制的方式示出了一些实施例,在附图中:图1是示出使用现有仲裁方法的多层仲裁机制的框图。图2是示出根据实施例的被插入到交换仲裁机构中以监测来自输入端口的流的计数器的框图。图3是示出用于实现交换机架构中的多级公平性仲裁的实施例的云提供商多租户数据中心示例的框图。图4是示出根据实施例的流计数结构如何在逻辑上链接到不同仲裁器的框图。图5是示出根据实施例的流跟踪结构的框图。图6示出了根据实施例的多级层级仲裁交换机架构。图7是示出根据实施例的用于计算通过交换机的公平性的方法的流程图。具体实施方式在以下描述中,出于解释的目的,阐述了各种细节以便提供对一些示例性实施例的透彻理解。然而,对于本领域技术人员而言将显而易见的是,可以在没有这些具体细节的情况下实践本主题。当使用多层仲裁方案时,高基数交换机中的端口之间的仲裁可能导致针对相同资源输出端口竞争的不同端口之间的固有不公平性。可以在现有系统中使用多层仲裁方案来处理高基数交换机的实施方式中的布线定时障碍。当一系列公平仲裁导致全局交换机不公平时,这种不公平展现了针对隔离的资源使用多级仲裁方案的任何交换机设计的更一般的问题。本主题的实施例是涉及使得使用多层仲裁方案的交换架构在其输入输出吞吐量的仲裁中更公平的系统和方法。说明书中对“一个实施例”或“实施例”的引用意味着结合该实施例描述的特定特征、结构或特性被包括在本主题的至少一个实施例中。因此,出现在整个说明书中的各个地方的短语“在一个实施例中”或“在实施例中”不一定都指代相同实施例。出于解释的目的,阐述了具体配置和细节以便提供对本主题的透彻理解。然而,对于本领域普通技术人员显而易见的是,本发明的实施例可以在没有本文呈现的具体细节的情况下实践,或者以如本文所述的各种组合实践。此外,可以省略或简化公知的特征,以免模糊本发明。在整个描述中可以给出各种示例。这些仅仅是对本发明具体实施例的描述。本发明的范围不限于所给出的示例。为了简化讨论,在本文中,针对自然依赖于多层仲裁方案的示例性交换架构描述了基于分片的tile-based微架构。在消化了该描述之后,对于本领域普通技术人员而言将显而易见的是,可以使用除了基于分片的架构来实现实施例,其中,架构也利用多层仲裁方案。例如,使用子交叉交换机来降低高基数交换机内的中央交叉架构的复杂性和不可行性的任何架构,而不依靠基于分片的设计,例如,在非分片布置中的芯片周围放置任何数量的子交换机。用于高基数交换机的基于分片的微架构对输入-输出交换机范围的仲裁进行解耦,其在每个输出端口处的最终仲裁之前首先在中间子交换机分片级别这么做。这导致这些架构在针对相同资源输出端口竞争的不同端口之间的固有不公平性。当一系列公平仲裁器导致整体交换机不公平时,这展现了针对隔离的资源使用多级仲裁方案的任何交换机设计的更一般的问题。使用基于分片的架构作为对需要为它们的争夺者确保公平性的任何多级仲裁方案的其当前应用的最佳示例,本文描述的实施例解决了这个一般问题。图1是示出使用现有多层仲裁方法的交换机制的框图。基本上,基于分片的交换机被分成若干子交换机110和120,分别仅连接输入端口a、b和c101、103和105的子集。这些输入端口101、103、105可以竞争访问单个输出端口107。输出端口107处的公平仲裁方案对应于第一级仲裁确保对该资源的公平访问。然而,下一阶段第二级仲裁要求来自所有子交换机110、120的相同输出端口的争夺者之间进行仲裁。再次,简单性和速度要求在输出端口107处使用简单且公平的仲裁方案,但是在一个子交换机110上存在若干输入端口争夺者、而在另一子交换机120上存在很少的输入端口争夺者、所有这些争夺者都针对相同的输出端口竞争的情况下,这引入了的潜在内在不公平性。图1描绘了在竞争访问相同输出端口107的三个输入端口101、103和105。输入端口a101和b103连接到相同的子交换机110。因此,子交换机110处的公平仲裁方案在该多层仲裁方案中将50%的业务从每个输入端口转发到下一缓冲器130。输入端口c105不必与另一输入端口竞争,并且仅用其在缓冲器140中的分组加载下一缓冲器。然后,授予对输出端口107的最终访问的下一公平仲裁阶段将提供两个子交换机110和120之间的公平访问,引起对三个输入端口101、103和105的不公平处理,这是因为输入端口c将获得总配额的50%,而a和b将共享剩余的50%配额,导致每个端口获得配额的仅25%。正确的期望是每个输入端口获得配额的公平的33%。该结果是交换机的不期望的行为,其需要使用任何类型的多级仲裁方案如用于高基数交换机用途的基于分片的交换机架构针对任何可行产品进行解决。实施例通过添加用于跟踪跨交换机的公平性的机制来解决多级仲裁方案的该一般问题。本文描述的实施例将轻量级解决方案系列提供给在大多数现有多级仲裁方案的交换机级别处展现的这种内在不公平性问题,其中,中间内部仲裁阶段可能是公平的,但在全局交换机级别处往往不公平。所描述的实施例跟踪“流”的概念,其被定义为在仲裁阶段或交换机内遵循特定路径的输入端口必要性。每个流表示交换机级别处的公平处理的要求。可以在将计数器与每个输入端口相关联的结构中跟踪流。图2是示出被插入到交换仲裁机构中以监测来自输入端口的流的计数器230A-N的框图。在实施例中,每输入端口可以存在一个计数器。每个计数器的位深度是可在1位到跟踪来自该输入端口N的所有可能的流出现所需要的位的完整范围中自定义的。在实施例中,计数器可以低至一位因此增加流检测中的模糊性。这种极简主义带来了极端轻量级的解决方案。每次输入流例如,可以绑定到报头或分组交叉的输入流使用子交换机时,针对该输入端口增加适当的计数201A-N。这种计数有效地考虑了accountfor该输入端口的流的一些压力。在其它实施例中,可以使用多于1位来提供更多的流准确度。在下面的讨论中,示例可以使用2位计数器来进行说明。可以理解,1位计数器可以引起模糊准确度;并且n位计数器可以引起全流检测准确度,其中,n足够大以保存等于时段中所有可能输入流的数量的值。在下面的讨论中,2位计数器引起足够的准确度以提供公平性。m位计数器其中,1mn可以被理解为具有足够准确度以提供公平性,但不是最大可能的准确度。随着m接近n,准确度增加,但需要权衡开销和硬件成本,例如寄存器大小中的。在实施例中,可以跟踪或计数在正在运行的分组窗口内遇到的流的数量。例如,每个输出可以跟踪在最后100个分组期间遇到的流的数量。在达到100个分组之后,计数器可以被重置为零以再次开始跟踪。模糊的或准确的流计数器将使得加法器210能够通过将输入流计数器的数字与子交换机内的非零值相加来计算权重并在仲裁器上提供权重。连接到对流进行计数寄存器的OR电路205A-N启用它们的信号如果那里包含非零值的话。来自OR电路205A-N的活动信号的数量在210处被添加用于子交换机。该数量或权重203被转发以在仲裁器中被使用,或者传递到下一仲裁阶段。通过使用本文描述的实施例,公共加权循环仲裁器或另一替代的加权仲裁器将足以使基于分片的交换机架构在交换机级别处公平。在实施例中,在每个子仲裁器处的准确流-压力测量允许将有效权重传播到后续仲裁方案,其可以确保多级仲裁中的全局公平性。除了递增流计数器之外,还需要机制来递减计数器,以便在业务减少时准确地反映当前流压力或通过输入端口和子交换机的业务。在实施例中,递减逻辑用于反映更准确的业务流。在实施例中,可以使用用于指示由于业务中条件变化而引起的流压力的潜在降低的机制。一个轻量级实施例可以周期性地减少用递减逻辑220检测到的流的数量。递减逻辑可以递减计数器201A-N。另一实施例可以触发事件。在实施例中,当从最终仲裁阶段发出预定数量的分组引起所有流计数器的减少时,事件发生。在另一实施例中,当来自一个子交换机的预定数量的分组被发出以仅减少该子交换机中的所有流计数器时,事件可以发生。在另一实施例中,为了提高准确度,当使用足够深的位计数器例如,如上所述的n时,当发出属于特定输入端口的分组时,事件可以发生,以仅减少链接到该输入端口的流计数器。另一实施例可以立即递减所有计数器201A-N。在本文的整个描述中,为简单起见,作为示例使用了两级仲裁。然而,应当理解,实施例可以通过将流计数信息传播到下一阶段并且用需要用于下一仲裁的权重来扩展到多级仲裁级别。在过去,已经通过仔细选择端口子集以连接到系统的特定部分来解决使用多级仲裁方案的交换机中的不公平性问题,以最小化争夺。然而,这种方法的范围有限,这是因为它只适用于特定和常规情况,容易遭到由于故障、性能等而造成系统的重新配置的破坏。此外,引脚和封装约束可能限制为系统的不同元素预指派端口的适用性,使该解决方案在现实世界中不适用。如本文所述的公平仲裁系统的实施例可以是极端轻量级的,但是需要在操作中进行一些调整,或者使用更复杂的实现要求来实现完全准确的公平性机制。针对流计数中的完全准确度的实施例可以为大多数情况完全解决交换机不公平性,但是需要更多的开销。应当理解,可以用不同的流准确度级别来最佳地实现不同的路由或交换应用,以便以较小的开销权衡准确度。图3是示出用于实现交换机架构中的多级公平性仲裁的实施例的云提供商多租户数据中心示例的框图。当前数据中心架构的重要方面是实现服务质量QoS技术,尤其是涉及提供访问位于数据中心300的某些资源的公平性的QoS技术。资源301A-E的解聚在下一代数据中心中将越来越相关。来自节点303A-D的解聚资源301在数据中心总拥有成本TCO和灵活性方面具有明显的益处。然而,这里的关键和具有挑战的方面之一是如何由用户共享交换结构310以及实现什么机制以减少不同工作负载320A-D之间的交互以及对远程资源301A-E的公平访问。在实施例中,交换结构310包括仲裁器逻辑311,其用于计算流量计数和权重,以在将输入流路由到输出端口或链路中提供公平性。仲裁器逻辑311可以是存储于计算机可读介质中的指令集,或者是被编码在电路中的逻辑,以实现指令和计算。图3提供了其中需要运行访问三种不同类型的解聚的资源301的节点1-4303的不同工作负载320之间的公平性的示例。云提供商的基础是具有允许具有通过数据中心300中运行的所有不同工作负载320之间的交换链路305A-I其访问多个解聚的资源301的一定程度的保证的交换结构带宽的机制。现有交换结构方案可能已经提供某个级别的QoS特征例如,服务通道或虚拟结构,其可以用于在若干类型的工作负载之间实现某种程度的公平性。然而,这些方案在可扩展性方面具有局限性即,有限数量的服务通道。在这些情况下,将需要增强公平性和QoS的任何方案。高性能计算HPC和数据中心的技术约束和市场趋势导致所有主要供应商对高基数交换机的开发。如本文所述,这些交换机严重依赖于基于分片的架构和多级仲裁方案,其展现出对交换机端口的内在不公平性处理。本文描述的实施例可以应用于数据中心架构以解决这种不公平性;因此,提高了整个系统高度所需的QoS能力。再次参考图2,在实施例中,包括用于跟踪在子交换机或第一级仲裁阶段处需要公平处理的流的计数机制。这可以用用于子交换机中的每个潜在流的寄存器或存储器结构集230A-N来实现。寄存器或存储器可以具有可调节的深度,这取决于流检测所期望的精度。如上所述,深度的范围可以从低至一或两位到完全考虑每个流的所有分组所需的数量的位。每当新流需要检测计数时,每个流的寄存器存储器计数201A-N增加1。在实施例中,一旦达到最大存储值,进一步的递增将不具有任何影响。用该方案,模糊模式下的每个流计数器201A-N跟踪流压力有多重,而不是完全准确计数其中,值表示实际流压力。接下来,加权210逻辑对具有非零值的寄存器230A-N的数量进行计数,从而考虑总活动流压力。该计数是传播到加权循环仲裁器的数字,以用作来自该子交换机或仲裁阶段的请求的权重。递减逻辑220可以在两个模式下运行,也是一个是模糊的一个是完全准确的,这是与为流计数系统选择的方法相关的决定。在模糊模式下,递减逻辑基于触发机制来立即对所有寄存器仅对非零值执行全局减一。触发机制可以像间隔定时器一样简单,或者可以基于预设的分组计数或交换机中发生的任何其它可用事件。完全准确模式通常需要特定流的计数器的特定减少而不是立即对所有不加注意地进行。例如,在由实际从输出缓冲器发出的来自特定输入端口的分组触发时,完全准确的递减方法可以将流递减一。图4示出了流计数结构401A-N如何在逻辑上链接到多级仲裁方案中的不同仲裁器403A-N。在实施例中,第一级仲裁器403A上的每个流争夺者集或输入407将被跟踪模糊地或准确地,以向下一阶段仲裁器405报告必须用于提供全局公平性的权重411A-N。计数结构401A包括用于识别存在多少非零计数OR电路409A以及用于添加非零计数以生成该仲裁器的权重的加法器410A。用于递减存储在流量计数器中的值的逻辑图2中的220在流计数逻辑401A中。在加法器410A中添加来自409A的所有非零出现以传播到权重411A。虽然已经针对第一仲裁器403A描述了架构,但应当理解,仲裁器403A-N还具有相关联的流计数401A-N并且得出权重411A-N。现在参考图5,示出了根据实施例的用于在加权仲裁器上加载权重以提供公平性的流跟踪结构500。在该示例中,三个输入流a、b和c501A-C针对相同的输出端口503竞争。输入端口a501A和输入端口b501B在相同子交换机505A上。每次它们通过子交换机505A发送分组时,该输入端口507的计数器增加1。在这种情况下,输入端口a501A已发送两个分组,如由507A所示的计数指示的。输入端口b501B看起来已发送一个分组,如计数507B中指示的。由于在该示例中该计数结构中存在两个非零值,因此权重二2511A被传播到加权仲裁器510。输入端口c501C不与子交换机505B中的另一输入端口竞争,并且将三个分组传播通过子交换机,如由计数器507C中的值三3指示的。子交换机505B的计数器在507C中仅有一个非零值;因此,待传播的权重511B是一1。用这两个权重511A-B,最后一个仲裁器510在访问相同输出端口503的所有输入端口之间提供公平性。例如,对于来自子交换机505B的每一个输入,加权仲裁器将来自子交换机505A的两个输入推动通过。该加权仲裁以该比例继续,直到非零计数507的变化引起权重511A-B的变化。应当理解,在分层仲裁交换机的相同级别处的流计数器应当使用相同准确度的计数器。然而,在每个级别处从计数器传递到加权仲裁器的权重信息独立于准确度。因此,不同级别处的流计数器准确度可以具有不同的准确度。图6示出了根据实施例的三级层级仲裁交换机架构,图6示出了该实施例如何可以自然地扩展到任何多级仲裁层级。在该多级交换层级中,输入607在加权仲裁器交换机603A-N处被仲裁。在实施例中,在601A-N处的流计数使用2位计数器。当封装移动经过加权仲裁器1605,或者移动经过加权仲裁器2615或者以特定周期性移动时,计数器可以递减,以使权重保持与仲裁器电流相关联。在实施例中,加权仲裁器交换机613使用具有高度准确的流准确度的流计数机构610A-N,例如具有N位寄存器,其中,N=32。更准确的流计数610发送加权仲裁器3电路617权重信息。该权重信息可以帮助确保或增加跨该仲裁阶段617处的所有输入端口的公平性。针对加权仲裁器3617计算的所有权重的简单总和可以被传播到下一仲裁阶段615。加权仲裁器615还可以在先前仲裁阶段605中接收所有权重的总和。此时,最后的仲裁阶段615准备好使用所接收的权重来提供跨所有输入端口的全局公平性。图7是示出根据实施例的用于通过交换机计算公平性的方法700的流程图。输入端口在框701中转发输入流。应当理解,各种实施方式和实施例将具有用于每个加权仲裁器交换机的多个输入流。与每个输入流相关联的每个流计数器生成计数。预定义的最大值与计数相关联。在框703中确定计数是否大于或等于预定义的最大值。如果输入端口转发输入流或分组并且计数不大于或等于最大值,则流计数在框705中递增。否则,绕过递增。加权逻辑对在框707中保存与该仲裁器交换机相关联的非零值的流计数器的数量进行计数。基于仲裁器交换机的实施方式,计数值可以驻留在寄存器或存储器结构或其它存储位置中。如上所述,流计数的准确度可以少至一位或多达N位。在框709处,将下一仲裁阶段的权重传播到下一仲裁器。为了使计数和权重更准确地反映输入端口中输入流随时间的变化性质,需要周期性地递减流计数以针对该交换机考虑通过各种输入端口的输入流分布的变化。例如,在示例中,在给定时间段,所有输入流可能分布在与该交换机相关联的多个输入端口之间。在下一时间段内,所有输入流可能穿过单个输入端口。计数将以预定义的周期性递减,或者响应于触发事件而递减。触发事件可以如当第一输入端口的输入流最终穿过输出缓冲器并通过穿出端口时一样简单。那时,该输入端口的流计数可以递减。关于输入流分布,该实施例应当相当准确。在另一实施例中,每个计数器可以每10μs或10秒或其它预定义时段递减,这取决于在一段时间中多少信息被传递通过输入端口。在另一实施例中,所有计数可以以给定周期性递减。可以理解,计数将不会递减到零值以下。附加说明和示例示例可以包括诸如方法、用于执行该方法的动作的单元、包括指令的至少一种机器可读介质的主题,所述指令在由机器执行时使机器执行根据本文描述的实施例和示例的用于交换仲裁的方法、装置或系统的动作。示例1是一种交换机,包括:第一流计数器电路,其与第一输入端口相关联,所述第一流计数器电路用于对流过所述第一输入端口的输入流进行计数以生成输入流计数;加权仲裁器电路,其用于将输入流从所述第一输入端口传递到输出端口,其中,公平性将是基于从来自第一流计数器电路的输入流的计数导出的权重来计算的。在示例2中,示例1的主题可选地包括:其中,所述加权仲裁器电路的所述公平性还将是基于所述第一流计数器的准确度级别的。在示例3中,示例2的主题可选地包括:其中,所述第一流计数器的准确度级别是与所述交换机的相同层级级别处的其它交换机中的流计数器相同的准确度。在示例4中,示例3的主题可选地包括:其中,所述第一流计数器的准确度级别是与所述交换机的不同层级级别处的其它交换机中的流计数器不同的准确度。在示例5中,示例1-4中任何一项或多项的主题可选地包括递减逻辑,其用于响应于触发事件或以预定义的间隔调整所述输入流计数。在示例6中,示例5的主题可选地包括:其中,所述递减逻辑用于响应于触发事件而将所述第一流计数器的计数递减,所述触发事件包括当来自所述第一输入端口的输入流被传递通过相关联的第一输出缓冲器到所述输出端口时。在示例7中,示例5-6中任何一项或多项的主题可选地包括与至少一个附加输入端口相关联的至少一个附加流计数器电路,所述至少一个附加流计数器电路用于对流过该相关联的至少一个附加输入端口的输入流进行计数,其中,所述公平性将是基于从来自第一流计数器电路的输入流的计数和从来自所述至少一个附加流计数器电路的输入流的计数导出的权重来计算的。在示例8中,示例5-7中任何一项或多项的主题包括:其中,所述预定义的间隔包括基于时间的间隔和基于分组计数的间隔之一。在示例9中,示例1-8中任何一项或多项的主题可选地包括:其中,所述第一流计数器电路包括N位计数器,其中,N接近或等于时段中可能的输入流的计数。在示例10中,示例1-9中任何一项或多项的主题可选地包括1MN。在示例11中,示例1-10中任何一项或多项的主题可选地包括:其中,所述流计数器电路包括寄存器结构和存储器结构中的至少一个的集。示例12是一种用于交换机仲裁的系统,包括:多个子交换机中的子交换机,所述子交换机耦合到输出端口和多个输入端口;所述多个输入端口中的输入端口,其耦合到相关联的流计数器,所述相关联的流计数器用于在输入流过所述输入端口时递增;第一加权仲裁器交换机,其耦合到所述多个子交换机,所述第一加权仲裁器用于从所述子交换机接收权重值,所述子交换机的所述权重值取决于与所述子交换机相关联的至少一个流计数器值,所述第一加权仲裁器用于从附加子交换机接收附加权重值,所述附加子交换机的所述附加权重值取决于与所述附加子交换机相关联的至少一个流计数器值,其中,所述第一加权仲裁器交换机使得流能够基于所述子交换机和附加子交换机的相应权重从所述多个输入端口到所述输出端口。在示例13中,示例12的主题可选地包括第二加权仲裁器交换机,其通信地耦合到所述第一加权仲裁器交换机和至少一个附加加权仲裁器交换机,其中,所述第一加权仲裁器交换机和所述至少一个附加仲裁器交换机将与输入流相关联的权重信息发送到所述第二加权仲裁器交换机,所述第二加权仲裁器交换机用于使得流能够基于所发送的权重信息到输出端口。在示例14中,示例12-13中任何一项或多项的主题可选地包括:其中,所述至少一个流计数器具有与相同层级交换机级别处的其它流计数器相同的准确度。在示例15中,示例14的主题可选地包括:其中,所述相同的准确度是模糊准确度、完整流检测准确度或足够的准确度之一。在示例16中,示例14-15中任何一项或多项的主题可选地包括:其中,在第一层级交换机级别处的流计数器包括N位计数器,其中,N接近或等于时段中可能的输入流的数量。在示例17中,示例16的主题可选地包括1MN。在示例18中,示例14-17中任何一项或多项的主题可选地包括:其中,在第一层级交换机级别处的流计数器具有与第二层级交换机级别处的流计数器不同的准确度。在示例19中,示例12-18中任何一项或多项的主题可选地包括递减逻辑,其用于响应于触发事件或以预定义的间隔调整所述相关联的流计数器。在示例20中,示例12-19中任何一项或多项的主题可选地包括数据中心中的多个节点中的节点,所述节点耦合到所述多个子交换机中的一个或多个子交换机,其中,所述多个节点用于经由所述多个子交换机访问多个解聚的资源。在示例21中,示例12-20中任何一项或多项的主题可选地包括分片架构中的端口。在示例22中,示例12-21中任何一项或多项的主题可选地包括:其中,所述相关联的流计数器包括寄存器结构和存储器结构中的至少一个的集。在示例23中,示例22的主题可选地包括:其中,寄存器结构和存储器结构中的至少一个的所述集具有可调整的深度,所述深度取决于用于流检测的期望精度。示例24是用于交换机架构的计算机实现的方法,包括:在交换机电路处从第一输入端口接收第一输入,并且从多个附加输入端口中的一个或多个输入端口接收至少第二输入;递增与所述第一输入端口相关联的流计数,并且递增与所述多个附加输入端口相关联的流计数直到最大计数;对所述输入端口的非零流计数进行求和,以确定所述输入端口的加权计数;将所述加权计数传播到加权仲裁器电路;以及基于所传播的权重计数来将输入从所述输入端口传递通过所述加权仲裁器电路。在示例25中,示例24的主题可选地包括:其中,求和还包括计算所述输入端口的平均流计数,总和将在定时窗口或分组窗口之一之间被计算。在示例26中,示例24-25中任何一项或多项的主题可选地包括:调整与第一输入端口相关联的所述流计数并且调整与所述多个附加输入端口相关联的流计数,调整响应于触发事件或以预定义的时间间隔进行。示例27是一种用于交换机仲裁的系统,包括:用于在交换机电路处从第一输入端口接收第一输入并且从多个附加输入端口中的一个或多个输入端口接收至少第二输入的单元;用于递增与所述第一输入端口相关联的以及与所述多个附加输入端口相关联的流计数直到最大计数的单元;用于对每个输入端口的非零流计数进行求和以确定每个输入端口的加权计数的单元;用于将所述加权计数传播到加权仲裁器电路以生成传播的加权计数的单元;以及用于基于所述传播的权重计数来将输入从所述输入端口传递通过所述加权仲裁器电路的单元。在示例28中,示例27的主题可选地包括:其中,求和还包括用于计算所述输入端口的平均流计数的单元,以生成将在定时窗口或分组窗口之一之间被计算的总和。在示例29中,示例27-28中任何一项或多项的主题可选地包括:用于调整与第一输入端口相关联的所述流计数的单元以及用于调整与所述多个附加输入端口相关联的流计数的单元,调整响应于触发事件或以预定义的时间间隔进行。示例30是至少一个计算机可读电路介质,具有编码于其上的指令,所述指令在机器上被执行时使所述机器:在交换机电路处从第一输入端口接收第一输入,并且从多个附加输入端口中的一个或多个输入端口接收至少第二输入;递增与所述第一输入端口相关联的流计数,并且递增与所述多个附加输入端口相关联的流计数直到最大计数;对所述输入端口的非零流计数进行求和,以确定所述输入端口的加权计数;将所述加权计数传播到加权仲裁器电路;以及基于所传播的权重计数来将输入从所述输入端口传递通过所述加权仲裁器电路。在示例31中,示例30的主题可选地包括:其中,求和还包括用于计算所述输入端口的平均流计数的指令,总和将在定时窗口或分组窗口之一之间被计算。在示例32中,示例30-31中任何一项或多项的主题可选地包括用于调整与第一输入端口相关联的所述流计数并且调整与所述多个附加输入端口相关联的流计数的指令,调整响应于触发事件或以预定义的时间间隔进行。本文描述的技术不限于任何特定的硬件或软件配置;它们可能适用于任何计算、消费者电子产品或处理环境。这些技术可以用硬件、软件、固件或组合来实现,以得出支持本文描述的实施例的执行或实施的逻辑或电路。对于模拟,程序代码可以使用硬件描述语言或另一功能描述语言来表示硬件,该语言基本上提供了预期如何执行所设计的硬件的模型。程序代码可以是汇编语言或机器语言,或者是可以被编译和或被解释的数据。此外,在本领域中通常将一种或另一形式的软件称为采取动作或导致结果。这样的表达仅仅是通过处理系统陈述程序代码的执行的简写方式,所述处理系统使处理器执行动作或产生结果。每个程序可以以高级过程的或面向对象的编程语言来实现,以与处理系统通信。然而,如果期望,则程序可以用汇编语言或机器语言实现。在任何情况下,语言都可以被编译或解释。程序指令可以用于使得用指令来编程的通用或专用处理系统执行本文所述的操作。替代地,操作可以由包含用于执行操作的硬连线逻辑的特定硬件组件来执行,或者由编程的计算机组件和定制硬件组件的任何组合来执行。本文描述的方法可以被提供为计算机程序产品,其还被描述为计算机或机器可访问或可读介质,所述计算机或机器可访问或可读介质可以包括一个或多个机器可访问存储介质,具有存储于其上的可以用于对处理系统或其它电子设备进行编程的指令以执行方法。程序代码或指令可以被存储在例如易失性和或非易失性存储器中,例如存储设备和或相关联的机器可读或机器可访问介质,包括固态存储器、硬盘驱动器、软盘、光存储装置、磁带、闪速存储器、记忆棒、数字视频磁盘、数字多功能光盘DVD等,以及更多外部介质,例如机器可访问的生物状态保存存储装置。机器可读介质可以包括用于存储、发送或接收采用机器可读形式的信息的任何机制,并且介质可以包括有形介质,通过所述有形介质,编码程序代码的电、光、声或其它形式的传播信号或载波可以经过例如天线、光纤、通信接口等。程序代码可以以分组、串行数据、并行数据、传播信号等的形式发送,并且可以以压缩或加密的格式使用。程序代码可以在可编程机器上执行的程序中实现,所述可编程机器例如移动或固定计算机、个人数字助理、智能电话、移动互联网设备、机顶盒、蜂窝电话和寻呼机、消费者电子设备包括DVD播放器、个人视频记录器、个人视频播放器、卫星接收器、立体声接收器、有线TV接收器和其它电子设备,每个所述电子设备都包括处理器、处理器可读的易失性和或非易失性存储器、至少一个输入设备和或一个或多个输出设备。程序代码可以应用于使用输入设备录入的数据,以执行所描述的实施例并生成输出信息。输出信息可以应用于一个或多个输出设备。本领域普通技术人员可以领会,所公开的主题的实施例可以用各种计算机系统配置来实践,包括多处理器或多核处理器系统、小型计算机、大型计算机以及可以嵌入到几乎任何设备中的普及或微型计算机或处理器。所公开的主题的实施例还可以在分布式计算环境、云环境、对等或网络化微服务中实践,其中,任务或其部分可以由通过通信网络链接的远程处理设备执行。处理器子系统可用于在机器可读或机器可访问介质上执行指令。处理器子系统可以包括一个或多个处理器,每个所述处理器具有一个或多个核心。另外,处理器子系统可以设置在一个或多个物理设备上。处理器子系统可以包括一个或多个专用处理器,例如图形处理单元GPU、数字信号处理器DSP、现场可编程门阵列FPGA或固定功能处理器。虽然可以将操作描述为顺序过程,但是操作中的一些操作实际上可以并行、同时和或在分布式环境中执行,并且可以用本地和或远程存储以供单个或多处理器机器访问的程序代码执行。另外,在一些实施例中,可以重新布置操作的次序而不脱离所公开的主题的精神。程序代码可以由嵌入式控制器使用或与之结合使用。如本文所述,示例可以包括电路、逻辑或多个组件、模块或机构,或可以在其上操作。模块可以是通信地耦合到一个或多个处理器的硬件、软件或固件,以便执行本文描述的操作。应当理解,模块或逻辑可以在硬件组件或设备、在一个或多个处理器上运行的软件或固件或其组合中被实现。模块可以是通过共享或传递数据而集成的不同且独立的组件,或者模块可以是单个模块的子组件,或者可以在若干模块之间拆分。组件可以是在单个计算节点上运行或在其上实现的过程,或者分布在并行、同时、顺序或组合运行的多个计算节点之间,如结合附图中的流程图更全面地描述的。如此,模块可以是硬件模块,并且因为这样模块可以被认为是能够执行指定操作的有形实体,并且可以以某种方式配置或布置。在示例中,可以以指定的方式将电路布置例如,内部地或相对于诸如其它电路之类的外部实体为模块。在示例中,一个或多个计算机系统例如,独立的、客户端或服务器计算机系统或一个或多个硬件处理器的全部或部分可以由固件或软件例如,指令、应用部分或应用配置为操作以执行指定操作的模块。在示例中,软件可以驻留在机器可读介质上。在示例中,软件在由模块的底层硬件执行时使硬件执行指定的操作。因此,术语“硬件模块”被理解为包含有形实体,是物理构造的、具体配置例如,硬连线或临时例如,暂时配置例如,编程为以指定方式操作或执行本文所述任何操作的部分或全部的实体。考虑其中临时配置模块的示例,模块中的每个模块不需要在任何一个时刻被实例化。例如,在模块包括通过使用软件配置、布置或适配的通用硬件处理器的情况下;通用硬件处理器可以在不同时间被配置为相应的不同模块。因此,软件可以将硬件处理器配置为例如在一个时刻构成特定模块,并且在不同的时刻构成不同的模块。模块也可以是软件或固件模块,其操作以执行本文描述的方法。虽然已经参考说明性实施例描述了本主题,但是该描述并不旨在以限制意义来解释。对于本主题所属领域的技术人员显而易见的对说明性实施例的各种修改以及本发明的其它实施例被认为在本发明的精神和范围内。

权利要求:1.一种交换机,包括:第一流计数器电路,其与第一输入端口相关联,所述第一流计数器电路用于对流过所述第一输入端口的输入流进行计数以生成输入流计数;加权仲裁器电路,其用于将输入流从所述第一输入端口传递到输出端口,其中,公平性将是基于从来自第一流计数器电路的输入流的计数导出的权重来计算的。2.根据权利要求1所述的交换机,其中,所述加权仲裁器电路的所述公平性还将是基于所述第一流计数器的准确度级别的。3.根据权利要求2所述的交换机,其中,所述第一流计数器的准确度级别是与在所述交换机的相同层级级别处的其它交换机中的流计数器相同的准确度。4.根据权利要求3所述的交换机,其中,所述第一流计数器的准确度级别是与在所述交换机的不同层级级别处的其它交换机中的流计数器不同的准确度。5.根据权利要求1-4中任一项所述的交换机,还包括递减逻辑,其用于响应于触发事件或以预定义的间隔调整所述输入流计数。6.根据权利要求5所述的交换机,其中,所述递减逻辑用于响应于触发事件而使所述第一流计数器的计数递减,所述触发事件包括当来自所述第一输入端口的输入流被传递通过相关联的第一输出缓冲器到所述输出端口时。7.根据权利要求6所述的交换机,还包括与至少一个附加输入端口相关联的至少一个附加流计数器电路,所述至少一个附加流计数器电路用于对流过该相关联的至少一个附加输入端口的输入流进行计数,其中,所述公平性将是基于从来自第一流计数器电路的输入流的计数和从来自所述至少一个附加流计数器电路的输入流的计数导出的权重来计算的。8.根据权利要求7所述的交换机,其中,所述预定义的间隔包括基于时间的间隔和基于分组计数的间隔之一。9.根据权利要求8所述的交换机,其中,所述第一流计数器电路包括N位计数器,其中,N接近或等于时段中可能的输入流的计数。10.根据权利要求9所述的交换机,其中,所述第一流计数器电路包括1位计数器、2位计数器、M位计数器或N位计数器之一,其中,其中1MN。11.根据权利要求10所述的交换机,其中,所述流计数器电路包括寄存器结构和存储器结构中的至少一个的集。12.一种用于交换机仲裁的系统,包括:多个子交换机中的子交换机,所述子交换机耦合到输出端口和多个输入端口;所述多个输入端口中的输入端口,其耦合到相关联的流计数器,所述相关联的流计数器用于在输入流过所述输入端口时递增;第一加权仲裁器交换机,其耦合到所述多个子交换机,所述第一加权仲裁器用于从所述子交换机接收权重值,所述子交换机的所述权重值取决于与所述子交换机相关联的至少一个流计数器值,所述第一加权仲裁器用于从附加子交换机接收附加权重值,所述附加子交换机的所述附加权重值取决于与所述附加子交换机相关联的至少一个流计数器值,其中,所述第一加权仲裁器交换机使得流能够基于所述子交换机和所述附加子交换机的相应权重从所述多个输入端口到所述输出端口。13.根据权利要求12所述的系统,还包括第二加权仲裁器交换机,其通信地耦合到所述第一加权仲裁器交换机和至少一个附加加权仲裁器交换机,其中,所述第一加权仲裁器交换机和所述至少一个附加仲裁器交换机将与输入流相关联的权重信息发送到所述第二加权仲裁器交换机,所述第二加权仲裁器交换机用于基于所发送的权重信息使得流能够到所述输出端口。14.根据权利要求12-13中任一项所述的系统,其中,所述至少一个流计数器具有与在相同层级交换机级别处的其它流计数器相同的准确度。15.根据权利要求14所述的系统,其中,所述相同的准确度是模糊准确度、完整流检测准确度或足够的准确度之一。16.根据权利要求15所述的系统,其中,在第一层级交换机级别处的流计数器包括N位计数器,其中,N接近或等于时段中可能的输入流的数量。17.根据权利要求16所述的系统,其中,在第二层级交换机级别处的流计数器包括1位计数器、2位计数器、M位计数器或N位计数器之一,其中,其中1MN。18.根据权利要求17所述的系统,其中,在第一层级交换机级别处的流计数器具有与在第二层级交换机级别处的流计数器不同的准确度。19.根据权利要求18所述的系统,还包括递减逻辑,其用于响应于触发事件或以预定义的间隔调整所述相关联的流计数器。20.根据权利要求19所述的系统,还包括数据中心中的多个节点中的节点,所述节点耦合到所述多个子交换机中的一个或多个子交换机,其中,所述多个节点用于经由所述多个子交换机访问多个解聚的资源。21.根据权利要求20所述的系统,其中,所述多个子交换机中的至少一个子交换机包括高基数交换机,所述高基数交换机在分片架构中具有至少64x64个端口。22.根据权利要求21所述的系统,其中,所述相关联的流计数器包括寄存器结构和存储器结构中的至少一个的集。23.根据权利要求22所述的系统,其中,寄存器结构和存储器结构中的至少一个的所述集具有可调整的深度,所述深度取决于用于流检测的期望精度。24.至少一个计算机可读电路介质,具有编码于其上的指令,所述指令在机器上被执行时使所述机器:在交换机电路处从第一输入端口接收第一输入,并且从多个附加输入端口中的一个或多个附加输入端口接收至少第二输入;使与所述第一输入端口相关联的流计数递增,并且使与所述多个附加输入端口相关联的流计数递增直到最大计数;对所述输入端口的非零流计数进行求和,以确定所述输入端口的加权计数;将所述加权计数传播到加权仲裁器电路;以及基于所传播的权重计数来将输入从所述输入端口传递通过所述加权仲裁器电路。25.根据权利要求24所述的介质,其中,求和还包括用于计算所述输入端口的平均流计数的指令,总和将在定时窗口或分组窗口之一之间被计算。26.根据权利要求24-25中任一项所述的介质,还包括用于调整与第一输入端口相关联的所述流计数并且调整与所述多个附加输入端口相关联的流计数的指令,调整是响应于触发事件或以预定义的时间间隔进行的。

百度查询: 英特尔公司 用于在用于交换机架构的多级仲裁上实现公平性的系统和方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。