CN109561020A - 选择非最小路径和节流端口速度以增大网络吞吐量的技术 - Google Patents

选择非最小路径和节流端口速度以增大网络吞吐量的技术 Download PDF

Info

Publication number
CN109561020A
CN109561020A CN201810980069.3A CN201810980069A CN109561020A CN 109561020 A CN109561020 A CN 109561020A CN 201810980069 A CN201810980069 A CN 201810980069A CN 109561020 A CN109561020 A CN 109561020A
Authority
CN
China
Prior art keywords
data
node switch
measurement
performance
unit
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.)
Granted
Application number
CN201810980069.3A
Other languages
English (en)
Other versions
CN109561020B (zh
Inventor
M.弗拉斯利克
E.R.博尔奇
T.施奈德
M.A.帕克
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of CN109561020A publication Critical patent/CN109561020A/zh
Application granted granted Critical
Publication of CN109561020B publication Critical patent/CN109561020B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/125Shortest path evaluation based on throughput or bandwidth
    • 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/22Traffic shaping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0888Throughput
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0895Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0896Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/40Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0894Packet rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/20Arrangements for monitoring or testing data switching networks the monitoring system or the monitored elements being virtualised, abstracted or software-defined entities, e.g. SDN or NFV
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/123Evaluation of link metrics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0882Utilisation of link capacity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/625Queue scheduling characterised by scheduling criteria for service slots or service orders
    • H04L47/6255Queue scheduling characterised by scheduling criteria for service slots or service orders queue load conditions, e.g. longest queue first

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

用于改进网络中吞吐量的技术包括节点交换机。节点交换机将获得指示节点交换机的期望数据传输性能的期望性能数据。节点交换机也将获得指示节点交换机的测量的数据传输性能的测量的性能数据,比较测量的性能数据和期望性能数据以确定测量的数据传输性能是否满足期望数据传输性能,根据测量的数据传输性能是否满足期望数据传输性能,确定是否强制数据的单元通过非最小路径到目的地,以及响应于确定强制数据的单元要通过非最小路径被发送,向与非最小路径关联的节点交换机的输出端口发送数据的单元。也描述了其它实施例。

Description

选择非最小路径和节流端口速度以增大网络吞吐量的技术
有关联邦赞助的研究的声明
本发明是在国防部授予的编号为H98230A-13-D-0124的合同下在具有政府支持的情况下做出的。政府拥有本发明中的某些权利。
背景技术
在一些高性能网络拓扑(本文中称为构造(fabric))中,网络公平性是在为许多类的应用保持目标性能中的重要因素。网络公平性能够被定义为在许多节点(例如,产生和/或消耗通过网络发送的数据的计算装置)之中分配网络资源(例如,带宽),使得资源不被不按比例地分配给一个节点,损害网络中的一个或多个其它节点。对公平性特别敏感的应用包括使用全局同步或局部同步(例如,等待在邻居交换中的所有消息)的那些应用。在此类应用中,由群组中的最慢节点来确定性能,因此强调公平性。
分级网络按照设计在许多流之中共享链路以达到高利用率。因此,它们易于发生对于许多业务模式(traffic pattern)的网络不公平性。在一个或多个交换机在网络中使得源与目的地之间的路径饱和,导致对于尝试通过该路径发送数据的任何其它节点的拥塞和高等待时间时,不公平性能够发生。在连接到节点集的交换机的一个或多个端口具有比连接到其它节点的交换机的其它端口更高的吞吐量时,不公平性能够也发生在交换机内。因此,连接到更慢端口的节点不能与连接到相同交换机的更快端口的节点按照相同的速度注入数据。
附图说明
在本文中描述的概念在附图中以示例而非限制的方式被图示。为了说明的简明和清晰,图中所示元素不一定按比例画出。在认为适当之处,参考标号已在图中重复以指示对应的或类似的元素。
图1是用于管理公平性以改进在网络中的吞吐量的系统的至少一个实施例的简化框图;
图2是图1的系统的节点交换机的至少一个实施例的简化框图;
图3是可由图1和2的节点交换机建立的环境的简化框图;
图4-8是可由图1-3的节点交换机执行的,用于管理公平性的方法的至少一个实施例的简化流程图;
图9是逻辑组件的至少一个实施例的简化框图,逻辑组件可由图1-3的节点交换机利用来强制选择用于通过网络发送数据的单元的非最小路径,以改进公平性;
图10是逻辑组件的至少一个实施例的简化框图,逻辑组件可由图1-3的节点交换机利用来节流节点交换机的节点端口以改进公平性;以及
图11是逻辑组件的至少一个实施例的简化框图,逻辑组件可由图1-3的节点交换机利用来使用信用方案实行对于节点交换机的节点端口的数据传输速率。
具体实施方式
尽管本公开的概念容许各种修改和备选形式,但其特定实施例已在图中通过示例被示出,并且将在本文中被详细描述。然而,应理解的是,不存在将本公开的概念限制到所公开的具体形式的意图,而是与之相反,意图是要覆盖与本公开和随附权利要求一致的所有修改、等同物和替代方案。
说明书中对“一个实施例”、“一实施例”、“一说明性实施例”等的引用指描述的实施例可包括具体特征、结构或特性,但每个实施例可包括或可不一定包括该具体特征、结构或特性。另外,此类短语不一定指同一实施例。进一步,在结合一实施例描述具体特征、结构或特性时,认为结合其它实施例(无论其是否明确被描述)来实现此类特征、结构或特性是在本领域技术人员的认知之内的。另外,应领会的是,在采用“至少一个A、B和C”的形式的列表中所包括的项能够意指(A);(B);(C);(A和B);(A和C);(B和C);或(A、B和C)。类似地,在采用“A、B或C中至少之一”形式所列的项能够意指(A);(B);(C);(A和B);(A和C);(B和C);或(A、B和C)。
所公开的实施例可在一些情况下在硬件、固件、软件或其任何组合中被实现。公开的实施例也可被实现为可由一个或多个处理器读取和执行的暂态或非暂态机器可读(例如,计算机可读)存储介质所携带或在其上存储的指令。机器可读存储介质可被实施为用于以机器可读的形式存储或传送信息的任何存储装置、机制或其它物理结构(例如,易失性或非易失性存储器、介质盘或其它介质装置)。
在图中,一些结构或方法特征可以特定布置和/或顺序来示出。然而,应领会的是,此类特定布置和/或顺序可能不被要求。相反,在一些实施例中,此类特征可以与说明性图中所示出的方式和/或顺序不同的方式和/或顺序来布置。另外,在特定的图中包括结构或方法特征并不意在暗示在所有实施例中要求此类特征,并且在一些实施例中,此类特征可不被包括或者其可与其它特征组合。
如图1中所示出的,用于管理公平性以改进网络110中吞吐量的说明性系统100包括具有经由网络10处于通信中的群组132、134的交换机集130。在说明性实施例中,每个群组132、134包括全局交换机集140和连接到全局交换机140的节点交换机集160。每个群组132、134的全局交换机140连接到其它群组134的对应全局交换机140。在群组132内的节点交换机160每个被连接到对应节点集180。节点180可被实施为有能力执行诸如进程、应用或其它任务的工作量,以及在操作中通过网络110发送和接收数据的单元(例如,分组)的任何装置。在该说明性实施例中,全局交换机140包括全局交换机142、144、146、148、150和152。类似地,节点交换机160在该说明性实施例中包括节点交换机162、164、166、168、170和172。尽管在图1中示出了六个全局交换机140和六个节点交换机160,但应理解,在其它实施例中,每个群组132、134可包括任何数量的全局交换机140和节点交换机160。在一些实施例中,全局交换机和节点交换机被合并(即,扁平化)到相同物理交换机中。在该说明性实施例中,其它群组134包括与群组132类似的拓扑。然而,在其它实施例中,其它群组134可每个只包含单个交换机(例如,在3级胖树拓扑中)。在说明性实施例中,在操作中,群组中的每个节点交换机160可检测连接到对应节点交换机160(例如,节点交换机162)的受不公平对待的节点180(例如,在经历不成比例地低数据注入速率的那些节点),并且允许那些受不公平对待的节点以非最小的方式进行路由(例如,通过比另一可用路径要求更多交换机跳的路径发送数据分组),而不考虑输出端口拥塞(例如,与各种可用路径关联的输出端口的分组队列的等待时间或充满度)。因此,节点交换机160允许那些受不公平对待的节点消耗更多网络资源(例如,更多交换机跳)来克服不公平性(例如,以更快速率将数据注入网络中)。与此相反,在提供自适应路由的典型系统中,仅在最小路径至少比非最小路径拥塞两倍时才选择非最小路径。另外,在操作中,每个节点交换机160可节流表现良好的节点180的注入速率,以增大表现差的节点180的注入速率,由此改进网络公平性而不牺牲平均吞吐量。在这种情况下,如在本文中更详细所描述的,节点交换机160跨节点交换机160的所有节点端口检测不公平性。在不公平性的聚合级别增大时,更大程度地来节流用于节点端口(例如,连接到节点180的节点交换机160的端口,区别于连接到诸如全局交换机140的其它交换机的端口)的注入速率。节流不影响已经慢的节点180,但它确实减慢执行速度高的节点。因此,执行速度慢的节点180被赋予更多网络资源,由此改进它们的性能。
现在参照图2,每个节点交换机160可被实施为任何类型的计算装置,其有能力执行在本文中描述的功能,这包括比较对于节点交换机160的测量的数据传输性能和期望的数据传输性能,根据测量的性能是否满足期望性能,选择性地强制(例如,不考虑对应输出端口的拥塞水平)数据的单元(例如,数据分组或数据分组的一部分)通过非最小路径,以及节流节点端口的子集以跨节点交换机160的所有节点端口改进公平性。
如图2中所示出的,说明性节点交换机160包括计算引擎202、输入/输出(I/O)子系统208、通信电路系统210和一个或多个数据存储装置214。当然,在其它实施例中,节点交换机160可包括其它或另外的组件,诸如通常在计算机中发现的那些组件(例如,显示器、外设装置等)。另外,在一些实施例中,一个或多个说明性组件可被并入另一组件中,或者以其他方式形成另一组件的一部分。
计算引擎202可被实施为有能力执行下面描述的各种计算功能的任何类型的装置或装置的集合。在一些实施例中,计算引擎202可被实施为单个装置,诸如集成电路、嵌入式系统、现场可编程门阵列(FPGA)、片上系统(SOC)或其它集成系统或装置。另外,在一些实施例中,计算引擎202包括或者被实施为处理器204和存储器206。处理器204可实施为有能力执行在本文中描述的功能的任何类型的处理器。例如,处理器204可被实施为单核或多核处理器、微控制器或其它处理器或处理/控制电路。在一些实施例中,处理器204可被实施为,包括或被耦合到FPGA、专用集成电路(ASIC)、可重新配置的硬件或硬件电路系统或其它专用硬件以促进在本文中描述的功能的执行。处理器204可包括诸如协处理器、FPGA或ASIC的可被实施为专用装置的路径确定逻辑单元240,以便执行是否强制分组要由节点交换机160通过穿过网络110的非最小路径来发送的确定(例如,不考虑与最小路径关联的拥塞水平)。类似地,处理器204可包括诸如协处理器、FPGA或ASIC的可被实施为专用装置的节流逻辑单元250,以便节流节点交换机160的节点端口来平衡资源(例如,带宽)和改进在连接到节点交换机160的节点180的数据注入速率中的公平性。
主存储器206可被实施为有能力执行在本文中描述的功能的任何类型的易失性(例如,动态随机存取存储器(DRAM)等)或非易失性存储器或数据存储装置。在一些实施例中,全部或部分的主存储器206可被集成到处理器204中。在操作中,主存储器206可存储在操作期间使用的各种软件和数据,诸如分组数据、性能数据、路径确定数据、节流数据、应用、程序、库和驱动程序。
计算引擎202经由I/O子系统208以通信方式耦合到节点交换机160的其它组件,该子系统可被实施为用来促进与节点交换机160的计算引擎202(例如,与处理器204和/或主存储器206)和其它组件的输入/输出操作的电路系统和/或组件。例如,I/O子系统208可被实施为或者以其他方式包括存储器控制器集线器、输入/输出控制集线器、集成传感器集线器、固件装置、通信链路(即,点对点链路、总线链路、导线、电缆、光导、印刷电路板迹线等)和/或其它组件和子系统,用以促进输入/输出操作。在一些实施例中,I/O子系统208可形成片上系统(SoC)的一部分,并且连同节点交换机160的处理器204、主存储器206和其它组件中的一个或多个来被并入计算引擎202中。
通信电路系统210可被实施为有能力实现在节点交换机160与另一装置(例如,节点180或全局交换机140)之间通过网络110的通信的任何通信电路、装置或其集合。通信电路系统210可配置成使用任何一个或多个通信技术(例如,有线或无线通信)和关联的协议(例如,以太网、Bluetooth®、Wi-Fi®、WiMAX等)以实现此类通信。
该说明性通信电路系统210包括端口逻辑212,其可也被称为网络接口控制器(NIC)或主机构造接口(HFI)。通信电路系统210可被定位在与处理器204分开的硅上,或者通信电路系统210可被包括在带有处理器204的多芯片封装中(例如,在计算引擎202中),或者甚至在与处理器204相同的管芯上。端口逻辑212可被实施为一个或多个内插板、子插件板、网络接口卡、控制器芯片、芯片组、诸如现场可编程门阵列(FPGA)或专用集成电路(ASIC)的专用组件,或可由节点交换机160用于与另一装置(例如,节点180或全局交换机140)进行连接和传递数据的其它装置。在一些实施例中,端口逻辑212可被实施为包括一个或多个处理器的片上系统(SoC)的一部分,或者被包括在也包含一个或多个处理器的多芯片封装上。在一些实施例中,端口逻辑212可包括对端口逻辑212均是本地的本地处理器(未示出)和/或本地存储器(未示出)。在此类实施例中,端口逻辑212的本地处理器可以有能力执行在本文中描述的处理器204的功能中的一个或多个功能。另外或备选的是,在此类实施例中,端口逻辑212的本地存储器可在板级别、插槽级别、芯片级别和/或其它级别被集成到节点交换机160的一个或多个组件中。在该说明性实施例中,端口逻辑212包括在本文中也被称为输入端口的多个节点端口220,其可被实施为有能力以通信方式连接多个节点180到节点交换机160的任何装置或电路系统(例如,用于铜电缆或光纤的物理接口或无线收发器)。类似地,在该说明性实施例中,端口逻辑212包括在本文中也被称为输出端口的多个非节点端口230,其可被实施为有能力以通信方式连接除节点180外的多个装置(例如,全局交换机140)到节点交换机160的任何装置或电路系统(例如,用于铜电缆或光纤的物理接口或无线收发器)。在一些实施例中,端口逻辑212可包括上面参照处理器204描述的路径确定逻辑单元240和/或节流逻辑单元250。
所述一个或多个说明性数据存储装置214可被实施为配置用于数据的短期或长期存储的任何类型的装置,诸如例如存储器装置和电路、存储器卡、硬盘驱动器、固态驱动器或其它数据存储装置。每个数据存储装置214可包括存储用于数据存储装置214的数据和固件代码的系统分区。每个数据存储装置214可也包括存储用于操作系统的数据文件和可执行文件的操作系统分区。另外,节点交换机160可包括一个或多个外设装置216。此类外设装置216可包括通常在计算装置中发现的任何类型的外设装置,诸如显示器、扬声器、鼠标、键盘和/或其它输入/输出装置、接口装置和/或其它外设装置。
全局交换机140和节点180可具有与在图2中描述的那些组件类似的组件。那些组件的描述同样适用于节点交换机160的组件的描述,并且为描述的清晰起见而在本文中未被重复,有所例外的是节点180可不包括路径确定逻辑单元240和节流逻辑单元250。进一步,应领会的是,全局交换机140和/或节点180可包括在计算装置中通常发现的其它组件、子组件和装置,这些未在上面参照节点交换机160被讨论,并且为描述的清晰起见而未在本文中被讨论。
如上所描述的,全局交换机140、节点交换机160和节点180说明性地经由网络110处于通信中,网络110可被实施为任何类型的有线或无线通信网络,包括具有三级胖树拓扑或其它大规模间接拓扑的构造、一个或多个局域网(LAN)或广域网(WAN)、蜂窝网络(例如,全球移动通信系统(GSM)、3G、长期演进(LTE)、微波接入全球互操作性(WiMAX)等)、数字订户线(DSL)网络、电缆网络(例如,同轴网络、光纤网络等)、全球网络(例如,因特网)、或其任何组合。
现在参见图3,在该说明性实施例中,节点交换机160可在操作期间建立环境300。该说明性环境300包括网络通信器320和公平性管理器330。环境300的每个模块可被实施为硬件、固件、软件或其组合。因此,在一些实施例中,环境300的一个或多个组件可被实施为电路系统或电装置的集合(例如,网络通信器电路系统320、公平性管理器电路系统330等)。应领会的是,在此类实施例中,网络通信器电路系统320或公平性管理器电路系统330中的一个或多个可形成节点交换机160的计算引擎206(例如,处理器204和/或存储器206)、通信电路系统210、I/O子系统208和/或其它组件中的一个或多个的一部分。在说明性实施例中,环境300包括分组数据302,其可被实施为指示要由节点交换机传输的数据的单元(例如,在微片中)以及与数据的单元关联的源地址信息和目的地地址信息(例如,媒体接入控制(MAC)地址、因特网协议(IP)地址等)、从中接收到数据的单元的端口(例如,节点端口220)和数据的单元被发送到的端口(例如,非节点端口230)的任何数据。另外,该说明性环境300包括性能数据304,其可被实施为指示节点交换机160整体的期望性能以及在该说明性实施例中,节点交换机160的每个端口的期望性能的任何数据。期望性能数据可被硬编码,从服务水平协议(SLA)获得,或者以其它方式被预定义,并且可根据变化的网络条件被调整。例如,性能的期望水平可由节点交换机160响应于网络110饱和的确定(例如,响应于来自管理员、构造监视器装置等的通知)而被降低。性能数据304在该说明性实施例中另外包括指示在预定义的时间窗口或预定义数量的周期(例如,1000个周期)上节点交换机160的实际性能的测量的数据。用于期望性能和测量的性能的度量可以是指示节点交换机160从节点180向网络110中的其它装置(例如,其它交换机)传输数据的单元(例如,数据分组)所采用的速度和/或效率的任何度量,诸如吞吐量、链路潜能(例如,在预定义数量的周期中传输的微片的数量的测量,以及用于对应节点端口220的输入队列为空的周期的数量的测量)或一个或多个端口220、230的输入缓冲器的充满度。该说明性环境300也包括路径确定数据306,其可被实施为指示可向目的地发送注入的数据(例如,来自每个节点180)所通过的可能路径的任何数据,这包括用于每个路径的交换机跳的数量、最小路径(例如,具有最小数量的交换机跳的路径)的标识、一个或多个非最小路径(例如,具有更多的交换机跳的到相同目的地的路径)、以及与每个路径关联的拥塞信息(例如,等待时间)。节点交换机160可诸如经由动态路由协议(例如,路由信息协议(RIP)、开放最小路径优先(OSPF)协议、中间系统到中间系统(IS-IS)协议、内部网关路由协议(IGRP)协议或类似协议),从网络110中的其它装置(例如,其它交换机)获得路径确定数据306。另外,在该说明性实施例中,如在本文中更详细所描述的,环境300包括节流数据308,其可被实施为指示诸如根据信用方案,节点交换机160的节点端口220已被节流到的允许的数据传输速率的任何数据。
在该说明性环境300中,可被实施为如上所讨论的硬件、固件、软件、虚拟化硬件、仿真架构和/或其组合的网络通信器320配置成促进分别向和从节点交换机160的入站和出站网络通信(例如,网络业务,网络分组,网络流等)。为此,网络通信器320配置成接收和处理来自一个或多个装置(例如,一个或多个节点180)的分组,并且准备和向一个或多个装置(例如,一个或多个全局交换机140)发送分组。相应地,在一些实施例中,网络通信器320的功能性的至少一部分可由通信电路系统210执行,并且在该说明性实施例中由端口逻辑212执行。
可被实施为如上所讨论的硬件、固件、软件、虚拟化硬件、仿真架构和/或其组合的公平性管理器330配置成通过选择性地强制来自节点180的数据的单元通过非最小路径发送到目的地和/或节流节点端口220接收来自节点180的数据的单元所采用的速率,来管理资源(例如,带宽)到节点180的分配的公平性。在该说明性实施例中,节点交换机160强制使用非最小路径,并且根据节点交换机160的节点端口220的测量的性能是否满足节点交换机160的节点端口220的期望性能,而节流节点端口220的数据传输速率。为此,在该说明性实施例中,公平性管理器330包括性能监视器332、性能比较器334、路径确定器336和节点端口节流器338。
性能监视器332在该说明性实施例中配置成测量节点交换机160的性能,并且在该说明性实施例中,测量每个节点端口220的性能,并且生成上面描述的在性能数据304中的测量的性能数据。在该说明性实施例中,性能监视器332为预定义时间窗口的每个实例(诸如节点交换机160的预定义的秒数或预定义数量的周期)生成测量的性能数据。
性能比较器334在该说明性实施例中配置成比较测量的性能数据和期望性能数据以确定节点交换机160的测量的性能是否满足期望性能。在这种情况下,性能比较器334可确定测量的性能是否在期望性能的预定义的范围(例如,5%)内。如果测量的性能不在期望性能的预定义的范围内,则性能比较器334在该说明性实施例中确定测量的性能不满足期望性能。否则,在该说明性实施例中,性能比较器334确定测量的性能确实满足期望性能。性能比较器334可比较与节点交换机160整体关联的测量性能和对应期望性能和/或可在逐端口基础上比较测量的性能和期望性能,如在本文中相对于节点端口220的节流更详细地描述的。
路径确定器336在该说明性实施例中配置成确定是否强制数据的单元(例如,数据分组)通过非最小路径到它们的目的地,或者根据标准自适应路由方案确定用于数据的单元的路径(例如,沿最小路径发送数据单元,除非最小路径比可用的非最小路径拥塞至少两倍)。在该说明性实施例中,路径确定器336根据是否性能数据304指示节点交换机160的测量的性能不满足期望性能(如由性能比较器334所确定的),来选择是否强制数据的单元通过非最小路径。响应于确定测量的性能不满足期望性能,路径确定器336在该说明性实施例中递增计数器,其影响路径确定器336将确定强制数据的单元通过非最小路径的可能性。与此相反,如果测量的性能确实满足期望性能,则路径确定器336在该说明性实施例中递减计数器,由此降低路径确定器336将强制数据的单元通过非最小路径的可能性,并且将转而执行自适应路由(例如,基于它们的相应拥塞水平,选择非最小路径或最小路径)。每当性能比较器334作出测量的性能是否满足期望性能的确定时(例如,每1000个周期或其它预定义的时间期),路径确定器336可选择性地递增或递减计数器。
节点端口节流器338在该说明性实施例中配置成根据测量的数据传输性能是否满足用于每个节点端口220的期望数据传输性能,而调整用于节点端口220的允许的业务速率。允许的业务速率在该说明性实施例中是用来从在与相应节点端口220通信的节点180向上游装置(例如,全局交换机140、节点交换机160的输出端口230、节点交换机160内的子交换机等)传输数据的单元所按照的速度。在该说明性实施例中,节点端口节流器338通过选择地增大或减小在节点交换机160的每个周期中将由节点端口220累积的信用量,控制允许的业务速率。在节点端口220具有至少一个信用时,它可随后消耗信用(例如,将可用信用量降低一),并且向上游装置发送从节点180收到的数据的单元(例如,全部或一部分的数据分组),如上所述。在该说明性实施例中,如果测量的性能不满足期望性能,则节点端口节流器338减小用于所有节点端口220的允许的业务速率,并且如果测量的性能确实满足期望性能,则节点端口节流器338增大用于所有节点端口220的允许的业务速率。
应领会的是,性能监视器332、性能比较器334、路径确定器336和节点端口节流器338中的每个可被单独实施为硬件、固件、软件、虚拟化硬件、仿真架构和/或其组合。例如,性能确定器332可被实施为硬件组件,而性能比较器334、路径确定器336和节点端口节流器338中的每个被实施为虚拟化硬件组件或被实施为硬件、固件、软件、虚拟化硬件、仿真架构的某一其它组合、和/或它们的组合。
现在参考图4,在该说明性实施例中,每个节点交换机160可执行用于管理公平性的方法400。方法400以框402开始,其中节点交换机160确定是否管理公平性。在该说明性实施例中,如果节点交换机160通电并且已检测到路径确定逻辑单元240和/或节流逻辑单元250的存在,则节点交换机160确定管理公平性。在其它的实施例中,节点交换机160可基于另外或备选因素,确定管理公平性,诸如响应于接收来自另一计算装置(例如,管理员计算装置)的管理公平性的请求,响应于检测到在配置文件中的对应设置和/或其它因素。无论如何,响应于管理公平性的确定,方法400前进到框404,其中节点交换机160可等待预定义数量的周期(例如,1000个周期)或时间期。在等待时间期间,节点交换机160可通过网络110路由数据的单元(例如,全部或一部分的数据分组),并且收集节点交换机160和节点交换机160内节点端口220的性能数据(例如,缓冲器充满度、吞吐量、链路潜能等)。随后,在框406中,节点交换机160获得(例如,接收或在内部生成)指示节点交换机160的期望性能的期望性能数据。期望性能数据可以被硬编码,从配置文件读取,从管理员计算装置接收,或者从另一源获得。在获得期望性能数据中,节点交换机160可获得指示端口(例如,节点端口220和/或非节点端口230)中的一个或多个端口的缓冲器的期望充满度的期望缓冲器状态数据,如在框408中所指示的。例如,充满度可被表述为每个缓冲器的分数或百分比(例如,50%)。另外或备选的是,并且如在框410中所指示的,节点交换机160可获得指示在预定义的时间期(例如,每秒)上期望要通过节点交换机160传输的数据的单元的数量的期望业务速率数据。在这种情况下,并且如在框412中所指示的,节点交换机160可获得用于节点交换机160的每个节点端口220的期望业务速率数据(例如,每秒由每个节点端口220传输的期望的数据单元量)。另外或备选的是,节点交换机160可获得指示在预定义数量的周期中要传输的微片的期望数量的测量以及还有节点交换机160的输入队列期望为空的周期的数量的测量的期望链路潜能数据,如在框414中所指示的。在这种情况下,并且如在框416中所指示的,节点交换机160可获得用于节点交换机160的每个节点端口220(例如,在逐节点端口的基础上,而不是对于节点交换机160整体)的期望链路潜能数据。
在框418中,节点交换机160在该说明性实施例中可获得(例如,接收或在内部生成)指示节点交换机160的测量的性能的测量的性能数据。在这种情况下,并且如在框420中所指示的,节点交换机160可获得指示节点交换机160的端口缓冲器(例如,节点端口220和/或非节点端口230)的测量的充满度的测量的缓冲器状态数据。另外或备选的是,节点交换机160可获得指示在某个时间期(例如,每秒)上通过节点交换机160传输的数据的单元的数量的测量的业务速率数据,如在框422中所指示的。在这种情况下,并且如在框424中所指示的,节点交换机160可获得用于节点交换机160的每个节点端口220的测量的业务速率数据。另外或备选的是,并且如在框426中所指示的,节点交换机160可获得指示在预定义数量的周期中被传输的微片的数量以及还有节点交换机160的输入队列为空的周期的数量的测量的链路潜能数据。在这种情况下,并且如在框428中所指示的,节点交换机160可获得用于节点交换机160的每个节点端口220的测量的链路潜能数据。框418对应于在图9的框图900中的框902和在图10的框图1000中的框1002。随后,方法400前进到图5的框430,其中节点交换机160获得潜在路径数据。
现在参见图5,在获得潜在路径数据中,节点交换机160可识别用于数据的单元的最小路径,如在框432中所指示的。最小路径在该说明性实施例中是在任何可能路径中要求最少量的交换机跳(例如,数据单元从一个交换机到另一交换机的传输)的到目的地(例如,到另一节点180)的路径。在识别最小路径中,节点交换机160可也获得用于最小路径的拥塞数据(例如,等待时间、正在通过路径传输的数据单元的数量、用于与最小路径关联的输出端口的缓冲器充满度信息等),如在框434中所指示的。如在框436中所指示的,节点交换机160可也识别用于数据的单元的一个或多个非最小路径(例如,要求比最小路径更多交换机跳以到达目的地的路径)。在这种情况下,节点交换机160可获得用于每个非最小路径的拥塞数据(例如,等待时间、正在通过路径传输的数据单元的数量、用于与最小路径关联的输出端口的缓冲器充满度信息等),如在框438中所指示的。节点交换机160可使用动态路由协议(例如,路由信息协议(RIP)、开放最小路径优先(OSPF)协议、中间系统到中间系统(IS-IS)协议、内部网关路由协议(IGRP)协议或类似协议)来获得潜在路径数据,如在框440中所指示的。
在框442中,节点交换机160确定是否允许路径强制(例如,数据单元通过非最小路径的潜在强制,而不考虑最小路径相对于非最小路径的拥塞程度)。在该说明性实施例中,如果节点交换机160响应于读取在配置文件中的对应设置,和/或响应于来自管理员计算装置的启用非最小路径的可能强制的请求,已检测到在节点交换机160中路径确定逻辑单元240的存在(例如,在处理器204中或者在端口逻辑212中),则节点交换机160确定允许非最小路径的可能强制。在其它实施例中,节点交换机160基于其它因素作出确定。无论如何,响应于不启用非最小路径的可能强制的确定,方法400前进到图7的框476以确定是否启用可能的节点端口节流,如在本文中更详细所描述的。然而,响应于启用非最小路径的可能强制的确定,方法400前进到框444,其中节点交换机160比较测量的性能和期望性能,如在框444中所指示的。在这种情况下,节点交换机160可确定测量的性能是否在期望性能的预定义范围(例如,5%)内,或者等于或大于或小于在期望性能数据中所指示的阈值。在与图9的框904对应的框446中,节点交换机160根据测量的性能是否满足期望性能,确定要执行的随后操作。响应于测量的性能确实满足期望性能的确定,方法400前进到框448,其中节点交换机160递减在本文中称为强制路径计数器的计数器。如果另一方面,测量的性能不满足期望性能,则方法400前进到框450,其中节点交换机160递增强制路径计数器。框448和450与图9的框906对应。无论是递减还是递增强制路径计数器,方法400随后前进到图6的框452,其中节点交换机160根据强制路径计数器,确定是否强制使用非最小路径(例如,强制数据单元要通过非最小路径发送,而不考虑最小路径的拥塞水平)。框452与图9的框908对应。
现在参考图6,在框454中,在确定是否强制要使用非最小路径中,节点交换机160可与强制路径计数器的值成比例地设置强制非最小路径的可能性(例如,强制路径计数器的值中的增大使得节点交换机160强制要使用非最小路径的可能性增大,并且强制路径计数器的值中的减小引起在强制使用非最小路径的可能性中的对应减小)。如在框456中所指示的,节点交换机160可选择在零与预定义的最大数字(例如,十)之间的随机数。在框458中,如果随机数小于或等于强制路径计数器,则节点交换机160可确定强制使用非最小路径。备选的是,如在框460中所指示的,如果随机数大于强制路径计数器,则节点交换机160可确定不强制要使用非最小路径。随后,在框462中,节点交换机160根据节点交换机160是否确定了强制使用非最小路径,确定要执行的随后动作。响应于确定强制使用非最小路径,方法400前进到框474,其中节点交换机160向与非最小路径关联的输出端口发送数据单元(例如,数据分组)。然而,如果节点交换机160转而确定不强制使用非最小路径,则方法400前进到框464,其中节点交换机160确定是为数据的每个单元选择最小路径还是非最小路径。在这种情况下,节点交换机160确定用于给定数据单元的最小路径(例如,对于某个数据分组的到目的地的最小路径)是否满足预定义的条件,如在框466中所指示的。在确定最小路径是否满足预定义的条件中,节点交换机160可确定最小路径是否比非最小路径拥塞至少两倍(例如,使用在框430中获得的潜在路径数据),如在框468中所指示的。在该说明性实施例中,如果最小路径比非最小路径拥塞至少两倍,则节点交换机160选择非最小路径以供使用。否则,节点交换机160选择最小路径以供使用。在框470中,节点交换机160根据节点交换机160选择了最小路径还是非最小路径以供使用,确定要执行的随后动作。如果节点交换机160选择最小路径,则方法400前进到框474,其中节点交换机160向与非最小路径关联的输出端口230发送数据单元。否则,方法400前进到框472,其中节点交换机160向与最小路径关联的输出端口230发送数据单元。随后,方法400前进到图7的框476,其中节点交换机160确定是否启用可能的节流。框462到472对应于图9的框910。
现在参考图7,在确定是否启用可能的节流中,如果节点交换机160响应于读取在配置文件中的对应设置,和/或响应于来自管理员计算装置的启用可能的节流的请求,已检测到在节点交换机160中节流逻辑单元250的存在(例如,在处理器204中或者在端口逻辑212中),则节点交换机160可确定允许可能的节流。在其它实施例中,节点交换机160基于其它因素作出确定。无论如何,响应于不启用可能的节流的确定,方法400环回到图4的框402,以确定是否继续管理公平性。否则,方法400前进到框478,其中节点交换机160启动确定节点交换机160的每个节点端口220是否已满足其对应的期望性能的过程。在这种情况下,并且在框478中,节点交换机160选择节点交换机160的节点端口220。在框480中,节点交换机160比较用于节点端口220的测量的性能(例如,来自框418)和期望性能(例如,来自框406),以确定测量的性能是否满足期望性能。在这种情况下,节点交换机160可执行与参照图5的框444和446所描述的比较类似的比较,只不过是在节点端口级(例如,参照选择的节点端口220的期望和测量的性能)而不是在节点交换机160级来执行。在框482中,节点交换机160根据用于选择的节点端口220的测量的性能是否满足期望性能,确定要执行的随后动作。如果是,则方法400前进到框484,其中节点交换机160递减在本文中称为聚合计数器的计数器。否则,方法400前进到框486,其中节点交换机160递增聚合计数器。无论节点交换机160递减还是递增聚合计数器,方法400随后前进到框488,其中节点交换机160确定另一节点端口220是否可供被测试(例如,节点交换机160是否已对于在节点交换机160上存在的每个节点端口220执行了上述过程)。如果有要测试的另一节点端口220,则方法400环回到框478以选择另一可用节点端口220,并且再次为选择的节点端口220执行上述过程。框478到488与图10的框1004、1006对应。否则,方法400前进到框490,其中节点交换机160根据聚合计数器来设置用于所有节点端口220的允许的业务速率。框490与图10的框1008对应。
在设置允许的业务速率中,节点交换机160可与聚合计数器的值成反比地设置允许的业务速率(例如,聚合计数器中的增大导致允许的业务速率中的减小,并且聚合计数器中的减小导致允许的业务速率中的增大),如在框492中所指示的。在一些实施例中,节点交换机160可通过参照聚合计数器值和对应的允许的业务速率的查找表,设置允许的业务速率,如在框494中所指示的。查找表可被包括在图3的节流数据308中。如在框496中所指示的,节点交换机160可将允许的业务速率设置为对于预定义数量的周期中的每个(例如,对于每个周期)要分配到每个端口(例如,每个节点端口220)的信用的数量。在这种情况下,节点交换机160可将允许的业务速率设置为对于每个周期要分配到每个端口(例如,每个节点端口220)的以小数表示的信用,如在框498中所指示的。例如,为设置相对低的允许的业务速率,节点交换机160可确定对于每个周期分配0.1个信用到每个节点端口220。与此相反,为设置相对高的允许的业务速率,节点交换机160可确定对于每个周期分配0.8个信用到每个节点端口220。随后,方法400前进到图8的框500,其中节点交换机160应用允许的业务速率以节流节点端口220。框500与图10的框1010对应。
在应用允许的业务速率中,节点交换机160可根据允许的业务速率,对于每个周期增大用于每个节点端口220的可用信用,如在框502中所指示的。在框504中,节点交换机160可确定可用于节点端口220的信用量是否至少为一,并且在框506中,如果用于对应节点端口220的信用量至少为一,则节点交换机160可消耗信用,并且传输对应数据单元(例如到输出端口230)。否则,并且如在框508中所指示的,如果可用于对应节点端口的信用的数量小于一,则节点交换机160可延迟发送数据单元。框502到508与图11的框图1100对应。在该说明性实施例中,节点交换机160为节点交换机160的每个节点端口220执行上述过程。节流的效果是减慢快速节点端口220以腾出用于更慢节点端口220的资源(例如,减少为交换容量进行的争用)。由于应用上述过程,如果从节点180到对应节点端口220的数据单元的进入速率低于允许的业务速率,则节流没有效果,因为将始终有可用于每个进入数据单元的信用。
本公开/申请提供了如下的技术方案:
1. 一种用于增大网络中吞吐量的节点交换机,所述节点交换机包括:
计算引擎;以及
耦合到所述计算引擎的通信电路系统,其中所述通信电路系统包括:
用来向以及从节点传输数据的多个节点端口;以及
用来向以及从其它装置传输数据的多个输出端口,
其中所述计算引擎将:
获得指示所述节点交换机的期望数据传输性能的期望性能数据;
获得指示所述节点交换机的测量的数据传输性能的测量的性能数据;
比较所述测量的性能数据和所述期望性能数据以确定所述测量的数据传输性能是否满足所述期望数据传输性能;
根据所述测量的数据传输性能是否满足所述期望数据传输性能,确定是否强制数据的单元通过非最小路径到目的地;以及
响应于确定强制数据的所述单元要通过非最小路径被发送,向与所述非最小路径关联的所述节点交换机的输出端口发送数据的所述单元。
2. 如技术方案1所述的节点交换机,其中所述计算引擎进一步将:
响应于确定不强制数据的所述单元要通过非最小路径被发送,确定所述最小路径是否满足预定义的条件;以及
响应于确定所述最小路径不满足所述预定义的条件,向与所述最小路径关联的所述节点交换机的输出端口发送数据的所述单元。
3. 如技术方案1所述的节点交换机,其中所述计算引擎进一步将:
响应于确定不强制数据的所述单元要通过非最小路径被发送,确定所述最小路径是否满足预定义的条件;以及
响应于确定所述最小路径确实满足所述预定义的条件,向与非最小路径关联的所述输出端口发送数据的所述单元。
4. 如技术方案3所述的节点交换机,其中确定所述最小路径是否满足预定义的条件包括确定所述最小路径是否比所述非最小路径拥塞至少两倍。
5. 如技术方案1所述的节点交换机,其中确定是否强制数据的所述单元要通过所述非最小路径被发送包括:
响应于所述测量的数据传输性能不满足所述期望数据传输性能的确定,递增计数器;
响应于所述测量的数据传输性能确实满足所述期望数据传输性能的确定,递减所述计数器;以及
根据所述计数器,设置强制数据的所述单元要通过所述非最小路径被发送的可能性。
6. 如技术方案5所述的节点交换机,其中所述计算引擎进一步将:
选择在零与预定义的最大数之间的随机数;
响应于确定所述选择的随机数小于或等于所述计数器,确定强制数据的所述单元要通过所述非最小路径被发送;以及
响应于确定所述选择的随机数大于所述选择的随机数,确定不强制数据的所述单元要通过所述非最小路径被发送。
7. 如技术方案1所述的节点交换机,其中获得所述期望性能数据包括获得指示所述节点交换机的一个或多个端口缓冲器的期望充满度的期望缓冲器状态数据。
8. 如技术方案1所述的节点交换机,其中获得所述期望性能数据包括获得指示在预定义的时间期中期望要通过所述节点交换机传输的数据的单元的数量的期望业务速率数据。
9. 如技术方案1所述的节点交换机,其中获得所述期望性能数据包括获得指示在预定义数量的周期中要传输的微片的期望数量和输入队列期望为空的周期的数量的期望链路潜能数据。
10. 如技术方案1所述的节点交换机,其中获得所述测量的性能数据包括获得指示所述节点交换机的一个或多个端口缓冲器的测量的充满度的测量的缓冲器状态数据。
11. 如技术方案1所述的节点交换机,其中获得所述测量的性能数据包括获得指示在预定义的时间期中期望要通过所述节点交换机传输的数据的单元的数量的测量的业务速率数据。
12. 如技术方案1所述的节点交换机,其中获得所述测量的性能数据包括获得指示在预定义数量的周期中被传输的微片的数量和输入队列为空的周期的数量的测量的链路潜能数据。
13. 一个或多个机器可读存储介质,所述机器可读存储介质包括在其上存储的多个指令,所述多个指令响应于被执行,促使节点交换机执行以下操作:
获得指示所述节点交换机的期望数据传输性能的期望性能数据;
获得指示所述节点交换机的测量的数据传输性能的测量的性能数据;
比较所述测量的性能数据和所述期望性能数据以确定所述测量的数据传输性能是否满足所述期望数据传输性能;
根据所述测量的数据传输性能是否满足所述期望数据传输性能,确定是否强制数据的单元通过非最小路径到目的地;以及
响应于确定强制数据的所述单元要通过非最小路径被发送,向与所述非最小路径关联的所述节点交换机的输出端口发送数据的所述单元。
14. 如技术方案13所述的一个或多个机器可读存储介质,其中所述多个指令在被执行时,进一步促使所述节点交换机执行以下操作:
响应于确定不强制数据的所述单元要通过非最小路径被发送,确定所述最小路径是否满足预定义的条件;以及
响应于确定所述最小路径不满足所述预定义的条件,向与所述最小路径关联的所述节点交换机的输出端口发送数据的所述单元。
15. 如技术方案13所述的一个或多个机器可读存储介质,其中所述多个指令在被执行时,进一步促使所述节点交换机执行以下操作:
响应于确定不强制数据的所述单元要通过非最小路径被发送,确定所述最小路径是否满足预定义的条件;以及
响应于确定所述最小路径确实满足所述预定义的条件,向与非最小路径关联的所述输出端口发送数据的所述单元。
16. 如技术方案15所述的一个或多个机器可读存储介质,其中确定所述最小路径是否满足预定义的条件包括确定所述最小路径是否比所述非最小路径拥塞至少两倍。
17. 如技术方案13所述的一个或多个机器可读存储介质,其中确定是否强制数据的所述单元要通过所述非最小路径被发送包括:
响应于所述测量的数据传输性能不满足所述期望数据传输性能的确定,递增计数器;
响应于所述测量的数据传输性能确实满足所述期望数据传输性能的确定,递减所述计数器;以及
根据所述计数器,设置强制数据的所述单元要通过所述非最小路径被发送的可能性。
18. 如技术方案17所述的一个或多个机器可读存储介质,其中所述多个指令在被执行时,进一步促使所述节点交换机执行如下操作:
选择在零与预定义的最大数之间的随机数;
响应于确定所述选择的随机数小于或等于所述计数器,确定强制数据的所述单元要通过所述非最小路径被发送;以及
响应于确定所述选择的随机数大于所述选择的随机数,确定不强制数据的所述单元要通过所述非最小路径被发送。
19. 如技术方案13所述的一个或多个机器可读存储介质,其中获得所述期望性能数据包括获得指示所述节点交换机的一个或多个端口缓冲器的期望充满度的期望缓冲器状态数据。
20. 如技术方案13所述的一个或多个机器可读存储介质,其中获得所述期望性能数据包括获得指示在预定义的时间期中期望要通过所述节点交换机传输的数据的单元的数量的期望业务速率数据。
21. 如技术方案13所述的一个或多个机器可读存储介质,其中获得所述期望性能数据包括获得指示在预定义数量的周期中要传输的微片的期望数量和输入队列期望为空的周期的数量的期望链路潜能数据。
22. 一种用于增大网络中吞吐量的节点交换机,所述节点交换机包括:
用于获得指示所述节点交换机的期望数据传输性能的期望性能数据的电路系统;
用于获得指示所述节点交换机的测量的数据传输性能的测量的性能数据的电路系统;
用于比较所述测量的性能数据和所述期望性能数据以确定所述测量的数据传输性能是否满足所述期望数据传输性能的电路系统;
用于根据所述测量的数据传输性能是否满足所述期望数据传输性能,确定是否强制数据的单元通过非最小路径到目的地的部件;以及
用于响应于确定强制数据的所述单元要通过非最小路径被发送,向与所述非最小路径关联的所述节点交换机的输出端口发送数据的所述单元的电路系统。
23. 一种用于增大网络中吞吐量的方法,所述方法包括:
由节点交换机获得指示所述节点交换机的期望数据传输性能的期望性能数据;
由所述节点交换机获得指示所述节点交换机的测量的数据传输性能的测量的性能数据;
由所述节点交换机比较所述测量的性能数据和所述期望性能数据以确定所述测量的数据传输性能是否满足所述期望数据传输性能;
由所述节点交换机并且根据所述测量的数据传输性能是否满足所述期望数据传输性能,确定是否强制数据的单元通过非最小路径到目的地;以及
由所述节点交换机并且响应于确定强制数据的所述单元要通过非最小路径被发送,向与所述非最小路径关联的所述节点交换机的输出端口发送数据的所述单元。
24. 如技术方案23所述的方法,进一步包括:
由所述节点交换机并且响应于确定不强制数据的所述单元要通过非最小路径被发送,确定所述最小路径是否满足预定义的条件;以及
由所述节点交换机并且响应于确定所述最小路径不满足所述预定义的条件,向与所述最小路径关联的所述节点交换机的输出端口发送数据的所述单元。
25. 如技术方案23所述的方法,进一步包括:
由所述节点交换机并且响应于确定不强制数据的所述单元要通过非最小路径被发送,确定所述最小路径是否满足预定义的条件;以及
由所述节点交换机并且响应于确定所述最小路径确实满足所述预定义的条件,向与非最小路径关联的所述输出端口发送数据的所述单元。
26. 如技术方案25所述的方法,其中确定所述最小路径是否满足预定义的条件包括确定所述最小路径是否比所述非最小路径拥塞至少两倍。
27. 如技术方案23所述的方法,其中确定是否强制数据的所述单元要通过所述非最小路径被发送包括:
由所述节点交换机并且响应于所述测量的数据传输性能不满足所述期望数据传输性能的确定,递增计数器;
由所述节点交换机并且响应于所述测量的数据传输性能确实满足所述期望数据传输性能的确定,递减所述计数器;以及
由所述节点交换机并且根据所述计数器,设置强制数据的所述单元要通过所述非最小路径被发送的可能性。
28. 如技术方案27所述的方法,进一步包括:
由所述节点交换机选择在零与预定义的最大数之间的随机数;
由所述节点交换机并且响应于确定所述选择的随机数小于或等于所述计数器,确定强制数据的所述单元要通过所述非最小路径被发送;以及
由所述节点交换机并且响应于确定所述选择的随机数大于所述选择的随机数,确定不强制数据的所述单元要通过所述非最小路径被发送。
示例
下面提供了在本文中公开的技术的说明性示例。技术的一实施例可包括下述示例中的一个或更多个示例及其任何组合。
示例1包括一种用于改进在网络中的吞吐量的节点交换机,节点交换机包括计算引擎;以及耦合到计算引擎的通信电路系统,其中通信电路系统包括向和从节点传输数据的多个节点端口;以及向和从其它装置传输数据的多个输出端口,其中计算引擎将:获得指示节点交换机的期望数据传输性能的期望性能数据;获得指示节点交换机的测量的数据传输性能的测量的性能数据;比较测量的性能数据和期望性能数据以确定测量的数据传输性能是否满足期望数据传输性能;根据测量的数据传输性能是否满足期望数据传输性能,确定是否强制数据的单元通过非最小路径到目的地;以及响应于确定强制数据的单元通过非最小路径被发送,而向与非最小路径关联的节点交换机的输出端口发送数据的单元。
示例2包括示例1的主题,并且其中计算引擎进一步将响应于确定不强制数据的单元要通过非最小路径被发送,而确定最小路径是否满足预定义的条件;以及响应于确定最小路径不满足预定义的条件,而向与最小路径关联的节点交换机的输出端口发送数据的单元。
示例3包括示例1和2的任何示例的主题,并且其中计算引擎进一步将响应于确定不强制数据的单元要通过非最小路径被发送,而确定最小路径是否满足预定义的条件;以及响应于确定最小路径确实满足预定义的条件,而向与非最小路径关联的输出端口发送数据的单元。
示例4包括示例1-3的任何示例的主题,并且其中确定最小路径是否满足预定义的条件包括确定最小路径是否比非最小路径拥塞至少两倍。
示例5包括示例1-4的任何示例的主题,并且其中确定是否强制数据的单元要通过非最小路径发送包括响应于测量的数据传输性能不满足期望数据传输性能的确定,递增计数器;响应于测量的数据传输性能确实满足期望数据传输性能的确定,递减计数器;以及根据计数器,设置强制数据的单元要通过非最小路径发送的可能性。
示例6包括示例1-5的任何示例的主题,并且其中计算引擎进一步选择在零与预定义的最大数字之间的随机数;响应于确定选择的随机数小于或等于计数器,确定强制数据的单元要通过非最小路径发送;以及响应于确定选择的随机数大于选择的随机数,确定不强制数据的单元要通过非最小路径发送。
示例7包括示例1-6的任何示例的主题,并且其中获得期望性能数据包括获得指示节点交换机的一个或多个端口缓冲器的期望充满度的期望缓冲器状态数据。
示例8包括示例1-7的任何示例的主题,并且其中获得期望性能数据包括获得指示在预定义的时间期中期望要通过节点交换机传输的数据的单元的数量的期望业务速率数据。
示例9包括示例1-8的任何示例的主题,并且其中获得期望性能数据包括获得指示在预定义数量的周期中要传输的微片的期望数量和输入队列被期望为空的周期的数量的期望链路潜能数据。
示例10包括示例1-9的任何示例的主题,并且其中获得测量的性能数据包括获得指示节点交换机的一个或多个端口缓冲器的测量的充满度的测量的缓冲器状态数据。
示例11包括示例1-10的任何示例的主题,并且其中获得测量的性能数据包括获得指示在预定义的时间期中通过节点交换机传输的数据的单元的数量的测量的业务速率数据。
示例12包括示例1-11的任何示例的主题,并且其中获得测量的性能数据包括获得指示在预定义数量的周期中传输的微片的数量和输入队列为空的周期的数量的测量的链路潜能数据。
示例13包括示例1-12的任何示例的主题,并且其中计算引擎进一步将确定用于节点交换机的每个节点端口的测量的数据传输性能是否满足用于每个节点端口的期望数据传输性能;并且根据测量的数据传输性能是否满足用于每个节点端口的期望数据传输性能,而对于节点端口设置指示发送数据的单元所按照的速度的允许的业务速率。
示例14包括示例1-13的任何示例的主题,并且其中计算引擎进一步将响应于测量的数据传输性能不满足用于节点端口的期望数据传输性能的确定,而递增聚合计数器;响应于测量的数据传输性能确实满足用于另一节点端口的期望数据传输性能的确定,而递减聚合计数器;以及根据聚合计数器,设置允许的业务速率。
示例15包括示例1-14的任何示例的主题,并且其中设置允许的业务速率包括将允许的业务速率设置为对于节点交换机的每个周期要分配到每个节点端口的以小数表示的信用。
示例16包括示例1-15的任何示例的主题,并且其中设置允许的业务速率包括在聚合计数器值和允许的业务速率的查找表中识别与聚合计数器的值关联的允许的业务速率;以及将允许的业务速率设置成所识别的允许的业务速率。
示例17包括示例1-16的任何示例的主题,并且其中计算引擎进一步将对于节点交换机的每个周期根据允许的业务速率,递增用于节点交换机的每个节点端口的信用的可用数量;以及如果用于对应节点端口的信用量至少为一,则消耗信用并且传输数据的单元。
示例18包括一种用于改进在网络中的吞吐量的方法,方法包括由节点交换机获得指示节点交换机的期望数据传输性能的期望性能数据;由节点交换机获得指示节点交换机的测量的数据传输性能的测量的性能数据;由节点交换机比较测量的性能数据和期望性能数据以确定测量的数据传输性能是否满足期望数据传输性能;由节点交换机并且根据测量的数据传输性能是否满足期望数据传输性能,确定是否强制数据的单元通过非最小路径到目的地;以及由节点交换机并且响应于确定强制数据的单元要通过非最小路径被发送,而向与非最小路径关联的节点交换机的输出端口发送数据的单元。
示例19包括示例18的主题,并且进一步包括由节点交换机并且响应于确定不强制数据的单元要通过非最小路径被发送,确定最小路径是否满足预定义的条件;以及由节点交换机并且响应于确定最小路径不满足预定义的条件,向与最小路径关联的节点交换机的输出端口发送数据的单元。
示例20包括示例18和19的任何示例的主题,并且进一步包括由节点交换机并且响应于确定不强制数据的单元要通过非最小路径被发送,确定最小路径是否满足预定义的条件;以及由节点交换机并且响应于确定最小路径确实满足预定义的条件,向与非最小路径关联的输出端口发送数据的单元。
示例21包括示例18-20的任何示例的主题,并且其中确定最小路径是否满足预定义的条件包括确定最小路径是否比非最小路径拥塞至少两倍。
示例22包括示例18-21的任何示例的主题,并且其中确定是否强制数据的单元要通过非最小路径发送包括由节点交换机并且响应于测量的数据传输性能不满足期望数据传输性能的确定,递增计数器;由节点交换机并且响应于测量的数据传输性能确实满足期望数据传输性能的确定,递减计数器;以及由节点交换机并且根据计数器,设置强制数据的单元要通过非最小路径被发送的可能性。
示例23包括示例18-22的任何示例的主题,并且进一步包括由节点交换机选择在零与预定义的最大数字之间的随机数;由节点交换机并且响应于确定选择的随机数小于或等于计数器,确定强制数据的单元要通过非最小路径发送;以及由节点交换机并且响应于确定选择的随机数大于选择的随机数,确定不强制数据的单元要通过非最小路径发送。
示例24包括示例18-23的任何示例的主题,并且其中获得期望性能数据包括获得指示节点交换机的一个或多个端口缓冲器的期望充满度的期望缓冲器状态数据。
示例25包括示例18-24的任何示例的主题,并且其中获得期望性能数据包括获得指示在预定义的时间期中期望要通过节点交换机传输的数据的单元的数量的期望业务速率数据。
示例26包括示例18-25的任何示例的主题,并且其中获得期望性能数据包括获得指示在预定义数量的周期中要传输的微片的期望数量和输入队列期望为空的周期的数量的期望链路潜能数据。
示例27包括示例18-26的任何示例的主题,并且其中获得测量的性能数据包括获得指示节点交换机的一个或多个端口缓冲器的测量的充满度的测量的缓冲器状态数据。
示例28包括示例18-27的任何示例的主题,并且其中获得测量的性能数据包括获得指示在预定义的时间期中通过节点交换机传输的数据的单元的数量的测量的业务速率数据。
示例29包括示例18-28的任何示例的主题,并且其中获得测量的性能数据包括获得指示在预定义数量的周期中传输的微片的数量和输入队列为空的周期的数量的测量的链路潜能数据。
示例30包括示例18-29的任何示例的主题,并且进一步包括由节点交换机确定用于节点交换机的每个节点端口的测量的数据传输性能是否满足用于每个节点端口的期望数据传输性能;并且由节点交换机根据测量的数据传输性能是否满足用于每个节点端口的期望数据传输性能,来对于节点端口设置指示发送数据的单元所按照的速度的允许的业务速率。
示例31包括示例18-30的任何示例的主题,并且进一步包括由节点交换机并且响应于测量的数据传输性能不满足用于节点端口的期望数据传输性能的确定,递增聚合计数器;由节点交换机并且响应于测量的数据传输性能确实满足用于另一节点端口的期望数据传输性能的确定,递减聚合计数器;以及由节点交换机并且根据聚合计数器,设置允许的业务速率。
示例32包括示例18-31的任何示例的主题,并且其中设置允许的业务速率包括将允许的业务速率设置为对于节点交换机的每个周期要分配到每个节点端口的以小数表示的信用。
示例33包括示例18-32的任何示例的主题,并且其中设置允许的业务速率包括在聚合计数器值和允许的业务速率的查找表中识别与聚合计数器的值关联的允许的业务速率;以及将允许的业务速率设置成所识别的允许的业务速率。
示例34包括示例18-33的任何示例的主题,并且进一步包括由节点交换机并且对于节点交换机的每个周期,根据允许的业务速率,来递增用于节点交换机的每个节点端口的信用的可用数量;以及如果用于对应输入端口的信用量至少为一,则由节点交换机消耗信用并且传输数据的单元。
示例35包括一个或多个机器可读存储介质,其包括在其上存储的多个指令,指令响应于被执行,促使节点交换机执行如示例18-34的任何示例的方法。
示例36包括节点交换机,其包括用于执行示例18-34的任何示例的方法的部件。
示例37包括一种用于改进在网络中吞吐量的节点交换机,节点交换机包括一个或多个处理器;一个或多个存储器装置,其中存储有多个指令,所述指令在由所述一个或多个处理器执行时,促使节点交换机执行示例18-34的任何示例的方法。
示例38包括一种用于改进在网络中的吞吐量的节点交换机,节点交换机包括向和从节点传输数据的多个节点端口;向和从其它装置传输数据的多个输出端口;以及公平性管理器电路系统将:获得指示节点交换机的期望数据传输性能的期望性能数据;获得指示节点交换机的测量的数据传输性能的测量的性能数据;比较测量的性能数据和期望性能数据以确定测量的数据传输性能是否满足期望数据传输性能;根据测量的数据传输性能是否满足期望数据传输性能,确定是否强制数据的单元通过非最小路径到目的地;以及响应于确定强制数据的单元要通过非最小路径被发送,向与非最小路径关联的节点交换机的输出端口发送数据的单元。
示例39包括示例38的主题,并且其中公平性管理器电路系统进一步将响应于确定不强制数据的单元要通过非最小路径被发送,确定最小路径是否满足预定义的条件;以及响应于确定最小路径不满足预定义的条件,向与最小路径关联的节点交换机的输出端口发送数据的单元。
示例40包括示例38和39的任一示例的主题,并且其中公平性管理器电路系统进一步将响应于确定不强制数据的单元要通过非最小路径被发送,确定最小路径是否满足预定义的条件;以及响应于确定最小路径确实满足预定义的条件,向与非最小路径关联的输出端口发送数据的单元。
示例41包括示例38-40的任何示例的主题,并且其中确定最小路径是否满足预定义的条件包括确定最小路径是否比非最小路径拥塞至少两倍。
示例42包括示例38-41的任何示例的主题,并且其中确定是否强制数据的单元要通过非最小路径发送包括响应于测量的数据传输性能不满足期望数据传输性能的确定,递增计数器;响应于测量的数据传输性能确实满足期望数据传输性能的确定,递减计数器;以及根据计数器,设置强制数据的单元要通过非最小路径发送的可能性。
示例43包括示例38-42的任何示例的主题,并且其中公平性管理器电路系统进一步选择在零与预定义的最大数字之间的随机数;响应于确定选择的随机数小于或等于计数器,确定强制数据的单元要通过非最小路径发送;以及响应于确定选择的随机数大于选择的随机数,确定不强制数据的单元要通过非最小路径发送。
示例44包括示例38-43的任何示例的主题,并且其中获得期望性能数据包括获得指示节点交换机的一个或多个端口缓冲器的期望充满度的期望缓冲器状态数据。
示例45包括示例38-44的任何示例的主题,并且其中获得期望性能数据包括获得指示在预定义的时间期中期望要通过节点交换机传输的数据的单元的数量的期望业务速率数据。
示例46包括示例38-45的任何示例的主题,并且其中获得期望性能数据包括获得指示在预定义数量的周期中要传输的微片的期望数量和输入队列被期望为空的周期的数量的期望链路潜能数据。
示例47包括示例38-46的任何示例的主题,并且其中获得测量的性能数据包括获得指示节点交换机的一个或多个端口缓冲器的测量的充满度的测量的缓冲器状态数据。
示例48包括示例38-47的任何示例的主题,并且其中获得测量的性能数据包括获得指示在预定义的时间期中通过节点交换机传输的数据的单元的数量的测量的业务速率数据。
示例49包括示例38-48的任何示例的主题,并且其中获得测量的性能数据包括获得指示在预定义数量的周期中传输的微片的数量和输入队列为空的周期的数量的测量的链路潜能数据。
示例50包括示例38-49的任何示例的主题,并且其中公平性管理器电路系统进一步将确定用于节点交换机的每个节点端口的测量的数据传输性能是否满足用于每个节点端口的期望数据传输性能;并且根据测量的数据传输性能是否满足用于每个节点端口的期望数据传输性能,而对于节点端口设置指示发送数据的单元所按照的速度的允许的业务速率。
示例51包括示例38-50的任何示例的主题,并且其中公平性管理器电路系统进一步将响应于测量的数据传输性能不满足用于节点端口的期望数据传输性能的确定,而递增聚合计数器;响应于测量的数据传输性能确实满足用于另一节点端口的期望数据传输性能的确定,而递减聚合计数器;以及根据聚合计数器,设置允许的业务速率。
示例52包括示例38-51的任何示例的主题,并且其中设置允许的业务速率包括将允许的业务速率设置为对于节点交换机的每个周期要分配到每个节点端口的以小数表示的信用。
示例53包括示例38-52的任何示例的主题,并且其中设置允许的业务速率包括在聚合计数器值和允许的业务速率的查找表中识别与聚合计数器的值关联的允许的业务速率;以及将允许的业务速率设置成所识别的允许的业务速率。
示例54包括示例38-53的任何示例的主题,并且其中公平性管理器电路系统进一步将对于节点交换机的每个周期根据允许的业务速率,递增用于节点交换机的每个节点端口的信用的可用数量;以及如果用于对应节点端口的信用量至少为一,则消耗信用并且传输数据的单元。
示例55包括一种用于改进在网络中的吞吐量的节点交换机,节点交换机包括用于获得指示节点交换机的期望数据传输性能的期望性能数据的电路系统;用于获得指示节点交换机的测量的数据传输性能的测量的性能数据的电路系统;用于比较测量的性能数据和期望性能数据以确定测量的数据传输性能是否满足期望数据传输性能的电路系统;用于根据测量的数据传输性能是否满足期望数据传输性能,确定是否强制数据的单元通过非最小路径到目的地的部件;以及用于响应于确定强制数据的单元要通过非最小路径被发送,向与非最小路径关联的节点交换机的输出端口发送数据的单元的电路系统。
示例56包括示例55的主题,并且进一步包括用于响应于确定不强制数据的单元要通过非最小路径被发送,确定最小路径是否满足预定义的条件的电路系统;以及用于响应于确定最小路径不满足预定义的条件,向与最小路径关联的节点交换机的输出端口发送数据的单元的电路系统。
示例57包括示例55和56的任何示例的主题,并且进一步包括用于响应于确定不强制数据的单元要通过非最小路径被发送,确定最小路径是否满足预定义的条件的电路系统;以及用于响应于确定最小路径确实满足预定义的条件,向与非最小路径关联的输出端口发送数据的单元的电路系统。
示例58包括示例55-57的任何示例的主题,并且其中用于确定最小路径是否满足预定义的条件的电路系统包括用于确定最小路径是否比非最小路径拥塞至少两倍的电路系统。
示例59包括示例55-58的任何示例的主题,并且其中用于确定是否强制数据的单元要通过非最小路径发送的电路系统包括用于响应于测量的数据传输性能不满足期望数据传输性能的确定,递增计数器的电路系统;用于响应于测量的数据传输性能确实满足期望数据传输性能的确定,递减计数器的电路系统;以及用于根据计数器,设置强制数据的单元要通过非最小路径被发送的可能性的电路系统。
示例60包括示例55-59的任何示例的主题,并且进一步包括用于选择在零与预定义的最大数字之间的随机数的电路系统;用于响应于确定选择的随机数小于或等于计数器,确定强制数据的单元要通过非最小路径发送的电路系统;以及用于响应于确定选择的随机数大于选择的随机数,确定不强制数据的单元要通过非最小路径发送的电路系统。
示例61包括示例55-60的任何示例的主题,并且其中用于获得期望性能数据的电路系统包括用于获得指示节点交换机的一个或多个端口缓冲器的期望充满度的期望缓冲器状态数据的电路系统。
示例62包括示例55-61的任何示例的主题,并且其中用于获得期望性能数据的电路系统包括用于获得指示在预定义的时间期中期望要通过节点交换机传输的数据的单元的数量的期望业务速率数据的电路系统。
示例63包括示例55-62的任何示例的主题,并且其中用于获得期望性能数据的电路系统包括用于获得指示在预定义数量的周期中要传输的微片的期望数量和输入队列期望为空的周期的数量的期望链路潜能数据的电路系统。
示例64包括示例55-63的任何示例的主题,并且其中用于获得测量的性能数据的电路系统包括用于获得指示节点交换机的一个或多个端口缓冲器的测量的充满度的测量的缓冲器状态数据的电路系统。
示例65包括示例55-64的任何示例的主题,并且其中用于获得测量的性能数据的电路系统包括用于获得指示在预定义的时间期中通过节点交换机传输的数据的单元的数量的测量的业务速率数据的电路系统。
示例66包括示例55-65的任何示例的主题,并且其中用于获得测量的性能数据的电路系统包括用于获得指示在预定义数量的周期中传输的微片的数量和输入队列为空的周期的数量的测量的链路潜能数据的电路系统。
示例67包括示例55-66的任何示例的主题,并且进一步包括用于确定用于节点交换机的每个节点端口的测量的数据传输性能是否满足用于每个节点端口的期望数据传输性能的电路系统;以及用于根据测量的数据传输性能是否满足用于每个节点端口的期望数据传输性能,来对于节点端口设置指示发送数据的单元所按照的速度的允许的业务速率的电路系统。
示例68包括示例55-67的任何示例的主题,并且进一步包括用于响应于测量的数据传输性能不满足用于节点端口的期望数据传输性能的确定,递增聚合计数器的电路系统;用于响应于测量的数据传输性能确实满足用于另一节点端口的期望数据传输性能的确定,递减聚合计数器的电路系统;以及用于根据聚合计数器,设置允许的业务速率的电路系统。
示例69包括示例55-68的任何示例的主题,并且其中用于设置允许的业务速率的电路系统包括用于将允许的业务速率设置为对于节点交换机的每个周期要分配到每个节点端口的以小数表示的信用的电路系统。
示例70包括示例55-69的任何示例的主题,并且其中用于设置允许的业务速率的电路系统包括用于在聚合计数器值和允许的业务速率的查找表中识别与聚合计数器的值关联的允许的业务速率的电路系统;以及用于将允许的业务速率设置成所识别的允许的业务速率的电路系统。
示例71包括示例55-70的任何示例的主题,并且进一步包括用于对于节点交换机的每个周期,根据允许的业务速率,来递增用于节点交换机的每个节点端口的信用的可用数量的电路系统;以及用于如果用于对应输入端口的信用量至少为一,则消耗信用并且传输数据的单元的电路系统。

Claims (28)

1. 一种用于增大网络中吞吐量的节点交换机,所述节点交换机包括:
计算引擎;以及
耦合到所述计算引擎的通信电路系统,其中所述通信电路系统包括:
用来向以及从节点传输数据的多个节点端口;以及
用来向以及从其它装置传输数据的多个输出端口,
其中所述计算引擎将:
获得指示所述节点交换机的期望数据传输性能的期望性能数据;
获得指示所述节点交换机的测量的数据传输性能的测量的性能数据;
比较所述测量的性能数据和所述期望性能数据以确定所述测量的数据传输性能是否满足所述期望数据传输性能;
根据所述测量的数据传输性能是否满足所述期望数据传输性能,确定是否强制数据的单元通过非最小路径到目的地;以及
响应于确定强制数据的所述单元要通过非最小路径被发送,向与所述非最小路径关联的所述节点交换机的输出端口发送数据的所述单元。
2. 如权利要求1所述的节点交换机,其中所述计算引擎进一步将:
响应于确定不强制数据的所述单元要通过非最小路径被发送,确定所述最小路径是否满足预定义的条件;以及
响应于确定所述最小路径不满足所述预定义的条件,向与所述最小路径关联的所述节点交换机的输出端口发送数据的所述单元。
3. 如权利要求1所述的节点交换机,其中所述计算引擎进一步将:
响应于确定不强制数据的所述单元要通过非最小路径被发送,确定所述最小路径是否满足预定义的条件;以及
响应于确定所述最小路径确实满足所述预定义的条件,向与非最小路径关联的所述输出端口发送数据的所述单元。
4.如权利要求3所述的节点交换机,其中确定所述最小路径是否满足预定义的条件包括确定所述最小路径是否比所述非最小路径拥塞至少两倍。
5.如权利要求1所述的节点交换机,其中确定是否强制数据的所述单元要通过所述非最小路径被发送包括:
响应于所述测量的数据传输性能不满足所述期望数据传输性能的确定,递增计数器;
响应于所述测量的数据传输性能确实满足所述期望数据传输性能的确定,递减所述计数器;以及
根据所述计数器,设置强制数据的所述单元要通过所述非最小路径被发送的可能性。
6.如权利要求5所述的节点交换机,其中所述计算引擎进一步将:
选择在零与预定义的最大数之间的随机数;
响应于确定所述选择的随机数小于或等于所述计数器,确定强制数据的所述单元要通过所述非最小路径被发送;以及
响应于确定所述选择的随机数大于所述选择的随机数,确定不强制数据的所述单元要通过所述非最小路径被发送。
7.如权利要求1所述的节点交换机,其中获得所述期望性能数据包括获得指示所述节点交换机的一个或多个端口缓冲器的期望充满度的期望缓冲器状态数据。
8.如权利要求1所述的节点交换机,其中获得所述期望性能数据包括获得指示在预定义的时间期中期望要通过所述节点交换机传输的数据的单元的数量的期望业务速率数据。
9.如权利要求1所述的节点交换机,其中获得所述期望性能数据包括获得指示在预定义数量的周期中要传输的微片的期望数量和输入队列期望为空的周期的数量的期望链路潜能数据。
10.如权利要求1所述的节点交换机,其中获得所述测量的性能数据包括获得指示所述节点交换机的一个或多个端口缓冲器的测量的充满度的测量的缓冲器状态数据。
11.如权利要求1所述的节点交换机,其中获得所述测量的性能数据包括获得指示在预定义的时间期中期望要通过所述节点交换机传输的数据的单元的数量的测量的业务速率数据。
12.如权利要求1所述的节点交换机,其中获得所述测量的性能数据包括获得指示在预定义数量的周期中被传输的微片的数量和输入队列为空的周期的数量的测量的链路潜能数据。
13.一种用于增大网络中吞吐量的节点交换机,所述节点交换机包括:
用于获得指示所述节点交换机的期望数据传输性能的期望性能数据的电路系统;
用于获得指示所述节点交换机的测量的数据传输性能的测量的性能数据的电路系统;
用于比较所述测量的性能数据和所述期望性能数据以确定所述测量的数据传输性能是否满足所述期望数据传输性能的电路系统;
用于根据所述测量的数据传输性能是否满足所述期望数据传输性能,确定是否强制数据的单元通过非最小路径到目的地的部件;以及
用于响应于确定强制数据的所述单元要通过非最小路径被发送,向与所述非最小路径关联的所述节点交换机的输出端口发送数据的所述单元的电路系统。
14. 如权利要求13所述的节点交换机,还包括:
用于响应于确定不强制数据的所述单元要通过非最小路径被发送,确定所述最小路径是否满足预定义的条件的电路系统;以及
用于响应于确定所述最小路径不满足所述预定义的条件,向与所述最小路径关联的所述节点交换机的输出端口发送数据的所述单元的电路系统。
15. 如权利要求13所述的节点交换机,还包括:
用于响应于确定不强制数据的所述单元要通过非最小路径被发送,确定所述最小路径是否满足预定义的条件的电路系统;以及
用于响应于确定所述最小路径确实满足所述预定义的条件,向与非最小路径关联的所述输出端口发送数据的所述单元的电路系统。
16.如权利要求15所述的节点交换机,其中用于确定所述最小路径是否满足预定义的条件的所述电路系统包括用于确定所述最小路径是否比所述非最小路径拥塞至少两倍的电路系统。
17.如权利要求13所述的节点交换机,其中用于确定是否强制数据的所述单元要通过所述非最小路径被发送的所述电路系统包括:
用于响应于所述测量的数据传输性能不满足所述期望数据传输性能的确定,递增计数器的电路系统;
用于响应于所述测量的数据传输性能确实满足所述期望数据传输性能的确定,递减所述计数器的电路系统;以及
用于根据所述计数器,设置强制数据的所述单元要通过所述非最小路径被发送的可能性的电路系统。
18.如权利要求17所述的节点交换机,还包括:
用于选择在零与预定义的最大数之间的随机数的电路系统;
用于响应于确定所述选择的随机数小于或等于所述计数器,确定强制数据的所述单元要通过所述非最小路径被发送的电路系统;以及
用于响应于确定所述选择的随机数大于所述选择的随机数,确定不强制数据的所述单元要通过所述非最小路径被发送的电路系统。
19.如权利要求13所述的节点交换机,其中用于获得所述期望性能数据的所述电路系统包括用于获得指示所述节点交换机的一个或多个端口缓冲器的期望充满度的期望缓冲器状态数据的电路系统。
20.如权利要求13所述的节点交换机,其中用于获得所述期望性能数据的所述电路系统包括用于获得指示在预定义的时间期中期望要通过所述节点交换机传输的数据的单元的数量的期望业务速率数据的电路系统。
21.如权利要求13所述的节点交换机,其中用于获得所述期望性能数据的所述电路系统包括用于获得指示在预定义数量的周期中要传输的微片的期望数量和输入队列期望为空的周期的数量的期望链路潜能数据的电路系统。
22.如权利要求13所述的节点交换机,其中用于获得所述测量的性能数据的所述电路系统包括用于获得指示所述节点交换机的一个或多个端口缓冲器的测量的充满度的测量的缓冲器状态数据的电路系统。
23.一种用于增大网络中吞吐量的方法,所述方法包括:
由节点交换机获得指示所述节点交换机的期望数据传输性能的期望性能数据;
由所述节点交换机获得指示所述节点交换机的测量的数据传输性能的测量的性能数据;
由所述节点交换机比较所述测量的性能数据和所述期望性能数据以确定所述测量的数据传输性能是否满足所述期望数据传输性能;
由所述节点交换机并且根据所述测量的数据传输性能是否满足所述期望数据传输性能,确定是否强制数据的单元通过非最小路径到目的地;以及
由所述节点交换机并且响应于确定强制数据的所述单元要通过非最小路径被发送,向与所述非最小路径关联的所述节点交换机的输出端口发送数据的所述单元。
24. 如权利要求23所述的方法,进一步包括:
由所述节点交换机并且响应于确定不强制数据的所述单元要通过非最小路径被发送,确定所述最小路径是否满足预定义的条件;以及
由所述节点交换机并且响应于确定所述最小路径不满足所述预定义的条件,向与所述最小路径关联的所述节点交换机的输出端口发送数据的所述单元。
25. 如权利要求23所述的方法,进一步包括:
由所述节点交换机并且响应于确定不强制数据的所述单元要通过非最小路径被发送,确定所述最小路径是否满足预定义的条件;以及
由所述节点交换机并且响应于确定所述最小路径确实满足所述预定义的条件,向与非最小路径关联的所述输出端口发送数据的所述单元。
26.如权利要求25所述的方法,其中确定所述最小路径是否满足预定义的条件包括确定所述最小路径是否比所述非最小路径拥塞至少两倍。
27.如权利要求23所述的方法,其中确定是否强制数据的所述单元要通过所述非最小路径被发送包括:
由所述节点交换机并且响应于所述测量的数据传输性能不满足所述期望数据传输性能的确定,递增计数器;
由所述节点交换机并且响应于所述测量的数据传输性能确实满足所述期望数据传输性能的确定,递减所述计数器;以及
由所述节点交换机并且根据所述计数器,设置强制数据的所述单元要通过所述非最小路径被发送的可能性。
28.如权利要求27所述的方法,进一步包括:
由所述节点交换机选择在零与预定义的最大数之间的随机数;
由所述节点交换机并且响应于确定所述选择的随机数小于或等于所述计数器,确定强制数据的所述单元要通过所述非最小路径被发送;以及
由所述节点交换机并且响应于确定所述选择的随机数大于所述选择的随机数,确定不强制数据的所述单元要通过所述非最小路径被发送。
CN201810980069.3A 2017-09-27 2018-08-27 选择非最小路径和节流端口速度以增大网络吞吐量的技术 Active CN109561020B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/716,831 US11477122B2 (en) 2017-09-27 2017-09-27 Technologies for selecting non-minimal paths and throttling port speeds to increase throughput in a network
US15/716831 2017-09-27

Publications (2)

Publication Number Publication Date
CN109561020A true CN109561020A (zh) 2019-04-02
CN109561020B CN109561020B (zh) 2024-08-09

Family

ID=65638856

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810980069.3A Active CN109561020B (zh) 2017-09-27 2018-08-27 选择非最小路径和节流端口速度以增大网络吞吐量的技术

Country Status (3)

Country Link
US (1) US11477122B2 (zh)
CN (1) CN109561020B (zh)
DE (1) DE102018006687A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11477122B2 (en) * 2017-09-27 2022-10-18 Intel Corporation Technologies for selecting non-minimal paths and throttling port speeds to increase throughput in a network
US11569989B2 (en) * 2019-10-23 2023-01-31 Bank Of America Corporation Blockchain system for hardening quantum computing security
CN113890847B (zh) * 2021-09-26 2023-04-25 新华三信息安全技术有限公司 一种流量转发方法和装置

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2254481A1 (en) * 1997-11-28 1999-05-28 Newbridge Networks Corporation Congestion management in a multi-port shared memory switch
US20020176359A1 (en) * 2001-05-08 2002-11-28 Sanja Durinovic-Johri Apparatus for load balancing in routers of a network using overflow paths
US20080084865A1 (en) * 2006-10-06 2008-04-10 Charles Jens Archer Method and Apparatus for Routing Data in an Inter-Nodal Communications Lattice of a Massively Parallel Computer System by Routing Through Transporter Nodes
CN101605102A (zh) * 2009-07-16 2009-12-16 杭州华三通信技术有限公司 一种irf堆叠中的负载分担方法及装置
CN101969396A (zh) * 2010-09-02 2011-02-09 北京邮电大学 一种基于时延和带宽资源的中继选择方法
CN102088413A (zh) * 2011-03-02 2011-06-08 华为技术有限公司 一种网络流量分流方法、网络节点及系统
CN104205754A (zh) * 2012-12-14 2014-12-10 英特尔公司 通过分组循环进行网络拥塞管理
CN104243334A (zh) * 2014-09-26 2014-12-24 杭州华三通信技术有限公司 防止链路拥塞的方法和设备
US20170222914A1 (en) * 2014-09-11 2017-08-03 Hewlett Packard Enterprise Development Lp Non-minimum cost forwarding for packet-switched networks

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5559757A (en) * 1991-12-18 1996-09-24 Catipovic; Josko A. Spatial diversity processing for underwater acoustic telemetry
JP2001251225A (ja) * 1999-12-28 2001-09-14 Sony Corp 受信装置、及び受信方法
US7613121B2 (en) * 2006-02-28 2009-11-03 Microsoft Corporation Method and system for faciliating data routing in a congested network
US8194555B2 (en) * 2006-08-22 2012-06-05 Embarq Holdings Company, Llc System and method for using distributed network performance information tables to manage network communications
US7706275B2 (en) * 2007-02-07 2010-04-27 International Business Machines Corporation Method and apparatus for routing data in an inter-nodal communications lattice of a massively parallel computer system by employing bandwidth shells at areas of overutilization
US7724674B2 (en) * 2007-05-16 2010-05-25 Simula Innovations As Deadlock free network routing
US8239570B2 (en) * 2008-10-01 2012-08-07 International Business Machines Corporation Using link send and receive information to select one of multiple links to use to transfer data for send and receive operations
US10216647B2 (en) * 2010-02-27 2019-02-26 International Business Machines Corporation Compacting dispersed storage space
US9112535B2 (en) * 2010-10-06 2015-08-18 Cleversafe, Inc. Data transmission utilizing partitioning and dispersed storage error encoding
US9571230B2 (en) * 2010-10-06 2017-02-14 International Business Machines Corporation Adjusting routing of data within a network path
US9843412B2 (en) * 2010-10-06 2017-12-12 International Business Machines Corporation Optimizing routing of data across a communications network
US8773992B2 (en) * 2010-10-11 2014-07-08 At&T Intellectual Property I, L.P. Methods and apparatus for hierarchical routing in communication networks
US9015499B2 (en) * 2010-11-01 2015-04-21 Cleversafe, Inc. Verifying data integrity utilizing dispersed storage
US9565117B2 (en) * 2010-12-22 2017-02-07 Cisco Technology, Inc. Adaptive intelligent routing in a communication system
US9729449B2 (en) * 2012-06-26 2017-08-08 Brocade Communications Systems, Inc. Method and apparatus for enhanced routing within a shortest path based routed network containing local and long distance links
US9552550B2 (en) * 2014-05-13 2017-01-24 Cisco Technology, Inc. Traffic shaping based on predicted network resources
US9900253B2 (en) * 2014-08-28 2018-02-20 Cavium, Inc. Phantom queue link level load balancing system, method and device
GB2539977A (en) * 2015-06-30 2017-01-04 British Telecomm Communications Network
GB2539976A (en) * 2015-06-30 2017-01-04 British Telecomm Communications network
US10162356B2 (en) * 2016-12-15 2018-12-25 Futurewei Technologies, Inc. Path selection for autonomous vehicles
US20190068335A1 (en) * 2017-08-25 2019-02-28 Qualcomm Incorporated Grant-free uplink communication
US11477122B2 (en) * 2017-09-27 2022-10-18 Intel Corporation Technologies for selecting non-minimal paths and throttling port speeds to increase throughput in a network

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2254481A1 (en) * 1997-11-28 1999-05-28 Newbridge Networks Corporation Congestion management in a multi-port shared memory switch
US20020176359A1 (en) * 2001-05-08 2002-11-28 Sanja Durinovic-Johri Apparatus for load balancing in routers of a network using overflow paths
US20080084865A1 (en) * 2006-10-06 2008-04-10 Charles Jens Archer Method and Apparatus for Routing Data in an Inter-Nodal Communications Lattice of a Massively Parallel Computer System by Routing Through Transporter Nodes
CN101605102A (zh) * 2009-07-16 2009-12-16 杭州华三通信技术有限公司 一种irf堆叠中的负载分担方法及装置
CN101969396A (zh) * 2010-09-02 2011-02-09 北京邮电大学 一种基于时延和带宽资源的中继选择方法
CN102088413A (zh) * 2011-03-02 2011-06-08 华为技术有限公司 一种网络流量分流方法、网络节点及系统
CN104205754A (zh) * 2012-12-14 2014-12-10 英特尔公司 通过分组循环进行网络拥塞管理
US20170222914A1 (en) * 2014-09-11 2017-08-03 Hewlett Packard Enterprise Development Lp Non-minimum cost forwarding for packet-switched networks
CN104243334A (zh) * 2014-09-26 2014-12-24 杭州华三通信技术有限公司 防止链路拥塞的方法和设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
EN-JUI CHANG ET AL.: "Path-congestion-aware adaptive routing with a contention prediction scheme for network-on-chip systems", IEEE *
牛继云: "互连网络中的路由算法研究", 《中国优秀硕士学位论文全文数据库》 *

Also Published As

Publication number Publication date
US20190097935A1 (en) 2019-03-28
CN109561020B (zh) 2024-08-09
US11477122B2 (en) 2022-10-18
DE102018006687A1 (de) 2019-03-28

Similar Documents

Publication Publication Date Title
US20200167258A1 (en) Resource allocation based on applicable service level agreement
US20240264871A1 (en) Storage transactions with predictable latency
US9378032B2 (en) Information processing method, information processing apparatus, recording medium, and system
US9584424B2 (en) QOS control system, QOS control method, and program
CN109561020A (zh) 选择非最小路径和节流端口速度以增大网络吞吐量的技术
JP2016119064A (ja) エンドツーエンドデータセンタ性能制御
US10341264B2 (en) Technologies for scalable packet reception and transmission
CN108337188A (zh) 通信量和负载感知动态队列管理
WO2015027771A1 (zh) 一种虚拟机的资源配置方法和通信设备
WO2020134133A1 (zh) 一种资源配置方法、变电站及计算机可读存储介质
US20150067695A1 (en) Information processing system and graph processing method
CN108540405B (zh) 网络资源迁移方法及装置
US10338822B2 (en) Systems and methods for non-uniform memory access aligned I/O for virtual machines
US10084710B2 (en) Data processing method of NOC without buffer and NOC electronic element
US10601738B2 (en) Technologies for buffering received network packet data
CN109802894A (zh) 流量控制方法及装置
US20170177491A1 (en) Processor and method
CN104391735B (zh) 虚拟化一体机集群中虚拟机调度方法及系统
CN109218068A (zh) 用于提供自适应平台服务质量的技术
CN116132369A (zh) 云网关服务器中多网口的流量分发方法及相关设备
CN104899098B (zh) 一种基于共享I/O虚拟化环境的vCPU调度方法
Sapio et al. Cross-platform estimation of network function performance
Baldi et al. A network function modeling approach for performance estimation
CN109039907A (zh) 确定网络数据流量最优路径方法、装置、设备及存储介质
CN109120665A (zh) 高速数据包采集方法及装置

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
GR01 Patent grant
GR01 Patent grant