CN102347891A - 共享缓存的使用方法 - Google Patents
共享缓存的使用方法 Download PDFInfo
- Publication number
- CN102347891A CN102347891A CN2010102454956A CN201010245495A CN102347891A CN 102347891 A CN102347891 A CN 102347891A CN 2010102454956 A CN2010102454956 A CN 2010102454956A CN 201010245495 A CN201010245495 A CN 201010245495A CN 102347891 A CN102347891 A CN 102347891A
- Authority
- CN
- China
- Prior art keywords
- shared
- formation
- piece
- buffer memory
- priority
- 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
技术领域
本发明涉及一种网络通信方法,特别是涉及一种多个队列分享同一个缓存的使用方法。
背景技术
共享缓存是一种网络通信领域常见的资源配置策略,并普遍存在于各种网络通信设备和环境之中。
通常对共享缓存的使用方法是:根据输入输出端口的不同,将进出共享缓存的数据包分为多个队列。每个队列由多个数据包构成。每个数据包先被分为固定长度的信元,然后才能进入共享缓存。在系统负载较重时,各个队列会竞争对共享缓存的使用。此时,流量较大的队列会非常频繁地访问共享缓存,从而大量挤占共享缓存的空间,这会导致其他队列无空间存储而出现丢包现象。
上述缺陷在各个队列根据重要程度分为不同的优先级的情况下更为明显。流量大的队列一般都是低优先级的数据包,而流量小的队列都是高优先级的数据包。现有对共享缓存的使用方法导致低优先级队列抢占了大量的共享缓存空间,而导致高优先级队列丢包,这显然是不符合期望的。
发明内容
本发明所要解决的技术问题是提供一种共享缓存的使用方法,可以根据访问共享缓存的队列的优先级不同,合理分配共享缓存空间。
为解决上述技术问题,本发明共享缓存的使用方法为,将共享缓存划分为共享区域和非共享区域;
所述共享区域按照优先级的数量划分为相应数量的共享块,每个共享块对应于一个优先级的所有队列;
所述非共享区域按照队列的数量划分为相应数量的非共享块,每个非共享块对应于一个队列;
每个队列首先使用该队列所对应的非共享块,其次再使用该队列所属优先级及更低优先级所对应的共享块。
本发明提供了一种根据队列优先级高、低对共享缓存进行分配的管理策略,使得共享缓存的使用更加公平合理,并且逻辑实现简单。
附图说明
图1是本发明共享缓存的使用方法的流程图;
图2是本发明共享缓存的使用方法的示意图。
具体实施方式
共享缓存所能支持的最大队列数量是由共享缓存的输入输出端口数量所决定的。在一个具体的使用环境中,设定使用共享缓存的队列数量为M,M≤共享缓存所能支持的最大队列数量。
在一个具体的使用环境中,设定这M个队列分为N个优先级,N≤M。N<M表示同一个优先级可能具有多个队列。N=M表示每个队列具有不同的优先级。通常优先级固定为8个,而队列数量远大于8个。
为了描述简便,假设优先级的数量越大表示优先级越高,即最低优先级为1,最高优先级为N。
本发明共享缓存的使用方法为:将共享缓存的存储空间划分为共享区域和非共享区域。所述共享区域又划分为N个共享块,这N个共享块分别对应于N个优先级,每个共享块对应于一个优先级的所有队列。优选情况下这N个共享块的容量是相等的,当然也可以设为不同。所述非共享区域又划分为M个非共享块,这M个非共享块分别对应于M个队列,每个非共享块对应于一个队列。优选情况下这M个非共享块的容量是相等的,当然也可以设为不同。
每个队列对共享缓存的使用为:首先使用该队列所对应的非共享块。当该非共享块的容量无法满足需求时,再使用该队列所属优先级及更低优先级所对应的共享块。
进一步地,当一个队列使用非共享块时,先使用最低优先级所对应的共享块,这样按照优先级由低到高的顺序使用各个优先级所对应的共享块,最后使用该队列所属优先级所对应的共享块。
在此方法下,最低优先级的队列只能使用该队列所对应的非共享块,以及对应于最低优先级的一个共享块。最高优先级的队列只能使用该队列所对应的非共享块,以及所有的共享块。
下面举一个具体的实施例对本发明进行详细地说明。一个共享缓存的大小为72信元,每个信元为1KB。使用该共享缓存的队列有8个(即M=8),这8个队列分为8个优先级(即N=8)。
根据本发明所述方法,将共享缓存的存储空间分为共享区域和非共享区域,非共享区域分为8个非共享块,每个非共享块的大小是MIN_S。共享区域也分为8个共享块,每个共享块的大小是SS,每个共享块都有一个统计计数器CNT_S统计该共享块的使用情况。显然0≤CNT_S≤SS。每个队列都有一个统计计数器CNT_Q统计该队列在共享缓存中的总的占用空间大小。上述MIN_S、SS、CNT_S、CNT_Q、CNT_Q_N的单位都是信元。
每个队列都是由一个或多个数据包组成,所有队列的数据包在使用共享缓存时均采用如下方法。
请参阅图1,假设某个队列已经在共享缓存中存储了CNT_Q个信元的数据,此时该队列中新进一个数据包。该数据包在进入缓存之前,首先被分割为1KB大小的信元,假设该数据包分割后得到S个信元。然后设定CNT_Q_N=CNT_Q+S,其中CNT_Q_N表示该队列预备进入共享缓存及已经进入共享缓存的总长度。比较CNT_Q_N和MIN_S大小。如果CNT_Q_N≤MIN_S,表示该队列包括新数据包后仍在该队列所对应的非共享块的容量之内,该数据包存入共享缓存中的该队列所对应的非共享块。如果CNT_Q_N>MIN_S,表示该队列包括新数据包后大于该队列所对应的非共享块的容量,此时继续比较CNT_Q_N和MIN_S+∑SS,其中∑SS表示该队列所属优先级及更低优先级所对应的共享块的容量总和。如果CNT_Q_N≤MIN_S+∑SS,表示该队列包括新数据包后仍在该队列所能在共享缓存上使用的总容量之内,该数据包存入共享缓存中的共享区域或非共享区域。如果CNT_Q_N>MIN_S+∑SS,表示该队列包括新数据包后大于该队列所能在共享缓存上使用的总容量,该队列遂丢弃最新的数据包。
请参阅图2,在一个具体的实施例中,每个共享块的大小等于整个非共享区域的大小,即每个共享块的大小等于所有非共享块的容量总和。在其他实施例中,共享块的大小与非共享块的大小可以任意设置。通常每个非共享块的容量要小于每个共享块的容量,并且是远小于。
根据本发明所述方法,多个队列在使用同一个共享缓存时,每个队列都有一个仅属于自己的最小存储空间(对应于该队列的非共享块),当这个最小存储空间无法满足队列长度时,各个队列可以按照优先级高低得到大小不等的扩展存储空间(该队列所属优先级和更低优先级所对应的共享块)。队列所属优先级越高,所得得到的扩展存储空间就越大,由此使得共享缓存的使用更趋公平合理,从而提高使用效率。
Claims (8)
1.一种共享缓存的使用方法,其特征是,将共享缓存划分为共享区域和非共享区域;
所述共享区域按照优先级的数量划分为相应数量的共享块,每个共享块对应于一个优先级的所有队列;
所述非共享区域按照队列的数量划分为相应数量的非共享块,每个非共享块对应于一个队列;
每个队列首先使用该队列所对应的非共享块,其次再使用该队列所属优先级及更低优先级所对应的共享块。
2.根据权利要求1所述的共享缓存的使用方法,其特征是,最低优先级的队列只能使用该队列所对应的非共享块,以及对应于最低优先级的一个共享块。
3.根据权利要求1所述的共享缓存的使用方法,其特征是,最高优先级的队列只能使用该队列所对应的非共享块,以及所有的共享块。
4.根据权利要求1或2或3所述的共享缓存的使用方法,其特征是,当每个队列在使用共享块时,按照优先级由低至高的顺序使用各个优先级所对应的共享块。
5.根据权利要求1所述的共享缓存的使用方法,其特征是,共享块的数量小于或等于非共享块的数量。
6.根据权利要求1所述的共享缓存的使用方法,其特征是,每个共享块的容量相同。
7.根据权利要求1所述的共享缓存的使用方法,其特征是,每个非共享块的容量相同。
8.根据权利要求6或7所述的共享缓存的使用方法,其特征是,每个共享块的容量等于所述非共享区域的容量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102454956A CN102347891A (zh) | 2010-08-06 | 2010-08-06 | 共享缓存的使用方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102454956A CN102347891A (zh) | 2010-08-06 | 2010-08-06 | 共享缓存的使用方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102347891A true CN102347891A (zh) | 2012-02-08 |
Family
ID=45546193
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010102454956A Pending CN102347891A (zh) | 2010-08-06 | 2010-08-06 | 共享缓存的使用方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102347891A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102088395A (zh) * | 2009-12-02 | 2011-06-08 | 杭州华三通信技术有限公司 | 一种调整媒体数据缓存的方法和装置 |
WO2014173356A1 (zh) * | 2013-08-26 | 2014-10-30 | 中兴通讯股份有限公司 | 缓存空间分配控制方法、装置及计算机存储介质 |
US10142435B2 (en) | 2013-12-17 | 2018-11-27 | Sanechips Technology Co., Ltd. | Method, device and computer storage medium for implementing interface cache dynamic allocation |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5521916A (en) * | 1994-12-02 | 1996-05-28 | At&T Corp. | Implementation of selective pushout for space priorities in a shared memory asynchronous transfer mode switch |
US6445706B1 (en) * | 1997-04-01 | 2002-09-03 | Telefonaktiebolaget Lm Ericsson | Method and device in telecommunications system |
US20040022188A1 (en) * | 2002-07-09 | 2004-02-05 | International Business Machines Corporation | Memory sharing mechanism based on priority elevation |
CN1881937A (zh) * | 2005-05-02 | 2006-12-20 | 美国博通公司 | 将存储空间动态分配给多个队列的方法及设备 |
US7239612B1 (en) * | 2001-10-18 | 2007-07-03 | Network Equipment Technologies, Inc | Method and apparatus for discarding a prioritized fair share of traffic of network connections |
CN101129033A (zh) * | 2005-02-28 | 2008-02-20 | 特克拉科技公司 | 控制对共享资源的访问的方法和系统 |
CN101193408A (zh) * | 2006-12-01 | 2008-06-04 | 富士通株式会社 | 移动通信系统中缓存服务器的有效利用 |
CN101692657A (zh) * | 2009-10-22 | 2010-04-07 | 北京交通大学 | 分级服务核心路由器及其数据转发方法 |
-
2010
- 2010-08-06 CN CN2010102454956A patent/CN102347891A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5521916A (en) * | 1994-12-02 | 1996-05-28 | At&T Corp. | Implementation of selective pushout for space priorities in a shared memory asynchronous transfer mode switch |
US6445706B1 (en) * | 1997-04-01 | 2002-09-03 | Telefonaktiebolaget Lm Ericsson | Method and device in telecommunications system |
US7239612B1 (en) * | 2001-10-18 | 2007-07-03 | Network Equipment Technologies, Inc | Method and apparatus for discarding a prioritized fair share of traffic of network connections |
US20040022188A1 (en) * | 2002-07-09 | 2004-02-05 | International Business Machines Corporation | Memory sharing mechanism based on priority elevation |
CN101129033A (zh) * | 2005-02-28 | 2008-02-20 | 特克拉科技公司 | 控制对共享资源的访问的方法和系统 |
CN1881937A (zh) * | 2005-05-02 | 2006-12-20 | 美国博通公司 | 将存储空间动态分配给多个队列的方法及设备 |
CN101193408A (zh) * | 2006-12-01 | 2008-06-04 | 富士通株式会社 | 移动通信系统中缓存服务器的有效利用 |
CN101692657A (zh) * | 2009-10-22 | 2010-04-07 | 北京交通大学 | 分级服务核心路由器及其数据转发方法 |
Non-Patent Citations (9)
Title |
---|
《中国优秀博硕士学位论文全文数据库 (硕士) 信息科技辑》 20050331 李寅 《基于网络处理器的队列管理方案的研究与实现》 第2章 , 第3期 * |
FAROUK KAMOUN,LEONARD KLEINROCK: "《Analysis of Shared Finite Storage in a Computer Network Node Environment Under General Traffic Conditions》", 《IEEE TRANSACTIONS ON COMMUNICATIONS》, 31 July 1980 (1980-07-31), pages 992 - 1003 * |
RUEY-BIN YANG, MING-CHENG LIANG", YUAN-SUN CHU,CHENG-SHONG WU: "《Dynamic Thresholds for Shared Buffer Switches with Variable le《Dynamic Thresholds for Shared Buffer Switches with Variable length Packets》", 《HIGH PERFORMANCE SWITCHING AND ROUTING》, 31 December 2002 (2002-12-31), pages 147 - 150 * |
余浩 丁炜 朱祥华: "《ATM交换机中的缓冲区管理方法》", 《计算机与网络》, no. 2, 28 February 1999 (1999-02-28), pages 19 - 20 * |
刘殿兴 薛建生: "《一种基于流量预测的多优先级队列缓存管理算法》", 《计算机工程》, vol. 32, no. 10, 31 May 2006 (2006-05-31), pages 116 - 118 * |
姜宏岸 王刚: "《优先级队列的缓存管理机制的性能分析》", 《计算机工程与应用》, vol. 45, no. 25, 23 October 2009 (2009-10-23), pages 86 - 87 * |
李寅: "《基于网络处理器的队列管理方案的研究与实现》", 《中国优秀博硕士学位论文全文数据库 (硕士) 信息科技辑》, no. 3, 31 March 2005 (2005-03-31), pages 2 * |
胡冰,李乐民: "《一种用于分组交换机的缓存管理算法》", 《电子科技大学学报》, vol. 33, no. 6, 31 December 2004 (2004-12-31), pages 656 - 658 * |
马宏伟 钱华林: "《输入缓冲交换机的缓冲管理方案研究》", 《微电子学与计算机》, no. 12, 31 December 2003 (2003-12-31), pages 32 - 37 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102088395A (zh) * | 2009-12-02 | 2011-06-08 | 杭州华三通信技术有限公司 | 一种调整媒体数据缓存的方法和装置 |
CN102088395B (zh) * | 2009-12-02 | 2014-03-19 | 杭州华三通信技术有限公司 | 一种调整媒体数据缓存的方法和装置 |
WO2014173356A1 (zh) * | 2013-08-26 | 2014-10-30 | 中兴通讯股份有限公司 | 缓存空间分配控制方法、装置及计算机存储介质 |
CN104426790A (zh) * | 2013-08-26 | 2015-03-18 | 中兴通讯股份有限公司 | 对多队列的缓存空间进行分配控制的方法及装置 |
CN104426790B (zh) * | 2013-08-26 | 2019-02-26 | 中兴通讯股份有限公司 | 对多队列的缓存空间进行分配控制的方法及装置 |
US10142435B2 (en) | 2013-12-17 | 2018-11-27 | Sanechips Technology Co., Ltd. | Method, device and computer storage medium for implementing interface cache dynamic allocation |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102915254B (zh) | 任务管理方法及装置 | |
CN101847127B (zh) | 一种内存管理方法及装置 | |
CN106648872A (zh) | 用于多线程处理的方法及装置、服务器 | |
CN104731799B (zh) | 内存数据库管理装置 | |
CN104125006B (zh) | 卫星通信网络带宽分配方法 | |
CN102447610A (zh) | 实现报文缓存资源共享的方法和装置 | |
CN107404443B (zh) | 队列缓存资源控制方法及装置、服务器及存储介质 | |
CN103246550A (zh) | 一种基于容量的多任务调度方法及系统 | |
CN108566659A (zh) | 一种基于可靠性的5g网络切片在线映射方法 | |
CN103366022B (zh) | 信息处理系统及其处理方法 | |
CN104619029B (zh) | 一种集中式蜂窝网络架构下的基带池资源分配方法和装置 | |
CN101834786A (zh) | 队列调度的方法和装置 | |
CN106330765B (zh) | 缓存分配方法及装置 | |
CN105159610A (zh) | 大规模数据处理系统及方法 | |
CN103294521A (zh) | 一种降低数据中心通信负载及能耗的方法 | |
CN102843419A (zh) | 一种服务资源分配方法及系统 | |
CN104067578A (zh) | 无分组重排序的动态负载均衡 | |
CN102185725A (zh) | 一种缓存的管理方法、装置和网络交换设备 | |
WO2013026324A1 (zh) | 队列调整方法及装置 | |
CN105094751A (zh) | 一种用于流式数据并行处理的内存管理方法 | |
CN101673244A (zh) | 多核或集群系统的存储器控制方法 | |
CN104572498B (zh) | 报文的缓存管理方法和装置 | |
CN103729236A (zh) | 一种限制云计算用户资源使用额度的方法 | |
CN101719869B (zh) | 一种采用关联令牌桶算法动态分配带宽的方法 | |
CN102347891A (zh) | 共享缓存的使用方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
AD01 | Patent right deemed abandoned |
Effective date of abandoning: 20120208 |
|
C20 | Patent right or utility model deemed to be abandoned or is abandoned |