CN102185725A - 一种缓存的管理方法、装置和网络交换设备 - Google Patents
一种缓存的管理方法、装置和网络交换设备 Download PDFInfo
- Publication number
- CN102185725A CN102185725A CN2011101441953A CN201110144195A CN102185725A CN 102185725 A CN102185725 A CN 102185725A CN 2011101441953 A CN2011101441953 A CN 2011101441953A CN 201110144195 A CN201110144195 A CN 201110144195A CN 102185725 A CN102185725 A CN 102185725A
- Authority
- CN
- China
- Prior art keywords
- port
- space
- switching equipment
- buffer memory
- network switching
- 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
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种缓存的管理方法、装置和网络交换设备。其中方法包括:将网络交换设备的缓存划分为静态空间和动态空间;将所述静态空间的缓存固定分配给所述网络交换设备的每个端口;在所述网络交换设备的端口发生拥塞时,从动态空间中分配缓存给该端口;以及在发生拥塞的端口恢复正常时,将之前从动态空间中为该端口分配的缓存回收至所述动态空间。本发明在不提高缓存的空间大小的前提下,既能够保证未发生拥塞的端口的数据交换需求,又能够保证发生拥塞的端口及时转发数据的需求,并且对网络交换设备缓存的大小的硬件要求不高,实现了以较低的成本较好地解决了网络交换设备的拥塞问题。
Description
技术领域
本发明涉及网络通信领域,尤其涉及一种缓存(Buffer)的管理方法、装置和网络交换设备。
背景技术
在现代化的数据中心网络中,各种拥塞越来越普遍。如图1所示的是搜索引擎的数据中心的网络架构图,其查询过程包括:查询服务器将搜索关键字(KEY)通过分割(或并行key,不分割)传递到检索服务器集群(由检索服务器1~n组成)。检索服务器集群通过查询本地和远程服务器得到搜索结果。检索服务器集群通过数据中心网络(包括数据中心接入层和核心层)将搜索结果返回给查询服务器。
在搜索的过程中,所有的检索服务器将搜索结果返回给某个查询服务器例如查询服务器2,设每个检索服务器返回60KB的结果,由于所有检索服务器都是并行搜索,一台检索服务器并不知道其他检索服务器何时搜索完,何时返回结果(不用关心),因此很可能面临的局面是大部分检索服务器在某个时候同时返回结果,这时可能出现查询服务器的接入交换机的入口的带宽大于出口的带宽的情况,即发生拥塞,并由此引发报文丢包、重传,重传还可能再导致拥塞丢包,如此恶性循环,导致整个搜索引擎的数据中心的检索性能大大降低。
为了解决拥塞带来的丢包、重传的问题,当前常用的方案包括:
全面提高拥塞端口的带宽。即将数据中心网络中可能拥塞的端口带宽都提高,例如将查询服务器和接入交换机之间带宽提高,例如将1GE扩展至10GE,然而由于拥塞并不是固定发生的,具有一定的随机性,它们之间的端口大部分时间都是空闲的,当且仅当返回搜索结果时才会发生拥塞,并且该数据中心网络中的拥塞通常都是随机产生的,在不同的网络传输阶段拥塞点会不同,例如返回结果时拥塞点发生在查询服务器和接入交换机之间,但是若多台查询服务器并发执行多条查询任务,则拥塞点就发生在检索服务器集群和接入交换机之间。虽然提高拥塞点的带宽能解决拥塞问题,但是由于拥塞的随机性,如果对所有可能发生拥塞的地方都通过提高带宽的方式来解决拥塞,显然代价很高。
改善端口的缓存能力,通过对缓存(BUFFER)管理实现,由于传统的交换机的BUFFER管理比较简单,依然无法解决上述拥塞导致的丢包、重传等问题。
发明内容
本发明实施例提供的一种缓存的管理方法、装置和网络交换设备,用以解决现有网络设备发生拥塞导致的丢包、重传等问题。
本发明实施例提供的一种缓存的管理的方法,包括:
将网络交换设备的缓存划分为静态空间和动态空间;
将所述静态空间的缓存固定分配给所述网络交换设备的每个端口;
在所述网络交换设备的端口发生拥塞时,从动态空间中分配缓存给该端口;以及
在发生拥塞的端口恢复正常时,将之前从动态空间中为该端口分配的缓存回收至所述动态空间。
本发明实施例提供的一种缓存的管理装置,包括:
划分模块,用于将网络交换设备的缓存划分为静态空间和动态空间;
分配模块,用于将所述静态空间的缓存固定分配给所述网络交换设备的每个端口;以及在所述网络交换设备的端口发生拥塞时,从动态空间中分配缓存给该端口;
回收模块,用于当发生拥塞的端口恢复正常时,将之前从动态空间中为该端口分配的缓存回收至所述动态空间。
本发明实施例提供的网络交换设备,包括本发明实施例提供的上述缓存的管理装置。
本发明实施例的有益效果包括:
本发明实施例提供的缓存的管理方法、装置和网络交换设备,将网络交换设备的缓存划分为静态空间和动态空间,并将静态空间的缓存固定分配给网络交换设备的每个端口,在网络交换设备的端口发生拥塞时,从动态空间中分配缓存给该端口,当发生拥塞的端口的报文已经被转发出去,发生拥塞的端口不再拥塞,则将从动态空间获取到的缓存归还给动态空间,各个端口共享动态空间,这样的固定缓存分配+动态缓存分配的方式,可以实现在不提高缓存的空间大小的前提下,既能够保证未发生拥塞的端口的数据交换需求,又能够保证发生拥塞的端口及时转发数据的需求,对网络交换设备缓存的大小的硬件要求不高,以较低的成本较好地解决了网络交换设备的拥塞所导致的丢包、重传等问题。
附图说明
图1为现有搜索引擎的数据中心的网络架构图;
图2为本发明实施例提供的缓存的管理方法的流程图;
图3为本发明实施例提供的缓存的管理装置的结构示意图;
图4为本发明实施例提供的划分模块的结构示意图。
具体实施方式
下面结合附图,对本发明实施例提供的一种缓存的管理方法、装置和网络交换设备的具体实施方式进行详细地说明。
本发明实施例提供的缓存的管理方法,如图2所示,包括如下几个步骤:
S201、将网络交换设备的缓存划分为静态空间和动态空间;
S202、将静态空间固定分配给网络交换设备的每个端口;
S203、监测网络交换设备的端口是否发生拥塞,如果是,执行下述步骤S204;否则,重复执行步骤S203;
S204、从动态空间中分配缓存给发生拥塞的端口;
S205、检测发生拥塞的端口是否恢复正常,是,则执行下述步骤S206;若否,重复执行步骤S205;
S206、将之前从动态空间中为该端口分配的缓存回收至所述动态空间。
之所以本发明实施例提供的缓存管理方法采用固定的静态缓存和动态分配的动态缓存结合的方式,是因为,发明人在解决网络交换设备的拥塞问题的过程中发现,如果单纯采用将网络交换设备的物理缓存固定分配给每个端口的方式,如果要满足每个端口出现拥塞时不出现丢包、重传等问题,那么所需端口的物理缓存会非常大,以一台拥有80GE(千兆口)+10XGE(万兆口)配置的接入交换机为例,其中,每个端口要实现拥塞时不出现丢包、重传等问题,其能够缓存的最大报文量(也即所需缓存的大小)使用下述公式计算:B=RTT*BW,其中:
RTT(TCP Round trip time)为TCP规定的往返时延最大值,即TCP协议规定的从发送TCP报文到接收到对端针对该报文返回的ACK报文之间时延的最大值;
BW为该端口的带宽值。
具体来说,为保证单个千兆口拥塞时不出现丢包、重传等问题,至少需要B(GE)=200ms*1Gbps=25MB的大小。
为保证单个万兆口在拥塞时不出现丢包、重传等问题,至少需要B(XGE)=200ms*10Gbps=250MB的大小。
那么为了满足网络交换设备中每个端口在拥塞的时候都不出现丢包、重传等问题,上述接入交换机所需的缓存的大小不小于:80*25MB+250MB*10=4.5GB。这种大小的物理缓存目前不仅很难实现,而且如果能够实现也会导致成本很高。
反之,如果对于每个发生拥塞的端口,如果为了避免在发生拥塞的时候不出现丢包、重传等问题,按照其需求进行缓存的分配,则很可能导致发生拥塞的端口耗尽该网络交换设备所有的缓存,而没有发生拥塞的端口甚至连完成正常交换所需的缓存也无法满足。例如目前拥有4GB缓存的交换机来说,若同时有10个万兆口和60个千兆口同时拥塞,或16万兆口同时拥塞,就会耗光全部的缓存,其他端口无法再正常进行交换。
因此,本发明实施例中,对于每个端口,为其固定分配一定数量的缓存,这些固定分配的缓存能够保证端口在无拥塞的情况下,都能够正常进行交换,避免发生拥塞的端口耗尽所有缓存,使得未发生拥塞的端口无法正常交换的问题。对于发生拥塞的端口,从动态空间中分配适宜数量的缓存使得其能够有足够的缓存来转发拥塞的报文,当发生拥塞的端口的报文已经被转发出去,发生拥塞的端口不再拥塞,则将从动态空间获取到的缓存归还给动态空间,也就是说,动态空间是各个端口共享的,只有在端口发生拥塞的过程中才会分配,这样,不仅能够有效解决拥塞导致的丢包、重传的问题,而且由于是多个端口共享动态空间的缓存,动态空间的大小不需要特别庞大,目前一般网络交换设备的硬件条件就能够满足。
下面对本发明实施例提供的上述缓存的管理方法的各个步骤进行详细的说明。
上述步骤S201中,较佳地,在网络交换设备的初始化的过程中,首先根据网络交换设备的端口数量,以及设定的保证各端口正常交换的缓存大小,确定静态空间的大小;
将网络交换设备的缓存总的大小,减去所述静态空间的大小,得到动态空间的大小;
按照所述静态空间的大小和动态空间的大小,将所述缓存划分为静态空间和动态空间。
举例来说,如果网络交换设备的每个端口需要正常交换所需的缓存为100KB,而该网络交换设备有80个千兆口,10个万兆口,那么静态空间的大小等于:(80+10)*100KB=9MB;
动态空间的大小等于:4GB-9MB=4087MB。
上述步骤S202中,静态空间的分配,一般在网络交换设备的初始化的过程中完成,可以采用均匀分配给每个端口的方式,也可以采用参照端口的权重值不均匀分配的方式,例如可以通过预先设置的业务流上行和下行方向优先级权重值的配置,先确定上行和下行方向上各端口的权重值(如果业务流上行具有较高的优先级权重值,那么相应的该上行的各个端口也具有相应地较高的优先级权重值,反之亦然),然后根据各端口的优先级权重值的大小,分配相应的数量的缓存给每个端口,优先级权重值较高的端口,从静态空间中分配的缓存的数量也相应较大。
在网络交换设备的初始化的过程中,还需要执行下述步骤:
根据每个端口的类型,设置每个端口的尾部丢弃值(Tail Drop),Tail Drop指的是该端口能够从动态空间分配到的缓存的最大值。
有了上述设置之后,在上述步骤S203-S204中,一旦某个端口出现了拥塞,根据该端口拥塞的报文的大小,从动态空间中分配大小不超过该端口的Tail Drop的缓存给该端口;假设某个万兆口的Tail Drop为250MB,其拥塞的报文为240MB,则从动态空间中分配240MB的缓存给该端口,假设其拥塞的报文大于250MB,那么按照该端口的Tail Drop,也只能从动态空间中分配250MB的缓存给该端口。
具体来说,Tail Drop通过下述公式来计算:
Tail Drop=RTT*BW其中:
Tail Drop为尾部丢弃值;
RTT为TCP协议规定的往返时延的最大值;
BW为该端口的带宽值。
例如千兆口的Tail Drop的计算过程:Tail Drop(GE)=200ms*1Gbps=25MB。
在初始化过程中计算出的Tail Drop,对于拥塞点不是特别多的情况,能够有效地解决每一个发生拥塞的端口的数据交换问题,但是对于发生拥塞端口的数量特别多,例如超过设定的阈值时,使用初始化过程中设置的Tail Drop,已经无法满足每一个发生拥塞的端口的交换需求,则需要采用下面的机制对TailDrop进行调整,优先满足紧要程度较高的业务流的交换需求:
使用网络交换机的各端口的优先级权重值进行调整,也就是优先将动态空间分配给优先级权重值较高的端口。
具体来说,端口的优先级权重值,跟其交换的业务的紧要程度有关,如果某个业务流的上行方向业务紧要程度大于下行方向业务紧要程度,以图1所示的搜索引擎的数据中心的网络架构为例来说,该数据中心需要优先保证查询结果返回的及时性和准确性,那么显然接入交换机的上行方向业务流比下行方向的紧要程度更高,相应的权重值也更高,那么相应地,该网络设备上行方向的端口(上行方向通常采用同一类型的端口)的优先级权重值也会高于下行方向的端口(下行方向通常也采用同一类型的端口)的优先级权重值。较佳地,在本发明实施例中,可以预先设定一个标准端口以及该标准端口的Tail Drop,在拥塞端口数量超过设定的阈值时,可以针对网络交换设备的每个端口,根据该端口与预先设定的标准端口之间优先级权重值之比以及该标准端口的尾部丢弃值,重新计算该端口对应的尾部丢弃值。
举例来说,假设设定一个标准端口,其传输速度为10Gbps(显然该标准端口为万兆口),该标准端口的Tail Drop等于100MB。
假设该网络设备中,根据业务流方向的紧要程度,设置下行方向的千兆口和上行方向的万兆口的优先级权重值之比为1∶10,与该标准端口对照,可以得出,下行方向的千兆口的Tail Drop应调整为10MB,而上行方向的万兆口的Tail Drop应调整为100MB,均比初始化时设置的小。
上面仅以万兆口作为标准端口为例,在具体实施时,还可以根据实际优先级权重的情况,设置千兆口为标准口,来调整该网络设备的各端口的Tail Drop。
此后,将更新后的尾部丢弃值作为能够从动态空间获取到缓存的大小的最大值,从动态空间中分配缓存给发生拥塞的各个端口。
以上以上行方向业务紧要程度大于下行方向业务紧要程度的例子进行说明,本发明实施例中,还可能出现下行方向的业务紧要程度大于上行方向的紧要程度,或者两者紧要程度相当的情况,后面的两种情况中,尾部丢弃值的具体调整方式与上述方式类似,在此不再赘述。
为了更合理地划分静态空间和动态空间,本发明实施例提供的缓存的管理方法,在收到业务静态空间扩展的命令时(往往是某个业务的数据交换需要较大的静态空间的情况),根据所述命令中静态空间大小的需求量,重新划分静态空间和动态空间;以及
周期性对静态空间的使用情况进行监测,当网络交换设备大多数或者所有端口缓存的报文均低于所分配的静态空间的大小时,例如可以设定一旦超过设定的数量的端口缓存的报文低于所分配的静态空间,那么就可以触发重新划分静态空间和动态空间的操作。
下面以一个简单的实例来说明使用本发明实施例提供的缓存的管理方法的技术效果:
如图1所示的搜索引擎数据中心的例子,该数据中心包括N台查询服务器和n台检索服务器组成的搜索引擎数据中心,假设N=100,n=1000。其中,查询服务器响应外部的搜索请求,检索服务器响应查询服务器的请求,并将检索结果返回给查询服务器。
假设每台检索服务器返回20KB的检索结果,且1000台检索服务器并行运作,各自返回结果到查询服务器,则返回结果的数据量为:20KB*1000=20MB。由于检索服务并行协作,每台服务器不用知道其它服务器检索结果,因此它们极有可能同时返回检索结果,对于与检索服务器2相连的接入交换机(假设查询任务是由查询服务器2发出的)中存在一个2个万兆口向1个千兆口发送业务数据流的情况(数据流大小为20MB),此时:
传输的数据量D=20MB;
输入带宽B1=20Gps;
输出带宽BE=1Gps;
那么为了在该接入交换机中不产生拥塞,那么所需的缓存为Buffer=D*(1-BE/B1)=20MB*(1-1/20)=19MB。
如果采用本发明实施例提供的上述缓存的管理方法,对于万兆口来说,其能够分配到的动态缓存为250MB(还可以动态调整),对于千兆口来说,其能够分配到的动态缓存为为25MB(还可以动态调整),都远远大于该19MB的大小,因此,可以很好地完成数据的交换,而避免拥塞所导致的数据丢包,重传等。而传统的交换机,其端口的缓存量一般最大为几百KB,遇到上述业务数据流的情况,必然大部分数据都需要重传(重传的过程可能还会发生拥塞),丢包的可能性也大大增加。
基于同一发明构思,本发明实施例还提供了一种缓存的管理装置及网络交换设备,由于该装置和设备所解决问题的原理与前述缓存的管理方法相似,因此该装置和设备的实施可以参见前述方法的实施,重复之处不再赘述。
本发明实施例提供的缓存的管理装置,如图3所示,包括:
划分模块301,用于将网络交换设备的缓存划分为静态空间和动态空间;
分配模块302,用于将所述静态空间的缓存固定分配给所述网络交换设备的每个端口;以及在所述网络交换设备的端口发生拥塞时,从动态空间中分配缓存给该端口;
回收模块303,用于当发生拥塞的端口恢复正常时,将之前从动态空间中为该端口分配的缓存回收至所述动态空间。
进一步地,上述缓存的管理装置中的划分模块301,如图4所示,具体包括:
空间大小确定子模块3011,用于根据所述网络交换设备的端口数量,以及设定的保证各端口正常交换的缓存大小,确定静态空间的大小;将网络交换设备的缓存总的大小,减去所述静态空间的大小,得到动态空间的大小;
划分子模块3012,用于按照所述静态空间的大小和动态空间的大小,将所述缓存划分为静态空间和动态空间。
进一步地,上述缓存的管理装置中的分配模块302,具体用于在所述网络交换设备初始化时,将所述静态空间的缓存等分分配给所述网络交换设备的每个端口;或者按照预先设置的各端口优先级权重值的配置,将所述静态空间的缓存分配给所述网络交换设备的每个端口。
更进一步地,上述缓存的管理装置中的分配模块302,具体用于在所述网络交换设备初始化时,将所述静态空间的缓存等分分配给所述网络交换设备的每个端口;或者按照预先设置的业务流上行和下行方向优先级权重值的配置,将所述静态空间的缓存分配给所述网络交换设备上行方向和下行方向的每个端口。
较佳地,上述缓存的管理装置,如图3所示,还包括:尾部丢弃值设置模块304,用于在所述网络交换设备初始化时,根据每个端口的类型,设置每个端口的尾部丢弃值,所述尾部丢弃值为该端口能够从所述动态空间分配到的缓存的最大值;
相应地,分配模块302,还用于根据该端口中拥塞的报文的大小,从所述动态空间中分配大小不超出该端口的尾部丢弃值的缓存给该端口。
具体地,上述尾部丢弃值设置模块304,还用于在所述网络交换设备初始化时,根据下述公式计算每个端口的尾部丢弃值:Tail Drop=RTT*BW其中:
Tail Drop为尾部丢弃值;
RTT为TCP协议规定的往返时延的最大值;
BW为该端口的带宽值。
进一步地,上述尾部丢弃值设置模块304,还用于在发生拥塞的端口的数量超出设定的阈值时,根据网络交换设备各端口的优先级权重值,重新计算并更新每个端口的尾部丢弃值;
相应地,分配模块302,还用于根据发生拥塞的端口中拥塞的报文的大小,从所述动态空间中分配大小不超出该端口的更新后的尾部丢弃值的缓存给该端口。
进一步地,尾部丢弃值设置模块304,具体用于针对网络交换设备的每个端口,根据该端口与预先设定的标准端口之间优先级权重值之比以及该标准端口的尾部丢弃值,重新计算该端口对应的尾部丢弃值。
进一步地,本发明实施例提供的缓存的管理装置的划分模块301,还用于在收到业务静态空间扩展的命令时,根据所述命令中静态空间大小的需求量,重新划分静态空间和动态空间;以及周期性对静态空间的使用情况进行监测,当所述网络交换设备存在超过设定数量的端口缓存的报文低于所分配的静态空间的大小时,重新划分静态空间和动态空间。
本发明实施例还提供了一种网络交换设备,该网络交换设备包括本发明实施例提供的上述缓存的管理装置。
本发明实施例提供的缓存的管理方法、装置和网络交换设备,将网络交换设备的缓存划分为静态空间和动态空间,并将静态空间的缓存固定分配给网络交换设备的每个端口,当发生拥塞的端口的报文已经被转发出去,发生拥塞的端口不再拥塞,则将从动态空间获取到的缓存归还给动态空间,各个端口共享动态空间,在网络交换设备的端口发生拥塞时,从动态空间中分配缓存给该端口,这样的固定缓存分配+动态缓存分配的方式,可以实现在不提高缓存的空间大小的前提下,既能够保证未发生拥塞的端口的数据交换需求,又能够保证发生拥塞的端口及时转发数据的需求,并且对网络交换设备缓存的大小的硬件要求不高,实现了以较低的成本较好地解决了网络交换设备的拥塞导致的丢包、重传等问题。
更优地,本发明实施例提供的上述缓存的管理方法、装置和网络交换设备,在网络交换设备的拥塞点较多时,调整为每个拥塞点分配动态缓存的大小,使得紧要程度较高的业务流方向上的端口获得较大的缓存,尽量满足其转发数据的要求,降低关键业务流因拥塞丢包和重传的几率,进一步提高了缓存管理的灵活性,保障了网络交换设备的性能。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (17)
1.一种缓存的管理方法,其特征在于,包括:
将网络交换设备的缓存划分为静态空间和动态空间;
将所述静态空间的缓存固定分配给所述网络交换设备的每个端口;
在所述网络交换设备的端口发生拥塞时,从动态空间中分配缓存给该端口;以及
在发生拥塞的端口恢复正常时,将之前从动态空间中为该端口分配的缓存回收至所述动态空间。
2.如权利要求1所述的方法,其特征在于,将缓存划分为静态空间和动态空间,包括:
根据所述网络交换设备的端口数量,以及设定的保证各端口正常交换的缓存大小,确定静态空间的大小;
将网络交换设备的缓存总的大小,减去所述静态空间的大小,得到动态空间的大小;
按照所述静态空间的大小和动态空间的大小,将所述缓存划分为静态空间和动态空间。
3.如权利要求1或2所述的方法,其特征在于,将静态空间的缓存固定分配给网络交换设备的每个端口,包括:
在所述网络交换设备初始化时,将所述静态空间的缓存等分分配给所述网络交换设备的每个端口;
或者按照预先设置的端口优先级权重值的配置,将所述静态空间的缓存分配给所述网络交换设备的每个端口。
4.如权利要求1或2所述的方法,其特征在于,还包括:
在所述网络交换设备初始化时,根据每个端口的类型,设置每个端口的尾部丢弃值,所述尾部丢弃值为该端口能够从所述动态空间分配到的缓存的最大值;
从动态空间中分配缓存给该端口,具体包括:
根据该端口中拥塞的报文的大小,从所述动态空间中分配大小不超出该端口的尾部丢弃值的缓存给该端口。
5.如权利要求4所述的方法,其特征在于,在所述网络交换设备初始化时,根据每个端口的类型,设置每个端口的尾部丢弃值,通过下述公式计算:
Tail Drop=RTT*BW其中:
Tail Drop为尾部丢弃值;
RTT为TCP协议规定的往返时延的最大值;
BW为该端口的带宽值。
6.如权利要求4所述的方法,其特征在于,还包括:
在发生拥塞的端口的数量超出设定的阈值时,根据网络交换设备各端口的优先级权重值,重新计算并更新每个端口的尾部丢弃值;以及
根据发生拥塞的端口中拥塞的报文的大小,从所述动态空间中分配大小不超出该端口的更新后的尾部丢弃值的缓存给该端口。
7.如权利要求6所述的方法,其特征在于,根据网络交换设备的各端口优先级权重值,重新计算并更新每个端口的尾部丢弃值,包括:
针对网络交换设备的每个端口,根据该端口与预先设定的标准端口之间优先级权重值之比以及该标准端口的尾部丢弃值,重新计算该端口对应的尾部丢弃值。
8.如权利要求1或2所述的方法,其特征在于,还包括:
在收到业务静态空间扩展的命令时,根据所述命令中静态空间大小的需求量,重新划分静态空间和动态空间;以及
周期性对静态空间的使用情况进行监测,当所述网络交换设备存在超过设定数量的端口缓存的报文低于所分配的静态空间的大小时,重新划分静态空间和动态空间。
9.一种缓存的管理装置,其特征在于,包括:
划分模块,用于将网络交换设备的缓存划分为静态空间和动态空间;
分配模块,用于将所述静态空间的缓存固定分配给所述网络交换设备的每个端口;以及在所述网络交换设备的端口发生拥塞时,从动态空间中分配缓存给该端口;
回收模块,用于当发生拥塞的端口恢复正常时,将之前从动态空间中为该端口分配的缓存回收至所述动态空间。
10.如权利要求9所述的装置,其特征在于,所述划分模块,具体包括:
空间大小确定子模块,用于根据所述网络交换设备的端口数量,以及设定的保证各端口正常交换的缓存大小,确定静态空间的大小;将网络交换设备的缓存总的大小,减去所述静态空间的大小,得到动态空间的大小;
划分子模块,用于按照所述静态空间的大小和动态空间的大小,将所述缓存划分为静态空间和动态空间。
11.如权利要求9或10所述的装置,其特征在于,所述分配模块,具体用于在所述网络交换设备初始化时,将所述静态空间的缓存等分分配给所述网络交换设备的每个端口;或者按照预先设置的各端口优先级权重值的配置,将所述静态空间的缓存分配给所述网络交换设备的每个端口。
12.如权利要求9或10所述的装置,其特征在于,还包括:尾部丢弃值设置模块,用于在所述网络交换设备初始化时,根据每个端口的类型,设置每个端口的尾部丢弃值,所述尾部丢弃值为该端口能够从所述动态空间分配到的缓存的最大值;
所述分配模块,还用于根据该端口中拥塞的报文的大小,从所述动态空间中分配大小不超出该端口的尾部丢弃值的缓存给该端口。
13.如权利要求12所述的装置,其特征在于,所述尾部丢弃值设置模块,在所述网络交换设备初始化时,还用于根据下述公式计算每个端口的尾部丢弃值:Tail Drop=RTT*BW其中:
Tail Drop为尾部丢弃值;
RTT为TCP协议规定的往返时延的最大值;
BW为该端口的带宽值。
14.如权利要求12所述的装置,其特征在于,尾部丢弃值设置模块,还用于在发生拥塞的端口的数量超出设定的阈值时,根据网络交换设备各端口的优先级权重值,重新计算并更新每个端口的尾部丢弃值;
所述分配模块,还用于根据发生拥塞的端口中拥塞的报文的大小,从所述动态空间中分配大小不超出该端口的更新后的尾部丢弃值的缓存给该端口。
15.如权利要求14所述的装置,其特征在于,所述尾部丢弃值设置模块,具体用于针对网络交换设备的每个端口,根据该端口与预先设定的标准端口之间优先级权重值之比以及该标准端口的尾部丢弃值,重新计算该端口对应的尾部丢弃值。
16.如权利要求9或10所述的装置,其特征在于,所述划分模块,还用于在收到业务静态空间扩展的命令时,根据所述命令中静态空间大小的需求量,重新划分静态空间和动态空间;以及周期性对静态空间的使用情况进行监测,当所述网络交换设备存在超过设定数量的端口缓存的报文低于所分配的静态空间的大小时,重新划分静态空间和动态空间。
17.一种网络交换设备,其特征在于,所述网络交换设备包括如权利要求9-16任一项所述的缓存的管理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011101441953A CN102185725A (zh) | 2011-05-31 | 2011-05-31 | 一种缓存的管理方法、装置和网络交换设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011101441953A CN102185725A (zh) | 2011-05-31 | 2011-05-31 | 一种缓存的管理方法、装置和网络交换设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102185725A true CN102185725A (zh) | 2011-09-14 |
Family
ID=44571798
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011101441953A Pending CN102185725A (zh) | 2011-05-31 | 2011-05-31 | 一种缓存的管理方法、装置和网络交换设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102185725A (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102404213A (zh) * | 2011-11-18 | 2012-04-04 | 盛科网络(苏州)有限公司 | 报文缓存管理方法及系统 |
CN102404219A (zh) * | 2011-11-25 | 2012-04-04 | 北京星网锐捷网络技术有限公司 | 一种分配缓存的方法、装置及网络设备 |
CN102413190A (zh) * | 2011-12-19 | 2012-04-11 | 广东电子工业研究院有限公司 | 一种基于云计算的网络架构及其虚拟网络管理方法 |
CN102750229A (zh) * | 2012-05-30 | 2012-10-24 | 福建星网锐捷网络有限公司 | 缓存空间配置方法及装置 |
CN103235763A (zh) * | 2013-03-23 | 2013-08-07 | 中国水利电力物资有限公司 | 风电机组数据接口缓存方法和系统 |
CN104717152A (zh) * | 2013-12-17 | 2015-06-17 | 深圳市中兴微电子技术有限公司 | 一种实现接口缓存动态分配的方法和装置 |
CN105610729A (zh) * | 2014-11-19 | 2016-05-25 | 中兴通讯股份有限公司 | 一种缓存分配方法、装置及网络处理器 |
CN105653206A (zh) * | 2015-12-29 | 2016-06-08 | 上海华力创通半导体有限公司 | 数字图像处理电路及其数据读写方法 |
WO2017000673A1 (zh) * | 2015-06-29 | 2017-01-05 | 深圳市中兴微电子技术有限公司 | 一种共享缓存分配方法、装置及计算机存储介质 |
CN107547442A (zh) * | 2016-06-27 | 2018-01-05 | 南京中兴软件有限责任公司 | 数据传输缓存队列分配方法及装置 |
CN108009245A (zh) * | 2017-11-30 | 2018-05-08 | 平安养老保险股份有限公司 | 产品价值获取方法、装置、计算机设备及存储介质 |
CN108023828A (zh) * | 2017-11-30 | 2018-05-11 | 黄力 | 一种共享动态缓冲的MPNoC路由器 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1444812A (zh) * | 2000-07-24 | 2003-09-24 | 睦塞德技术公司 | 减少共享存储器交换机中的存储池不足的方法和装置 |
CN1593044A (zh) * | 2001-09-27 | 2005-03-09 | 超级芯片有限公司 | 在包交换装置中用于避免拥堵的方法和系统 |
-
2011
- 2011-05-31 CN CN2011101441953A patent/CN102185725A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1444812A (zh) * | 2000-07-24 | 2003-09-24 | 睦塞德技术公司 | 减少共享存储器交换机中的存储池不足的方法和装置 |
CN1593044A (zh) * | 2001-09-27 | 2005-03-09 | 超级芯片有限公司 | 在包交换装置中用于避免拥堵的方法和系统 |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102404213B (zh) * | 2011-11-18 | 2014-09-10 | 盛科网络(苏州)有限公司 | 报文缓存管理方法及系统 |
CN102404213A (zh) * | 2011-11-18 | 2012-04-04 | 盛科网络(苏州)有限公司 | 报文缓存管理方法及系统 |
CN102404219A (zh) * | 2011-11-25 | 2012-04-04 | 北京星网锐捷网络技术有限公司 | 一种分配缓存的方法、装置及网络设备 |
CN102404219B (zh) * | 2011-11-25 | 2014-07-30 | 北京星网锐捷网络技术有限公司 | 一种分配缓存的方法、装置及网络设备 |
CN102413190A (zh) * | 2011-12-19 | 2012-04-11 | 广东电子工业研究院有限公司 | 一种基于云计算的网络架构及其虚拟网络管理方法 |
CN102750229A (zh) * | 2012-05-30 | 2012-10-24 | 福建星网锐捷网络有限公司 | 缓存空间配置方法及装置 |
CN102750229B (zh) * | 2012-05-30 | 2015-08-19 | 福建星网锐捷网络有限公司 | 缓存空间配置方法及装置 |
CN103235763A (zh) * | 2013-03-23 | 2013-08-07 | 中国水利电力物资有限公司 | 风电机组数据接口缓存方法和系统 |
EP3023880A4 (en) * | 2013-12-17 | 2016-11-30 | Zte Microelectronics Technology Co Ltd | METHOD, DEVICE AND COMPUTER MEMORY MEDIUM FOR IMPLEMENTING A DYNAMIC CACHE ASSIGNMENT OF AN INTERFACE |
CN104717152A (zh) * | 2013-12-17 | 2015-06-17 | 深圳市中兴微电子技术有限公司 | 一种实现接口缓存动态分配的方法和装置 |
CN104717152B (zh) * | 2013-12-17 | 2019-07-19 | 深圳市中兴微电子技术有限公司 | 一种实现接口缓存动态分配的方法和装置 |
US10142435B2 (en) | 2013-12-17 | 2018-11-27 | Sanechips Technology Co., Ltd. | Method, device and computer storage medium for implementing interface cache dynamic allocation |
WO2016078341A1 (zh) * | 2014-11-19 | 2016-05-26 | 中兴通讯股份有限公司 | 一种缓存分配方法、装置及网络处理器 |
CN105610729A (zh) * | 2014-11-19 | 2016-05-25 | 中兴通讯股份有限公司 | 一种缓存分配方法、装置及网络处理器 |
WO2017000673A1 (zh) * | 2015-06-29 | 2017-01-05 | 深圳市中兴微电子技术有限公司 | 一种共享缓存分配方法、装置及计算机存储介质 |
CN106330770A (zh) * | 2015-06-29 | 2017-01-11 | 深圳市中兴微电子技术有限公司 | 一种共享缓存分配方法及装置 |
CN105653206B (zh) * | 2015-12-29 | 2018-09-28 | 上海华力创通半导体有限公司 | 数字图像处理电路及其数据读写方法 |
CN105653206A (zh) * | 2015-12-29 | 2016-06-08 | 上海华力创通半导体有限公司 | 数字图像处理电路及其数据读写方法 |
CN107547442A (zh) * | 2016-06-27 | 2018-01-05 | 南京中兴软件有限责任公司 | 数据传输缓存队列分配方法及装置 |
CN108009245A (zh) * | 2017-11-30 | 2018-05-08 | 平安养老保险股份有限公司 | 产品价值获取方法、装置、计算机设备及存储介质 |
CN108023828A (zh) * | 2017-11-30 | 2018-05-11 | 黄力 | 一种共享动态缓冲的MPNoC路由器 |
CN108009245B (zh) * | 2017-11-30 | 2021-02-26 | 平安养老保险股份有限公司 | 产品价值获取方法、装置、计算机设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102185725A (zh) | 一种缓存的管理方法、装置和网络交换设备 | |
CN108616458B (zh) | 客户端设备上调度分组传输的系统和方法 | |
CN108768876B (zh) | 一种面向机器学习框架的流量调度方法 | |
US8310934B2 (en) | Method and device for controlling information channel flow | |
US11785113B2 (en) | Client service transmission method and apparatus | |
CN107454017B (zh) | 一种云数据中心网络中混合数据流协同调度方法 | |
CN103023806B (zh) | 共享缓存式以太网交换机的缓存资源控制方法及装置 | |
CN102811176B (zh) | 一种数据流量控制方法和装置 | |
US8989011B2 (en) | Communication over multiple virtual lanes using a shared buffer | |
CN107733813B (zh) | 报文转发方法及装置 | |
Huang et al. | ARS: Cross-layer adaptive request scheduling to mitigate TCP incast in data center networks | |
CN102970242A (zh) | 一种实现负载均衡的方法 | |
CN102223306A (zh) | 一种报文传输方法及装置 | |
EP2608460B1 (en) | Method and device for sending messages | |
CN102957626A (zh) | 一种报文转发方法和装置 | |
CN111224888A (zh) | 发送报文的方法及报文转发设备 | |
US8549193B2 (en) | Data transmission method, device and system | |
CN107332785A (zh) | 一种基于动态工作阈值的有效流量控制方法 | |
CN110460537A (zh) | 基于包集合的数据中心非对称拓扑下流量调度方法 | |
CN110177051A (zh) | 基于流控技术的数据中心拥塞控制方法 | |
CN106101005B (zh) | 一种数据中心网络中基于分组长度的拥塞控制方法 | |
US8966070B1 (en) | System and method of reducing network latency | |
US20130346601A1 (en) | Network device, method of controlling the network device, and network system | |
Gu et al. | Research on congestion control link algorithm of computer network based on sdn | |
Zhang et al. | OSDT: A scalable application-level scheduling scheme for TCP Incast problem |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20110914 |