CN116235481A - 动态片上网络节流 - Google Patents

动态片上网络节流 Download PDF

Info

Publication number
CN116235481A
CN116235481A CN202180065562.2A CN202180065562A CN116235481A CN 116235481 A CN116235481 A CN 116235481A CN 202180065562 A CN202180065562 A CN 202180065562A CN 116235481 A CN116235481 A CN 116235481A
Authority
CN
China
Prior art keywords
chip
traffic
agents
network
predefined condition
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202180065562.2A
Other languages
English (en)
Inventor
纳伦德拉·卡玛特
维德希亚纳坦·卡利亚纳孙达拉姆
格雷格·唐利
阿斯温·奇恩乔利
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Advanced Micro Devices Inc
Original Assignee
Advanced Micro Devices Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
Publication of CN116235481A publication Critical patent/CN116235481A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/20Traffic policing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/109Integrated on microchip, e.g. switch-on-chip
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • G06F15/7825Globally asynchronous, locally synchronous, e.g. network on chip
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Multi Processors (AREA)

Abstract

本发明涉及动态片上网络流量节流,包括:由片上网络的检测器模块确定满足预定义的条件;由该检测器模块向该片上网络的中介器模块发送信号;以及响应于该信号而由该中介器模块向多个代理发送实现流量节流策略的指示。

Description

动态片上网络节流
背景技术
芯片诸如片上系统使用片上网络来促进功能部件之间的通信。随着片上网络上的流量增加,性能降低的风险也在增加。
附图说明
图1A是根据一些实施方案的用于片上网络流量的分级节流的芯片的框图。
图1B是根据一些实施方案的用于动态片上网络流量节流的芯片的框图。
图2是根据一些实施方案的用于片上网络流量的分级节流的示例性方法的流程图。
图3是根据一些实施方案的用于片上网络流量的分级节流的示例性方法的流程图。
图4是根据一些实施方案的用于片上网络流量的分级节流的示例性方法的流程图。
图5是根据一些实施方案的用于片上网络流量的分级节流的示例性方法的流程图。
图6是根据一些实施方案的用于动态片上网络流量节流的示例性方法的流程图。
图7是根据一些实施方案的用于动态片上网络流量节流的示例性方法的流程图。
图8是根据一些实施方案的用于动态片上网络流量节流的示例性方法的流程图。
图9是根据一些实施方案的用于动态片上网络流量节流的示例性方法的流程图。
具体实施方式
在一些实施方案中,动态片上网络流量节流包括:除其他要素外,由片上网络的检测器模块确定满足预定义的条件。响应于该确定,可以通过由检测器模块向片上网络的中介器模块发送信号,并且响应于该信号由中介器模块向多个代理发送实现流量节流策略的指示,来执行动态片上网络流量节流。
在一些实施方案中,多个代理包括一个或多个流量生成代理。在一些实施方案中,预定义的条件包括队列占用率满足阈值。在一些实施方案中,预定义的条件包括对应于特定服务类别的片上网络流量。在一些实施方案中,动态片上网络流量节流还包括由检测器模块确定不满足预定义的条件,以及由检测器模块向中介器模块指示不满足预定义的条件。响应于该指示,中介器模块使多个代理结束流量节流策略。在此类实施方案中,由检测器模块确定不满足预定义的条件包括确定在预定义的时间量内不满足预定义的条件。在一些实施方案中,动态片上网络流量节流还包括由多个代理中的代理覆写实现流量节流策略的指示。
在一些实施方案中,用于动态片上网络流量节流的芯片执行包括由片上网络的检测器模块确定满足预定义的条件的步骤。响应于该确定,可以通过由检测器模块向片上网络的中介器模块发送信号,并且响应于该信号由中介器模块向多个代理发送实现流量节流策略的指示,来执行动态片上网络流量节流。
在一些实施方案中,多个代理包括一个或多个流量生成代理。在一些实施方案中,预定义的条件包括队列占用率满足阈值。在一些实施方案中,预定义的条件包括对应于特定服务类别的片上网络流量。在一些实施方案中,这些步骤还包括由检测器模块确定不满足预定义的条件,以及由检测器模块向中介器模块指示不满足预定义的条件。响应于该指示,中介器模块使多个代理结束流量节流策略。在此类实施方案中,由检测器模块确定不满足预定义的条件包括确定在预定义的时间量内不满足预定义的条件。在一些实施方案中,这些步骤还包括由多个代理中的代理覆写实现流量节流策略的指示。
在一些实施方案中,用于动态片上网络流量节流的装置包括执行包括由片上网络的检测器模块确定满足预定义的条件的步骤的芯片。响应于该确定,可以通过由检测器模块向片上网络的中介器模块发送信号,并且响应于该信号由中介器模块向多个代理发送实现流量节流策略的指示,来执行动态片上网络流量节流。
在一些实施方案中,多个代理包括一个或多个流量生成代理。在一些实施方案中,预定义的条件包括队列占用率满足阈值。在一些实施方案中,预定义的条件包括对应于特定服务类别的片上网络流量。在一些实施方案中,这些步骤还包括由检测器模块确定不满足预定义的条件,以及由检测器模块向中介器模块指示不满足预定义的条件。响应于该指示,中介器模块使多个代理结束流量节流策略。在此类实施方案中,由检测器模块确定不满足预定义的条件包括确定在预定义的时间量内不满足预定义的条件。在一些实施方案中,这些步骤还包括由多个代理中的代理覆写实现流量节流策略的指示。
图1A是非限制性示例性芯片102a的框图。示例性芯片102a可包括各种芯片,包括微处理器、集成电路或片上系统。示例性芯片102a可在包括移动设备、个人计算机、外围硬件部件、游戏设备、机顶盒等的各种计算设备中被实现。芯片102a包括多个代理104a-n。代理104a-n是芯片102a的功能单元或硬件模块。例如,在一些实施方案中,代理104a-n包括片上系统架构的各种模块。
为了促进代理104a-n之间的通信,芯片102a还包括多个路由代理106。路由代理106包括在代理104a-n之间交换和/或路由流量和/或消息的硬件模块。因此,路由代理106实现片上网络108。在一些实施方案中,片上网络108包括路由代理106的分组交换网络。
代理104a-n之间的通信是分散的,因为代理104a-n中没有代理直接知道其他代理104a-n和路由代理106的状态(例如,流量生成、响应、队列等),并且不存在管理代理104a-n的流量生成和/或响应行为的集中式实体。因此,代理104a-n不直接知道片上网络108是否正在过载或接近路由流量的容量,并且不直接知道是否相应地对流量生成进行节流。
为了改善经由片上网络108的流量的性能,每个代理104a-n使用由该代理104a-n发出的未完成事务的数量作为对片上网络108的状态的估计。给定代理104a-n的未完成事务的数量是经由片上网络108向其他代理104a-n发送的期待得到尚未接收到的响应(例如,对请求的响应、接收确认)的消息的数量。当经由片上网络108的通信变慢或者路由代理106正在处理增加的流量的量时,代理104a-n对消息作出响应的时间将增加。因此,假设该代理104a-n的事务生成速率不降低,给定代理104a-n的未完成事务的数量将增加。
为了实现片上网络108流量的分级节流,代理104a-n将计算由代理104a-n发出的未完成事务的数量。代理104a-n然后将该数量与阈值进行比较。在该数量下降到该阈值以下的情况下,代理104a-n将继续根据当前实现的流量节流策略(如果有的话)来生成流量。流量节流策略是给定代理104a-n生成用于片上网络108的流量的可配置或可编程的限制。在该数量超过该阈值的情况下,代理104a-n将实现流量节流策略。例如,假设代理104a-n正在独立于任何流量节流策略(例如,在没有限制的情况下)生成用于片上网络108的流量。响应于该代理104a-n的未完成事务的数量满足阈值,代理104a-n然后将实现对代理104a-n向片上网络108提供流量的速率施加限制的流量节流策略。
在一些实施方案中,该阈值是多个阈值中的一个阈值,并且该流量节流策略是多个流量节流策略中的一个流量节流策略。例如,在一些实施方案中,每个流量节流策略对应于多个阈值中的一个阈值,使得当给定代理104a-n的未完成事务的数量超过给定阈值时,实现对应的流量节流策略。例如,第一阈值对应于第一流量节流策略(例如,“轻节流策略”),大于第一阈值的第二阈值对应于比第一流量节流策略更具限制性的第二流量节流策略(例如,“重节流策略”),并且大于第二阈值的第三阈值对应于其中代理104a-n停止生成流量的第三流量节流策略(例如,“停止节流策略”)。
使用该示例,其中代理104a-n的未完成事务的数量超过第一阈值,代理104a-n将实现轻节流策略。如果即使实现了轻节流策略,代理104a-n的未完成事务的数量仍在继续增加,并且该数量超过第二阈值,则代理104a-n将实现重节流策略。如果该数量继续增加并且满足第三阈值,则将实现停止节流策略。
代理104a-n将连续地(例如,以预定义的间隔)重新计算该代理的未完成事务的数量。在未完成事务的数量下降到阈值(例如,最后满足或超过的阈值)以下的情况下,代理104a-n结束当前实现的流量节流策略。在一些实施方案中,这包括移除任何所实现的流量节流策略并且在没有限制的情况下向片上网络108发出流量。在其他实施方案中,这包括实现另一(例如,不太限制性的)流量节流策略。继续以上示例,假设代理104a-n正在实现重节流策略,其中未完成事务的数量下降到第二阈值以下并且仍然高于第一阈值,代理104a-n将实现轻节流策略而不是重节流策略。
如果代理104a-n在未完成事务的数量下降到阈值以下时结束所实现的节流策略,则未完成事务的数量具有快速增加的风险,从而再次超过阈值并且使得流量节流策略被重新实现。这将导致代理104a-n在实现与结束流量节流策略之间振荡,因为未完成事务的数量在满足与下降到阈值以下之间振荡。为了防止这种情况,在一些实施方案中,代理104a-n响应于未完成事务的数量下降到对应阈值以下预定义的量而结束所实现的节流策略。继续以上示例,假设第一阈值是五十个未完成事务。进一步假设未完成事务的数量已经超过第一阈值并且轻节流策略是适当的。代理104a-n不是在未完成事务的数量下降到五十以下时移除轻节流策略,而是在未完成事务的数量下降到阈值以下十个事务(例如,四十个未完成事务)时移除轻节流策略。
图1B是非限制性示例性芯片102b的框图。示例性芯片102b类似于图1A的芯片102a,因为示例性芯片102b包括经由多个路由代理106的片上网络108通信地耦接的多个代理104a-n。在一些实施方案中,代理104a执行如关于图1A所描述的类似的分级流量节流。芯片102b与芯片102a的不同之处在于芯片102b包括多个检测器模块110。检测器模块110是被包括在代理104a-n和/或路由代理106中或被耦接到这些代理和/或路由代理的硬件部件。尽管图1B将每个代理104a-n和路由代理106示出为具有对应的检测器模块110,但是应当理解,在一些实施方案中,检测器模块110被安装在代理104a-n和/或路由代理106的子集上或被耦接到该子集。例如,在一些实施方案中,检测器模块110仅与路由代理106包括在一起。
检测器模块110监测他们对应的部件(例如,代理104a-n和/或路由代理106)以确定是否满足预定义的条件。在一些实施方案中,预定义的条件包括队列占用率满足阈值。例如,路由代理106维持要被路由的消息和/或分组的队列。随着片上网络108流量增加到大于路由代理106处理消息的速率的速率,队列将增加。因此,路由代理106的检测器模块110确定未路由的消息的队列占用率是否满足阈值。又如,预定义的条件包括片上网络108流量与特定服务类别相关联。例如,检测器模块110确定由其对应的部件生成或路由的流量是否属于特定服务类别。在一些实施方案中,每个部件(例如,代理104a-n和/或路由代理106)包括多个检测器模块110。给定部件的每个检测器模块110监测不同的预定义的条件。
响应于满足预定义的条件,检测器模块110(例如,确定满足预定义的条件的检测器模块110)向中介器模块112发送信号。每个检测器模块110通信地耦接到中介器模块112。例如,每个检测器模块110具有到路由代理106之外的中介器模块112的直接信号路径。因此,到中介器模块112的信号不需要经由路由代理106来路由并且可能在片上网络108中经受延迟或减慢。
响应于接收到该信号,中介器模块112向多个代理104a-n发送实现流量节流策略的指示。在一些实施方案中,中介器模块112通过断言在直接(例如,未路由)信号路径上的信号来向多个代理104a-n中的每个代理发送指示。在其他实施方案中,中介器模块112将该指示作为经由路由代理106发送的消息来发送。在一些实施方案中,该指示被发送到生成用于片上网络108的流量的代理104a-n的子集(例如,发出事务的那些代理104a-n,排除仅对其他发出的事务作出响应的任何代理104a-n)。在一些实施方案中,在发送到代理104a-n的信号或消息中指示要实现的特定流量节流策略。在其他实施方案中,流量节流策略是预定义的或默认的。
通过发送实现流量节流策略的指示,当队列占用率满足阈值(指示路由代理106正在达到容量)时,中介器模块112减少片上网络108流量。此外,在检测到特定服务类别的流量的情况下,所实现的流量节流策略将改善片上网络108的性能,并且在经由片上网络108发送特定服务类别的流量时提高总体服务质量。
在一些实施方案中,接收实现流量节流策略的指示的代理104a-n确定覆写流量节流策略。确定覆写流量节流策略包括实现不同的流量节流策略或不实现流量节流策略。例如,生成与特定服务类别相关联的流量的代理104a-n将通过实现不太限制性的流量节流策略或不实现流量节流策略来覆写流量节流策略。又如,响应于未完成事务的数量满足阈值而实现流量节流策略的代理104a-n继续实现其当前流量节流策略,或者实现比中介器模块112所指示的更具限制性的流量节流策略。
在一些实施方案中,检测器模块110确定不满足(例如,不再满足)预定义的条件。然后,检测器模块110向中介器模块112指示不满足预定义的条件。例如,在检测器模块110通过断言在到中介器模块112的通信路径上的信号来指示满足预定义的条件的情况下,指示不满足预定义的条件包括解除断言信号。在其他实施方案中,指示不满足预定义的条件包括向中介器模块112发送指示不满足预定义的条件的另一信号。中介器模块112然后使得代理104a-n(例如,接收到实现流量节流策略的指示的代理104a-n)结束流量节流策略。例如,在一些实施方案中,中介器模块112向代理104a-n发送结束流量节流策略的另一信号。在其他实施方案中,中介器模块112解除断言用于指示应该实现流量节流策略的信号。
尽管图1B描述了由中介器模块112执行的功能,但是应当理解,在一些实施方案中,中介器模块112的功能可替代地由与代理104a-n的检测器模块110直接通信的路由代理106的检测器模块110来执行。
为了进一步解释,图2列出了示出用于片上网络流量的分级节流的示例性方法的流程图。图2的方法在芯片200诸如图1A的芯片102a和/或图1B的芯片102b中实现。图2的方法包括由片上网络108(例如,通信地耦接到片上网络108)的代理104a-n计算202由代理104a-n发出的未完成事务的数量。给定代理104a-n的未完成事务的数量是经由片上网络108向其他代理104a-n发送的期待得到尚未接收到的响应(例如,对请求的响应、接收确认)的消息的数量。当经由片上网络108的通信变慢或者路由代理106正在处理增加的流量的量时,代理104a-n对消息作出响应的时间将增加。因此,假设该代理104a-n的事务生成速率不降低,给定代理104a-n的未完成事务的数量将增加。
图2的方法还包括确定204未完成事务的数量满足阈值。图2的方法还包括响应于未完成事务的数量满足该阈值而由代理104a-n实现206流量节流策略。流量节流策略是给定代理104a-n生成用于片上网络108的流量的可配置或可编程的限制。例如,假设代理104a-n正在独立于任何流量节流策略(例如,在没有限制的情况下)生成用于片上网络108的流量。响应于该代理104a-n的未完成事务的数量满足阈值,代理104a-n然后将实现对代理104a-n向片上网络108提供流量的速率施加限制的流量节流策略。
为了进一步解释,图3列出了示出根据本公开的实施方案的用于片上网络流量的分级节流的示例性方法的流程图。图3的方法与图2的相似之处在于,图3的方法包括:计算202由代理104a-n发出的未完成事务的数量;确定204未完成事务的数量满足阈值;以及实现206流量节流策略。
图3的方法与图2的不同之处在于,由代理104a-n响应于未完成事务的数量满足阈值而实现206流量节流策略包括基于未完成事务的数量满足多个阈值中的哪个阈值来实现302流量节流策略。例如,假设该阈值是多个阈值中的一个阈值,并且该流量节流策略是多个流量节流策略中的一个流量节流策略。每个流量节流策略对应于多个阈值中的一个阈值,使得当给定代理104a-n的未完成事务的数量超过给定阈值时,实现对应的流量节流策略。例如,第一阈值对应于第一流量节流策略(例如,“轻节流策略”),大于第一阈值的第二阈值对应于比第一流量节流策略更具限制性的第二流量节流策略(例如,“重节流策略”),并且大于第二阈值的第三阈值对应于其中代理104a-n停止生成流量的第三流量节流策略(例如,“停止节流策略”)。
使用该示例,其中代理104a-n的未完成事务的数量超过第一阈值,代理104a-n将实现轻节流策略。如果即使实现了轻节流策略,代理104a-n的未完成事务的数量仍在继续增加,并且该数量超过第二阈值,则代理104a-n将实现重节流策略。如果该数量继续增加并且满足第三阈值,则将实现停止节流策略。
为了进一步解释,图4列出了示出根据本公开的实施方案的用于片上网络流量的分级节流的示例性方法的流程图。图4的方法与图2的相似之处在于,图4的方法包括:计算202由代理104a-n发出的未完成事务的数量;确定204未完成事务的数量满足阈值;以及实现206流量节流策略。
图4的方法与图2的不同之处在于,图4的方法还包括(例如,由代理104a-n)重新计算402由代理104a-n发出的未完成事务的数量。例如,代理104a-n以预定义的间隔或响应于另一事件连续地重新计算未完成事务的数量。图4的方法还包括确定404未完成事务的数量下降到阈值(例如,先前满足的阈值)以下。在一些实施方案中,确定404未完成事务的数量下降到阈值以下包括确定未完成事务的数量下降到阈值以下预先确定的时间量(例如,预定义的时钟循环数量)。因此,确定了未完成事务的数量保持在阈值以下一定时间量而不再次满足或超过阈值。图4还包括(例如,响应于未完成事务的数量下降到阈值以下)结束406流量节流策略。在一些实施方案中,结束406流量节流策略包括移除任何所实现的流量节流策略并且在没有限制的情况下向片上网络108发出流量。在其他实施方案中,结束406流量节流策略包括实现另一(例如,不太限制性的)流量节流策略。例如,在未完成事务的数量下降到阈值以下但仍超过另一阈值的情况下,实现与另一阈值对应的其他流量节流策略。
为了进一步解释,图5列出了示出根据本公开的实施方案的用于片上网络流量的分级节流的示例性方法的流程图。图5的方法与图4的相似之处在于,图5的方法包括:计算202由代理104a-n发出的未完成事务的数量;确定204未完成事务的数量满足阈值;实现206流量节流策略;重新计算402未完成事务的数量;确定404未完成事务的数量下降到阈值以下;以及结束406流量节流策略。
图5与图4的不同之处在于,确定404未完成事务的数量下降到阈值以下包括确定502未完成事务的数量下降到阈值以下预定义的量。例如,假设该阈值是五十个未完成事务。进一步假设未完成事务的数量已经超过第一阈值并且流量节流策略是适当的。代理104a-n不是在未完成事务的数量下降到五十以下时移除流量节流策略,而是在未完成事务的数量下降到阈值以下十个事务(例如,四十个未完成事务)时移除流量节流策略。这防止在实现与结束流量节流策略之间的振荡,因为未完成事务的数量在满足与下降到阈值以下之间振荡。
为了进一步解释,图6列出了示出用于动态片上网络流量节流的示例性方法的流程图。图6的方法在芯片600诸如图1A的芯片102a和/或图1B的芯片102b中实现。图6的方法包括由(例如,与通信地耦接到片上网络108的部件对应的)片上网络108的检测器模块110确定602满足预定义的条件。在一些实施方案中,预定义的条件包括队列占用率满足阈值。例如,路由代理106维持要被路由的消息和/或分组的队列。随着片上网络108流量增加到大于路由代理106处理消息的速率的速率,队列将增加。因此,路由代理106的检测器模块110确定未路由的消息的队列占用率是否满足阈值。又如,预定义的条件包括片上网络108流量与特定服务类别相关联。例如,检测器模块110确定由其对应的部件生成或路由的流量是否属于特定服务类别。在一些实施方案中,每个部件(例如,代理104a-n和/或路由代理106)包括多个检测器模块110。给定部件的每个检测器模块110监测不同的预定义的条件。
图6的方法还包括由检测器模块110向片上网络108的中介器模块112发送604信号606。每个检测器模块110通信地耦接到中介器模块112。例如,每个检测器模块110具有到路由代理106之外的中介器模块112的直接信号路径。因此,到中介器模块112的信号606不需要经由路由代理106来路由并且可能在片上网络108中经受延迟或减慢。因此,发送604信号606包括断言在到中介器模块112的信令路径上的信号606。
图6的方法还包括响应于信号606由中介器模块112向多个代理104a-n发送608实现流量节流策略的指示610。在一些实施方案中,中介器112通过断言在直接(例如,未路由)信号路径上的信号来向多个代理104a-n中的每个代理发送指示。在其他实施方案中,中介器模块112将指示610作为经由路由代理106发送的消息来发送。在一些实施方案中,指示610被发送到生成用于片上网络108的流量的代理104a-n的子集(例如,发出事务的那些代理104a-n,排除仅对其他发出的事务作出响应的任何代理104a-n)。在一些实施方案中,在发送到代理104a-n的信号或消息中指示要实现的特定流量节流策略。在其他实施方案中,流量节流策略是预定义的或默认的。
为了进一步解释,图7列出了示出根据本公开的实施方案的用于动态片上网络流量节流的示例性方法的流程图。图7的方法与图6的相似之处在于,图7的方法包括:确定602满足预定义的条件;向中介器模块112发送604信号606;以及响应于信号606向多个代理104a-n发送608实现流量节流策略的指示610。
图7的方法与图6的不同之处在于,图7的方法还包括由检测器模块110确定702不满足(例如,不再满足)预定义的条件。图7的方法还包括由检测器模块110向中介器模块112指示704不满足预定义的条件。例如,在检测器模块110通过断言在到中介器模块112的通信路径上的信号来指示满足预定义的条件的情况下,指示不满足预定义的条件包括解除断言信号。在其他实施方案中,指示不满足预定义的条件包括向中介器模块112发送指示不满足预定义的条件的另一信号。
图7的方法还包括由中介器模块112使得706多个代理104a-n(例如,接收到实现流量节流策略的指示的代理104a-n)结束流量节流策略。例如,在一些实施方案中,中介器模块112向代理104a-n发送结束流量节流策略的另一信号。在其他实施方案中,中介器模块112解除断言用于指示应该实现流量节流策略的信号。
为了进一步解释,图8列出了示出根据本公开的实施方案的用于动态片上网络流量节流的示例性方法的流程图。图8的方法与图7的相似之处在于,图8的方法包括:确定602满足预定义的条件;向中介器模块112发送604信号606;响应于信号606向多个代理104a-n发送608实现流量节流策略的指示610;确定702不满足预定义的条件;指示704不满足预定义的条件;以及使得706多个代理104a-n结束流量节流策略。
图8与图7的不同之处在于,由检测器模块110确定702不满足预定义的条件包括确定804在预定义的时间量内不满足预定义的条件。预定义的时间量是可编程的或可配置的。因此,直到已经经过了预定义的时间量,中介器模块112才被通知不满足预定义的条件。这降低了预定义的条件在发生与不发生之间振荡的可能性,从而减少了中介器模块112导致在代理104a-n实现与不实现流量节流策略之间的振荡。
为了进一步解释,图9列出了示出根据本公开的实施方案的用于动态片上网络流量节流的示例性方法的流程图。图9的方法与图6的相似之处在于,图9的方法包括:确定602满足预定义的条件;向中介器模块112发送604信号606;以及响应于信号606向多个代理104a-n发送608实现流量节流策略的指示610。
图9的方法与图6的不同之处在于,图9的方法还包括由多个代理104a-n中的一个代理104a-n覆写902实现流量节流策略的指示610。在一些实施方案中,覆写902实现流量节流策略的指示610包括实现不同的流量节流策略或不实现流量节流策略。例如,生成与特定服务类别相关联的流量的代理104a-n将通过实现不太限制性的流量节流策略或不实现流量节流策略来覆写流量节流策略。又如,响应于未完成事务的数量满足阈值而实现流量节流策略的代理104a-n继续实现其当前流量节流策略,或者实现比中介器模块112所指示的更具限制性的流量节流策略。
鉴于以上阐述的解释,读者将认识到动态片上网络流量节流的有益效果包括:
·通过提高特定服务类别的片上网络流量的服务质量而提高计算系统的性能。
·通过根据当前网络条件调整网络流量节流而提高计算系统的性能,从而改善总体性能和功耗。
本公开的示例性实施方案主要在用于动态片上网络流量节流的全功能计算机系统的上下文中描述。然而,熟悉本领域的读者将认识到,本公开还可体现在设置在计算机可读存储介质上的用以与任何合适的数据处理系统一起使用的计算机程序产品中。此类计算机可读存储介质可以是用于机器可读信息的任何存储介质,包括磁介质、光介质或其他合适的介质。此类介质的示例包括硬盘驱动器或软盘中的磁盘、光盘驱动器的光盘、磁带以及本领域的技术人员可想到的其他介质。本领域的技术人员将立即认识到,具有适当编程装置的任何计算机系统将能够执行如在计算机程序产品中体现的本公开的方法的步骤。本领域的技术人员还将认识到,尽管本说明书中描述的一些示例性实施方案针对在计算机硬件上安装和执行的软件,然而,被实现为固件或硬件的另选实施方案也在本公开的范围内。
本公开可以是系统、方法和/或计算机程序产品。计算机程序产品可包括其上具有用于使处理器执行本公开的各方面的计算机可读程序指令的计算机可读存储介质(或媒介)。
计算机可读存储介质可以是可保留和存储供指令执行设备使用的指令的有形设备。计算机可读存储介质可以是(例如但不限于)电子存储设备、磁存储设备、光学存储设备、电磁存储设备、半导体存储设备或前述项的任何合适组合。计算机可读存储介质的更具体示例的不完全列表包括以下:便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式光盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码的设备(诸如其上记录有指令的槽中的穿孔卡片或凸起结构)以及前述项的任何合适组合。如本文所用的计算机可读存储介质不能被理解为瞬时信号本身,诸如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,通过光纤电缆的光脉冲)或通过导线传输的电信号。
本文所述的计算机可读程序指令可从计算机可读存储介质下载到相应的计算/处理设备,或经由网络(例如互联网、局域网、广域网和/或无线网络)下载到外部计算机或外部存储设备。网络可包括铜传输电缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配器卡或网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。
用于执行本公开的操作的计算机可读程序指令可以是汇编指令、指令集体系结构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据或者以一种或多种编程语言的任何组合编写的源代码或目标代码,编程语言包括诸如Smalltalk、C++等面向对象的编程语言,以及诸如“C”编程语言或类似编程语言的常规过程编程语言。计算机可读程序指令可整个地在用户计算机上执行、部分地在用户计算机上执行、作为独立的软件包、部分地在用户计算机上执行并且部分地在远程计算机上执行或者整个地在远程计算机或服务器上执行。在后一种情况下,远程计算机可通过任何类型的网络(包括局域网(LAN)或广域网(WAN))连接到用户计算机,或者可连接到外部计算机(例如,通过使用互联网服务提供商的互联网)。在一些实施方案中,包括例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA)的电子电路可执行计算机可读程序指令,具体通过利用计算机可读程序指令的状态信息来个性化处理电子电路,以便执行本公开的各方面。
本公开的各方面在此参考根据本公开的实施方案的方法、装置(系统)和计算机程序产品的流程图图示和/或框图进行描述。应当理解,流程图图示和/或框图的每个框以及流程图图示和/或框图中的框的组合可由计算机可读程序指令来实现。
这些计算机可读程序指令可提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以得到机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令形成用于实现在流程图和/或框图的一个或多个框中指定的功能/动作的构件。这些计算机可读程序指令还可存储在可指示计算机、可编程数据处理装置和/或其他设备以特定方式起作用的计算机可读存储介质中,使得其中存储有指令的计算机可读存储介质包括包含实现在流程图和/或框图的一个或多个框中指定的功能/动作的各方面的指令的制品。
计算机可读程序指令还可被加载到计算机、其他可编程数据处理装置或其他设备上,导致在计算机、其他可编程装置或其他设备上执行一系列操作步骤以得到计算机实现的过程,使得在计算机、其他可编程装置或其他设备上执行的指令实现在流程图和/或框图的一个或多个框中指定的功能/动作。
图中的流程图和框图示出了根据本公开的各种实施方案的系统、方法和计算机程序产品的可能具体实施的体系结构、功能和操作。就这一点而言,流程图或框图中的每个框可表示指令的包括用于实现指定逻辑功能的一个或多个可执行指令的模块、段或部分。在一些另选的具体实施中,框中指出的功能可不按照图中指出的顺序发生。例如,取决于所涉及的功能,连续示出的两个框实际上可基本上同时执行,或者这些框有时可以相反顺序执行。还将注意到,框图和/或流程图图示中的每个框以及框图和/或流程图图示中的框的组合可由执行指定功能或动作或者执行专用硬件和计算机指令的组合的基于专用硬件的系统来实现。
从前面的描述将理解,可在本公开的各种实施方案中进行修改和改变。本说明书中的描述仅用于说明目的,而不应以限制性意义进行解释。本公开的范围仅由所附权利要求书的语言限定。

Claims (20)

1.一种动态片上网络流量节流的方法,所述方法包括:
确定满足预定义的条件;
以及
响应于满足所述预定义的条件,实现流量节流策略。
2.根据权利要求1所述的方法,其中确定满足预定义的条件包括由片上网络的检测器模块确定满足所述预定义的条件。
3.根据权利要求2所述的方法,还包括由所述检测器模块向所述片上网络的中介器模块发送信号。
4.根据权利要求3所述的方法,其中实现所述流量节流策略包括响应于所述信号而由所述中介器模块向多个代理发送实现所述流量节流策略的指示。
5.根据权利要求4所述的方法,其中所述多个代理包括一个或多个流量生成代理。
6.根据权利要求1所述的方法,其中所述预定义的条件包括队列占用率满足阈值。
7.根据权利要求1所述的方法,其中所述预定义的条件包括包含特定服务类别的片上网络流量。
8.根据权利要求4所述的方法,还包括:
由所述检测器模块确定不满足所述预定义的条件;
由所述检测器模块向所述中介器模块指示不满足所述预定义的条件;以及
由所述中介器模块使得所述多个代理结束所述流量节流策略。
9.根据权利要求8所述的方法,其中由所述检测器模块确定不满足所述预定义的条件包括确定在预定义的时间量内不满足所述预定义的条件。
10.根据权利要求4所述的方法,还包括由所述多个代理中的代理覆写实现所述流量节流策略的所述指示。
11.一种用于动态片上网络流量节流的芯片,所述芯片包括片上网络并且被配置为执行包括以下项的步骤:
确定满足预定义的条件;以及
响应于满足所述预定义的条件,实现流量节流策略。
12.根据权利要求11所述的芯片,其中确定满足预定义的条件包括由片上网络的检测器模块确定满足所述预定义的条件。
13.根据权利要求12所述的芯片,还包括由所述检测器模块向所述片上网络的中介器模块发送信号。
14.根据权利要求13所述的芯片,其中实现所述流量节流策略包括响应于所述信号而由所述中介器模块向多个代理发送实现所述流量节流策略的指示。
15.根据权利要求14所述的芯片,其中所述多个代理包括一个或多个流量生成代理。
16.根据权利要求11所述的芯片,其中所述预定义的条件包括队列占用率满足阈值。
17.根据权利要求11所述的芯片,其中所述预定义的条件包括包含特定服务类别的片上网络流量。
18.根据权利要求14所述的芯片,其中所述步骤还包括:
由所述检测器模块确定不满足所述预定义的条件;
由所述检测器模块向所述中介器模块指示不满足所述预定义的条件;以及
由所述中介器模块使得所述多个代理结束所述流量节流策略。
19.根据权利要求15所述的芯片,其中由所述检测器模块确定不满足所述预定义的条件包括确定在预定义的时间量内不满足所述预定义的条件。
20.根据权利要求11所述的芯片,其中所述步骤还包括由所述多个代理中的代理覆写实现所述流量节流策略的所述指示。
CN202180065562.2A 2020-09-25 2021-09-17 动态片上网络节流 Pending CN116235481A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/032,054 US20220103481A1 (en) 2020-09-25 2020-09-25 Dynamic network-on-chip throttling
US17/032,054 2020-09-25
PCT/US2021/050856 WO2022066528A1 (en) 2020-09-25 2021-09-17 Dynamic network-on-chip throttling

Publications (1)

Publication Number Publication Date
CN116235481A true CN116235481A (zh) 2023-06-06

Family

ID=78135159

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180065562.2A Pending CN116235481A (zh) 2020-09-25 2021-09-17 动态片上网络节流

Country Status (6)

Country Link
US (1) US20220103481A1 (zh)
EP (1) EP4218214A1 (zh)
JP (1) JP2023544270A (zh)
KR (1) KR20230074237A (zh)
CN (1) CN116235481A (zh)
WO (1) WO2022066528A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116760783A (zh) * 2023-08-16 2023-09-15 沐曦集成电路(上海)有限公司 一种均衡读数据的系统

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115361338B (zh) * 2022-07-22 2024-02-23 新华三技术有限公司 一种路由处理方法、装置及网络设备

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9608922B2 (en) * 2011-12-23 2017-03-28 Intel Corporation Traffic control on an on-chip network
US9571402B2 (en) * 2013-05-03 2017-02-14 Netspeed Systems Congestion control and QoS in NoC by regulating the injection traffic
US10482275B2 (en) * 2014-01-27 2019-11-19 Cryptography Research, Inc. Implementing access control by system-on-chip
US9553762B1 (en) * 2014-06-26 2017-01-24 Altera Corporation Network-on-chip with fixed and configurable functions
US10671722B2 (en) * 2016-08-06 2020-06-02 Advanced Micro Devices, Inc. Mechanism for throttling untrusted interconnect agents

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116760783A (zh) * 2023-08-16 2023-09-15 沐曦集成电路(上海)有限公司 一种均衡读数据的系统
CN116760783B (zh) * 2023-08-16 2023-10-27 沐曦集成电路(上海)有限公司 一种均衡读数据的系统

Also Published As

Publication number Publication date
US20220103481A1 (en) 2022-03-31
EP4218214A1 (en) 2023-08-02
WO2022066528A1 (en) 2022-03-31
JP2023544270A (ja) 2023-10-23
KR20230074237A (ko) 2023-05-26

Similar Documents

Publication Publication Date Title
US10003544B2 (en) Method and apparatus for priority flow and congestion control in ethernet network
US11876718B2 (en) Graded throttling for network-on-chip traffic
US9215174B2 (en) Oversubscription buffer management
CN116235481A (zh) 动态片上网络节流
CN107135088B (zh) 云计算系统中处理日志的方法和装置
CN107645407B (zh) 一种适配QoS的方法和装置
US9172646B2 (en) Dynamic reconfiguration of network devices for outage prediction
CN112953842B (zh) 处理rdma网络拥塞的方法、装置、设备及介质
CN105765932A (zh) 调整个人电子设备和外部服务之间重业务负荷的方法和系统
US10372503B2 (en) Bidirectional feedback with an enhanced transmission selection enabled switch
CN114050983A (zh) 流量自适应采集方法及装置、存储介质及电子设备
US9369477B2 (en) Mitigation of path-based convergence attacks
AU2023203816B2 (en) Attack mitigation in a packet-switched network
US11683250B2 (en) Managing proxy throughput between paired transport layer connections
CN116820825A (zh) 数据丢弃方法、装置、电子设备和计算机可读存储介质
CN118157965A (zh) 一种基于SDN的RoCE网络异常流量防护方法、设备及介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination