Программная реализация средств моделирования низкоплотностных кодеков: эффективная архитектура декодера для массивно-параллельных вычислений на графических процессорах

УДК 621.39:681.3.06

ПРОГРАММНАЯ РЕАЛИЗАЦИЯ СРЕДСТВ МОДЕЛИРОВАНИЯ НИЗКОПЛОТНО СТНЫХ КОДЕКОВ: ЭФФЕКТИВНАЯ АРХИТЕКТУРА ДЕКОДЕРА ДЛЯ МАССИВНО-ПАРАЛЛЕЛЬНЫХ ВЫЧИСЛЕНИЙ НА ГРАФИЧЕСКИХ ПРОЦЕССОРАХ

А.Ю. Савинков, Ю.С. Науменко

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

Ключевые слова: параллельные вычисления, низкоплотностные коды, алгоритм распространения доверия

Функционирование информационно -

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

кодирования, в частности низкоплотностного (LDPC, от англ. Low-density parity-check code - код с малой плотностью проверок на чётность). Применение LDPC кодов ввиду их энергоэффективности рекомендовано

значительным количеством современных стандартов в области телекоммуникаций (802.11 (WiFi), семейство DVB-x2; и другие) [1].

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

информационно-телекоммуникационных систем затрагивались нами в работах [3-5], в соответствии с чем задача декодирования кодов далее будет рассматриваться в контексте имитационного моделирования на ЭВМ.

Для декодирования низкоплотностных кодов наиболее часто применяется итеративный алгоритм «распространения доверия» и его модификации. Алгоритм распространения доверия (англ. belief propagation, BP, алгоритм Перла, алгоритм «сумма произведений») - итеративный вероятностный алгоритм с мягкими решениями. Алгоритм вычисляет точные апостериорные вероятности после некоторого количества итераций, если граф Таннера (двудольный граф, инцидентный проверочной матрице H) для данного кода не содержит циклов. Полное описание алгоритма приводится, например, в [2]. Напомним, что алгоритм BP является алгоритмом обмена сообщениями (message passing algorithm) на

Савинков Андрей Юрьевич - ВГТУ, д-р техн. наук, профессор, тел. (473) 252-34-20, e-mail: a.savinkov@mail.ru

Науменко Юрий Сергеевич - ВГТУ, аспирант, тел. (473) 243-77-06, e-mail: kipr@vorstu.ru

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

«логарифмической» версии алгоритма ВР (рис. 1).

б)

Рис. 1. Основные этапы обмена сообщениями в алгоритме распространения доверия: а) процедура передачи сообщений от кодовых вершин к проверочным и вычисления в них ;

б) процедура передачи сообщений от проверочных вершин к кодовым и вычисления в них 7Г0-1

На рис. 1 этап а соответствует первому шагу этапа обработки сообщений алгоритма BP. В результате каждой I проверочной вершиной (узлом типа 1 на графе) независимо вычисляется К Ввиду

значений

о0,1

независимости этих

вычислений они могут производиться как последовательно для каждой вершины, друг за другом, так и сразу параллельно для всех М вершин. Аналогичная ситуация характерна и для второго шага этапа обработки сообщений алгоритма BP, схематично представленного на рис. 1, б. На этом этапе каждой I кодовой вершиной (узлом типа 2 на графе) независимо вычисляется Ji

значений Л0,1. Эти вычисления также могут быть

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

на этих этапах декодер может быть построен по нескольким вариантам свойственной ему архитектуры. Нас главным образом будет

интересовать параллельная архитектура. Обобщенная архитектура параллельного декодера представлена на рис. 2.

Рис. 2. Архитектура п

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

Наличие параллелизма открывает путь к использованию в вычислениях ресурсов графических процессоров (GPU, англ. graphics processing unit), которые, с одной стороны, прекрасно подходят для решения задач параллельных вычислений, а с другой стороны, массово распространены и фактически всегда находятся в составе ЭВМ в качестве

>ного log-BP декодера

видеоускорителей. Использование этих ресурсов позволяет рассматривать ЭВМ в качестве гетерогенной вычислительной системы с основным вычислительным устройством - центральным процессором (англ. central processing unit, CPU) и неосновным - графическим процессором видеоускорителя [3].

Описанное выше архитектурное решение реализовывалось нами в работе [5] средствами открытого стандарта OpenCL (англ. Open Computing Language — открытый язык вычислений) [6]. При достаточном размере проверочной матрицы (достаточном числе кодовых и проверочных узлов) достигаемый за счет

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

Лучших результатов удаётся добиться, используя следующую модификацию данной архитектуры. Рассматривая блоки Р и ¥' расчёта Л°т\ и 7Т0'1 , можно прийти к выводу, что

вычисления в них также могут быть распараллелены, для чего потребуется К процессорных элементов в блоках типа Р и 3 процессорных элементов в блоках типа ¥' (рис. 3).

а) б)

Рис. 3. Модель параллелизма ВР декодера: а) классическая; б) модифицированная

Архитектура, скорректированная в соответствии со схемой рис. 3, б представлена на рис. 4.

Рис. 4. Модифицированная архитектура параллельного log-BP декодера

Количество выполняемых потоков гь0-1

±пи

(globalThreads) и размер двумерной рабочей группы

Th 0

для

выполнения

на

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

\ Th

Th0 = Th0 = J;mxN = floor\ —^

N > mxN,

Th\ = N + mxN - [N mod(mxN)\ Th1 = mxN; '

N < mxN ,Ttig = Th] = N,

где ТИ1тях - максимально допустимый размер локальной одномерной рабочей группы (CL_KERNEL_WORK_GROUP_SIZE), а функция /1вог(х) возвращает значение х, округлённое до ближайшего целого числа, вниз.

Применение такой модели позволило добиться уменьшения времени выполнения расчетов. На рис. 5 представлен график временного выигрыша от применения модифицированной модели параллелизма в зависимости от длины кода (N,3,6).

Рис. 5. Выигрыш от применения модифицированной архитектуры декодера

На рис. 5 Т2 - время декодирования с классической архитектурой, а Т - время декодирования с модифицированной архитектурой

в 10 итераций алгоритма BP и 3408 симуляций на одно значение SNR (всего моделировалось 10 значений SNR: от 0,1 до 2,5 с разрешением 0,25 дБ). Вычисления производились на графической карте AMD Radeon HD 5770 (800 потоковых процессоров с частотой 850 МГц).

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

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

Литература

1. Науменко, Ю. С. Стандарты применения кодов с малой плотностью проверок на четность [Текст] / Ю.С. Науменко, А. В. Башкиров // Современные проблемы радиоэлектроники: труды всерос. науч.-техн. конф. -Красноярск, 2013. - С. 420-421.

2. Морелос-Сарагосса Р. Искусство помехоустойчивого кодирования. Методы, алгоритмы, применение / Р. Морелос-Сарагосса. - М.: Техносфера, 2005 - 320с.

3. Перспективы моделирования параметров алгоритмов помехоустойчивого кодирования с высокой степенью параллелизма при помощи аппаратной платформы на базе GPU [Текст] / Ю.С. Науменко, А.В. Башкиров, А.И. Климов, А.В. Муратов, В.С. Цымбалюк // Радиотехника. - 2013. - № 12. - С. 26-29.

4. Науменко, Ю.С. Проблемы моделирования помехоустойчивых кодеков в гетерогенных системах [Текст] / Ю.С. Науменко // Радиотехника. - 2014. - № 3. -С. 80-82.

5. Науменко, Ю.С. Массивные параллельные вычисления в гетерогенных системах при моделировании низкоплотностных кодеков [Текст] / Ю.С. Науменко // Радиотехника. - 2014. - № 6. - С. 43-46.

6. Khronos OpenCL Working Group. "The OpenCL Specification". Version: 2.0. Document Revision: 19. 11/14/2013. - 283 p.

7. Подвальный, С.Л. Интеллектуальные системы моделирования: принципы разработки [Текст] / С.Л. Подвальный, Т.М. Леденева //Системы управления и информационные технологии. - 2013. -Т.51, № 1. -С. 4-10

Воронежский государственный технический университет

SOFTWARE IMPLEMENTATION OF THE MODELING TOOLS FOR LDPC CODECS: EFFICIENT DECODER ARCHITECTURE FOR MASSIVELY PARALLEL COMPUTING

ON GRAPHICS PROCESSORS

A.Yu. Savinkov, Yu.S. Naumenko

The article discusses the features of modeling the behavior of low-density parity-check codes with respect to their decoding. The problems of building an efficient architecture of the iterative decoder for belief propagation algorithm in a heterogeneous system with massively parallel computing on the GPU. Expressions are given for calculating the size of the "working group". Estimated gains from the use of the modified architecture of the decoder

Key words: parallel computing, LDPC codes, belief propagation algorithm