+

RU2684581C2 - Method of stochastic dispatching of switch queues, and device its implementation - Google Patents

Method of stochastic dispatching of switch queues, and device its implementation Download PDF

Info

Publication number
RU2684581C2
RU2684581C2 RU2017102768A RU2017102768A RU2684581C2 RU 2684581 C2 RU2684581 C2 RU 2684581C2 RU 2017102768 A RU2017102768 A RU 2017102768A RU 2017102768 A RU2017102768 A RU 2017102768A RU 2684581 C2 RU2684581 C2 RU 2684581C2
Authority
RU
Russia
Prior art keywords
queue
connection
node
unit
queues
Prior art date
Application number
RU2017102768A
Other languages
Russian (ru)
Other versions
RU2017102768A (en
RU2017102768A3 (en
Inventor
Андрей Олегович Семенов
Николай Николаевич Коннов
Дмитрий Владимирович Пащенко
Дмитрий Анатольевич Трокоз
Original Assignee
Федеральное государственное бюджетное образовательное учреждение высшего образования "Пензенский государственный университет" (ФГБОУ ВО "Пензенский государственный университет")
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 Федеральное государственное бюджетное образовательное учреждение высшего образования "Пензенский государственный университет" (ФГБОУ ВО "Пензенский государственный университет") filed Critical Федеральное государственное бюджетное образовательное учреждение высшего образования "Пензенский государственный университет" (ФГБОУ ВО "Пензенский государственный университет")
Priority to RU2017102768A priority Critical patent/RU2684581C2/en
Publication of RU2017102768A publication Critical patent/RU2017102768A/en
Publication of RU2017102768A3 publication Critical patent/RU2017102768A3/ru
Application granted granted Critical
Publication of RU2684581C2 publication Critical patent/RU2684581C2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems

Landscapes

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

Abstract

FIELD: wireless communication equipment.
SUBSTANCE: invention relates to telecommunications. Stochastic dispatching device as part of a switch or a router comprises a shared memory, a queue selection unit, comprising a supervisory unit, a constant values storage unit, a pseudorandom number generator, a value comparison unit, service queue number determining unit, headers and indicators memory, memory controller, classifier, input and output ports, also includes set of connections, connection (1) is the control input of the queue selection unit, through which the queue management unit initiates the procedure for counting the queue number and the new operation cycle of the device, connection (2) is an information input, through which queue control unit at the moment of receipt at control signal connection (1) should be transmitted queue lengths and parameters, and the values comparison unit compares values calculated by the queue selection calculation unit, and a unit for counting the serviced queue number based on the comparison data received from the value comparison unit, outputs to the processing units, the frame sampling scheme of the processing block, as well as the service enable or prohibit signal supervision node for each of the service classes.
EFFECT: wider range of tools for the same purpose.
1 cl, 2 dwg

Description

Изобретение относится к области телекоммуникаций, а именно к коммутаторам и маршрутизаторам с поддержкой качества обслуживания, и предназначено для регулирования доступа очередей коммутатора и маршрутизатора к физическому каналу. The invention relates to the field of telecommunications, namely, switches and routers with support for quality of service, and is intended to regulate the access of the switch and router queues to the physical channel.

Среди механизмов обеспечения качества обслуживания важнейшим является алгоритм диспетчеризации очередей, т.е. правила выбора очереди для считывания из нее данных и объем считываемых данных на одно обращение, который непосредственно определяют задержку кадров и вероятность их потери. Among the mechanisms to ensure the quality of service, the most important is the queue dispatching algorithm, i.e. rules for selecting a queue for reading data from it and the amount of data to be read per call, which directly determines the delay of frames and the probability of their loss.

В традиционных детерминированных системах диспетчеризации очередей в сетевых устройствах выбор очереди имеет детерминированный характер, задаваемый правилами приоритезации (жёсткими, циклическими и др.) [Олифер В.Г. , Олифер Н.А. Компьютерные сети. Принципы, технологии, протоколы. 4-е изд. – СПБ: Изд-во “Питер”, 2010, - С. 943]. В таких системах время ожидания обслуживания некоторого кадра зависит не только от места кадра в очереди, загруженности очередей и иных аргументов, но и от правил очерёдности обслуживания узлов, что приводит к непредсказуемости задержки кадров.In traditional deterministic systems for dispatching queues in network devices, the choice of a queue has a deterministic character defined by the rules of prioritization (rigid, cyclic, etc.) [Olifer V.G. , Olifer N.A. Computer networks. Principles, technologies, protocols. 4th ed. - St. Petersburg: Publishing House "Peter", 2010, - S. 943]. In such systems, the waiting time for servicing a certain frame depends not only on the place of the frame in the queue, the congestion of the queues and other arguments, but also on the rules for the sequence of servicing nodes, which leads to unpredictability of frame delay.

Известен способ диспетчеризации пакетов, предназначенный для регулирования доступа очередей к аппаратным ресурсам выходного канала, основанный на качестве обслуживания и устройство его реализующее, заключающийся в том, что осуществляется извлечение параметра качества обслуживания, включаемого в заголовок пакета; осуществляется многократное обновление значения случайной величины; осуществляется присвоение ключа приоритета пакету, в зависимости от параметра качества обслуживания и сгенерированной случайной величины, в соответствии с заранее определёнными правилами [Patent EP 1 887 742 A1 System and process for QOS-based packet scheduling]. Система диспетчеризации, приписывания аппаратных ресурсов выходного канала для пропуска пакетам, обрабатываемым различными поставщиками услуг, включает: There is a method of packet dispatching, designed to control access of queues to the hardware resources of the output channel, based on the quality of service and its device that implements the fact that the parameter of quality of service is included in the packet header; repeated updating of the value of a random variable; a priority key is assigned to the packet, depending on the quality of service parameter and the random variable generated, in accordance with predefined rules [Patent EP 1 887 742 A1 System and process for QOS-based packet scheduling]. The scheduling system, assigning hardware resources of the output channel to pass packets processed by various service providers, includes:

-генератор случайной величины; random generator;

-программируемое приписывающее устройство, приписывающее ключ приоритета пакету, в зависимости от параметра качества обслуживания и сгенерированной случайной величины, в соответствии с перепрограммируемыми правилами; - a programmable attributing device that assigns a priority key to a packet, depending on the quality of service parameter and the generated random variable, in accordance with the reprogrammable rules;

-устройство диспетчеризации, содержащее управляющее устройство, генерирующее команды коммутации пакетов в порядке, зависящем от значения ключа приоритета, присваиваемого каждому заголовку пакета; - dispatch device containing a control device that generates packet switching commands in the order depending on the value of the priority key assigned to each packet header;

-устройство коммутации, продвигающее пакеты в направлении аппаратных ресурсов выходного канала в сгенерированном порядке команд коммутации пакетов.- a switching device that advances packets in the direction of the hardware resources of the output channel in the generated order of packet switching commands.

Как следует из формулы изобретения, в известном способе диспетчеризации пакетов, предназначенном для регулирования доступа очередей к аппаратным ресурсам выходного канала, основанном на качестве обслуживания, генерируются команды коммутации пакетов в порядке, зависящем от значения ключа приоритета, присваиваемого каждому заголовку пакета, и значения случайного числа, не зависящего от значений задержки пакетов, длин очередей, накопленных времён обслуживания; пакеты продвигаются в направлении аппаратных ресурсов выходного канала в сгенерированном порядке команд коммутации пакетов. As follows from the claims, in the known method of packet dispatch, designed to control access of queues to the hardware resources of the output channel, based on the quality of service, packet switching commands are generated in the order depending on the value of the priority key assigned to each packet header and the value of a random number independent of packet delay values, queue lengths, accumulated service times; packets advance towards the hardware resources of the output channel in the generated order of packet switching commands.

Недостатками этого способа диспетчеризации пакетов, предназначенного для регулирования доступа очередей к аппаратным ресурсам выходного канала, являются: The disadvantages of this method of packet scheduling, designed to control access of queues to the hardware resources of the output channel, are:

1) Большая зависимость величины разброса длин очередей и времён нахождения заявок в очередях от величины разброса количества заявок, принятых очередями, на единицу времени вследствие независимости управления доступом очередей к выходному каналу от значений задержки пакетов, длин очередей, накопленных времён обслуживания и долей от полос пропускания по каждому классу обслуживания, оперативно оцениваемых в процессе диспетчеризации. 1) A large dependence of the magnitude of the spread of the length of the queues and the time spent by the queues on the magnitude of the spread of the number of requests received by the queues per unit time due to the independence of the access control of the queues to the output channel on the packet delay values, queue lengths, accumulated service times and fractions of the passband for each class of service, quickly evaluated in the scheduling process.

2) Кадры, обладающие одинаковыми значениями битового поля приоритета, могут быть распределены по разным очередям с разными долями полосы пропускания, что приводит к потерям кадров [2, 3]. 2) Frames with the same values of the priority bitfield can be distributed in different queues with different fractions of the bandwidth, which leads to frame loss [2, 3].

Наиболее близким к предлагаемому изобретению является способ стохастической диспетчеризации, основанный на приоритете, предназначенный для выборки задач на исполнение [Patent 5,247,677 U.S. STOCHASTIC PRIORITY-BASED TASK SCHEDULER / Welland et al. (1993) ], который заключающийся в том, что осуществляет выбор задач из очередей на основе сравнения значений многократно обновляемого случайного числа и суммы постоянных величин вероятностей выборок очередей, номера которых меньше или равны номерам этих очередей, осуществляет возможность обслуживания низкоприоритетных очередей путём выделения гарантированной доли обслуживания. Closest to the proposed invention is a method of stochastic dispatching, based on priority, designed to sample tasks for execution [Patent 5,247,677 U.S. STOCHASTIC PRIORITY-BASED TASK SCHEDULER / Welland et al. (1993)], which consists in the fact that it selects tasks from queues by comparing the values of a multiple-updated random number and the sum of the constant probabilities of samples of queues whose numbers are less than or equal to the numbers of these queues, makes it possible to service low priority queues by allocating a guaranteed share service.

Из анализа формулы изобретения известного способа следует, что способ предназначен для распределения процессорного времени между задачами в операционных системах одним или несколькими процессорами, а также в любых других цифровых вычислительных системах, где необходима такого рода диспетчеризация. Величины вероятностей выборок очередей являются постоянными и не зависят от длин очередей и долей полос пропускания по каждому классу обслуживания, оперативно оцениваемых в процессе диспетчеризации. Основанный на приоритете стохастический диспетчер выбирает задачи на основе случайного числа, взвешенного приоритетом задачи. С момента обретения каждой задачей ненулевой конечной вероятности быть выбранной, все задачи, включая низкоприоритетные получают шанс быть выбранными, таким образом, устраняя проблему тупиков.From the analysis of the claims of the known method, it follows that the method is intended for distributing processor time between tasks in operating systems by one or more processors, as well as in any other digital computer systems where such scheduling is necessary. The probability values of the queue samples are constant and do not depend on the length of the queues and the share of bandwidths for each class of service, which are quickly evaluated in the scheduling process. The priority-based stochastic dispatcher selects tasks based on a random number weighted by the priority of the task. Since each task has a nonzero final probability of being selected, all tasks, including low priority ones, have a chance to be selected, thus eliminating the deadlock problem.

Недостатками стохастической диспетчеризации, основанной на приоритете, являются: The disadvantages of stochastic priority-based dispatching are:

1) Отсутствие возможности управления значениями длин очередей, времён нахождения заявок на выполнение задач по отдельным очередям. 1) The lack of the ability to control the values of the lengths of the queues, the time spent on finding applications for performing tasks in separate queues.

2) Большая зависимость величины разброса длин очередей и времён нахождения заявок в очередях от величины разброса количества заявок, принятых очередями, на единицу времени. 2) A large dependence of the magnitude of the dispersion of the lengths of the queues and the time spent by applications in the queues on the magnitude of the dispersion in the number of applications accepted by the queues per unit time.

Задачей изобретения является выравнивание основных характеристик канала, проявляемое в уменьшении вариаций среднего значения и стандартного отклонения длин очередей, уменьшении вариаций средних значений задержек кадров различных классов. The objective of the invention is the alignment of the main characteristics of the channel, manifested in reducing variations in the average value and standard deviation of the queue lengths, reducing variations in the average values of frame delays of different classes.

Поставленная задача достигается созданием дисциплины диспетчеризации, совмещающей удовлетворение требованиям адаптивности к динамически изменяющимся сетевым параметрам, а также отсутствием детерминированности. The task is achieved by creating the discipline of scheduling, combining the satisfaction of adaptability to dynamically changing network parameters, as well as the lack of determinism.

Устройство, реализующее способ стохастической адаптивной диспетчеризации очередей сетевого коммутатора с поддержкой качества обслуживания, содержит разделяемую память, контроллер памяти, классификатор, узел управления очередями, память заголовков и указателей, блок выбора очередей, содержащий узел надзора, узел расчёта вероятностей выбора очередей на обслуживание, узел хранения постоянных величин, генератор псевдослучайных чисел, узел сравнения величин, узел определения номера обслуживаемой очереди. A device that implements a method of stochastic adaptive dispatching of queues of a network switch with support for quality of service includes a shared memory, a memory controller, a classifier, a queue management node, a memory for headers and pointers, a queue selection block containing an surveillance node, a node for calculating the probabilities of selecting queues for servicing, a node storage of constant values, a pseudo-random number generator, a node for comparing values, a node for determining the number of the queue served.

Новым в предлагаемом техническом решении, в отличие от прототипа, является то, что определены связи, осуществляющие передачу значений аргументов функции зависимости вероятностей, в направлении от узла управления очередями к блоку выбора очередей. New in the proposed technical solution, in contrast to the prototype, is that the relationships that transfer the values of the arguments of the probability dependence function in the direction from the queue management node to the queue selection block are defined.

Сказанное позволяет сделать вывод о причинно-следственной связи между совокупностью существенных признаков и достигаемым техническим результатом. The foregoing allows us to conclude that there is a causal relationship between the totality of essential features and the achieved technical result.

На приложенных к описанию чертежах показано: The drawings attached to the description show:

на фиг.1 – схема алгоритма цикла работы блока выбора очередей, реализующего способ стохастической диспетчеризации очередей в коммутаторах; figure 1 - diagram of the algorithm of the cycle of the block selection of queues that implements the method of stochastic dispatching of queues in the switches;

на фиг.2 – блок, реализующий способ стохастической диспетчеризации очередей в коммутаторах. figure 2 is a block that implements a method for stochastic dispatching of queues in switches.

Устройство, реализующее данный способ стохастической диспетчеризации очередей в коммутаторах (фиг.2), содержит: следующие узлы: генератор псевдослучайных чисел с подключенным к нему узлом сравнения величин; узлом хранения постоянных величин; узлом подсчёта вероятностей выбора очередей на обслуживание, содержащим подузлы: умножения и деления, сложения и вычитания, логических операций, сравнения чисел на ноль, инкрементации, условного перехода, констант; узел подсчёта номера обслуживаемой очереди; узел надзора. A device that implements this method of stochastic dispatch of queues in switches (FIG. 2) comprises: the following nodes: a pseudo-random number generator with a unit for comparing values; constant storage unit; a node for calculating the probabilities of choosing queues for servicing, containing subnodes: multiplication and division, addition and subtraction, logical operations, comparison of numbers by zero, increments, conditional transitions, constants; node counting the numbers of the queue served; supervision unit.

Устройство, реализующее предлагаемый способ стохастической адаптивной диспетчеризации очередей сетевого коммутатора с поддержкой качества обслуживания, работает следующим образом. Устройство предназначено для непосредственного управления и надзора за процессом распределения канального времени между разными очередями. A device that implements the proposed method for stochastic adaptive dispatching of queues of a network switch supporting quality of service works as follows. The device is intended for direct control and supervision of the distribution of channel time between different queues.

Устройство стохастической диспетчеризации в составе коммутатора или маршрутизатора содержит набор соединений. A stochastic dispatch device as part of a switch or router contains a set of connections.

Соединение 1 является управляющим входом блока выборки очередей, по которому узлом управления очередями инициируется запуск процедуры подсчёта номера очереди и нового цикла работы устройства стохастической диспетчеризации. Соединение 2 является информационным входом, по которому узлом управления очередями на момент поступления на соединении 1 управляющего сигнала должны быть переданы длины очередей и другие параметры, необходимые для подсчёта номера очереди. Соединение 3 является управляющим выходом, по которому узлу управления очередями передаётся управляющий сигнал, свидетельствующий об окончании процедуры подсчёта номера очереди. Соединение 4 является информационным выходом, по которому узлу управления очередями на момент поступления на соединение 3 управляющего сигнала, должен быть передан подсчитанный номер очереди, должной быть обслуженной. Connection 1 is the control input of the queue fetch block, by which the queue management node initiates the start of the procedure for calculating the queue number and a new cycle of operation of the stochastic dispatch device. Connection 2 is an information input through which the queue management node at the time of receipt of the control signal at connection 1 should be transferred the length of the queues and other parameters necessary for calculating the queue number. Connection 3 is the control output, through which the control signal is transmitted to the queue management node, indicating the end of the queue number calculation procedure. Connection 4 is an information output through which the queue management node must receive the calculated queue number that must be served at the time the control signal 3 arrives at connection 3.

По соединению 5 осуществляется передача кадров с входного порта на классификатор с целью классификации трафика в соответствии с различными требованиями, задаваемыми качеством обслуживания, например, задержек кадров и т. д. Connection 5 transfers frames from the input port to the classifier in order to classify traffic in accordance with various requirements specified by the quality of service, for example, frame delays, etc.

По соединению 6 осуществляется передача кадров в контроллер разделяемой памяти из классификатора, при этом, адрес расположения начала кадров записывается в памяти указателей и заголовков (см. далее). Through connection 6, frames are transferred to the shared memory controller from the classifier, while the address of the beginning of the frames is recorded in the memory of pointers and headers (see below).

По соединению 7 осуществляются операции записи содержимого разделяемой памяти контроллером разделяемой памяти. At connection 7, operations are performed to write the contents of the shared memory by the shared memory controller.

По соединению 20 осуществляются операции чтения содержимого разделяемой памяти контроллером разделяемой памяти. At connection 20, read operations of the contents of the shared memory are performed by the shared memory controller.

По соединению 8 осуществляется запись кадров, извлекаемых из разделяемой памяти, контроллером памяти в выходной порт. Connection 8 is used to record frames extracted from shared memory by the memory controller to the output port.

По соединению 9 осуществляется передача управляющего сигнала от выходного порта к контроллеру памяти об окончании процедуры передачи кадра из выходного порта в среду передачи. Connection 9 transfers the control signal from the output port to the memory controller about the end of the frame transfer procedure from the output port to the transmission medium.

По соединению 21 осуществляется передача управляющего сигнала от выходного порта к контроллеру памяти о предстоящем окончании процедуры передачи кадра из выходного порта в среду передачи. Connection 21 transfers the control signal from the output port to the memory controller about the upcoming end of the frame transfer procedure from the output port to the transmission medium.

По соединению 10 осуществляется передача запроса, управляющего сигнала, на проверку сведений о пустоте очереди. Если две очереди и более не пусты, то происходит передача запроса на определение номера обслуживаемой очереди по соединению 1. Connection 10 transmits a request, a control signal, to check information about the queue emptiness. If two queues and are no longer empty, a request is sent to determine the number of the queue being served on connection 1.

По соединению 11 осуществляется передача управляющего сигнала – запроса узла управления очередями, адресованного контроллеру памяти, на извлечение кадра, адрес и длина которого передаются по соединению 12, из разделяемой памяти. At connection 11, a control signal is transmitted - a request from the queue management node addressed to the memory controller to retrieve a frame whose address and length are transmitted via connection 12 from the shared memory.

По соединению 13 осуществляется передача управляющего сигнала от классификатора, адресованного узлу управления очередями, на запись заголовка кадра, заголовок которого передаётся по соединению 14, а номер очереди, присвоенный классификатором, по соединению 15. Connection 13 transfers the control signal from the classifier addressed to the queue management node to record the frame header, the header of which is transmitted via connection 14, and the queue number assigned by the classifier via connection 15.

По соединению 22 передаётся управляющий сигнал для соединения 21. По соединению 21 передаётся адрес кадра, необходимый для записи, в память указателей и заголовков. On connection 22, a control signal is transmitted for connection 21. On connection 21, the frame address necessary for writing is transferred to the memory of pointers and headers.

Узел надзора осуществляет контроль аргументов, т.е длин очередей, времён обслуживания, передаваемых по информационному соединению 2. Если, например, сумма длин очередей больше размера разделяемой памяти, то процедура расчёта номера обслуживаемой очереди не производится, номер обслуживаемой очереди, подаваемый на выход 4, приобретает значение, соответствующее предыдущему номеру обслуживаемой очереди. The supervision node monitors the arguments, that is, the length of the queues, the service times transmitted via information connection 2. If, for example, the sum of the lengths of the queues is greater than the size of the shared memory, then the procedure for calculating the number of the queue being served is not performed; the number of the queue served is sent to output 4 , acquires the value corresponding to the previous number of the served queue.

Узел надзора соединён соединением 1 и соединением 2 с узлом управления очередями, а также имеет выход, связанный с узлом подсчёта вероятностей. The supervision node is connected by connection 1 and connection 2 to the queue management node, and also has an output connected to the probability calculation node.

Узел подсчёта вероятностей выбора очередей на обслуживание обеспечивает подсчёт значений вероятностей, осуществляемый согласно алгоритму, показанному на фиг.1. The node for calculating the probabilities of selecting service queues provides the calculation of probability values carried out according to the algorithm shown in Fig. 1.

Узел подсчёта вероятностей выбора очередей на обслуживание имеет входы с узла надзора, узлом хранения постоянных величин (ПЗУ), а также имеет выход, связанный с узлом сравнения величин. The node for calculating the probabilities of choosing service queues has inputs from the supervision node, the constant storage node (ROM), and also has an output connected to the node for comparing values.

Процедура подсчёта номера обслуживаемой очереди является циклической, инициируется схемой выборки кадра с разрешения узла надзора устройства стохастической диспетчеризации в момент времени, соответствующий остатку времени до момента окончания передачи кадра, необходимому для расчёта искомого номера. Передача аргументов для подсчёта вероятностей осуществляется из передаточных очередей заголовков и указателей кадрового обработчика к узлу надзора и к узлу подсчёта вероятностей устройства стохастической диспетчеризации. Узел надзора проверяет аргументы на корректность и разрешает или запрещает расчёт. Подсчёт вероятностей для каждой из очередей осуществляется параллельно и независимо от подсчёта вероятностей выбора других очередей. Однако, в соответствии с предлагаемым способом, происходит подсчёт сумм вероятностей (кумулятивных вероятностей). Этот подсчёт также ведётся в узле подсчёта вероятностей выбора очередей на обслуживание. The procedure for calculating the number of the serviced queue is cyclic; it is initiated by the frame sampling scheme with the permission of the supervision unit of the stochastic scheduling device at the time corresponding to the remainder of the time until the end of the frame transmission necessary for calculating the desired number. The transfer of arguments for calculating the probabilities is carried out from the transfer queues of the headers and pointers of the personnel processor to the supervision unit and to the probability calculation unit of the stochastic dispatch device. The supervision node checks the arguments for correctness and enables or disables the calculation. The calculation of probabilities for each of the queues is carried out in parallel and independently of the calculation of the probabilities of choosing other queues. However, in accordance with the proposed method, the calculation of the sums of probabilities (cumulative probabilities). This calculation is also carried out in the node for calculating the probabilities of choosing queues for servicing.

Узел хранения постоянных величин содержит некоторые числовые константы, предназначенные для расчётов вероятностей, такие как: выделяемые доли обслуживания под каждый тип трафика, приоритеты по умолчанию (начальные значения вероятностей), семя генератора псевдослучайных чисел. The constant storage node contains some numerical constants intended for calculating probabilities, such as: allocated service shares for each type of traffic, default priorities (initial probability values), seed of the pseudo random number generator.

Узел хранения постоянных величин имеет выход, связанный с узлом сравнения величин. The constant storage unit has an output associated with the comparison unit.

Генератор псевдослучайных чисел в процессе инициализации получает ключевой код из узла хранения постоянных величин, порождает случайное число через фиксированное число тактов часов так, чтобы на каждый цикл диспетчеризации приходилось не менее одного вычисление псевдослучайного числа. Порождённая последовательность псевдослучайных чисел подчиняется равномерному распределению. Любое число из этой последовательности обладает неотрицательным значением, меньшим единицы. During initialization, the pseudo-random number generator receives the key code from the constant storage node, generates a random number through a fixed number of clock ticks so that at least one pseudo-random number calculation is necessary for each dispatch cycle. The generated sequence of pseudorandom numbers obeys a uniform distribution. Any number from this sequence has a non-negative value less than one.

Узел сравнения величин сравнивает значения, подсчитанные узлом подсчёта вероятностей выбора очереди на обслуживание, т.е. т.н. кумулятивные вероятности, и генератором случайной величины. Для каждого типа трафика ставится либо значение истины или значение лжи в зависимости от разности значений. The unit for comparing values compares the values calculated by the unit for calculating the probabilities of choosing a service queue, i.e. the so-called cumulative probabilities, and a random variable generator. For each type of traffic, either a truth value or a lie value is set depending on the difference in values.

Узел подсчёта номера обслуживаемой очереди на основе данных сравнения, полученных от узла сравнения величин, производит выдачу обрабатывающим узлам, схеме выборки кадра обрабатывающего блока, а также узлу надзора сигналов разрешения или запрета обслуживания по каждому из классов обслуживания в соответствии с алгоритмом, представленным на фиг.2. The node for counting the number of the serviced queue, based on the comparison data received from the node for comparing the values, provides the processing nodes, the frame sample frame of the processing unit, as well as the surveillance node for the enable or disable service signals for each of the service classes in accordance with the algorithm presented in FIG. 2.

Способ реализуют алгоритмом, приведённым на фиг. 1. Выполнение его происходит циклически. The method is implemented by the algorithm shown in FIG. 1. Its execution occurs cyclically.

Узел подсчёта вероятностей выбора очередей на обслуживание обеспечивает подсчёт значений вероятностей, осуществляемый согласно алгоритму, показанному на фиг.1. Для подсчёта вероятностей

Figure 00000001
необходимо решить уравнение (1), где
Figure 00000002
- произвольная константа,
Figure 00000003
- автоматное время работы устройства (для блока, реализующего расчёт номера очереди на обслуживание, согласно способу предназначен один источник синхронных импульсов),
Figure 00000004
- накопленное время обслуживания
Figure 00000005
-той очереди за всё время работы, m – общее число очередей,
Figure 00000006
- длина i - той очереди в битах,
Figure 00000007
- столбцовая матрица размером
Figure 00000008
, характеризующая доли разрешённых полос пропускания, выделенных для каждой
Figure 00000005
-той очереди при
Figure 00000009
, при этом
Figure 00000007
является постоянной величиной,
Figure 00000010
– поправочные величины, нахождение значений которых является промежуточным этапом, необходимым в процессе вычисления вероятностей выборок очередей на обслуживание согласно уравнению (1). The node for calculating the probabilities of selecting service queues provides the calculation of probability values carried out according to the algorithm shown in Fig. 1. To calculate probabilities
Figure 00000001
it is necessary to solve equation (1), where
Figure 00000002
is an arbitrary constant,
Figure 00000003
- automatic operating time of the device (for a unit that implements the calculation of the service queue number, according to the method, one source of synchronous pulses is intended),
Figure 00000004
- accumulated service time
Figure 00000005
of this queue for the entire time of work, m is the total number of queues,
Figure 00000006
- the length of i is that queue in bits,
Figure 00000007
- column matrix size
Figure 00000008
characterizing the shares of allowed bandwidths allocated for each
Figure 00000005
this queue at
Figure 00000009
, wherein
Figure 00000007
is a constant
Figure 00000010
- correction values, the determination of the values of which is an intermediate step necessary in the process of calculating the probabilities of samples of service queues in accordance with equation (1).

Расчёт вероятностей осуществляется, исходя из решения уравнения (1) на основе имеющихся данных о загрузке очередей, текущей полосе и т. д. с неизвестным x являющимся столбцовой матрицей. В случае пустоты i – той очереди расчёт вероятности по i – тому классу обслуживания не имеет смысла, ибо она станет равной нулю. The probabilities are calculated based on the solution of equation (1) on the basis of the available data on the loading of queues, the current strip, etc. with unknown x being a column matrix. If the i - th queue is empty, the calculation of the probability for the i - that class of service does not make sense, because it will become zero.

После нахождения значения x необходимо найти искомые значения вероятностей выбора очередей

Figure 00000011
согласно формуле (2). After finding the value of x, it is necessary to find the desired values of the probabilities of the choice of queues
Figure 00000011
according to the formula (2).

Для решения уравнения (1) необходимо вычислить несколько значений, в т.ч. значения числовых критериев

Figure 00000012
выбора очередей на обслуживание согласно формуле (3). Таким образом, уравнение (1) можно записать в виде (4). Значения
Figure 00000012
не являются постоянными и переменны во времени. Значение
Figure 00000013
является постоянной величиной. Т.о., для решения уравнения (1) необходимо вычислить, в т.ч. значения числовых критериев
Figure 00000014
выбора очередей на обслуживание согласно формуле (3). Таким образом, уравнение (1) можно записать в виде (4). Значения
Figure 00000014
не являются постоянными и переменны во времени. Уравнение (1) можно записать в виде (6). Решением уравнения (6) является выражение (7). Для каждой очереди вычисляется значение
Figure 00000015
согласно формуле (7). На основе полученных значений
Figure 00000015
подсчитываются значения вероятностей выбора очередей на обслуживание согласно формуле (2). На основе полученных значений осуществляется подсчёт значений кумулятивных вероятностей
Figure 00000016
согласно формуле (8). К моменту окончания подсчёта кумулятивных вероятностей значение (псевдо-) случайного числа Rand должно быть сгенерированным и известным. Затем осуществляется сравнение кумулятивных вероятностей
Figure 00000016
со значением Rand согласно алгоритму, показанному на фиг.2. To solve equation (1), it is necessary to calculate several values, including values of numerical criteria
Figure 00000012
selection of service queues according to formula (3). Thus, equation (1) can be written in the form (4). Values
Figure 00000012
are not constant and variable over time. Value
Figure 00000013
is a constant. Thus, to solve equation (1), it is necessary to calculate, incl. values of numerical criteria
Figure 00000014
selection of service queues according to formula (3). Thus, equation (1) can be written in the form (4). Values
Figure 00000014
are not constant and variable over time. Equation (1) can be written in the form (6). The solution to equation (6) is expression (7). For each queue, the value is calculated.
Figure 00000015
according to the formula (7). Based on the obtained values
Figure 00000015
the values of the probabilities of choosing service queues are calculated according to formula (2). Based on the obtained values, the cumulative probability values are calculated
Figure 00000016
according to the formula (8). By the end of the cumulative probability calculation, the value of the (pseudo-) random number Rand should be generated and known. Then the cumulative probabilities are compared.
Figure 00000016
with a Rand value according to the algorithm shown in FIG. 2.

Figure 00000017
(1),
Figure 00000017
(one),

Figure 00000018
(2),
Figure 00000018
(2)

Figure 00000019
(3)
Figure 00000019
(3)

Figure 00000020
(4)
Figure 00000020
(four)

Figure 00000021
(5)
Figure 00000021
(5)

Figure 00000022
(6)
Figure 00000022
(6)

Figure 00000023
(7)
Figure 00000023
(7)

Figure 00000024
(8)
Figure 00000024
(8)

Claims (1)

Устройство стохастической диспетчеризации в составе коммутатора или маршрутизатора, содержащее разделяемую память, блок выбора очередей, включающий узел надзора, узел хранения постоянных величин, генератор псевдослучайных чисел, узел сравнения величин, узел определения номера обслуживаемой очереди, память заголовков и указателей, контроллер памяти, классификатор, входной и выходные порты, также включает набор соединений, соединение (1) является управляющим входом блока выборки очередей, по которому узлом управления очередями инициируется запуск процедуры подсчета номера очереди и нового цикла работы устройства, соединение (2) является информационным входом, по которому узлом управления очередями на момент поступления на соединении (1) управляющего сигнала должны быть переданы длины очередей и параметры для подсчета номера очереди, соединение (3) является управляющим выходом, по которому к узлу управления очередями передается управляющий сигнал, свидетельствующий об окончании процедуры подсчета номера очереди, соединение (4) является информационным выходом, по которому узлу управления очередями на момент поступления на соединение (3) управляющего сигнала должен быть передан подсчитанный номер обслуживаемой очереди, должной быть обслуженной, по соединению (5) осуществляется передача кадров с входного порта на классификатор, по соединению (6) осуществляется передача кадров в контроллер разделяемой памяти из классификатора, при этом адрес расположения начала кадров записывается в памяти указателей и заголовков, по соединению (7) осуществляются операции записи содержимого разделяемой памяти контроллером разделяемой памяти, по соединению (20) осуществляются операции чтения содержимого разделяемой памяти контроллером разделяемой памяти, по соединению (8) осуществляется запись кадров, извлекаемых из разделяемой памяти, контроллером памяти в выходной порт, по соединению (9) осуществляется передача управляющего сигнала от выходного порта к контроллеру памяти об окончании процедуры передачи кадра из выходного порта в среду передачи, по соединению (21) осуществляется передача управляющего сигнала от выходного порта к контроллеру памяти о предстоящем окончании процедуры передачи кадра из выходного порта в среду передачи, по соединению (10) осуществляется передача запроса управляющего сигнала на проверку сведений о пустоте очереди, если две очереди и более не пусты, то происходит передача запроса на определение номера обслуживаемой очереди по соединению (1), по соединению (11) осуществляется передача управляющего сигнала - запроса узла управления очередями, адресованного контроллеру памяти, на извлечение кадра, адрес и длина которого передаются по соединению (12) из разделяемой памяти, по соединению (13) осуществляется передача управляющего сигнала от классификатора, адресованного узлу управления очередями, на запись заголовка кадра, заголовок которого передается по соединению (14), а номер очереди, присвоенный классификатором - по соединению (15), по соединению (22) передается управляющий сигнал для соединения (21), по соединению (21) передается адрес кадра, необходимый для записи, в память указателей и заголовков, узел надзора осуществляет контроль длин очередей и времени обслуживания, передаваемых по информационному соединению (2), в случае если сумма длин очередей больше размера разделяемой памяти, то процедура расчета номера обслуживаемой очереди не производится, номер обслуживаемой очереди, подаваемый на выход (4), приобретает значение, соответствующее предыдущему номеру обслуживаемой очереди, при этом генератор псевдослучайных чисел в процессе инициализации получает ключевой код из узла хранения постоянных величин, периодически порождает случайное число, узел хранения постоянных величин имеет выход, связанный с узлом сравнения величин, отличающееся тем, что блок выбора очередей содержит узел расчета вероятностей выбора очередей на обслуживание, который имеет входные соединения с узлами надзора и хранения постоянных величин, а также имеет выход, связанный с узлом сравнения величин, при этом узел подсчета вероятностей выбора очередей на обслуживание обеспечивает подсчет значений вероятностей выбора очередей на обслуживание по следующей циклической процедуре, которая инициируется схемой выборки кадра с разрешения узла надзора устройства в момент времени, соответствующий остатку времени до момента окончания передачи кадра, необходимому для расчета искомого номера, передача аргументов для узла расчета вероятностей осуществляется из очередей заголовков и указателей через узлы управления очередями и надзора, при этом узел сравнения величин сравнивает значения, подсчитанные узлом расчета вероятностей выбора очереди на обслуживание и указанные суммарные вероятности выбора очереди, а узел подсчета номера обслуживаемой очереди на основе данных сравнения, полученных от узла сравнения величин, производит выдачу обрабатывающим узлам, схеме выборки кадра обрабатывающего блока, а также узлу надзора сигналов разрешения или запрета обслуживания по каждому из классов обслуживания.A stochastic scheduling device as part of a switch or router containing shared memory, a queue selection unit, including a surveillance unit, a constant storage unit, a pseudo-random number generator, a unit for comparing values, a unit for determining the number of the serviced queue, memory headers and pointers, a memory controller, a classifier, the input and output ports also includes a set of connections, connection (1) is the control input of the queue fetch block, through which the queue management node initiates the procedure for calculating the queue number and a new operation cycle of the device is started, the connection (2) is an information input through which the queue management node at the moment of receipt of the control signal at the connection (1) must receive the queue lengths and parameters for calculating the queue number, connection (3 ) is a control output, through which a control signal is transmitted to the queue management node, indicating the end of the queue number calculation procedure, connection (4) is an information output, through which At the moment of receipt of the control signal to the connection (3), the counting queue number must be transmitted to the queue management node, it must be serviced, connection (5) transfers frames from the input port to the classifier, connection (6) transfers the frames to the controller shared memory from the classifier, while the address of the beginning of the frames is recorded in the memory of the pointers and headers, connection (7) is used to write the contents of the shared memory to the controller ohm of shared memory, through connection (20), operations are performed to read the contents of shared memory by the shared memory controller, through connection (8), frames are extracted from the shared memory by the memory controller to the output port, connection (9) transfers the control signal from the output port to the memory controller about the end of the frame transfer procedure from the output port to the transmission medium, connection (21) transfers the control signal from the output port to the memory controller about At the end of the procedure for transferring a frame from the output port to the transmission medium, via connection (10), a control signal is sent to check the information about the queue’s emptiness; if two queues are no longer empty, a request is sent to determine the number of the serviced queue by connection (1 ), via connection (11), a control signal is transmitted - a request from the queue management node addressed to the memory controller to retrieve a frame whose address and length are transmitted via connection (12) from the shared memory, through connection (13), a control signal is transmitted from the classifier addressed to the queue management node to record the frame header, the title of which is transmitted via connection (14), and the queue number assigned by the classifier is transmitted through connection (15), through connection (22 ) the control signal for connection (21) is transmitted, connection (21) transfers the address of the frame necessary for writing to the memory of pointers and headers, the surveillance unit monitors the length of the queues and the service time transmitted via the information system together (2), if the sum of the queue lengths is greater than the size of the shared memory, then the procedure for calculating the number of the serviced queue is not performed, the number of the serviced queue supplied to the output (4) acquires the value corresponding to the previous number of the serviced queue, while the pseudo random number generator in the initialization process, receives a key code from the constant storage node, periodically generates a random number, the constant storage node has an output associated with the value comparison node, distinguishing The fact that the queue selection block contains a node for calculating the probabilities of selecting queues for servicing, which has input connections to the nodes of supervision and storage of constant values, and also has an output connected to the node for comparing values, while the node for calculating the probabilities of choosing queues for servicing provides a count the probability values of the selection of service queues according to the following cyclic procedure, which is initiated by the frame sampling scheme with the permission of the device’s supervision node at a time corresponding to the remainder As the time until the end of the frame transfer necessary for calculating the desired number is completed, the arguments for the probability calculation node are transmitted from the queues of headers and pointers through the queue management and supervision nodes, while the value comparison node compares the values calculated by the probability calculation node for choosing the service queue and the indicated total probabilities of the choice of the queue, and the node for counting the number of the queue served, based on the comparison data received from the node for comparing the values, produces brabatyvayuschim nodes scheme frame sample processing unit, as well as site supervision signals enable or disable the service on each of the classes of service.
RU2017102768A 2017-01-27 2017-01-27 Method of stochastic dispatching of switch queues, and device its implementation RU2684581C2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2017102768A RU2684581C2 (en) 2017-01-27 2017-01-27 Method of stochastic dispatching of switch queues, and device its implementation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2017102768A RU2684581C2 (en) 2017-01-27 2017-01-27 Method of stochastic dispatching of switch queues, and device its implementation

Publications (3)

Publication Number Publication Date
RU2017102768A RU2017102768A (en) 2018-07-31
RU2017102768A3 RU2017102768A3 (en) 2018-07-31
RU2684581C2 true RU2684581C2 (en) 2019-04-09

Family

ID=63112998

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2017102768A RU2684581C2 (en) 2017-01-27 2017-01-27 Method of stochastic dispatching of switch queues, and device its implementation

Country Status (1)

Country Link
RU (1) RU2684581C2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2776658C1 (en) * 2021-10-05 2022-07-22 Федеральное государственное казенное военное образовательное учреждение высшего образования Академия Федеральной службы охраны Российской Федерации Method for probabilistic priority queue maintenance and a device implementing it

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115269392B (en) * 2022-07-20 2023-11-14 北京斯年智驾科技有限公司 A visual debugging method, equipment and medium for fused perception

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5247677A (en) * 1992-05-22 1993-09-21 Apple Computer, Inc. Stochastic priority-based task scheduler
RU2030838C1 (en) * 1988-03-18 1995-03-10 Институт проблем управления РАН Method of and device for automatic switching in communication line
EP1887742B1 (en) * 2006-08-09 2012-02-08 Alcatel Lucent System and process for QOS-based packet scheduling
RU159583U1 (en) * 2015-09-17 2016-02-10 Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования "Нижегородский государственный технический университет им. Р.Е. Алексеева" (НГТУ) MULTI-PROCESSOR DIGITAL SIGNAL PROCESSING MODULE

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2030838C1 (en) * 1988-03-18 1995-03-10 Институт проблем управления РАН Method of and device for automatic switching in communication line
US5247677A (en) * 1992-05-22 1993-09-21 Apple Computer, Inc. Stochastic priority-based task scheduler
EP1887742B1 (en) * 2006-08-09 2012-02-08 Alcatel Lucent System and process for QOS-based packet scheduling
RU159583U1 (en) * 2015-09-17 2016-02-10 Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования "Нижегородский государственный технический университет им. Р.Е. Алексеева" (НГТУ) MULTI-PROCESSOR DIGITAL SIGNAL PROCESSING MODULE

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2776658C1 (en) * 2021-10-05 2022-07-22 Федеральное государственное казенное военное образовательное учреждение высшего образования Академия Федеральной службы охраны Российской Федерации Method for probabilistic priority queue maintenance and a device implementing it

Also Published As

Publication number Publication date
RU2017102768A (en) 2018-07-31
RU2017102768A3 (en) 2018-07-31

Similar Documents

Publication Publication Date Title
US6646986B1 (en) Scheduling of variable sized packet data under transfer rate control
US7027457B1 (en) Method and apparatus for providing differentiated Quality-of-Service guarantees in scalable packet switches
KR100323258B1 (en) Rate guarantees through buffer management
US7149227B2 (en) Round-robin arbiter with low jitter
US5675573A (en) Delay-minimizing system with guaranteed bandwidth delivery for real-time traffic
US6721796B1 (en) Hierarchical dynamic buffer management system and method
US8155134B2 (en) System-on-chip communication manager
US20100220590A1 (en) Systems and methods for dropping data using a drop profile
US9705812B2 (en) Port-based fairness protocol for a network element
US20030202525A1 (en) Packet transfer apparatus, scheduler, data transfer apparatus, and packet transfer method
US9954771B1 (en) Packet distribution with prefetch in a parallel processing network device
EP1080560A4 (en) METHOD AND DEVICE FOR TRANSMITTING PACKAGES FROM A MULTITUDE OF COMPETITIVE QUEUE TO AN OUTPUT
JPH11252127A (en) Impartial scheduling for atm cell transmission under overscheduled condition
US8725873B1 (en) Multi-server round robin arbiter
US7894347B1 (en) Method and apparatus for packet scheduling
US10693811B2 (en) Age class based arbitration
JP2001519973A (en) Prioritized access to shared buffers
US9294301B2 (en) Selecting between contending data packets to limit latency differences between sources
US11310164B1 (en) Method and apparatus for resource allocation
US7684422B1 (en) Systems and methods for congestion control using random early drop at head of buffer
JP2016032210A (en) Virtual network allocation method and device
CN111131061B (en) Data transmission method and network equipment
US7330477B2 (en) Method and apparatus for starvation-free scheduling of communications
RU2684581C2 (en) Method of stochastic dispatching of switch queues, and device its implementation
US9282051B2 (en) Credit-based resource allocator circuit

Legal Events

Date Code Title Description
MM4A The patent is invalid due to non-payment of fees

Effective date: 20190415

点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载