CN105229976A - 数据中心使用的低延迟无损交换结构 - Google Patents
数据中心使用的低延迟无损交换结构 Download PDFInfo
- Publication number
- CN105229976A CN105229976A CN201380074543.1A CN201380074543A CN105229976A CN 105229976 A CN105229976 A CN 105229976A CN 201380074543 A CN201380074543 A CN 201380074543A CN 105229976 A CN105229976 A CN 105229976A
- Authority
- CN
- China
- Prior art keywords
- bag
- packet forwarding
- switch
- blocking
- described bag
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/122—Avoiding congestion; Recovering from congestion by diverting traffic away from congested entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/20—Traffic policing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/32—Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/20—Support for services
- H04L49/205—Quality of Service based
- H04L49/206—Real Time traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/50—Overload detection or protection within a single switching element
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一个实施例,系统包括被配置为与低延迟交换机和缓存交换机通信的交换机,所述交换机具有适于执行逻辑的处理器,适于在交换机入口接收包的逻辑,适于接收拥堵信息的逻辑,适于基于至少所述拥堵信息确定至少一个拥堵条件被满足的逻辑,适于在所述至少一个拥堵条件被满足时将包转发策略应用到所述包的逻辑,适于在所述包满足所述包转发策略时将所述包转发到缓存交换机的逻辑和在所述至少一个拥堵条件没有被满足时将所述包转发到低延迟交换机的逻辑。
Description
背景技术
本发明涉及数据中心基础设施,更特别地,本发明涉及在数据中心使用低延迟无损交换结构。
低延迟是数据中心交换结构非常想要达到的特征。例如,在高频率的交易中,低延迟允许应用在每秒的多个片段执行大量的订单,例如自动化证券交易,等等。类似的,在实时通信中,例如视频传送、遥感测量等,处理信息时的延迟可能不利于用户体验或依靠所述视频传送和/或遥感测量有效控制设备。
低延迟交换结构执行的重要问题是不提供深度缓存,这样在结构拥挤时数据包会丢失。也就是说,交换机因为拥堵状况不能转发数据包并且所述交换机将一个或多个数据包丢弃,这造成交易失败或显著延迟。
无损交换机现有的解决方案都涉及内部包缓存。缓存交换机被配置为经由存储器缓存发送所有数据包以避免包丢失。不幸的是,这种解决方案导致延迟增加,因为将数据包移进后再移出存储器会花费时间,这样增加了解决方案的延迟。因此,更好的解决方法对提供数据中心的低延迟无损交换结构是有益的。
发明内容
在一个实施例中,系统包括被配置为与低延迟交换机和缓存交换机通信的交换机,所述交换机包括适于执行逻辑的处理器、适于在交换机入口处接收包的逻辑、适于接收拥堵信息的逻辑、适于基于至少所述拥堵信息确定至少一个拥堵条件被满足的逻辑、适于在至少一个拥堵条件被满足时将包转发策略应用到所述包的逻辑、适于当所述包满足所述包转发策略时将所述包转发到缓存交换机的逻辑、适于当所述至少一个拥堵条件没有被满足时将所述包转发到低延迟交换机的逻辑。
在另一个实施例中,提供具有保证传输的低延迟包转发的计算机程序产品包括嵌有计算机可读程序代码的计算机可读存储介质,所述计算机程序代码包括被配置为在交换机入口处接收包的计算机可读程序代码、被配置为确定至少一个拥堵条件被满足的计算机可读程序代码、被配置为在至少一个拥堵条件被满足时将包转发策略应用到所述包的计算机可读程序代码、被配置为当所述包满足包转发策略时将所述包转发到缓存交换机的计算机可读程序代码、和被配置为当至少一个拥堵条件没有被满足时将所述包转发到低延迟交换机的计算机可读程序代码。
在再一个实施例中,提供具有保证传输的低延迟包转发的方法包括在交换机入口接收包,确定至少一个拥堵条件被满足、在至少一个拥堵条件被满足时将包转发策略应用到所述包、当所述包满足所述包转发策略时将所述包转发到缓存交换机、和当至少一个拥堵条件没有被满足时将所述包转发到低延迟交换机。
根据另一个实施例,提供具有保证传输的低延迟包转发的方法包括在交换机入口处接收包、从一个或多个下游交换机接收拥堵信息、基于至少所述拥堵信息确定至少一个拥堵条件被满足、处理所述包以确定所述包的至少一个属性、在至少一个拥堵条件被满足时将包转发策略应用到所述包,其中所述包的至少一个属性用于确定所述包是否满足所述包转发策略,当所述包满足所述包转发策略时将所述包转发到缓存交换机、和当至少一个拥堵条件没有被满足时将所述包转发到低延迟交换机。
本发明的其他方面和实施例将在下面与附图一起通过对本发明的原理举例说明的具体实施例中说明。
附图说明
本发明的实施例将被描述,仅以示例方式,参考如下相关附图:
图1说明根据一个实施例的网络结构;
图2显示根据一个实施例,与图1中服务器和/或客户端相关的代表性的硬件环境;
图3是根据一个实施例的数据中心的低延迟无损交换结构配置的简化图;
图4是根据一个实施例的方法流程图;
图5是根据另一个实施例的方法流程图;
图6是根据再一个实施例的方法流程图。
具体实施例
下面的描述目的是用于介绍本发明的基本原理而不是限定此处声明的本发明的概念。进一步地,此处描述的特定特征可被与每种可能的排列组合中其他描述的特征联合使用。
除非在此特别定义,所有的术语将被给予最大可能的解释包括说明书暗示的含义和本领域技术人员理解的和/或字典、条约等定义的含义。
必须注意到,如说明书和权利要求中所使用的,除非另有说明,单数形式“a”、“an”和“the”包括复数对象。
根据此处描述的多种实施例,数据中心结构可被配置具有低延迟交换机和缓存交换机的组合。所述低延迟交换机可被提供以具有与基于所述结构的拥堵状况所作的转发决定一起提供的附加策略表的交换处理器,采用反馈被提供到所述低延迟交换机。根据所述结构的拥堵状况,转发交换机可将包发送到低延迟交换机或缓存交换机。进一步地,根据一个实施例,为了确定转发所述包到哪种类型的交换机或丢弃所述包,所述转发交换机可应用包转发策略。
这个过程的一个优点是所述结构配置实现了两全其美:具有低延迟并且甚至在所述结构拥挤时也能够无损通信。另一个优点是所述结构可被轻松配置以适用于多种数据中心状况和数据应用。
在一个通用实施例中,系统包括配置为与低延迟交换机和缓存交换机通信的交换机,所述交换机具有适于执行逻辑的处理器、适于在交换机入口处接收包的逻辑、适于接收拥堵信息的逻辑、适于基于至少所述拥堵信息确定至少一个拥堵条件被满足的逻辑、适于在至少一个拥堵条件被满足时将包转发策略应用到所述包的逻辑、适于当所述包满足所述包转发策略时将所述包转发到缓存交换机的逻辑、适于当所述至少一个拥堵条件没有被满足时将所述包转发到低延迟交换机的逻辑。
在另一个实施例中,提供具有保证传输的低延迟包转发的计算机程序产品包括嵌有计算机可读程序代码的计算机可读存储介质,所述计算机程序代码包括被配置为在交换机入口处接收包的计算机可读程序代码、被配置为确定至少一个拥堵条件被满足的计算机可读程序代码、被配置为在至少一个拥堵条件被满足时将包转发策略应用到所述包的计算机可读程序代码、被配置为当所述包满足包转发策略时将所述包转发到缓存交换机的计算机可读程序代码、和被配置为当至少一个拥堵条件没有被满足时将所述包转发到低延迟交换机的计算机可读程序代码。
在再一个通用实施例中,提供具有保证传输的低延迟包转发的方法包括在交换机入口处接收包,确定至少一个拥堵条件被满足、在至少一个拥堵条件被满足时将包转发策略应用到所述包、当所述包满足所述包转发策略时将所述包转发到缓存交换机、和当至少一个拥堵条件没有被满足时将所述包转发到低延迟交换机。
根据另一个通用实施例,提供具有保证传输的低延迟包转发的方法包括在交换机入口处接收包、从一个或多个下游交换机接收拥堵信息、基于至少所述拥堵信息确定至少一个拥堵条件被满足、处理所述包以确定所述包的至少一个属性、在至少一个拥堵条件被满足时将包转发策略应用到所述包,其中所述包的至少一个属性用于确定所述包是否满足所述包转发策略,当所述包满足所述包转发策略时将所述包转发到缓存交换机、和当至少一个拥堵条件没有被满足时将所述包转发到低延迟交换机。
本领域技术人员将会理解,本发明的各方面可被具体体现为系统、方法或计算机程序产品。相应地,本发明的各方面可全部硬件实施、全部软件实施(包括固件、常驻软件、微代码等)或在此处可被统一称为“逻辑”、“电路”、“模块”或“系统”的软件和硬件各方面相结合实施。另外,本发明的各方面可以在嵌有计算机可读程序代码的一个或多个计算机可读介质中的计算机程序产品实施。
可使用一个或多个计算机可读介质的任何组合。所述计算机可读介质可以使计算机可读信号介质或非暂时性计算机可读存储介质。非暂时性计算机可读存储介质可以是,例如,但是不限于,电子、磁、光、电磁、红外或半导体系统、装置或设备,或任何前述的适当组合。更多非暂时性计算机可读存储介质的特定例子(非穷举列表)包括以下:便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、便携光盘只读存储器(CD-ROM)、蓝光光盘只读存储器(BD-ROM)、光存储设备、磁存储设备、或前述的任何适当组合。本文档上下文中,非暂时性计算机可读存储介质可以是任何能够包括或存储由与指令执行系统、装置或设备的连接或在该连接内使用的程序或应用的有形介质。
计算机可读信号介质可包括嵌有计算机可读程序代码的传播数据信号,例如,基带或载波的一部分。这样的传播信号可采用多种形式的任何形式,包括但不限于,电磁、光或这些的任何适当组合。计算机可读信号介质可以是任何非暂时性计算机可读存储介质的计算机可读介质并且可以通信、传播或传输由与指令执行系统、装置或设备的连接或在该连接内使用的程序,例如具有一个或多个电线的电连接、光纤等。
实现在计算机可读介质上的程序代码可使用任何合适的介质,包括但不限于无线、有线、光缆、RF等或前述的任何适当组合来传输。
执行本发明各方面操作的计算机程序代码可以一种或多种程序语言的任何组合来编写,包括面向对象的程序语言如JAVA、Smalltalk、C++或类似的,和传统的过程程序语言如“C”程序语言或类似的程序语言。所述程序代码可全部在用户计算机上、部分在用户计算机上、作为独立的软件包、部分在用户计算机上部分在远程计算机上或全部在远程计算机或服务器执行。在后面的情况下,远程计算机和服务器通过任何类型的网络连接到用户计算机,如局域网(LAN)、存储局域网(SAN)、和/或广域网(WAN)或所述连接可在计算机外部建立,例如通过使用因特网服务提供商的因特网。
本发明的各方面在此处参考根据本发明各种实施例的方法、装置(系统)和计算机程序产品的流程说明和/或框图被描述。将被理解所述流程说明和/或框图的每个模块,和流程说明和/或框图中模块的组合可由计算机程序指令执行。这些计算机程序指令可被提供到通用目的计算机、特殊目的计算机、或其他可编程的数据处理装置的处理器以产生机器,这样由所述计算机或其他可编程数据处理装置的处理器执行的所述指令产生执行所述流程和/或框图的模块描述的功能/动作的方法。
这些计算机程序指令也可被存储在能够指引计算机、其他可编程数据处理装置或其他设备以特殊方式执行功能的计算机可读介质上,这样,计算机可读介质上存储的指令产生一种包括执行所述流程和/或框图的模块描述的功能/动作的指令的产品。
所述计算机程序指令也可以被下载到计算机、其他可编程数据处理装置或其他使得一系列可操作的步骤在计算机上执行的设备,其他可编程装置或其他产生计算机执行过程的设备,这样执行在所述计算机或其他可编程装置上的指令提供执行所述流程和/或框图的模块描述的功能/动作的方法。
图1说明根据一个实施例的网络结构100。如图1所示,提供的多个远程网络102包括第一远程网络104和第二远程网络106。网关101可以被耦合在所述远程网络102和邻近网络108之间。在当前的网络结构100的上下文中,所述网络104、106可以各自采用任何形式包括但不限于LAN、WAN如Internet、公共交换电话网络(PSTN)、内部电话网络等。
在使用中,网关101作为从所述远程网络102到所述邻近网络108的入口节点提供服务。同样的,网关101可以提供能够将到达网关101的给定数据包转发的路由器功能,和为给定数据包提供进出网关101的实际路径的交换机功能。
进一步包括至少一个数据服务器114耦合到所述邻近网络108,并且可从远程网络102经由网关101访问。应该注意到数据服务器114可以包括任何类型计算设备或组件。连接到数据服务器114的是多个用户设备116。这些用户设备116可以包括桌上型电脑、膝上型电脑、手提电脑、打印机和/或任何其他类型包含逻辑的设备。应该注意到,在某些实施例中,用户设备111也可以直接耦合到任何一个所述网络。
一个外部设备120或多个外部设备120,例如传真机、打印机、扫描仪、硬盘驱动器、网络或本地存储单元或系统等可以连接到一个或多个所述网络104、106、108。应该注意到数据库和/或附加的组件可以与连接到所述网络104、106和108的网络元件一起或集成到所述网络元件而被使用。
根据某些方法,此处描述的方法和系统可以在虚拟系统或仿真一个或多个其他系统的系统上执行,如仿真IBMz/OS环境的UNIX系统,为MICROSOFTWINDOWS做虚拟主机的UNIX系统,仿真IBMz/OS环境的MICROSOFTWINDOWS系统等。在某些实施例中,这样的虚拟化或仿真可以通过使用VMWARE软件被增强。
在更多方法中,一个或多个网络104、106、108,可代表通常被称为“云”的系统集群。在云计算中,共享资源,如处理能力、外部设备、软件、数据、服务器等,被按需提供给云中的任何系统。云计算典型地涉及在云中操作的系统之间的互联网连接,但是像本领域公知的那样,其他连接系统的技术也可以被使用。
图2显示根据一个实施例,与图1中用户设备116和/或服务器114相关联的代表性硬件环境。图2说明了根据一些实施例,具有中央处理器(CPU)210,例如微处理器,和多个经由一个或多个总线212互连的其他单元的工作站的典型硬件配置,所述总线可以是不同类型,例如局域总线、并行总线、串行总线等。
图2中的工作站包括随机存取存储器(RAM)214、只读存储器(ROM)216、用于将外部设备如磁盘存储器单元220连接到一个或多个总线212的I/O适配器218、用于将键盘224、鼠标226扬声器228、麦克232和/或其他用户接口设备如触摸屏、数码相机(未示出)等连接到一个或多个总线212的用户接口适配器222、用于将所述工作站连接到通信网络235(如数据处理网络)的通信适配器234和用于将一个或多个总线212连接到显示设备238的显示适配器236。
所述工作站可具有驻留在其上的操作系统例如MICROSOFTWINDOWS操作系统(OS)、UNIXOS等。可被理解优选的实施例也可在其他没有提及的平台和操作系统上执行。优选的实施例可使用JAVA、XML、C和/或C++语言或其他编程语言与面向对象编程方法一起编写。越来越多的用于开发复杂应用的面向对象编程可被使用。
现在考虑图3,数据中心内的低延迟无损交换结构配置300被根据一个实施例显示。所述交换结构配置300包括数据中心结构318和各种交换机。交换机302适于接收输入流量310。所述输入流量310可以从各种源接收,例如其他交换机、路由器、流量源(如通信设备、主机、服务器等)。交换机302适于转发接收的流量310(作为数据负载包316)。网关304和306适于将数据负载包316转发到第二低延迟交换机308。所有的交换机可以是物理交换机、虚拟交换机或它们的结合来实现。
对于物理交换机实现方式,每个物理交换机包括交换处理器320,如现场可编程门阵列(FPGA)、专用集成电路(ASIC)、微处理器、微控制器、中央处理单元(CPU)或其他本领域公知的处理器。
对于虚拟交换机实现方式,支持所述虚拟交换机的服务器处理器可以本领域公知的方式提供交换功能。
再次参见图3,交换机302还适于从交换机304或306接收流控制信息312。所述流控制信息312可以适当的格式发送/接收,如作为控制包、基于优先权的流控制包(PFC)、增强传输选择(ETS)、量化阻塞通知(QCN)、电子电机工程师协会(IEEE)802.3x等。根据接收到的流控制信息312,交换机302确定数据中心结构318是否存在拥堵状况。例如,当低延迟交换机304拥堵时,交换机302将一个或多个包转发到缓存交换机306来代替丢弃一个或多个包。缓存交换机306也能评估数据中心结构318的拥堵状况,并根据所述状况适于将包转发到所述第二低延迟交换机308。结果,所述数据中心结构318适于在任何给定时间选择可用的最少延迟的路径。
根据多个实施例,交换机302具有包转发策略314的入口,在一种途径中,物理交换机可包括所述包转发策略。在一种替换途径中,托管虚拟交换机的服务器可包括所述包转发策略。包转发策略314包括随着一个或多个替换端口在拥堵状况下转发包的标准。
例如,所述标准可包括包优先权、目的标示符如IP地址、媒体接入控制(MAC)地址等、流量标识符如源和目的地址的结合、包大小、包延迟、虚拟局域网(VLAN)标签,和/或其他相关参数。替换端口可以是物理端口、逻辑接口、链路聚合(LAG)组、虚拟端口等。
换句话说,包的一个或多个属性可被确定并用于包转发策略以确定所述包是否满足所述包转发策略。包的所述属性可包括以下任何几种:包优先权、目的应用标识符、源地址、目的地址、包大小、VLAN标示符、和/或包的可接受延迟。
现在参见图4,方法400的简化流程图被根据一个实施例显示。方法400可被根据图1-3描述的在多个实施例其中任何一种环境中的本发明执行。当然,本领域技术人员在阅读本说明书的基础上可以理解,比图4中特别描述的更多或更少的操作可被包括在方法400中。
方法400的每个步骤可由操作环境中的任何适当的组件执行。例如,在一个实施例中,方法400部分或全部由数据中心结构的交换机执行。特别地,方法400可部分或全部由具有包转发策略入口的交换机的处理器执行。
首先,操作402中显示,接收输入流量包(如在数据中心结构的交换机处)。操作404,确定是否满足至少一个拥堵条件。在一个实施例中,所述确定可由交换机的处理器执行,如ASIC、微控制器、FPGA等。
在一个实施例中,所述至少一个结构拥堵标准可包括来自所述交换机下游的一个或多个低延迟交换机的反压(backpressure)的接收。用这种方法,如果低延迟交换机指示拥堵,流量可被从这个交换机转移直到它能够处理已经被转发的流量。
根据多个实施例,所述至少一种拥堵条件可以是二元的(是/不是)、多级的、分层的等。即,多级条件可在所述结构中包括多个拥堵级别标准(如高、中、低)。分层的条件可包括多个类,每个类包括一个或多个转发程序。例如,不同类型的包可在所述转发策略中被分类并区别处理。根据拥堵级别,缺省动作可被调整以最优解决运行情况。
如果所述至少一个拥堵条件没有满足,所述包在操作414中被转发到低延迟交换机。在某些方法中这可以使缺省操作因此而允许流量以最简便的方式经过所述数据中心结构。
如果所述至少一个拥堵条件被满足,包转发策略在操作406中被应用以确定如何转发所述包。在操作406中包转发策略的应用涉及确定包的相关属性。例如,如果所述策略指示无损处理将被提供给具有一定优先权的包,优先权信息被从所述包中提取.所述包的所有其他参数,无论是在包中出现的还是使用算法计算出来的,可被提取用于未来的比较和/或其他比较或确定。
所述包转发策略可指示在一个或多个场景中丢弃所述包,如在操作408中所示。例如,在一种方法中,如果所述包没有满足策略标准,所述包可被丢弃,如操作412中显示。
如果所述包满足所述包转发策略并没没有被丢弃,所述包在操作410被转发到缓存交换机。根据一个实施例,是否丢弃所述包或者转发所述包到所述缓存交换机的决定可基于在操作406中提取的数值和包转发策略中的规定之间计算出的匹配度而作出。
可触发这个机制的标准流控制协议包括802.1Qbb-基于优先权的流控制(PFC)、802.1az-增强的传输选择(ETS)、量化拥堵通知(QCN)或其他任何根据IEEE802.3X的常规流控制。
在更多的实施例中,再次参见图4,方法400的任何或全部操作可在系统或计算机程序产品中执行。
图5显示与图4的方法400中的步骤404一起使用的控制逻辑的简化流程图。再次参见图5,方法500可根据图1-3描述的在多个实施例其中任何一种环境中的本发明而执行。当然,在阅读本说明书的基础上本领域技术人员可以理解,比在图5中描述的更多或更少的操作可被包括在方法500中。
方法500的每个步骤可由所述操作环境中的任何适当的组件执行。例如,在一个实施例中,方法500部分或全部由数据中心结构的交换机执行。特别地,方法500可部分或全部由具有包转发策略入口的交换机的处理器执行。
操作502,接收控制平面拥堵信息。根据一个实施例,交换机可接收这个与结构拥堵状况相关的信息。所述信息可由直接与所述接收交换机相连的交换机、配置终端(或某些其他拥堵信息中央储存器,如服务器)、或本领域技术人员在阅读本说明书基础上可理解的某些其他外部代理发送。根据一个实施例,交换ASIC(来自数据中心结构中的多个交换机)可从标准流控制协议获得所述拥堵或流控制信息,并核实它们的传输队列级别阈值以获得所述控制面拥堵信息以便发送到所述交换机。
在操作504,所述拥堵信息被处理,在操作506,确定是否至少一个结构拥堵标准被满足。
在一个实施例中,所述至少一个结构拥堵标准可包括来自所述交换机下游的一个或多个低延迟交换机的反压的接收。在这种方式中,如果低延迟交换机提示拥堵,流量将被从该交换机转移直到它能够处理已经被转发的流量。
如果所述至少一个标准被满足,在操作508设置拥堵标记,在操作512下载包转发策略。所述包转发策略下载之后,拥堵信息在操作514继续被监视。如果所述至少一个拥堵标准没有被满足,所述拥堵标记在操作510中被移除并且拥堵信息在操作514中继续被监视。
操作504中拥堵信息的处理可以分布式的方式执行。例如,拥堵信息的处理可在外部设备、软件实体、或某些其他能够处理所述拥堵信息的处理设备上执行。在这种情况下,所述外部实体可仅将需求部分的拥堵信息通信给所述交换机。
进一步,所述交换机可被配置为根据内部状态和可用资源动态修改所述拥堵标准或上传策略。
图5显示所述拥堵逻辑的二元执行。即,拥堵被确定为是或否的状况。替换的执行方式可提供多级拥堵逻辑和/或分层拥堵逻辑,如前所述。更进一步,根据拥堵级别,在运行时不同的转发策略可被下载和/或执行。
在更多的实施例中,再次参见图5,方法500的任何或全部操作可由系统或计算机程序产品执行。
现在参见图6,显示了根据一个实施例为输入流量提供低延迟交换的方法600的流程图。所述方法可根据图1-3描述的多个实施例的其中任何一个的环境的本发明而执行。当然,本领域技术人员在阅读本说明书的基础上可以理解,比在图6中描述的更多或更少的操作可被包含在方法600中。
方法600的每个步骤可由所述操作环境的任何适当组件执行。例如,在一个实施例中,方法600可部分或全部由数据中心结构中的交换机执行。特别地,方法600可部分或全部由具有包转发策略入口的交换机的处理器执行。
如图6所示,方法600可以操作602开始,其中包在交换机入口处接收。操作604,所述交换机确定出口,例如在一个实施例中,通过处理所述包并确定在包头部分的目的地址。
所述交换机确定所述确定的出口是否拥堵。如果所述出口没有拥堵,所述包被转发到所述出口以进一步沿着所述结构转发。
在一个实施例中,当从所述出口下游的一个或多个低延迟交换机接收到反压时确定所述出口是拥堵的。
如果所述出口是拥堵的,操作608中进一步确定所述包是否应该被丢弃。在操作616,所述包被丢弃。如果确定所述包不应该被丢弃,在步骤610中所述包转发策略被应用。在操作612,确定所述包是否满足所述策略。如果没有,所述包在操作616中被丢弃。
如果所述包满足所述策略,在操作614,所述包被转发到缓存出口,以便处理结构中的拥堵。
在更多的实施例中,在此参考图4-6,方法400、500和/或600的任何或全部操作可在系统或计算机程序产品中执行。
例如,在一个实施例中,系统可包括连接到低延迟交换机和缓存交换机的交换机。.所述交换机可包括用于执行逻辑的处理器(如ASIC)、适于在交换机入口接收包的逻辑、适于接收拥堵信息的逻辑、适于基于至少所述拥堵信息确定至少一个拥堵条件被满足的逻辑、适于在至少一个拥堵条件被满足时将包转发策略应用到所述包的逻辑、适于当所述包满足包转发策略时将所述包转发到缓存交换机的逻辑、和适于当至少一个拥堵条件没有被满足时将所述包转发到低延迟交换机的逻辑。
另一个例子中,在网络中提供互不相交的多条路径的计算机程序产品包括嵌有计算机可读程序代码的计算机可读存储介质。所述计算机可读程序代码包括被配置为在交换机入口处接收包的计算机可读程序代码、被配置为确定至少一个拥堵条件被满足的计算机可读程序代码、被配置为在至少一个拥堵条件被满足时将包转发策略应用到所述包的计算机可读程序代码、被配置为当所述包满足包转发策略时将所述包转发到缓存交换机的计算机可读程序代码、和被配置为当至少一个拥堵条件没有被满足时将所述包转发到低延迟交换机的计算机可读程序代码。
已经在上面描述了各种实施例,应该被理解它们仅仅是以举例的方式呈现,并不是限定。这样,本发明实施例的宽度和范围不应该被任何一个上面描述的示例实施例限定,而应该仅由下面的权利要求和它们的相当量来定义。
Claims (24)
1.一种系统,包括被配置为与低延迟交换机和缓存交换机通信的交换机,所述交换机包括:
适于执行逻辑的处理器;
适于在交换机入口接收包的逻辑;
适于接收拥堵信息的逻辑;
适于基于至少所述拥堵信息确定至少一个拥堵条件被满足的逻辑;
适于在所述至少一个拥堵条件被满足时将包转发策略应用到所述包的逻辑;
适于在所述包满足所述包转发策略时将所述包转发到缓存交换机的逻辑;
在所述至少一个拥堵条件没有被满足时将所述包转发到低延迟交换机的逻辑。
2.权利要求1所述的系统,进一步包括:
适于确定所述包转发策略是否指示丢弃所述包的逻辑,和
适于在所述包转发策略指示丢弃所述包时将所述包丢弃的逻辑。
3.权利要求1所述的系统,其中所述至少一个拥堵条件包括从所述交换机下游的一个或多个低延迟交换机接收到反压。
4.权利要求1所述的系统,进一步包括适于处理所述包以确定所述包的至少一个属性的逻辑,所述包的至少一个属性包括包优先权、目的应用标识符、源地址、目的地址、包大小、虚拟局域网(VLAN)标识、和所述包可接受的延迟的一个或多个。
5.权利要求4所述的系统,进一步包括适于利用所述包的所述至少一个属性来确定所述包是否满足所述包转发策略的逻辑。
6.权利要求4所述的系统,其中所述包转发策略是考虑了所述包的所述至少一个属性的多阶策略。
7.一种提供具有保证传输的低延迟包转发的计算机程序产品,所述计算机程序产品包括嵌有计算机程序代码的计算机可读存储介质,所述计算机可读程序代码包括:
被配置为在交换机入口接收包的计算机可读程序代码;
被配置为确定至少一个拥堵条件被满足的计算机读程序代码;
被配置为在所述至少一个拥堵条件被满足时将包转发策略应用到所述包的计算机可读程序代码;
被配置为在所述包满足所述包转发策略时将所述包转发到缓存交换机的计算机可读程序代码;
被配置为在所述至少一个拥堵条件没有被满足时将所述包转发到低延迟交换机的计算机可读程序代码。
8.权利要求7所述的计算机程序产品,进一步包括:
被配置为确定所述包转发策略是否指示丢弃所述包的计算机可读程序代码;和
被配置为在所述包转发策略指示丢弃所述包时将所述包丢弃的计算机可读程序代码。
9.权利要求7所述的计算机程序产品,其中所述至少一个拥堵条件包括从所述交换机下游的一个或多个低延迟交换机接收到反压。
10.权利要求7所述的计算程序产品,进一步包括:被配置为处理所述包以确定所述包的至少一个属性的计算机可读程序代码,所述包的所述至少一个属性包括包优先权、目的应用标识符、源地址、目的地址、包大小、虚拟局域网(VLAN)标识、和所述包可接受的延迟的一个或多个。
11.权利要求10所述的计算机程序产品,进一步包括被配置为利用所述包的所述至少一个属性来确定所述包是否满足所述包转发策略的计算机可读程序代码。
12.权利要求10所述的计算机程序产品,其中所述包转发策略是考虑了所述包的所述至少一个属性的多阶策略。
13.权利要求7所述的计算机程序产品,进一步包括被配置为接收拥堵信息的计算机可读程序代码,其中被配置为确定至少一个拥堵条件被满足的计算机可读程序代码基于至少所述接收的拥堵信息而确定。
14.一种提供具有保证传输的低延迟包转发方法,所述方法包括:
在交换机入口接收包;
确定至少一个拥堵条件被满足;
在所述至少一个拥堵条件被满足时将包转发策略应用到所述包;
在所述包满足所述包转发策略时将所述包转发到缓存交换机;
在所述至少一个拥堵条件没有被满足时将所述包转发到低延迟交换机。
15.权利要求14所述的方法,进一步包括:
确实所述包转发策略是否指示丢弃所述包;
在所述包转发策略指示丢弃所述包时将所述包丢弃。
16.权利要求14所述的方法,其中所述至少一个拥堵条件包括从所述交换机下游的一个或多个低延迟交换机接收反压。
17.权利要求14所述的方法,进一步包括处理所述包以确定所述包的至少一个属性,所述包的所述至少一个属性包括包优先权、目的应用标识符、源地址、目的地址、包大小、虚拟局域网(VLAN)标识、和所述包可接受的延迟的一个或多个。
18.权利要求17所述的方法,进一步包括:使用所述包的所述至少一个属性确定所述包是否满足所述包转发策略。
19.权利要求17所述的方法,其中所述包转发策略是考虑了所述包的所述至少一个属性的多阶策略。
20.权利要求14所述的方法,进一步包括接收拥堵信息,其中至少一个拥堵条件被满足的确定至少基于所述接收到的拥堵信息。
21.一种提供具有保证传输的低延迟包转发方法,所述方法包括:
在交换机入口接收包;
从一个或多个下游交换机接收拥堵信息;
基于至少所述拥堵信息确定所述至少一个拥堵条件被满足;
处理所述包以确定所述包的至少一个属性
在所述至少一个拥堵条件被满足时将包转发策略应用到所述包,其中所述包的所述至少一个属性被用于确定所述包是否满足所述包转发策略;
在所述包满足所述包转发策略时将所述包转发到缓存交换机;
在所述至少一个拥堵条件没有被满足时,将所述包转发到低延迟交换机。
22.权利要求21所述的方法,其中所述包的所述至少一个属性包括包优先权、目的应用标识符、源地址、目的地址、包大小、虚拟局域网(VLAN)标识、和所述包可接受的延迟的一个或多个。
23.权利要求21所述的方法,进一步包括:
确定所述包转发策略是否指示丢弃所述包,和
在所述包转发策略指示丢弃所述包时将所述包丢弃。
24.权利要求21所述的方法,其中所述拥堵信息至少包括802.1Qbb-基于优先权的流控制(PFC)、802.1az-增强的传输选择(ETS)、量化拥堵通知(QCN)和根据IEEE802.3X的常规流控制之一。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/741,346 | 2013-01-14 | ||
US13/741,346 US9014005B2 (en) | 2013-01-14 | 2013-01-14 | Low-latency lossless switch fabric for use in a data center |
PCT/IB2013/060799 WO2014108773A1 (en) | 2013-01-14 | 2013-12-11 | Low-latency lossless switch fabric for use in a data center |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105229976A true CN105229976A (zh) | 2016-01-06 |
CN105229976B CN105229976B (zh) | 2018-11-09 |
Family
ID=51165026
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380074543.1A Active CN105229976B (zh) | 2013-01-14 | 2013-12-11 | 数据中心使用的低延迟无损交换结构 |
Country Status (4)
Country | Link |
---|---|
US (2) | US9014005B2 (zh) |
CN (1) | CN105229976B (zh) |
DE (1) | DE112013006417B4 (zh) |
WO (1) | WO2014108773A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115208842A (zh) * | 2022-07-29 | 2022-10-18 | 苏州特思恩科技有限公司 | 一种基于10g以太网的低延迟装置使用方法 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014063550A (ja) | 2012-09-21 | 2014-04-10 | International Business Maschines Corporation | テープ記録装置のデータ書込みを制御する装置、方法及びプログラム |
US9014005B2 (en) | 2013-01-14 | 2015-04-21 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Low-latency lossless switch fabric for use in a data center |
US10341224B2 (en) * | 2013-01-25 | 2019-07-02 | Dell Products L.P. | Layer-3 flow control information routing system |
JP6089940B2 (ja) * | 2013-05-08 | 2017-03-08 | 富士通株式会社 | 障害判定プログラム、装置、システム、及び方法 |
CN105306382B (zh) * | 2014-07-28 | 2019-06-11 | 华为技术有限公司 | 一种无缓存noc数据处理方法及noc电子元件 |
US10355999B2 (en) | 2015-09-23 | 2019-07-16 | Cisco Technology, Inc. | Flow control with network named fragments |
US10536379B2 (en) * | 2017-09-28 | 2020-01-14 | Argela Yazilim Ve Bilisim Teknolojileri San Ve Tic. A.S. | System and method for control traffic reduction between SDN controller and switch |
US11057305B2 (en) * | 2018-10-27 | 2021-07-06 | Cisco Technology, Inc. | Congestion notification reporting for a responsive network |
US10630554B1 (en) * | 2018-10-29 | 2020-04-21 | International Business Machines Corporation | Input/output (I/O) performance of hosts through bi-directional bandwidth feedback optimization |
US11171884B2 (en) * | 2019-03-13 | 2021-11-09 | Mellanox Technologies Tlv Ltd. | Efficient memory utilization and egress queue fairness |
US11848837B2 (en) * | 2021-10-19 | 2023-12-19 | Mellanox Technologies, Ltd. | Network telemetry based on application-level information |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070067487A1 (en) * | 2001-10-04 | 2007-03-22 | Newnew Networks Innovations Limited | Communications node |
CN1954637A (zh) * | 2004-03-11 | 2007-04-25 | 英特拉克蒂克控股公司 | 用于计算和数据存储管理的可升级网络 |
US20080259798A1 (en) * | 2007-04-19 | 2008-10-23 | Fulcrum Microsystems Inc. | Flow and congestion control in switch architectures for multi-hop, memory efficient fabrics |
CN101371533A (zh) * | 2006-01-23 | 2009-02-18 | 惠普开发有限公司 | 用于在计算集群节点之间传送光信号的采用光子互连的计算集群 |
US20090300209A1 (en) * | 2008-06-03 | 2009-12-03 | Uri Elzur | Method and system for path based network congestion management |
US20100061242A1 (en) * | 2008-09-11 | 2010-03-11 | Pradeep Sindhu | Methods and apparatus related to a flexible data center security architecture |
CN102487358A (zh) * | 2010-12-01 | 2012-06-06 | 丛林网络公司 | 用于与交换机结构相关的流控制的方法和装置 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3691679B2 (ja) | 1999-02-18 | 2005-09-07 | 株式会社日立製作所 | 二重伝送路を有するネットワーク |
US6519062B1 (en) | 2000-02-29 | 2003-02-11 | The Regents Of The University Of California | Ultra-low latency multi-protocol optical routers for the next generation internet |
US7061929B1 (en) | 2000-03-31 | 2006-06-13 | Sun Microsystems, Inc. | Data network with independent transmission channels |
US20050147032A1 (en) | 2003-12-22 | 2005-07-07 | Lyon Norman A. | Apportionment of traffic management functions between devices in packet-based communication networks |
US7729259B1 (en) | 2004-01-20 | 2010-06-01 | Cisco Technology, Inc. | Reducing latency jitter in a store-and-forward buffer for mixed-priority traffic |
US20060056308A1 (en) | 2004-05-28 | 2006-03-16 | International Business Machines Corporation | Method of switching fabric for counteracting a saturation tree occurring in a network with nodes |
CN100512292C (zh) | 2005-09-01 | 2009-07-08 | 华为技术有限公司 | 一种实时恢复业务的装置及方法 |
US8554943B1 (en) * | 2006-03-31 | 2013-10-08 | Emc Corporation | Method and system for reducing packet latency in networks with both low latency and high bandwidths requirements |
US8050257B2 (en) | 2006-12-12 | 2011-11-01 | Maged E Beshai | Network with a fast-switching optical core |
US8416774B2 (en) | 2009-06-12 | 2013-04-09 | Broadcom Corporation | Method and system for energy-efficiency-based packet classification |
CN101605102B (zh) | 2009-07-16 | 2012-03-14 | 杭州华三通信技术有限公司 | 一种irf堆叠中的负载分担方法及装置 |
CN102355421B (zh) | 2011-10-12 | 2014-09-17 | 华为技术有限公司 | 一种lsp网络拥塞处理的方法、装置及系统 |
US9014005B2 (en) | 2013-01-14 | 2015-04-21 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Low-latency lossless switch fabric for use in a data center |
-
2013
- 2013-01-14 US US13/741,346 patent/US9014005B2/en active Active
- 2013-12-11 CN CN201380074543.1A patent/CN105229976B/zh active Active
- 2013-12-11 WO PCT/IB2013/060799 patent/WO2014108773A1/en active Application Filing
- 2013-12-11 DE DE112013006417.0T patent/DE112013006417B4/de active Active
-
2015
- 2015-03-12 US US14/656,575 patent/US9270600B2/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070067487A1 (en) * | 2001-10-04 | 2007-03-22 | Newnew Networks Innovations Limited | Communications node |
CN1954637A (zh) * | 2004-03-11 | 2007-04-25 | 英特拉克蒂克控股公司 | 用于计算和数据存储管理的可升级网络 |
CN101371533A (zh) * | 2006-01-23 | 2009-02-18 | 惠普开发有限公司 | 用于在计算集群节点之间传送光信号的采用光子互连的计算集群 |
US20080259798A1 (en) * | 2007-04-19 | 2008-10-23 | Fulcrum Microsystems Inc. | Flow and congestion control in switch architectures for multi-hop, memory efficient fabrics |
US20090300209A1 (en) * | 2008-06-03 | 2009-12-03 | Uri Elzur | Method and system for path based network congestion management |
US20100061242A1 (en) * | 2008-09-11 | 2010-03-11 | Pradeep Sindhu | Methods and apparatus related to a flexible data center security architecture |
CN102487358A (zh) * | 2010-12-01 | 2012-06-06 | 丛林网络公司 | 用于与交换机结构相关的流控制的方法和装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115208842A (zh) * | 2022-07-29 | 2022-10-18 | 苏州特思恩科技有限公司 | 一种基于10g以太网的低延迟装置使用方法 |
CN115208842B (zh) * | 2022-07-29 | 2024-05-14 | 苏州特思恩科技有限公司 | 一种基于10g以太网的低延迟装置使用方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105229976B (zh) | 2018-11-09 |
US9270600B2 (en) | 2016-02-23 |
US20150188821A1 (en) | 2015-07-02 |
DE112013006417B4 (de) | 2023-04-27 |
US20140198638A1 (en) | 2014-07-17 |
DE112013006417T5 (de) | 2015-10-15 |
WO2014108773A1 (en) | 2014-07-17 |
US9014005B2 (en) | 2015-04-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105229976A (zh) | 数据中心使用的低延迟无损交换结构 | |
US10637773B2 (en) | Service chain header and metadata transport | |
US11422839B2 (en) | Network policy implementation with multiple interfaces | |
US9584418B2 (en) | Quantized congestion notification for computing environments | |
CN106293957B (zh) | 内容中心网络中的灵活命令和控制 | |
US20160173535A1 (en) | Context-aware network service policy management | |
US11637771B2 (en) | Technologies for managing network traffic through heterogeneous networks | |
US9385948B2 (en) | Packet processing method, device and system | |
US9571410B2 (en) | Credit-based link level flow control and credit exchange using DCBX | |
CN103944836B (zh) | 用于转发流量的系统和方法 | |
KR20150123185A (ko) | 다중 경로 송신 제어 프로토콜 연결을 사용하여 데이터를 전송하는 장치 및 방법 | |
US20200028779A1 (en) | Packet processing method and apparatus | |
CN117882431A (zh) | 在5g网络中对分组有效载荷数据进行选择性压缩 | |
CN110447207B (zh) | 反应式路径选择的系统和方法 | |
KR101598775B1 (ko) | 소프트웨어 정의 네트워크에서 패킷을 다중경로를 통해 전송하기 위한 제어방법 및 장치 | |
KR101679224B1 (ko) | Sdn 기반의 트래픽 분배 가능한 네트워크 시스템 | |
CN114189890A (zh) | 更新网络服务质量模型的方法、装置、设备及存储介质 | |
KR102021671B1 (ko) | SDN에서 애플리케이션 레이어의 통신을 위한 노스바운드 API로써의 gRPC | |
KR20160139591A (ko) | 라우팅 방법 및 그 장치 | |
KR102024267B1 (ko) | 탄력적 침입 탐지 시스템 및 그 동작 방법 | |
TWI835205B (zh) | 5g網路中之封包酬載資料之選擇性壓縮 | |
JP7456603B2 (ja) | スイッチ装置 | |
US20160094442A1 (en) | Protocol independent multicast (pim) register message transmission |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20200825 Address after: 23 / F, Lincoln building, 979 King's road, Quarry Bay, Hong Kong, China Patentee after: Lenovo Global Technology International Co.,Ltd. Address before: Singapore City Patentee before: Lenovo Enterprise Solutions (Singapore) Pte. Ltd. |
|
TR01 | Transfer of patent right |