Научная статья на тему 'Применение технологии параллельных вычислений OpenMP для поиска образующих полиномов'

Применение технологии параллельных вычислений OpenMP для поиска образующих полиномов Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
193
76
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ОБРАЗУЮЩИЙ ПОЛИНОМ / ПАРАЛЛЕЛЬНЫЕ ВЫЧИСЛЕНИЯ / АЛГОРИТМ ПОИСКА / РАССТОЯНИЕ ПО ХЭММИНГУ / ПОТОКИ / ПОМЕХОУСТОЙЧИВЫЙ КОД / PARALLEL СOMPUTING / OPENMP / GENERATOR POLYNOMIAL / SEARCH ALGORITHM / HAMMING DISTANCE / THREADS / ERROR CONTROLLED CODE

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Аксенов Сергей Владимирович, Мальчуков Андрей Николаевич, Мыцко Евгений Алексеевич

В работе рассматривается вопрос применения технологии параллельных вычислений OpenMP для задачи поиска образующих полиномов. Задача поиска образующих полиномов для создания блоковых полиномиальных кодов достаточно трудоёмка. Например, для поиска образующего полинома, на основе которого строится помехоустойчивый код (m = 32, t = 3), необходимо две недели непрерывной работы программы на процессоре Intel XEON 5150 с частотой ядра 2.66 ГГц и объёмом оперативной памяти 1 Гб. В статье приведено описание алгоритма поиска образующих полиномов, на основе которых строятся коды более эффективные, чем коды Боуза-Чоудхури-Хоквингема. В статье рассмотрен алгоритм поиска образующих полиномов и проанализирован с точки зрения возможности применения технологии параллельных вычислений OpenMP. Описана программная реализация алгоритма поиска образующих полиномов с применением технологии параллельных вычислений OpenMP. Для сравнения быстродействия программных реализаций с применением и без применения OpenMP поставлен компьютерный эксперимент. Результаты поставленного компьютерного эксперимента по исследованию быстродействия последовательной и распараллеленной реализаций алгоритма поиска полиномов показали, что применение технологии OpenMP позволяет при определенных входных параметрах (m=9, t=2) повысить быстродействие до 20-24 раз. В среднем применение OpenMP увеличивает быстродействие алгоритма до 3 раз.

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Аксенов Сергей Владимирович, Мальчуков Андрей Николаевич, Мыцко Евгений Алексеевич

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

Using of parallel computing technology OpenMP to search for the generator polynomials

The paper deals with the application of parallel computing technology OpenMP for search tasks forming polynomials. Forming the task of finding polynomials to create polynomial block codes is quite laborious. For example for generating polynomial, on which basis the fail-safe code (m = 32, t = 3), you need two weeks of continuous work program on the processor Intel XEON 5150 with a core clock of 2.66 GHz and RAM 1 GB. The article describes the search algorithm forming polynomials, which are constructed on the basis of codes more efficient than Bose-Chaudhuri-Hocquenghem codes. The article describes the ability to form the polynomials and analyzed in terms of the possibility of using parallel computing technology OpenMP. The computer program to search generating polynomial using parallel computing technology OpenMP. Computer experiment was delivered to compare the performance of software implementations with and without the use OpenMP. Results supplied computer experiment to study the performance of sequential and parallelized implementations of the search algorithm polynomials showed that the use of OpenMP technology allows under certain input parameters (m = 9, t = 2) to increase the speed of 20-24 times. On average, using of OpenMP algorithm enhances performance up to 3 times.

Текст научной работы на тему «Применение технологии параллельных вычислений OpenMP для поиска образующих полиномов»

УДК 004.042

Аксенов Сергей Владимирович

Национальный исследовательский Томский политехнический университет

Россия, Томск Кандидат технических наук, доцент E-Mail: axoenowsw@tpu.ru

Мальчуков Андрей Николаевич

Национальный исследовательский Томский политехнический университет

Россия, Томск Доцент/к.т.н.

E-Mail: jgs@tpu.ru

Мыцко Евгений Алексеевич

Национальный исследовательский Томский политехнический университет

Россия, Томск Магистрант E-Mail: Evgenrus70@mail.ru

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

Аннотация: В работе рассматривается вопрос применения технологии параллельных вычислений OpenMP для задачи поиска образующих полиномов. Задача поиска образующих полиномов для создания блоковых полиномиальных кодов достаточно трудоёмка. Например, для поиска образующего полинома, на основе которого строится помехоустойчивый код (m = 32, t = 3), необходимо две недели непрерывной работы программы на процессоре Intel XEON 5150 с частотой ядра 2.66 ГГц и объёмом оперативной памяти 1 Гб. В статье приведено описание алгоритма поиска образующих полиномов, на основе которых строятся коды более эффективные, чем коды Боуза-Чоудхури-Хоквингема. В статье рассмотрен алгоритм поиска образующих полиномов и проанализирован с точки зрения возможности применения технологии параллельных вычислений OpenMP. Описана программная реализация алгоритма поиска образующих полиномов с применением технологии параллельных вычислений OpenMP. Для сравнения быстродействия программных реализаций с применением и без применения OpenMP поставлен компьютерный эксперимент. Результаты поставленного компьютерного эксперимента по исследованию быстродействия последовательной и распараллеленной реализаций алгоритма поиска полиномов показали, что применение технологии OpenMP позволяет при определенных входных параметрах (m=9, t=2) повысить быстродействие до 20-24 раз. В среднем применение OpenMP увеличивает быстродействие алгоритма до 3 раз.

Ключевые слова: Образующий полином; параллельные вычисления; алгоритм поиска; расстояние по Хэммингу; потоки; помехоустойчивый код; OpenMP.

Идентификационный номер статьи в журнале 86TVN613

Sergei Aksenov

National Research Tomsk polytechnic university

Russia, Tomsk E-Mail: axoenowsw@tpu.ru

Andrei Malchukov

National Research Tomsk polytechnic university

Russia, Tomsk E-Mail: jgs@tpu.ru

Evgeniy Mytsko

National Research Tomsk polytechnic university

Russia, Tomsk E-Mail: Evgenrus70@mail.ru

Using of parallel computing technology OpenMP to search for the generator polynomials

Abstract: The paper deals with the application of parallel computing technology OpenMP for search tasks forming polynomials. Forming the task of finding polynomials to create polynomial block codes is quite laborious. For example for generating polynomial , on which basis the fail-safe code (m = 32 , t = 3) , you need two weeks of continuous work program on the processor Intel XEON 5150 with a core clock of 2.66 GHz and RAM 1 GB. The article describes the search algorithm forming polynomials , which are constructed on the basis of codes more efficient than Bose-Chaudhuri-Hocquenghem codes. The article describes the ability to form the polynomials and analyzed in terms of the possibility of using parallel computing technology OpenMP. The computer program to search generating polynomial using parallel computing technology OpenMP. Computer experiment was delivered to compare the performance of software implementations with and without the use OpenMP. Results supplied computer experiment to study the performance of sequential and parallelized implementations of the search algorithm polynomials showed that the use of OpenMP technology allows under certain input parameters (m = 9 , t = 2) to increase the speed of 20-24 times. On average, using of OpenMP algorithm enhances performance up to 3 times.

Keywords: Generator polynomial; parallel сomputing; search algorithm; Hamming distance; threads; error controlled code; OpenMP.

Identification number of article 86TVN613

Введение

При построении блоковых помехоустойчивых кодов (БЧХ-кодов, Рида-Соломона) используются полиномы Жегалкина. Полиномы, участвующие в построении кода, называются образующие полиномы. Выбор образующего полинома под конкретную задачу зависит от двух основных параметров блокового помехоустойчивого кода - длина блока данных т и количество исправляемых кодом независимых ошибок t. Отдельные коды, такие как коды Боуза-Чоудхори-Хоквингема (БЧХ-коды) [4], имеют чёткие рекомендации выбора образующего полинома, но такие коды ограничены фиксированной длиной кодового слова (р - любое натуральное число) [6]. Остальные длины кодовых слов получаются путём укорачивания более длинных кодовых слов за счёт уменьшения разрядности информационного блока при сохранении количества контрольных разрядов. Укорачивание БЧХ-кодов вводит лишнюю избыточность, которая не несёт в себе дополнительных корректирующих возможностей, а лишь уменьшает эффективность кода [2,5].

Для поиска образующих полиномов, более эффективных, чем укороченные БЧХ-коды, необходимы большие вычислительные затраты. Это связано с тем, что мы знаем только необходимые начальные условия для поиска, такие как минимальные вес образующего полинома, минимальная длина кодового слова, а значит и минимальная длина образующего полинома. Для того, чтобы найти подходящий полином необходимо перебрать все полиномы, подходящие под выше озвученные необходимые условия и если среди них не найдётся полином, который пройдёт проверки на достаточные условия для образующего полинома, то поиск продолжится среди полиномов, длина которых на единицу больше, чем предыдущих. Среди достаточных условий образующего полинома для заданных значений т и X - являются два основных условия: 1) строящийся на основе этого образующего полинома код должен иметь расстояние Хэмминга не меньшее, чем ^=2Х+1; 2) остатки от деления всех комбинаций ошибок на образующий полином в рамках заданной X должны быть уникальными.

Для проверки на достаточные условия каждого претендента на образующий полином необходимо провести множество итерационных вычислений, что требует больших временных и вычислительных затрат. Например, для вычисления образующего полинома для п=32, 1=3 на процессоре 1Пе1 XEON 5150 с частотой ядра 2.66 ГГц и объёмом оперативной памяти 1 Гб [9] потребовалось 2 недели.

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

1. Описание алгоритма поиска образующего полинома

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

Ниже представлен алгоритм поиска образующих полиномов [7].

Начало.

Шаг 1. Задаются т - разрядность информационного блока и X - желаемая корректирующая способность кодека.

Шаг 2. Вычисляется минимальная длина контрольного блока (старшая степень образующего полинома) по формуле для поиска «границы Хэмминга» [8]:

/=0

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

Шаг 3. Выбирается начальное значение веса полинома н = йт.. Минимальное расстояние кода, исправляющего X независимых ошибок, вычисляется по формуле [7]: ^т=2Х+1.

Шаг 4. Выбирается полином из множества, состоящего из полиномов со старшей степенью, равной к, и весом, равным н.

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

Шаг 6. Вычисляется минимальное кодовое расстояние построенного кода (путём нахождения минимального веса среди всех кодовых слов, за исключением нулевого слова).

Шаг 7. Если вычисленное кодовое расстояние удовлетворяет заданным требованиям, то переходим на шаг 8, иначе переходим на шаг 10.

Шаг 8. Вычисляются синдромы ошибок путем деления всех комбинаций ошибок на образующий полином.

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

Шаг 10. Если проверены все полиномы из множества (множество задано на шаге 4), то переходим на шаг 11, иначе переходим на шаг 4.

Шаг 11. Если вес н равен к, увеличиваем к на единицу и переходим на шаг 4, иначе увеличиваем вес н и переходим на шаг 4.

Шаг 12. Образующий полином сохраняется в файл.

2. Анализ алгоритма поиска

Для поиска образующего полинома задаются входные параметры, такие как: разрядность информационного блока (т) и количество исправляемых независимых ошибок (1). Выходным значением является образующий полином в двоичном представлении.

При анализе алгоритма поиска образующего полинома было установлено, что при больших значениях входного параметра т значительное время работы алгоритма занимает вычисление расстояния Хэмминга помехоустойчивого кода, а также при увеличении значений входного параметра 1 увеличивается время проверки синдромов на уникальность. В данном случае этап проверки синдромов на уникальность реализован таким образом, что в нем можно удачно применить технологию распараллеливания вычислений ОрепМР.

3. Применение технологии OpenMP для поиска образующего полинома

Данную технологию можно применять к отдельным блокам, функциям, циклам программы. Ниже на рис. 1 представлена схема распараллеливания алгоритма с применением ОрепМР [1,3,10] для этапа проверки синдромов ошибок кратности 1 на уникальность.

Подсчет количества синдромов для кратности ошибок t

I

Выделение памяти под все синдромы

I I I I

Формирование комбинации ошибок для

I Г| I

Подсчет количества синдромов (iters) для данной комбинации

III!

Выделение памяти для синдромов

I I I !ч

Для x от 0 до Iters

1 1 1 1

Деление комбинации ошибок на образующий полином

1 1 1 1

Сдвиг комбинации ошибок

1 1 1 1

Запись синдрома в общий массив синдромов ошибок

Проверка общего массива синдромов на уникальность

Рис. 1. Блок-схема этапа проверки синдромов на уникальность с применением ОрепМР

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

Таким образом, засчёт применения технологии параллельного программирования можно добиться увеличения быстродействия алгоритма поиска образующего полинома. Для получения временной статистики было произведено по 20 запусков алгоритма на процессоре Іпіеі ХБОК 5150 2.660Ь2 [9] с различными входными параметрами т (8-24) и 1 (2-4). Средние значения полученных результатов были занесены в таблицу 2.

Таблица 2

Результаты распараллеливания алгоритма поиска образующего полинома

т, 1 Последовательный алгоритм,с Распараллеленный (ОрепМР), с

8,2 0,0127 0,0036

9,2 0,087 0,0036

10,2 0,01 0,0076

11,2 0,0604 0,008

12,2 0,05587 0,01171

13,2 0,0224 0,02075

14,2 0,1518 0,1295

15,2 0,1942 0,1588

16,2 0,3068 0,3042

17,2 0,4673 0,4475

18,2 0,7635 0,7333

19,2 1,3515 1,3455

20,2 2,652 2,6362

21,2 5,4034 5,3894

22,2 99,14786 98,5872

23,2 151,9052 152,2207

24,2 179,3876 178,3392

8,3 0,0164 0,01

9,3 0,0767 0,0099

10,3 0,0281 0,0105

11,3 0,0741 0,0133

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

12,3 0,0918 0,0164

13,3 0,3802 0,2611

14,3 1,3676 1,2753

15,3 1,6144 1,4696

16,3 1,6741 1,5749

17,3 16,3593 16,0144

18,3 17,0114 16,5854

19,3 85,4211 84,1132

20,3 272,7466 266,3312

21,3 279,999 275,767

22,3 294,6304 291,4553

23,3 412,4652 407,7394

24,3 696,4012 685,2149

8,4 1,6563 0,2782

9,4 3,7411 1,1878

10,4 5,6612 1,2657

11,4 10,8321 2,4947

12,4 35,8081 6,8514

13,4 52,8787 7,9978

14,4 132,7579 40,019

15,4 166,8613 41,6786

16,4 301,4198 140,5304

17,4 440,3622 230,8759

18,4 493,577 236,1132

19,4 569,6034 232,2966

20,4 659,76 240,7785

21,4 739,9808 239,1995

22,4 12172,68 11142,87

23,4 37390,24 35506,16

24,4 38618,16 36553,96

Для того, чтобы убедиться в достоверности результатов была составлена таблица доверительных интервалов (таблица 3).

Таблица 3

Доверительные интервалы

т, 1 Последовательный алгоритм, с Распараллеленный (ОрепМР), с

8,2 (0,0122;0,0133) (0,0035;0,0036)

9,2 (0,069;0,105) (0,0035;0,0036)

10,2 (0,0083;0,0117) (0,0073;0,008)

11,2 (0,0442;0,0766) (0,0077;0,0083)

12,2 (0,0411;0,0706) (0,0114;0,0119)

13,2 (0,0176;0,0273) (0,0197;0,0217)

14,2 (0,1441;0,15951) (0,1288;0,1302)

15,2 (0,1871;0,2012) (0,1582;0,1595)

16,2 (0,3059;0,3077) (0,3035;0,3049)

17,2 (0,4602;0,4744) (0,4446;0,4505)

18,2 (0,7557;0,7713) (0,732;0,7345)

19,2 (1,3616;1,3815) (1,357;1,414)

20,2 (2,4631;2,481) (2,6308;2,6415)

21,2 (5,3904;5,4163) (5,3065;5,4722)

22,2 (99,1152;99,1804) (98,1356;99,0388)

23,2 (151,7935;152,0169) (151,0551; 153,3862)

24,2 (179,0663;179,7089) (177,1312; 179,5472)

8,3 (0,016;0,0167) (0,0093;0,0107)

9,3 (0,0596;0,0938) (0,0092;0,0105)

10,3 (0,028;0,0281) (0,0099;0,0111)

11,3 (0,0639;0,0843) (0,0125;0,0141)

12,3 (0,0788;0,1049) (0,0157;0,0172)

13,3 (0,3768;0,3837) (0,2603;0,262)

14,3 (1,3605;1,3747) (1,2699;1,2808)

15,3 (1,6046;1,6243) (1,4669;1,4723)

16,3 (1,6733;1,6748) (1,5514; 1,5984)

17,3 (16,2955; 16,4231) (15,8829; 16,146)

18,3 (16,9563;17,0665) (16,5309;16,64)

19,3 (85,2101 ;85,6321) (83,8728;84,3536)

20,3 (271,6662;273,8271) (265,952;266,7104)

21,3 (279,559;280,4389) (274,5417;276,9923)

22,3 (293,5874;295,6734) (289,2895;293,621)

23,3 (412,4363;412,4941) (406,6997; 408,779)

24,3 (695,0729;697,7295) (684,3299;686,0998)

8,4 (1,6528;1,6597) (0,2764;0,2801)

9,4 (3,7146;3,7676) (1,1853;1,1903)

10,4 (5,5593;5,7631) (1,2518;1,2795)

11,4 (10,6758;10,9886) (2,4896;2,4998)

12,4 (35,3801;36,236) (6,8293;6,8735)

13,4 (52,3321;53,4253) (7,983;8,0126)

14,4 (131,9155; 133,6002) (39,8697;40,1682)

15,4 (165,3077;168,4149) (41,0962;42,261)

16,4 (299,6312;303,2084) (138,5129;142,5479)

17,4 (436,6333;444,091) (229,7739;231,978)

18,4 (491,1455;496,0084) (234,7984;237,4279)

19,4 (564,6224;574,5843) (231,5952;232,9979)

20,4 (656,1702;663,3498) (238,4526;243,1043)

21,4 (739,9389;740,0227) (237,3489;241,0501)

22,4 (12149,38;12195,98) (11105,67;11180,07)

23,4 (37354,89;37425,59) (35498,79;35513,52)

24,4 (38562,61;38673,71) (36383,68;36724,23)

Для того, чтобы наглядно показать разницу по времени вычисления между последовательным и параллельным вариантами алгоритма были построены графики ускорений параллельного алгоритма относительно последовательного при различных входных параметрах (рис. 2, 3, 4).

Таким образом, по рис. 2 видно, что для кратности исправляемых ошибок равной двум, с помощью применения технологии параллельного программирования удалось добиться увеличения быстродействия алгоритма при т = 8 и т = 9 до 20-24 раз. Однако в данном случае при входном параметре т > 13 ускорение относительно последовательного алгоритма сохраняется на уровне единицы. При 1 = 3 (рис. 3) коэффициент ускорения алгоритма с ОрепМР достигает 5 - 7, однако при т > 14 сохраняется на уровне единицы. Для кратности исправляемых ошибок равной четырем (рис.4) коэффициент ускорения варьируется от 1 до 6.5.

Средний коэффициент ускорения алгоритма с применением ОрепМР относительно последовательного варианта для всех входных параметров составляет 2,89.

Рис. 2. Ускорение алгоритма с применением ОрепМР относительно последовательного

алгоритма при t = 2

/ \

Название диаграммы 8,3

9,5

10,3

II,3

12,3

13,3

14,3

15,3

16,3

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

V__________________________________________________________________________у

Рис. 3. Ускорение алгоритма с применением ОрепМР относительно последовательного

алгоритма при t = 3

Рис. 4. Ускорение алгоритма с применением ОрепМР относительно последовательного

алгоритма при t = 4

Заключение

Алгоритм поиска образующих полиномов программно реализован, используя технологии параллельных вычислений ОрепМР. Результаты поставленного компьютерного эксперимента по исследованию быстродействия последовательной и распараллеленной реализаций алгоритма поиска полиномов показали, что применение технологии ОрепМР позволяет при определенных входных параметрах (т=9, 1=2) повысить быстродействие до 2024 раз. В среднем применение ОрепМР увеличивает быстродействие алгоритма до 3 раз.

ЛИТЕРАТУРА

1. Антонов А. С. Параллельное программирование с использованием технологии ОпенМП //Издательство московского университета, 2009. - 78 С.

2. Белицкая Л.А. Исправление одиночных ошибок в многофазных кодах// Известия Томского политехнического университета. - 2006. - Т. 309. - № 2. - С. 212-213.

3. Богачев К.Ю. Основы параллельного программирования: учебное издание - М.: Бином. Лаборатория знаний. , 2003. - 343 с.

4. Боуз Р.К., Рой-Чоудхури Д.К. Об одном классе двоичных групповых кодов с исправлением ошибок. - В кн.: Кибернетика. М., 1964. - С.112-118.

5. Каменский С.В., Меньщиков К.И. Исследование некоторых алгоритмов кодирования и декодирования кодов Рида-Соломона. // Труды Международной конференции "Информационные системы и технологии". 2003. - Т. 1. - С. 169171.

6. Логвиненко Н.Ф. Оптимизация длин кодовых блоков и пакетов в системах защиты от ошибок с переспросом. // Управляющие системы и машины, 1995. -№3 - С. 20-23.

7. Мальчуков А.Н. Алгоритм поиска образующих полиномов для системы проектирования кодеков помехоустойчивых кодов //Современные техника и технологии: Труды ХИВ Международной научно-практической конференции студентов, аспирантов и молодых ученых - Томск, 24-28 марта 2008. - Томск: ТПУ, 2008. - С. 340-341.

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

9. СКИФ-1. Центер оф суперцомпутинг. 2013. URL: http://cluster.tpu.ru/?q=node/26 (data obrashhenija: 15.10.2013)

10. OpenMP na primere kompiljatora GCC. 2013. URL: http://www.ibm.com/developerworks/ru/library/au-aix-openmp-framework/ (data obrashhenija: 15.10.2013)

Рецензент: Авдеева Диана Константиновна, директор, д.т.н., ООО «Медприбор» (г.

Томск).

REFERENCES

1.

2.

3.

4.

5.

6.

7.

8.

9.

10.

Antonov A. S. Parallel'noe programmirovanie s ispol'zovaniem tehnologii OpenMP //Izdatel'stvo moskovskogo universiteta, 2009. - 78 S.

Belickaja L.A. Ispravlenie odinochnyh oshibok v mnogofaznyh kodah. // Izvestija Tomskogo politehnicheskogo universiteta. - 2006. - T. 309. - № 2. - S. 212-213. Bogachev K.Ju. Osnovy parallel'nogo programmirovanija : uchebnoe izdanie - M.: Binom. Laboratorija znanij. , 2003. - 343 s.

Bouz R.K., Roj-Choudhuri D.K. Ob odnom klasse dvoichnyh gruppovyh kodov s ispravleniem oshibok. - V kn.: Kibernetika. M., 1964. - S.112-118.

Kamenskij S.V., Men'shhikov K.I. Issledovanie nekotoryh algoritmov kodirovanija i dekodirovanija kodov Rida-Solomona. // Trudy Mezhdunarodnoj konferencii "Informacionnye sistemy i tehnologii". 2003. - T. 1. - S. 169-171.

Logvinenko N.F. Optimizacija dlin kodovyh blokov i paketov v sistemah zashhity ot oshibok s peresprosom. // Upravljajushhie sistemy i mashiny, 1995. - №3 - S. 20-23. Mal'chukov A.N. Algoritm poiska obrazujushhih polinomov dlja sistemy proektirovanija kodekov pomehoustojchivyh kodov //Sovremennye tehnika i tehnologii: Trudy XIV Mezhdunarodnoj nauchno-prakticheskoj konferencii studentov, aspirantov i molodyh uchenyh - Tomsk, 24-28 marta 2008. - Tomsk: TPU, 2008. - S. 340-341.

Morelos-Saragosa R. Iskusstvo pomehoustojchivogo kodirovanija: metody, algoritmy, primenenie: uchebnoe posobie: per. s angl. - M.: Tehnosfera, 2006. - 320 s.

SKIF -1. Center of supercomputing. 2013. URL: http://cluster.tpu.ru/?q=node/26 (data obrashhenija: 15.10.2013)

OpenMP na primere kompiljatora GCC. 2013. URL: http://www.ibm.com/developerworks/ru/library/au-aix-openmp-framework/ (data obrashhenija: 15.10.2013)

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