Область техники
Настоящее изобретение относится к области телекоммуникационных сетей связи, в частности к способам управления буфером очереди маршрутизатора, в котором выполняется классификация телекоммуникационного трафика.
Уровень техники
Для удобства описания способа и устройства организации памяти сетевого оборудования для управления его очередями введем ряд определений.
Дескриптор – лексическая единица, выраженная информативным словом (вербально) или кодом и являющаяся именем класса синонимичных или близких по смыслу ключевых слов. Дескрипторы используются для координатного индексирования документов и информационных запросов с целью последующего поиска (см. ГОСТ 7.74-96).
Протокольный блок данных (ПБД) – блок данных, передаваемый между логическими объектами одного и того же уровня (см. ГОСТ 24402-88).
Дисциплина обслуживания – правило, руководствуясь которым обслуживающее устройство выбирает из очереди пакеты или сообщения на обслуживание (см. Л.М. Невдяев. Телекоммуникационные технологии. Англо-русский толковый словарь-справочник. Под редакцией Ю.М. Горностаева. Москва, 2002).
В настоящее время в телекоммуникационных сетях все более востребованными становятся услуги реального времени, такие как голосовая телефония, видеотелефония, видеоконференцсвязь, видеонаблюдение и другие. Причем при использовании приложений реального времени требуется гарантированно обеспечить заданный уровень качества обслуживания. Обеспечение высоких требований качества обслуживания возможно только в том случае, если сетевое оборудование (коммутаторы и маршрутизаторы) будут эффективно выполнять задачи по продвижению трафика в сети. При этом особенно важно, чтобы задержка ПБД в сетевом оборудовании, обусловленная процессами буферизации, классификации и обслуживания, была минимальна. Задержка обслуживания ПБД в меньшей степени зависит от структуры и свойств сетевого оборудования. Чаще всего она возникает из-за занятости выходного порта и может быть минимизирована организационными мерами (повышением пропускной способности каналов, выбором альтернативных маршрутов при возникновении перегрузок, перераспределением значений приоритетов потоков трафика). Задержка буферизации и классификации ПБД в сетевом оборудовании обусловлена свойствами элементов сетевого оборудования. Она возникает из-за того, что маршрутизатору требуется время для размещения каждого ПБД в своей внутренней памяти. Перед тем, как разместить очередной ПБД в своей памяти, сетевому оборудованию необходимо очистить память, которая была занята предыдущим обслуженным ПБД, убедиться в том, что объем памяти, необходимый для буферизации следующего ПБД, может быть выделен и поместить очередной ПБД в свою внутреннюю память. Для осуществления классификации ПБД сетевому оборудованию необходимо прочитать данные из соответствующего заголовка ПБД, что, в свою очередь, также требует временных затрат. В связи с повышением требований по обеспечению качества обслуживания и увеличением объемов трафика в телекоммуникационных сетях, необходимо постоянно совершенствовать алгоритмы и структуры данных, применяемые в сетевом оборудовании при обработке ПБД. Если сетевое оборудование не может справится с нагрузкой, и размер очереди оказывается большой, то происходит сброс ПБД, который существенно снижает качество обслуживания.
Известны способ и система «Точное отслеживания использования памяти в многопроцессном вычислительном окружении» (патент US 10558365 B2 от 11.02.2020 г.), описывающие применение указателя используемой памяти в каждом процессе, запущенном в узле многопроцессной вычислительной компьютерной системы.
Известны способ и система «Хранилища данных прямой памяти вне кучи, методы создания и/или управления хранилищами данных прямой памяти вне кучи, и/или системы, содержащие хранилища данных прямой памяти вне кучи» (патент US 9990132 B2 от 05.06.2018 г.), описывающие улучшенные методы управления памятью для компьютерных систем, использующие хранилища данных прямой памяти вне кучи, которые является легко масштабируемым и очень эффективным.
Известен способ «Организация сетевого процессорного устройства» (патент RU 2755987 С1 от 08.10.2020 г.), заключающийся в обеспечении сохранения разметки произвольных сетевых транспортных протоколов без снижения значения пропускной способности сетевого процессорного устройства.
Наиболее близким по технической сущности к заявляемому способу и выбранным в качестве прототипа является «Параллельная очередь с приоритетами, использующая параллельную кучу в многоядерных процессорах для ускорения приложений, базирующихся на приоритетных очередях» (патент CA 2895848 от 08.01.2019 г.), заключающийся в том, что для реализации параллельной приоритетной очереди на одном или более многоядерных процессорах и/или мультипроцессорах, таких как графические процессоры общего назначения, приоритетная очередь может быть реализована как параллельная куча и действовать как эффективная параллельная приоритетная очередь за счет использования нечисловых нерегулярных вычислений для планирования мультипроцессора, а также использования алгоритмов метода ветвей и границ и других различных алгоритмов поиска и/или других нерегулярных вычислений.
Наиболее близким по технической сущности к заявляемому устройству и выбранным в качестве прототипа является «Параллельная очередь с приоритетами, использующая параллельную кучу в многоядерных процессорах для ускорения приложений, базирующихся на приоритетных очередях» (патент CA 2895848 от 08.01.2019 г.), заключающийся в том, что диспетчер параллельной кучи, располагается на центральном процессоре, менеджер параллельной кучи и очереди приоритетных приложений находятся на графическом процессоре. Диспетчер выступает в качестве посредника между менеджером параллельной кучи и очередью приоритетных приложений, конфигурируется для контроля выполнения системы параллельной кучи, как диспетчер очереди. Параллельные структуры данных кучи перемещаются в памяти устройства, и устанавливают функции ядра через интерфейсы приоритетной очереди и параллельные структуры данных кучи. Очередь приоритетных приложений уведомляет диспетчера, когда его выходные данные готовы. Затем, очередь приоритетных приложений конфигурируется так, чтобы приостановить свою работу для ожидания поступления новых данных самого высокого приоритета на вход, которые затем будут удалены из параллельной кучи. Для этого диспетчер посылает запрос менеджеру параллельной кучи, чтобы удалить новые данные из очереди приоритетных приложений в корне кучи, сортировать их и вернуть данные приложению очереди с минимальным приоритетом. Вышеупомянутый процесс будет итерационно повторяться, пока данные приложений приоритетных очередей не закончатся.
Технической проблемой данных аналогов и прототипа является большое значение среднего времени задержки ПБД трафика реального времени в сетевом оборудовании при размещении ПБД в памяти сетевого оборудования, поиске и извлечении ПБД из памяти сетевого оборудования. Причиной, по которой это происходит является то, что память сетевого оборудования не разделена между очередями разного приоритета, а фрагмент памяти выделяется очередному ПБД, ставшему в очередь, линейно вне зависимости от приоритета ПБД. При этом, очередь ПБД каждого приоритета реализуется в виде связного списка. Поэтому при управлении очередями планировщику для принятия решения о том, какой ПБД отправить на обслуживание, необходимо регулярно анализировать весь список ПБД, находящихся в очереди, а, передав очередной ПБД на обслуживание, очистить область памяти, занятую обслуженным ПБД, и изменить связи общего списка ПБД. При большом размере очередей или большом количестве очередей данный способ неэффективен в связи наличием в нем большого количества операций чтения-записи и значительной фрагментацией памяти сетевого оборудования.
Создание способа и устройства организации памяти сетевого оборудования для управления его очередями направлено на решение данной технической проблемы, которые уменьшают среднее время задержки ПБД трафика реального времени в сетевом оборудовании при размещении ПБД в памяти сетевого оборудования, поиске и извлечении ПБД из памяти сетевого оборудования за счет логического разделения области памяти сетевого оборудования на сегмент указателей, сегмент очередей, сегмент буфера и логическом разделении очередей различных приоритетов.
В заявленном способе эта задача решается тем, что в способе организации памяти сетевого оборудования для управления его очередями, заключающемся в том, что логически разделяют область памяти сетевого оборудования на сегмент указателей, сегмент очередей, сегмент буфера, получают информацию о дисциплине обслуживания планировщика, устанавливают значение размера фрагмента сегмента буфера равным Lmax, принимают ПБД в порт сетевого оборудования, определяют приоритет ПБД и размер ПБД, проверяют, имеется ли в сегменте очередей очередь для ПБД данного приоритета, если очередь отсутствует, то добавляют очередь для ПБД данного приоритета в сегмент указателей и сегмент очередей, находят в сегменте указателей дескриптор очереди приоритета ПБД, а в сегменте очередей определяют адрес дескриптора последнего ПБД, находящегося в соответствующей очереди, определяют по битовой карте сегмента буфера очереди приоритета ПБД адреса свободных фрагментов сегмента буфера, передают ПБД из порта сетевого оборудования в сегмент буфера, записывают в битовые карты сегмента очередей и сегмента буфера данные о размещении ПБД в очереди, обслуживают ПБД и передают его из сегмента буфера в порт назначения сетевого оборудования, записывают в битовые карты сегмента очередей и сегмента буфера данные об удалении ПБД из очереди, повторяют процесс итерационно, пока в порт сетевого оборудования поступают ПБД.
Согласно одному из частных вариантов реализации устанавливают класс обслуживания трафика в соответствии с заранее заданными правилами классификации.
Согласно одному из частных вариантов реализации устанавливают размер фрагмента сегмента буфера равным фиксированной величине, выбранной из диапазона от Lmin до Lmax.
Согласно одному из частных вариантов реализации устанавливают размер фрагмента сегмента буфера равным случайной величиной, выбранной из диапазона от Lmin до Lmax.
Новая совокупность существенных признаков позволяет достичь указанного технического результата за счет логического разделения области памяти сетевого оборудования на сегмент указателей, сегмент очередей, сегмент буфера и логическом разделении очередей различных приоритетов.
В заявленном устройстве эта техническая проблема решается тем, что устройство организации памяти сетевого оборудования для управления его очередями состоит из модуля управления памятью, выполненного с возможностью логического разделения области памяти сетевого оборудования на сегмент указателей, сегмент очередей, сегмент буфера, установления значения размера фрагмента сегмента буфера, приёма ПБД в порт сетевого оборудования, определения приоритета ПБД и его размера, добавления очереди для ПБД данного приоритета в сегмент указателей и сегмент очередей, передачи ПБД из порта сетевого оборудования в сегмент буфера, передачи ПБД из сегмента буфера в порт назначения сетевого оборудования, модуля управления указателями, выполненного с возможностью управления очередями ПБД, модуля управления очередями, выполненного с возможностью логической организации очередей и управления ими, модуля памяти сетевого оборудования, реализующего предоставление ресурсов для хранения данных, модуля управления буфером, выполненного с возможностью размещения всех ПБД, поступивших в одну из очередей, планировщика, выполненного с возможностью реализации заданной дисциплины обслуживания ПБД.
Благодаря новой совокупности существенных признаков за счет взаимодействия модуля управления памятью, модуля управления указателями, модуля управления очередями, модуля управления буфером достигается указанный технический результат уменьшение среднего времени задержки ПБД трафика реального времени в сетевом оборудовании при размещении ПБД в памяти сетевого оборудования, поиске и извлечении ПБД из памяти сетевого оборудования.
Проведенный анализ уровня техники позволил установить, что аналоги, характеризующиеся совокупностью признаков, тождественных всем признакам заявленных способа и устройства организации памяти сетевого оборудования для управления его очередями, отсутствуют. Следовательно, каждое из заявленных изобретений соответствует условию патентоспособности «новизна».
Результаты поиска известных решений в данной и смежных областях техники с целью выявления признаков, совпадающих с отличительными от прототипа признаками заявленного объекта, показали, что они не следуют явным образом из уровня техники. Из уровня техники также не выявлена известность влияния предусматриваемых существенными признаками заявленного изобретения преобразований на достижение указанного технического результата. Следовательно, каждое из заявленных изобретений соответствует условию патентоспособности «изобретательский уровень».
«Промышленная применимость» обусловлена наличием элементной базы, на основе которой могут быть выполнены устройства, реализующие данный способ и устройство с достижением указанного в изобретении результата.
Для более понятной иллюстрации технических решений согласно вариантам осуществления настоящего изобретения ниже приведено краткое описание сопроводительных чертежей.
На фиг. 1 – способ организации памяти сетевого оборудования для управления его очередями.
На фиг. 2 – обобщённая модель системы обслуживания с n очередями и планировщиком.
На фиг. 3 – схема сегментной структуры памяти.
На фиг. 4 – метод добавления новой очереди в сегмент указателей.
На фиг. 5 – логическая структура сегмента очередей.
На фиг. 6 – частотное распределение размеров ПБД для видеотрафика.
На фиг. 7 – устройство организации памяти сетевого оборудования для управления его очередями.
На фиг. 8 – логическая структура дескриптора сегмента указателей.
На фиг. 9 – физическая структура сегмента указателей.
На фиг. 10 – пример битовой карты в сегменте указателей размера 8.
На фиг. 11 – логическая структура дескриптора сегмента очередей.
На фиг. 12 – физическая структура сегмента очередей.
На фиг. 13 – физическая структура сегмента буфера.
На фиг. 14 – модель памяти сетевого оборудования в среде сетевого симулятора OMNet ++.
Ниже будут полностью и четко описаны технические решения для вариантов осуществления настоящего изобретения со ссылками на сопроводительные чертежи. Должно быть, очевидно, что варианты осуществления, описанные ниже, являются только частью настоящего изобретения, а не всеми возможными вариантами осуществления настоящего изобретения. Все другие варианты осуществления, полученные специалистами в данной области техники на основе вариантов осуществления настоящего изобретения и не использующие творческий подход, попадают под объем охраны настоящего изобретения.
Реализация заявленного способа заключается в следующем (Фиг. 1).
101. Логически разделяют область памяти сетевого оборудования на сегмент указателей, сегмент очередей, сегмент буфера. В сетевом оборудовании планировщику для реализации определенной дисциплины обслуживания (Фиг. 2) доступна фиксированная область памяти объемом TotalMem, которая логически разделяется на три сегмента (Фиг. 3):
– сегмент указателей (PS) размером SizePS;
– сегмент очередей (QS) размером SizeQS;
– сегмент буфера ПБД (BS) размером SizeBS.
102. Получают информацию о дисциплине обслуживания планировщика, устанавливают значение размера фрагмента сегмента буфера равным Lmax.
103. Принимают ПБД в порт сетевого оборудования, определяют приоритет ПБД и размер ПБД. Согласно данным параметрам планировщик определяет, в какую очередь поставить ПБД, сколько фрагментов сегмента буфера займет ПБД и время, требующееся на его обслуживание.
104. Проверяют, имеется ли в сегменте очередей очередь для ПБД данного приоритета. Если имеется очередь, то осуществляют переход к 106.
105. Если очередь отсутствует, то добавляют очередь для ПБД данного приоритета в сегмент указателей и сегмент очередей. Для этого в сегменте указателей PS находят первый свободный фрагмент и записывают в него дескриптор. Смещение свободного фрагмента относительно начала сегмента памяти вычисляется по битовой карте в соответствии с методом, представленном на рисунке (Фиг. 4). Для удаления очереди из сегмента указателей PS необходимо в битовой карте установить значение 0 биту, номер которого соответствует фрагменту, занимаемому дескриптором удаляемой очереди.
106. Находят в сегменте указателей дескриптор очереди приоритета ПБД, а в сегменте очередей определяют адрес дескриптора последнего ПБД, находящегося в соответствующей очереди. Логическая структура сегмента очередей может быть представлена в виде совокупности двусвязных списков дескрипторов ПБД. Каждый двусвязный список обеспечивает работу каждой очереди в соответствии с дисциплиной FIFO. Для управления очередями дескрипторы очередей в сегменте указателей PS содержат указатели на начало и конец очередей в сегменте очередей QS (Фиг. 5).
107. Определяют по битовой карте сегмента буфера очереди приоритета ПБД адреса свободных фрагментов сегмента буфера. Для размещения ПБД в сегменте буфера BS необходимо найти непрерывную последовательность фрагментов сегмента буфера такой длины, в которой бы поместился ПБД. Диапазон памяти сегмента буфера, отведенный для хранения ПБД разбивается на K отрезков длины Lmax. Для каждого отрезка в сегменте буфера BS выделяется отдельный суббуфер со своей битовой картой, в каждом их которых хранятся фрагмент ПБД. Размер каждого суббуфера и длина его битовой карты определяются частотным распределением размеров ПБД и могут быть подобраны опытным путем. Пример частотного распределения размеров ПБД для видеотрафика приведен на рисунке (Фиг. 6).
108. Передают ПБД из порта сетевого оборудования в сегмент буфера, записывают в битовые карты сегмента очередей и сегмента буфера данные о размещении ПБД в очереди. Начало и конец последовательности фрагментов ПБД записываются в дескриптор ПБД в сегменте очередей QS.
109. Обслуживают ПБД и передают его из сегмента буфера в порт назначения сетевого оборудования, записывают в битовые карты сегмента очередей и сегмента буфера данные об удалении ПБД из очереди.
110. Осуществляют переход к 103.
Заявленный способ организации памяти сетевого оборудования для управления его очередями позволяет достичь указанного технического результата уменьшение среднего времени задержки трафика данных реального времени в сетевом оборудовании при их размещении в памяти сетевого оборудования, поиске и извлечении из памяти сетевого оборудования за счет логического разделения области памяти сетевого оборудования на сегмент указателей, сегмент очередей, сегмент буфера и логическом разделении очередей различных приоритетов.
Устройство организации памяти сетевого оборудования для управления его очередями (Фиг. 7) состоит из модуля управления памятью 201, модуля управления указателями 202, модуля управления очередями 203, модуля памяти сетевого оборудования 204, модуля управления буфером 205, планировщика 206.
Модуль управления памятью 201, выполненный с возможностью логического разделения области памяти сетевого оборудования на сегмент указателей, сегмент очередей, сегмент буфера, установления значения размера фрагмента сегмента буфера, приёма ПБД в порт сетевого оборудования, определения приоритета ПБД и его размера, добавления очереди для ПБД данного приоритета в сегмент указателей и сегмент очередей, передачи ПБД из порта сетевого оборудования в сегмент буфера, передачи ПБД из сегмента буфера в порт назначения сетевого оборудования.
Модуль управления указателями 202, выполненный с возможностью для добавления и удаления очередей ПБД. Модуль управления указателями 202 организует работу сегмента указателей PS, который предназначен для добавления и удаления очередей ПД. В этом сегменте осуществляются операции: формирование новой очереди, удаление очереди. В сегменте указателей хранятся дескрипторы очередей Pi (где i - номер очереди) (Фиг. 8), каждый из которых имеет фиксированный размер (Фиг. 9) и содержит следующие данные:
– указатели на начало (Qнач) и конец (Qкон) очереди в сегменте очередей и на следующий сегмент (Pслед);
– атрибуты и параметры (Attr): идентификатор, время создания, вес, максимальный размер, параметры RED/WRED очереди.
Сегмент указателей PS ограничен значением n, которое определяется как максимальное количество очередей. В начале сегмента указателей PS содержится битовая карта BitMap длиной n бит, по которой определяются какие фрагменты сегмента указателей заняты дескрипторами, а какие фрагменты свободны. Пример битовой карты сегмента указателей представлен на рисунке (Фиг. 10).
Модуль управления очередями 203, выполненный с возможностью логической организации очередей и управления ими. Модуль управления очередями 203 организует работу сегмента очередей QS, который предназначен для логической организации очередей и управления ими. В сегменте очередей хранятся дескрипторы ПБД Qij (где i - номер очереди, j – номер ПБД), расположенных в данной очереди (Фиг. 11). Каждый дескриптор ПБД имеет фиксированный размер и содержит следующие данные:
– указатели на начало (Qнач) и конец (Qкон) ПБД в сегменте буфера BS и на следующий ПБД (Qслед);
– атрибуты и числовые параметры ПБД (идентификатор и приоритет).
В начале сегмента очередей QS содержится битовая карта BitMap, по которой определяются какие фрагменты сегмента очередей дескрипторами, а какие фрагменты свободны. (Фиг. 12). В сегменте очередей QS ПБД одного приоритета обслуживаются по дисциплине FIFO.
Максимальное количество фрагментов в сегменте очередей QS ограничено некоторым значением NQmax, которое определяется как максимальное суммарное количество ПБД во всех очередях, для которого должно выполняться условие:
где mi – размер i-й очереди (в ПБД).
Модуль памяти сетевого оборудования 204, реализующий функции хранения ПБД и передачи информации между модулями устройства.
Модуль управления буфером 205, выполненный с возможностью размещения всех ПБД, поступивших в одну из очередей. Модуль управления буфером 205 организует работу сегмента буфера BS, который предназначен для размещения всех ПБД, поступивших в одну из очередей. В этом сегменте выделяется память при поступлении ПБД в очередь и освобождается при его удалении из очереди. Сегмент буфера обеспечивает хранение ПБД в течение времени его нахождения в очереди. Как только ПБД классифицируется и размещается в очередь, для него резервируется память в сегменте буфера BS. В начале сегмента буфера BS содержится битовая карта BitMap длиной k бит, которая определяет занятые и свободные фрагменты. (Фиг. 13). Каждый дескриптор ПБД включает в себя указатели на начало и конец ПБД в сегменте буфера BS, атрибуты и числовые параметры ПБД (как минимум приоритет и размер), указатели на предыдущий и на следующий дескрипторы в списке.
Планировщик 206, выполненный с возможностью реализации заданной дисциплины обслуживания ПБД.
Модули управления памятью 201, управления указателями 202, управления очередями 203, управления буфером 205 и планировщик 206 соединены с модулем памяти 204 через общую шину.
Модули управления памятью 201, указателями 202, очередями 203, буфером 205 и планировщик 206 могут быть реализованы по известной схеме, например, как контроллер Zynq-7000 SoC Product Advantages (см. https://www.xilinx.com/products/silicon-devices/soc/zynq-7000.html#documentation).
Модуль памяти 204 может быть реализован по известной схеме, например, как модуль оперативной памяти DDR3 любого производителя.
Устройство работает следующим образом.
Модуль управления памятью 201 логически разделяет область памяти сетевого оборудования на сегмент указателей, сегмент очередей, сегмент буфера, в соответствии с информацией, полученной от администратора сети устанавливает значение размера фрагмента сегмента буфера, передает информацию о размере фрагмента сегмента буфера в модуль управления буфером 205. Модуль управления буфером 205 получает информацию от модуля управления памятью 201 о размере фрагмента сегмента буфера и устанавливает ее значение. Планировщик 206 получает информацию от администратора сети о выбранной дисциплине обслуживания, в соответствии с которой производит обслуживание ПБД. Модуль управления памятью 201 принимает ПБД в порт сетевого оборудования, определяет приоритет ПБД и размер ПБД, передает информацию о приоритете ПБД в модуль управления указателями 202. Модуль управления указателями 202 получает информацию от модуля управления памятью 201 о приоритете ПБД, определяет, имеется ли в сегменте очередей очередь для ПБД данного приоритета. Если очередь отсутствует, то передает информацию об отсутствии очереди для ПБД данного приоритета в модуль управления памятью 201. Модуль управления памятью 201 получает от модуля управления указателями 202 информацию об отсутствии в сегменте очередей очереди для ПБД данного приоритета, передает информацию о необходимости добавления очереди для ПБД данного приоритета в модуль управления указателями 202 и модуль управления очередями 203. Модуль управления указателями 202 получает от модуля управления памятью 201 информацию о необходимости добавления очереди для ПБД данного приоритета, добавляет новую очередь и передает в модуль управления очередями 203 и модуль управления памятью 201 дескриптор новой очереди. Модуль управления очередями 203 получает от модуля управления указателями дескриптор новой очереди. Модуль управления памятью 201 получает от модуля управления указателями 202 дескриптор новой очереди и передает модулю управления указателями 202 и модулю управления очередями 203 ПБД для размещения в очереди. Модуль управления указателями 202 получает от модуля управления памятью 201 информацию о том, что необходимо разместить ПБД в модуле управления буфером 205, передает в модуль управления очередями 203 дескриптор очереди приоритета ПБД. Модуль управления очередями 203 получает от модуля управления памятью 201 информацию о том, что необходимо разместить ПБД, от модуля управления указателями 202 получает дескриптор очереди приоритета ПБД, находит адрес дескриптора последнего ПБД, находящегося в соответствующей очереди, передают ПБД в модуль управления буфером 205. Модуль управления буфером 205 получает от модуля управления очередями 203 адрес дескриптора последнего ПБД, находящегося в соответствующей очереди, находит по битовой карте адреса свободных фрагментов сегмента буфера, передает ПБД из порта сетевого оборудования в сегмент буфера, передает модулю управления очередями 203 дескриптор ПБД в сегменте буфера. Модуль управления очередями 203 получает от модуля управления буфером 205 дескриптор ПБД в сегменте буфера. Планировщик 206 запрашивает у модуля управления очередями 203, имеется ли в очереди на обслуживание ПБД, получает от модуля управления очередями 203 дескриптор ПБД в сегменте буфера, производит его обслуживание в соответствии с выбранной дисциплиной обслуживания и передает информацию об этом модулю управления памятью 201. Модуль управления памятью 201 получает от планировщика дескриптор обслуженного ПБД, передает ПБД в порт назначения сетевого оборудования, передает информацию в модуль управления очередями 203 и модуль управления буфером 205 данные об удалении ПБД из очереди. Модуль управления очередями 203 и модуль управления буфером 205 получают от модуля управления памятью 201 информацию об удалении ПБД и освобождают память, отведенную для его хранения. Процесс повторяется итерационно, пока в порт сетевого оборудования поступают ПБД.
Правомерность теоретических предпосылок была проверена модельными экспериментами на имитационной модели сетевого оборудования в среде сетевого симулятора OMNet ++ с реализацией в модели различной загрузки входного порта сетевого оборудования и различным количеством очередей, реализованных в нем (Фиг. 14). Эксперимент проводился со следующими исходными данными:
- количество ПБД - 1000000,
- средний размер ПБД - 500 байт,
- количество очередей сетевого оборудования – 3; 5; 8.
- загрузка порта сетевого оборудования – 0,1; 0,3; 0,5; 0,7.
Результаты эксперимента показали, что при использовании заявленного способа организации памяти сетевого оборудования для управления его очередями обеспечивается уменьшение среднего времени задержки ПБД в сетевом оборудовании от 7 до 12% от среднего времени задержки в зависимости от среднего размера ПБД, поступающего в порт сетевого оборудования, загрузки порта сетевого оборудования и количества очередей, реализованных в нем.
Анализ результатов эксперимента показывает что, заявленные способ и устройство организации памяти сетевого оборудования для управления его очередями обеспечивает уменьшение среднего времени задержки ПБД трафика реального времени в сетевом оборудовании при размещении ПБД в памяти сетевого оборудования, поиске и извлечении ПБД из памяти сетевого оборудования за счет логического разделения области памяти сетевого оборудования на сегмент указателей, сегмент очередей, сегмент буфера и логическом разделении очередей различных приоритетов.
название | год | авторы | номер документа |
---|---|---|---|
СПОСОБ ВЕРОЯТНОСТНОГО ВЗВЕШЕННОГО СПРАВЕДЛИВОГО ОБСЛУЖИВАНИЯ ОЧЕРЕДЕЙ И УСТРОЙСТВО ЕГО РЕАЛИЗУЮЩЕЕ | 2022 |
|
RU2777035C1 |
СПОСОБ ВЕРОЯТНОСТНОГО ПРИОРИТЕТНОГО ОБСЛУЖИВАНИЯ ОЧЕРЕДЕЙ И УСТРОЙСТВО ЕГО РЕАЛИЗУЮЩЕЕ | 2021 |
|
RU2776658C1 |
КАДРОВЫЙ ПРОТОКОЛ И СИСТЕМА ПЛАНИРОВАНИЯ | 2003 |
|
RU2323429C2 |
Программируемые устройства для обработки запросов передачи данных памяти | 2016 |
|
RU2690751C2 |
УСТРОЙСТВО ДЛЯ ПРИЕМА И ПЕРЕДАЧИ ДАННЫХ С ВОЗМОЖНОСТЬЮ ОСУЩЕСТВЛЕНИЯ ВЗАИМОДЕЙСТВИЯ С OpenFlow КОНТРОЛЛЕРОМ | 2014 |
|
RU2584471C1 |
СИСТЕМЫ И СПОСОБЫ ПРЕДОТВРАЩЕНИЯ НЕСАНКЦИОНИРОВАННОГО ПЕРЕМЕЩЕНИЯ СТЕКА | 2014 |
|
RU2629442C2 |
Способ, устройство и система для оптимизации транспортной сети связи | 2018 |
|
RU2680764C1 |
СПОСОБ ОРГАНИЗАЦИИ СЕТЕВОГО ПРОЦЕССОРНОГО УСТРОЙСТВА | 2020 |
|
RU2755987C1 |
Способ, устройство и система для оптимизации разбалансированной транспортной сети связи | 2019 |
|
RU2731437C1 |
СИСТЕМЫ И СПОСОБЫ ПРОВЕРКИ АДРЕСА ВОЗВРАТА ПРОЦЕДУРЫ | 2014 |
|
RU2628163C2 |
Изобретение относится к средствам управления буфером очереди маршрутизатора, в котором выполняется классификация телекоммуникационного трафика. Техническим результатом является уменьшение среднего времени задержки протокольных блоков данных трафика реального времени в сетевом оборудовании при размещении протокольных блоков данных в памяти сетевого оборудования, поиске и извлечении протокольных блоков данных из памяти сетевого оборудования. Указанный результат достигается за счет логического разделения области памяти сетевого оборудования на сегмент указателей, сегмент очередей, сегмент буфера, логическом разделении очередей различных приоритетов и их реализации в виде списков протокольных блоков данных. 2 н. и 1 з.п. ф-лы, 14 ил.
1. Способ организации памяти сетевого оборудования для управления его очередями, в котором
а) логически разделяют область памяти сетевого оборудования на три сегмента: сегмент указателей, сегмент очередей, сегмент буфера,
где сегмент указателей предназначен для хранения дескрипторов очередей Pi (где i - номер очереди), причем в начале сегмента указателей содержится битовая карта, по которой определяются, какие фрагменты сегмента указателей заняты дескрипторами, а какие фрагменты свободны, а сегмент очередей предназначен для хранения дескрипторов протокольного блока данных (ПБД) Qij (где i - номер очереди, j - номер ПБД), расположенных в данной очереди, причем в начале сегмента очередей содержится битовая карта, по которой определяются, какие фрагменты сегмента очередей заняты дескрипторами, а какие фрагменты свободны, в начале сегмента указателей содержится битовая карта, по которой определяются, какие фрагменты сегмента указателей заняты дескрипторами, а какие фрагменты свободны,
б) получают информацию о дисциплине обслуживания планировщика, устанавливают значение размера фрагмента сегмента буфера,
в) принимают ПБД в порт сетевого оборудования, определяют приоритет ПБД и размер ПБД,
г) проверяют, имеется ли в сегменте очередей очередь для ПБД данного приоритета, если имеется очередь, то осуществляют переход к этапу е),
д) если очередь отсутствует, то добавляют очередь для ПБД данного приоритета в сегмент очередей, а в сегменте указателей находят первый свободный фрагмент и записывают в него дескриптор очереди,
е) находят в сегменте указателей дескриптор очереди ПБД данного приоритета, а в сегменте очередей определяют адрес j дескриптора последнего ПБД, находящегося в соответствующей очереди i,
ж) определяют по битовой карте сегмента буфера, адреса свободных фрагментов сегмента буфера, очереди ПБД данного приоритета,
з) передают ПБД из порта сетевого оборудования в сегмент буфера, записывают в битовые карты сегмента очередей и сегмента буфера данные о размещении ПБД в очереди, причем начало и конец последовательности фрагментов ПБД записываются в дескриптор ПБД в сегменте очередей,
и) обслуживают ПБД согласно дисциплине облуживания и передают ПБД из сегмента буфера в порт назначения сетевого оборудования, записывают в битовые карты сегмента очередей и сегмента буфера данные об удалении ПБД из очереди,
к) осуществляют переход к этапу в).
2. Способ по п.1, в котором на этапе г) устанавливают класс обслуживания трафика в соответствии с заранее заданными правилами классификации.
3. Устройство организации памяти сетевого оборудования для управления его очередями, состоящее из:
модуля управления памятью, предназначенного для логического разделения области памяти сетевого оборудования на сегмент указателей, сегмент очередей, сегмент буфера, где сегмент указателей предназначен для хранения дескрипторов очередей Pi (где i - номер очереди), причем в начале сегмента указателей содержится битовая карта, по которой определяются, какие фрагменты сегмента указателей заняты дескрипторами, а какие фрагменты свободны, а сегмент очередей предназначен для хранения дескрипторов ПБД Qij (где i - номер очереди, j - номер ПБД), расположенных в данной очереди, причем в начале сегмента очередей содержится битовая карта, по которой определяются, какие фрагменты сегмента очередей заняты дескрипторами, а какие фрагменты свободны,
установления значения размера фрагмента сегмента буфера,
приема ПБД в порт сетевого оборудования,
определения приоритета ПБД и его размера,
добавления очереди для ПБД данного приоритета в сегмент очередей, записи дескриптора очереди в первый свободный фрагмент в сегменте указателей,
передачи ПБД из порта сетевого оборудования в сегмент буфера, а также записи в битовые карты сегмента очередей и сегмента буфера данных о размещении ПБД в очереди, причем начало и конец последовательности фрагментов ПБД записываются в дескриптор ПБД в сегменте очередей,
передачи ПБД из сегмента буфера в порт назначения сетевого оборудования и записи в битовые карты сегмента очередей и сегмента буфера данные об удалении ПБД из очереди;
модуля управления указателями, предназначенного для добавления и удаления очередей протокольных блоков данных;
модуля управления очередями, предназначенного для логической организации очередей и управления ими;
модуля управления буфером, предназначенного для размещения всех ПБД, поступивших в одну из очередей согласно приоритету ПБД, в сегменте буфера;
планировщика, предназначенного для реализации выбранной дисциплины обслуживания;
модуля памяти сетевого оборудования, предназначенного для хранения протокольных блоков данных и передачи информации между модулями устройства, при этом, модуль управления памятью, модуль управления указателями, модуль управления очередями, модуль управления буфером и планировщик соединены с модулем памяти через общую шину.
US 20180183724 A1, 28.06.2018 | |||
US 9178830 B2, 03.11.2015 | |||
EP 2936308 A1, 28.10.2015 | |||
СПОСОБ ОРГАНИЗАЦИИ СЕТЕВОГО ПРОЦЕССОРНОГО УСТРОЙСТВА | 2020 |
|
RU2755987C1 |
Авторы
Даты
2023-08-15—Публикация
2022-09-19—Подача