Научная статья на тему 'Исследование эффективности применения перспективных корректирующих кодов в гибридной arq/fec системе на прикладном уровне'

Исследование эффективности применения перспективных корректирующих кодов в гибридной arq/fec системе на прикладном уровне Текст научной статьи по специальности «Автоматика. Вычислительная техника»

CC BY
107
28
Поделиться

Аннотация научной статьи по автоматике и вычислительной технике, автор научной работы — Карпухин Е.О., Бритвин Н.В., Мешавкин К.В.

Рассмотрены особенности реализации перспективных корректирующих кодов в гибридных ARQ/FEC системах. Разработана программная модель, позволяющая оценить эффективность применения кодов Рида-Соломона, расширенных кодов с проверкой на четность и «сетевого» кода в гибридных системах с обратной связью и методами помехоустойчивого кодирования. Оценка производительности операций кодирования и декодирования показала преимущество использования «сетевого» кода в ARQ/FEC системах перед кодами Рида-Соломона.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Текст научной работы на тему «Исследование эффективности применения перспективных корректирующих кодов в гибридной arq/fec системе на прикладном уровне»

Исследование эффективности применения перспективных корректирующих кодов в гибридной ARQ/FEC системе

на прикладном уровне

Карпухин Е.О., Центр информационных технологий в проектировании Российской

академии наук ret1987@yandex.ru

Бритвин Н.В., Мешавкин К.В., Федеральное государственное бюджетное образовательное учреждение высшего образования «Московский авиационный институт (национальный исследовательский университет)» britvin.nickita@yandex.ru, meshavkin1996@gmail.com

Аннотация

Рассмотрены особенности реализации перспективных корректирующих кодов в гибридных ARQ/FEC системах. Разработана программная модель, позволяющая оценить эффективность применения кодов Рида-Соломона, расширенных кодов с проверкой на четность и «сетевого» кода в гибридных системах с обратной связью и методами помехоустойчивого кодирования. Оценка производительности операций кодирования и декодирования показала преимущество использования «сетевого» кода в ARQ/FEC системах перед кодами Рида-Соломона.

1 Введение

Одним из наиболее эффективных способов обеспечения надежной доставки сообщений, позволяющим сократить число перезапросов и уменьшить время сборки данных на прикладном уровне, является применение механизма FEC (forward error correction). Однако при малых задержках в сети накладные расходы на кодирование достаточно велики, что не позволяет широко использовать механизм FEC. Гибридные ARQ/FEC системы обладают

преимуществами и ARQ (automatic repeat request), и FEC систем, что вызывает интерес к исследованию эффективности их применения в системах информационного взаимодействия. Анализ ARQ/FEC систем [1] показал, что необходимо использовать корректирующие коды, позволяющие восстанавливать искаженные символы и пакеты на приемной стороне без использования механизмов обратной связи, а также применять необходимые комбинации FEC и изменять скорость отправки данных

путем управления окном получателя [2].

В работе [3] выделены перспективные коды для использования в ARQ/FEC системах: расширенные коды с проверкой на четность и коды Рида-Соломона. К ним следует добавить «сетевой» код, который позволяет сократить время сборки данных [4].

Исследовать эффективность применения кодов Рида-Соломона, расширенного кода с проверкой на четность и «сетевого» кода в гибридной ARQ/FEC системе позволит разработка соответствующих кодеков и программной модели для оценки их производительности при использовании различных сценариев управления окном и корректирующей способностью кодов.

2 Особенности реализации кодеков в программной модели

Расширенные коды с проверкой на четность, коды Рида-Соломона и «сетевой» код предназначены для кодирования и декодирования байтовых данных. Однако в сетях с коммутацией пакетов, таких как Интернет, размер пакета может достигать нескольких килобайт, что делает затруднительным использование указанных кодов. Для этих целей в классах, отвечающих за реализацию кодеков, должен существовать промежуточный метод, который позволит дробить пакет на части и кодировать/декодировать фрагменты

различных пакетов с одинаковыми номерами байт (см. Рис. 1).

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

При передаче больших объемов данных требуется использование механизмов управления окном, которое предполагает передачу определенного количества данных с разделением на пакеты. В программной модели реализована функция, которая

позволяет сформировать требуемый объем данных на основе введения размера информационной последовательности

пакетов и их длины. При этом она успешно работает с большими объемами данных и не зависит от кодеров и декодеров, что позволяет использовать ее с любыми кодами.

■ .1 ■ + 0 □

! 1 1 1 1

! 1 1 1 1

|хсум| mod 256

■нз в

-в—

«31= 256

Рис. 1. Формирование и декодирование пакетов с данными на примере кода с расширенной проверкой на четность.

Каждый из кодеков разработан так, чтобы его можно было легко внедрить в гибридную ARQ/FEC систему без дополнительных доработок. Эта особенность достигается реализацией каждого кодека в отдельном классе. Программная модель и кодеки написаны на языке высокого уровня C#, что совместно с предполагаемым использованием протокола UDP для передачи данных, основанной на гибридных механизмах ARQ/FEC, позволит найти широкое применение в современных

телекоммуникационных сетях.

Необходимо также отметить уникальные особенности реализации каждого из кодеков:

• Кодер и декодер расширенных кодов с проверкой на четность используют единственный метод, который отвечает за вычисление контрольной суммы, что позволяет как получить проверочные символы, так и восстановить утраченные. Данный подход упрощает реализацию кодека.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

• Коды Рида-Соломона не требуют определения позиций ошибок (т.н. «стираний»). Для систем с механизмом FEC это является существенным преимуществом, однако для гибридной ARQ/FEC системы данные коды не дают эффекта из-за использования идентификаторов для подтверждения принятых пакетов.

• «Сетевой» код позволяет декодировать пакеты «на лету», не

требуя доставки всех пакетов с избыточностью при количестве ошибок, меньшем корректирующей способности.

• Декодирование расширенных кодов с проверкой на четность и «сетевого» кода предполагает передачу идентификаторов потерянных пакетов соответствующему методу

декодирования.

3 Внешний вид и основные

характеристики разработанной программной модели для оценки производительности кодеков

Методы кодирования, описанные выше, были разработаны и применены в программной модели. Внешний вид программы при её запуске показан на Рис. 2.

Рис. 2. Диалоговое окно программной модели для оценки производительности кодеков.

В левой части окна следует выбрать одну из шести операций, которая будет совершена с файлом («Выберите код»):

• Кодер Рида-Соломона;

• Кодер расширенного кода с проверкой на четность;

• Кодер «сетевого» кода;

• Декодер Рида-Соломона;

• Декодер расширенного кода с проверкой на четность;

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

• Декодер «сетевого» кода.

В меню «Выберите файл для кодирования или декодирования данных» можно выбрать файл, который требуется кодировать или декодировать в соответствии с выбором операции. При этом если требуется закодировать файл, то выбирается файл с любым расширением, если нужно декодировать файл, то выбирается файл с расширением «.enc», а после декодирования файл получает расширение «.dec». Как закодированный, так и декодированный файлы помещаются в ту же папку, в которой

находился исходный файл.

В правой части окна следует указать значения четырех параметров, с которыми будет работать программная модель:

• Размер информационной последовательности (измеряется в количестве пакетов);

• Корректирующая способность кода (измеряется в количестве пакетов);

• Размер пакета (измеряется в байтах);

• Количество искаженных (потерянных) пакетов.

Последний параметр позволяет

смоделировать потери пакетов, возникающие при передаче данных по сети в рамках окна (информационной последовательности).

Также корректирующая способность кодов должна быть больше либо равна количеству потерянных пакетов.

Для кода Рида-Соломона не следует использовать корректирующую способность выше 8 [5], а для расширенного кода с проверкой на четность не следует использовать корректирующую способность и количество искаженных пакетов, отличное от 1 [6].

После внесения значений для всех требуемых параметров можно оценить производительность кодирования или декодирования выбранного кода, нажав кнопку «Оценить производительность кодирования/декодирования» (см. Рис. 3). Результаты оценки (время выполнения операций кодирования/декодирования и интенсивность обработки данных) будут выведены внизу окна.

Рис. 3. Результаты оценки производительности выбранного кода с заданными параметрами.

Схема проведения эксперимента по оценке времени выполнения операций кодирования данных показана на Рис. 4.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Рис. 4. Схема проведения эксперимента по оценке времени обработки файла кодером или декодером.

4 Оценка эффективности каждого кодека с различными параметрами моделирования

Все эксперименты, описанные ниже, производились с использованием файлов размером от 100 до 1000 Мбайт. Ниже представлена конфигурация оборудования и программного обеспечения, на котором производилась оценка:

• DualCore Intel Pentium E6300;

• Hitachi HDS723030ALA640;

• Microsoft Windows 7 x64;

• Microsoft .NET Framework 4.5.2.

Были проведены три оценки скорости

обработки данных кодером и декодером с использованием ранее рассмотренных кодов:

• С изменением размера информационной последовательности с параметрами «Корректирующая способность и количество потерянных пакетов: 2 пакета для кода Рида-Соломона и «сетевого» кода и 1 пакет для расширенного кода с проверкой на четность; Размер пакета: 1500 байт» (см. Рис. 5);

• С изменением корректирующей способности и количества потерянных пакетов с параметрами «Размер информационной последовательности:

200 пакетов; Размер пакета: 1500 байт» (см. Рис. 6), при этом были задействованы коды, способные восстанавливать несколько

потерянных пакетов; С изменением размера пакета с параметрами «Размер

информационной последовательности: 100 пакетов; Корректирующая способность и количество потерянных пакетов: 2 пакета для кода Рида-Соломона и «сетевого» кода и 1 пакет для расширенного кода с проверкой на четность» (см. Рис. 7).

последователь н

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Рис. 5. Скорость обработки данных при изменении размера информационной последовательности.

Рис. 6. Скорость обработки данных при изменении корректирующей способности и количества потерянных пакетов одновременно.

Рис. 7. Скорость обработки данных при изменении размера пакета.

Из результатов проведенной оценки видно, что расширенный код с проверкой на четность позволяет обеспечить наибольшую

скорость передачи данных практически для всех параметров, однако не может восстановить более одного пакета, что сильно ограничивает области его применения.

Код Рида-Соломона показал худшие результаты по сравнению с «сетевым» кодом. Он в 3 раза медленнее осуществляет кодирование данных и в 4 раза их декодирование. Это связано в том числе и с тем, что для укорачивания кода применяется дополнение информационных слов нулевой последовательностью байт до требуемого кодером размера, которая хоть и не передается по каналу, но негативно влияет на скорость обработки данных в связи с увеличением количества кодовых слов.

В остальном же «сетевой» код обеспечивает высокую скорость обработки данных, может работать с корректирующей способностью больше 8 пакетов, а также сам процесс формирования кодового слова и декодирования проще, чем у кодов Рида-Соломона.

5 Вывод

Проведенная разработка и оценка перспективности использования кодов Рида-Соломона, расширенных кодов с проверкой на четность и «сетевого» кода в гибридной ARQ/FEC системе показала:

• Увеличение размера информационной последовательности приводит к росту скорости обработки данных и достигает максимума в районе 250 пакетов для каждого из кодов.

• Увеличение корректирующей способности кода ожидаемо снижает производительность кодеков. Для увеличения скорости обработки данных необходим поиск компромисса между размером информационной последовательности и количеством восстанавливаемых пакетов.

• Размер пакета не оказывает существенного влияния на скорость обработки данных каждым из кодов. Наиболее стабильна в этом случае ситуация для кодов Рида-Соломона.

Использование расширенных кодов с проверкой на четность в гибридной ARQ/FEC системе подходит для восстановления единственного утраченного пакета, что характерно для локальных сетей [4]. Коды Рида-Соломона следует применять в

ARQ/FEC системах, использующих единственный пакет-подтверждение на весь объем данных, содержащихся в окне. «Сетевой» код предпочтительнее

использовать в остальных случаях, так как он обеспечивает лучшую скорость обработки данных по сравнению с кодом Рида-Соломона.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Благодарности

Исследование выполнено при финансовой поддержке РФФИ в рамках научного проекта № 16-07-00186 A

Список литературы

1. Карпухин Е.О. (2016) Вариант ARQ/FEC системы для противодействия блокировкам пакетов в очередях на приемной стороне. // Информационные технологии и вычислительные системы. № 4. с.5-12.

2. Гридин В.Н. Карпухин Е.О. Евдокимов И.А. (2015) Оценка эффективности способа управления доставкой сетевых пакетов на стороне получателя. // Системы и средства информатики. т. 25. № 3.

3. Карпухин Е.О. Карнаков В.В. (2016)

Применение корректирующих кодов в системах ARQ/FEC на транспортном и прикладном уровнях // Информационные технологии в науке, образовании и управлении: труды межд. конф. IT + S&E46. c.207-211.

4. Карпухин Е.О. Бритвин Н.В. (2016) Применение транспортного кодирования для уменьшения времени сборки данных на приемной стороне // Электросвязь. №10. с. 46-50.

5. Richard E. Blahut. (1983) Theory and Practice of Error Control Codes. Addison Wesley Longman. New York, United States.

6. Robert Gallager. (1968) Information Theory and Reliable Communication. John Wiley & Sons Inc.