当前位置:网站首页>An optimal buffer management scheme with dynamic thresholds paper summary
An optimal buffer management scheme with dynamic thresholds paper summary
2022-07-29 07:54:00 【Is the most powerful】
In this section , We propose a novel dynamic queue threshold scheme . We assume that the exchange module has K Ports and one B Cell buffer , By the corresponding K Port queues are shared . Make Qk(t) Indicates port queue k In time t The queue length of ,k = 1,2,...,K. Qk(t) Maybe with the port k Incoming traffic load and distribution to ports k The service bandwidth fluctuates with time . If we were to K Port queues are treated equally , To ensure buffer space B Fair sharing of , Each queue should be able to access at least B/K Buffers ( Fair share ). On the other hand , In order to make effective use of buffers , That is, to achieve the maximum diversion and sharing , When other queues do not use such buffers , Overloaded queues must be able to use any available buffer memory .
The above dual goals are achieved by serving all K Dynamically set a public threshold for queues T(t) To achieve . In our plan ,T(t) Dynamically determined by the following algorithm :
When the destination is port k Of cells in time t On arrival ,

among
, Time t Total queue length ,0 < a < 1.Tm, Represents the minimum cache threshold statically set for each queue . By default ,Tm = 0. therefore , If Qk(t) < Tnew(t) And Q(t) < B, In time t Accept arrival port k The cell of the ; otherwise , The cell is blocked . In any case , Common threshold Told The value of will be updated to Tnew(t) Value .
Please note that , stay Eq.(1) in , Parameters a Control the cache to be shared . For complete cache sharing ,a Set to 1, So when the queue is overloaded , Can achieve 100% Buffer utilization of , At the same time, the memory is shared fairly between different queues . In practice , By adjusting the equation (1) Parameters in a and Tm, It can be specially grouped for control and management 、 A small amount of buffer is reserved for the end of the message cell .
stay Eq.(1) in , When Q(t) > a * B when , The formula Tnew(t) = max(Told - 1, Tm) It can be generalized as Tnew(t) = max(Told - c, Tm), among c > 0, Although we choose c = 1. Parameters c The rate of change of the queue threshold is controlled together with the cell arrival rate .
We are Eq.(1) Lieutenant general Q0 = a * B It is defined as the target cache to be used when the queue is overloaded .Eq(1) signify : When the total queue length Q(t) Equal to or higher than the target memory usage Qo when , Dynamic queue threshold T Decrease at a rate equal to the total cell arrival rate ; Whenever the total queue length Q(t) Less than Q0 when , Arriving cells are always accepted into their respective queues , And dynamic threshold T Updated to the new queue length ( for example , Including the arrival of acceptance ) Or its current value threshold , Whichever is greater . therefore , type (1) Or you could write it as

among Qk(t) Indicates the new queue length after receiving the arrival cell .
equation (1) Sum equation (2) The scheme in is equivalent in terms of steady-state queue length threshold . For thresholds T Transient behavior of , The two schemes are equivalent to the mobile traffic model , That is, the cell arrival rate 、 Both service rate and queue length are continuous variables in time . in fact , equation (2) The representation in is more intuitive . However , equation (1) The representation in is easier to implement in the actual system . about DT programme , In steady state , Common threshold is determined by (3) give ,

among ka, 1<= ka <= K, Is the number of overloaded port queues .

In the figure 1 in , We use illustrative examples of discrete-time simulations to show how dynamic threshold schemes work by adapting to changing traffic loads . The simulation system is a 6 x 6 In exchange for , Total cache size B = 120 cell. Time to slot In units of .6 Each of the port queues is determined by ON and OFF Periodic ON/OFF Source feed . be in ON In the state of , Each source generates cells at a rate greater than the port service rate , Overload the queue ; When it is in OFF In the state of , No cells will be generated . We set for each source ON/OFF cycle , So that in different time intervals , The number of overloaded queues ranges from 1 To 6 Unequal . Six source ON/OFF Period is {(on, off)} = ((12000, 6000), (5000, 1000), (4000,3000), (3000,5000), (2000,7000), ( 1000,9000)). first , All sources are in ON state . In this case, we choose a = 1 when , Target cache usage Q0 = 120. Initially all 6 All queues are overloaded , according to (1) Algorithm in , The public dynamic threshold is 20 A cell . Pictured 1 Shown , The length of each individual queue is about 20 A unit . thereafter , Every time 1000 A time slot , until t = 5000, One of the sources enters OFF state , The number of overloaded queues ranges from 6 Reduced to 1.DT The threshold of the scheme in steady state is 24、30、40、60 and 120(cell), Respectively according to the (1) Algorithm in . chart 1 The length of each queue shown in is close to the dynamic threshold . from t = 6000 Start , Each pass 1000 A time slot , until 1 = 10000, One of the sources is open , The number of overloaded queues ranges from 1 Add to 6.DT The threshold of the scheme is 60、40、30、24 and 20, Otherwise , Single queue length also shows a similar behavior . The single queue length behavior is t = 10000 Further display after , There are different number of overloaded port queues . Please note that , stay t = 18000 when , Three sources (#1、#2、#5) open , A source (#4) Turn off . The number of overloaded queues ranges from 2 Jump to the 4.
We can see from this example ,(1) Description of the DT The scheme dynamically adapts to the traffic load in the system . It maximizes buffer usage , That is, the buffer occupancy is always the target value 120 A cell , There are any overloaded queues , At the same time, ensure the fair share of each individual overload queue ( Such as (3) Shown ).
边栏推荐
- Go, how to become a gopher, and find work related to go language in 7 days, Part 1
- What are the common error types and solutions of black box testing?
- [note] the art of research - (tell a good story and argument)
- LANDSCAPE
- The new generation of public chain attacks the "Impossible Triangle"
- EF core reading text type is slow_ EF core is slow to read large string fields
- Dilworth theorem
- MySQL 45 talk | 07 line lock merits and demerits: how to reduce the impact of line lock on performance?
- String类
- [cryoelectron microscope | paper reading] emclarity: software for high-resolution cryoelectron tomography and sub fault averaging
猜你喜欢

Halcon installation and testing in vs2017, DLL configuration in vs2017

Go, how to become a gopher, and find work related to go language in 7 days, Part 1
![[deep learning] data preparation -pytorch custom image segmentation data set loading](/img/7d/61be445febc140027b5d9d16db8d2e.png)
[deep learning] data preparation -pytorch custom image segmentation data set loading
![[untitled] format save](/img/6c/df2ebb3e39d1e47b8dd74cfdddbb06.gif)
[untitled] format save

Realize the effect of changing some colors of a paragraph of text
![[introduction to cryoelectron microscopy] Caltech open class course notes part 3:image formation](/img/7b/cbd9e3b6d72155613e53ffdd06c5cd.png)
[introduction to cryoelectron microscopy] Caltech open class course notes part 3:image formation

@JsonSerialize注解的使用
![[paper reading | cryoelectron microscope] interpretation of the new subtomogram averaging method in relion 4.0](/img/8d/03e63d651b713f547b090e6e740b06.png)
[paper reading | cryoelectron microscope] interpretation of the new subtomogram averaging method in relion 4.0
![[paper reading | cryoet] gum net: fast and accurate 3D subtomo image alignment and average unsupervised geometric matching](/img/dc/255bf122d5243f2a08ca0e03b53137.png)
[paper reading | cryoet] gum net: fast and accurate 3D subtomo image alignment and average unsupervised geometric matching

多线程购物
随机推荐
Useful websites
String类
Output 1234 three digits without repetition
Shell script - global variables, local variables, environment variables
Data warehouse modeling, what is wide table? How to design? Advantages and disadvantages
在一个sql文件中,上面定义一个测试表及数据,下面可以select* from 测试表
Cross domain problems when downloading webapi interface files
[skill accumulation] presentation practical skill accumulation, common sentence patterns
postman接口测试|js脚本之阻塞休眠和非阻塞休眠
【深度学习】数据准备-pytorch自定义图像分割类数据集加载
CDM - code division multiplexing (easy to understand)
C language data type
MySQL 45 讲 | 07 行锁功过:怎么减少行锁对性能的影响?
[cryoelectron microscope | paper reading] interpretation of sub fault average m software: multi particle cryo EM refining with M
Matlab simulation of LDPC minimum sum decoding based on high-order six ring free
Cs61abc sharing session (VI) detailed explanation of program input and output - standard input and output, file, device, EOF, command line parameters
For the application challenge of smart city, shengteng AI gives a new solution
@Detailed explanation of requestmapping usage
Basic introduction to pod
In an SQL file, a test table and data are defined above, and you can select* from the test table below