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

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

CC BY
252
75
i Надоели баннеры? Вы всегда можете отключить рекламу.

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

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
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).

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

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

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

■ .1 ■ + 0 □

! 1 1 1 1

! 1 1 1 1

|хсум| mod 256

■нз в

-в—

«31= 256

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Рис. 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).

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

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

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

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

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

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

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

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

5 Вывод

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

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

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

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

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

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

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

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

Исследование выполнено при финансовой поддержке РФФИ в рамках научного проекта № 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.

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