УДК 004.942
Т.Б. МАРТЫНЮК*, Л.И. ТИМЧЕНКО**, А.В. КОЖЕМЯКО*, Л.М. КУПЕРШТЕЙН*
ЭФФЕКТИВНОСТЬ ПОСРЕЗОВОЙ ОБРАБОТКИ ВЕКТОРНЫХ МАССИВОВ ДАННЫХ
Винницкий национальный технический университет, Винница, Украина
Киевский государственный экономико-технологический университет транспорта, Киев, Украина
Анотаця. Наведено 6a3oei положения критерт ефективностi для алгоритмiв паралельног обро-бки Macueie даних. Виконано порiвняльний аналiз паралельних алгоритмiв багатооперандного тд-сумовування. Показано переваги nозрiзовог обробки векторних масивiв даних.
Ключовi слова: критерт ефективностi, коефiцieнт узгодженостi, nозрiзова обробка, векторний масив даних.
Аннотация. Приведены базовые положения критерия эффективности для алгоритмов параллельной обработки массивов данных. Выполнен сравнительный анализ параллельных алгоритмов многооперандного суммирования. Показаны преимущества посрезовой обработки векторных массивов данных.
Ключевые слова: критерий эффективности, коэффициент согласованности, посрезовая обработка, векторный массив данных.
Abstract. The basic provisions of the efficiency criterion for the parallel processing of data algorithms are presented. A comparative analysis of parallel algorithms of multi-operand summation is conducted. The advantages of the multi-sliced processing of vector data set are shown.
Keywords: the criterion of effectiveness, consistency factor, sliced processing, a vector data set.
1. Введение
Среди методов повышения производительности вычислительных средств, в частности, в составе интеллектуальных систем, например, в интеллектуальных робототехнических системах [1], среди первоочередных задач необходимо выделить создание адаптивных и параллельных методов обработки больших массивов данных, а также их адекватное отображение на параллельные архитектуры вычислительных средств.
Для сравнительного анализа известных и разрабатываемых параллельных методов обработки массивов данных обязательным является выбор показателей эффективности, которые учитывают характерный для конкретной задачи параллелизм, а также адекватность предложенной для нее структуры [2, 3].
2. Актуальность
Одной из наиболее часто используемых операций в процедурах обработки и анализа сигналов и изображений, а также при распознавании образов [4-7], является операция много-операндного суммирования или свертки элементов вектора [5], которая, в свою очередь, является наиболее сложной при аппаратном распараллеливании [6-8]. Широко известны два способа ускорения (распараллеливания) многооперандного суммирования: древовидный алгоритм или алгоритм логарифмического суммирования [5] и алгоритм рекурсивного суммирования или алгоритм рекурсивного удвоения [6]. Основные характеристики этих и последовательного алгоритма приведены в табл. 1.
Дальнейшее продвижение в процессе распараллеливания многооперандного суммирования возможно только при использовании распределённой обработки, в данном случае векторного массива данных. Одним из таких подходов к распараллеливанию является ме-
© Мартынюк Т.Б., Тимченко Л.И., Кожемяко А.В., Куперштейн Л.М., 2017 ISSN 1028-9763. Математичш машини i системи, 2017, № 2
тод обработки векторного массива по разностным срезам [8-11], основные показатели которого также приведены в табл. 1.
При сравнительном анализе трех приведенных способов параллельной обработки векторных массивов в качестве критерия эффективности как наиболее приемлемый выбран коэффициент согласованности фА, основные сведения о котором изложены в работе [12]. Этот критерий эффективности позволяет учесть не только алгоритмический уровень параллелизма, но и соответствующие аппаратные затраты.
Таблица 1. Основные характеристики алгоритмов многооперандного суммирования
Алгоритмы реализации оператора
многооперандного суммирования
Параметры Последовательный алгоритм Алгоритм логарифмического суммирования Алгоритм рекурсивного суммирования Алгоритм с посрезовой обработкой
Количество тактов, t п-1 log2 п log2п п-К ц
Количество
процессоров (блоков), р 1 п/2< р<п — 1 п/2< р<п/2]log2 п[ п
Общее количество операций L{n-1) L(n-1) L (п /2]log2 п [) 3 п<со < 3 п2
алгоритма, <х>
Время выпол-
нения алгорит- гт^П ^ ТР т(п-1) г log п гlog2 п тп < Тпр< тп2
Количество операций, Ь 1 1 1 4
Суммирова-
ние,
Тип операций Суммирование Суммирование Суммирование вычитание, умножение,
нахождение минимального элемента
г - время выполнения одного такта алгоритма, N - количество циклов,
п - размерность векторного массива
Таким образом, целью данной работы является анализ эффективности способов параллельной обработки векторного массива данных на примере многооперандного суммирования его элементов.
3. Базовые положения критерия эффективности
Для коэффициента согласованности <рА характерно следующее соотношение [12]:
0,5^
^ i=i
Т
1а | г=1
L Л
уа
YSa'Va Тл
V ы
где C - цена структуры по формуле
С = (2)
S
\0i
1=1
С - цена /' -го блока, ^ - количество / -х блоков структуры, £ - количество блоков в структуре, V! - коэффициент использования /' -го блока, который можно представить следующим образом:
1 L
= —-Т;ТЧ-Р.П С3)
ТА 1=1
где ТА - время выполнения алгоритма, г; г - время реализации на i -м блоке операции I -го типа, pn - количество операций l -го типа, которые реализуются за время ^ на i -м блоке, L - количество типов операций алгоритма.
В дальнейшем для упрощения расчетов примем, что цена каждого /-го блока одинакова, то есть
сг - с - const. (4)
Кроме того, для алгоритмов логарифмического и рекурсивного суммирования при условии L = 1 (табл. 1), учитывая, что время та реализации операции суммирования на
каждом i -м блоке одинаково и равно в среднем времени т выполнения одного такта алгоритма суммирования, имеем
та = т = const. (5)
Итак, можно выполнить следующие преобразования для коэффициента v (3) использования i -го блока:
1 Т Рг t(L\
v,= — -HTn-Pn =ТР'=~Г> (6)
1А 1=1 ^ '
где t - количество тактов, '/', = t-т, р. - количество операций, которые реализуются /' -м блоком за время , причем
Л--. (7)
Р
где о) - общее количество операций алгоритма, р - количество параллельных процессоров, в данном случае, параллельно функционирующих блоков (табл. 1). В результате имеем
(8)
t-p
что приведет соотношение (1) для коэффициента согласованности (рА с учетом выражения (2) для величины С к виду
С S^
s ft-p со л —— + —
V m t-Pj
а с учетом количества S одинаковых блоков имеем
^=0,5
с * \
t-p со
(10)
У СО t • р J
4. Сравнительный анализ параллельных алгоритмов многооперандного суммирова-
ния
Составляющие коэффициента согласованности <рА (10) для трех рассматриваемых алгоритмов приведены в табл. 2.
Для алгоритмов логарифмического и рекурсивного суммирования рассчитаны по два варианта коэффициента согласованности соответственно: а) с учетом максимального количества параллельных блоков S (процессоров р) - ср\(п) , срЪ(п) ; б) с учетом их минимального количества - ср2(п) , <рА(п) (табл. 2). Графики зависимостей (р\(п) - <р4(п) приведены на рис. 1 для размерностей массива чисел п = 2, ...,64.
Первоначальный упрощенный вариант расчета коэффициента согласованности фА для алгоритма с посрезовой обработкой приведен в работе [13]. В настоящей работе более детально учтены особенности посрезовой обработки векторного массива данных, а именно: количество параллельно функционирующих блоков S одинаково, но в этом случае варьируется количество F реализованных одновременно алгоритмов за время . Поэтому в дальнейшем рассматриваются два варианта: а) с учетом совмещенных алгоритмов (F = 4), а именно, алгоритма параллельного суммирования, сортировки, пороговой обработки и формирования матрицы F и вектора q для дальнейшего восстановления элементов исходного массива - <р5(п) [10]; б) без учета совмещенных алгоритмов (F = 1) — ср6(п) (табл. 2).
Кроме того, примем, что общее количество операций для алгоритма с посрезовой обработкой (табл. 2) составляет
® = 3 n-N4, (11)
где N - количество циклов обработки (1 < Ыц <п), а также учтем, что среди четырех операций (L = 4), выполняемых в каждом цикле, операцией бинарного умножения можно пренебречь, поскольку она реализуется в процессе коммутации соответствующих данных, и время ее реализации tcom значительно меньше, чем время других операций, то есть
t<t»t,»t (12)
com sm sub mm \ '
где , tSM6, tm!>) - время суммирования, вычитания и определения минимального числа (min) соответственно [10]. Тогда время выполнения алгоритма составляет
Та=2т-П-Мц, (13)
где учтен последовательный характер выполнения операций min и суммирования частичных сумм для n операндов, но количество операций, выполняемых в каждом цикле, равняется двум, поскольку, уже начиная с первого цикла, можно совместить последовательное выполнение двух операций: min и суммирование частичных сумм [10].
С учетом количества Т7 реализованных одновременно алгоритмов с посрезовой обработкой, коэффициент V (3) использования /' -го блока в общем случае можно предста-
вить так:
1
у, = ■
нРн ■
(14)
А после преобразований этот коэффициент V с учётом выражения (8) примет вид
1',=^, 05)
где, по данным табл. 2, со = Ь-п N , е = 2п N ,р = п.
Ч ц > *
В результате коэффициент согласованности срА для данного алгоритма имеет вид
<РА= 0,5
а с учетом данных табл. 1 и 2 имеем
Г Х -р Рсо Л —— +-
Рсо t■ р
(16)
л Л 2п Р-Ь^
^=0,5 —+ — ■ (17)
\г •Ь 2п
Графики зависимостей <р5(п) и ср6(п) также приведены на рис. 1. 5. Анализ результатов моделирования
Полученные математические модели для трех алгоритмов параллельной обработки векторных массивов данных в виде соответствующих коэффициентов согласованности ср\{п) - ср6(п) (табл. 2) позволяют показать их графическую интерпретацию для любого значения размерности п векторного массива чисел (рис. 1).
Кроме того, выражение (17) позволяет определить оптимальную разрядность попт массива чисел, которая обеспечивает оптимальное значение коэффициента согласованности срА — 1 [12] при определенных величинах ^ и!,а именно:
р
Попш =(18)
что при Т7 = 4 и 1 = 3 (табл. 2) составляет попт = 6 для алгоритма с посрезововй обработкой. Полученный результат совпадает с графиком для зависимости <р5(п) (Р = 4) на рис. 1.
Из анализа полученных графиков (рис. 1) вытекает, что наиболее оптимальным по коэффициенту согласованности (рА является алгоритм рекурсивного суммирования с минимальным количеством процессоров, для которого зависимость <рА(п) совпадает с оптимальным значением <рА-1 для всех значений п . Следующим по оптимальности является алгоритм логарифмического суммирования с минимальным количеством процессоров, для которого зависимость <р2(п) медленно возрастает, не превышая значения <рА- 4 на отрезке и от 2 до 64. Для обоих приведенных алгоритмов с максимальным количеством процессоров зависимости ср\(п) и <рЗ(п) совпадают, возрастая на отрезке п от 2 до 64 без превышения значения <рА- 6.
Для алгоритма с посрезовой обработкой без учета количества реализованных одновременно алгоритмов (Р = 1) зависимость срЫп) резко возрастает уже на отрезке и от 2 до 20, что свидетельствует о неэффективном использовании в данном случае значительного количества блоков (процессоров).
фб(и)
Рис. 1. Графики зависимости коэффициента согласованности от размерности векторного массива для параллельных алгоритмов суммирования
Другая картина наблюдается для этого алгоритма с учетом количества реализованных одновременно алгоритмов (F = 4), где зависимость <р5(п) резко спадает к значению
срА -1 на отрезке п от 2 до 6, что подтверждает расчеты п опх из выражения (18), а потом начинает возрастать, но при этом на отрезке п от 6 до 28 ср5(п) не превышает значений <р2(п), а на отрезке п от 6 до 60 - значений <р\(п) = (рЗ(п).
6. Выводы
Итак, можно считать, что предложенный многофункциональный метод посрезовой обработки может быть реализован на соответствующей многопроцессорной структуре с приемлемой эффективностью, аналогичной для известных параллельных алгоритмов суммирования в пределах размерности n входного массива данных от 4 до 28. При этом надо заметить, что для алгоритмов логарифмического и рекурсивного суммирования с минимальным количеством процессоров p не учитываются аппаратные и временные затраты на перекоммутацию данных между процессорами, что в результате может увеличить обоснованно приемлемую размерность n входного массива (больше 28) для суммирования с по-срезовой обработкой.
СПИСОК ЛИТЕРАТУРЫ
1. Архитектура гибридной интеллектуальной системы управления мобильного робота / А.В. Гаврилов, В.В. Губарев, К.Х. Джо [и др.] // Вестник Новосибирского ГТУ. - 2004. - № 2. -С. 3 - 13.
2. Воеводин В.В. Параллельные вычисления / В.В. Воеводин, Вл.В. Воеводин. - СПб.: БХВ - Петербург, 2004. - 608 с.
3. Гергель В.П. Основы параллельных вычислений для многопроцессорных вычислительных систем: учеб. пособ. / В.П. Гергель, Р.Г. Стронгин. - Нижний Новгород: Изд-во ННГУ им. Н. Лобачевского, 2003. - 184 с.
4. Прэтт У. Цифровая обработка изображений: в 2-х кн. / Прэтт У.; пер. с англ. - М.: Мир, 1982. -Кн. 1. - 312 с.; Кн. 2. - 480 с.
5. Системы параллельной обработки / Под ред. Д. Ивенса. - М.: Мир, 1985. - 416 с.
6. Хохлюк В.И. Параллельные алгоритмы целочисленной оптимизации / Хохлюк В.И. - М.: Радио и связь, 1987. - 224 с.
7. Гамаюн В.П. Организация макрооператорной обработки в многооперандных вычислительных структурах / В.П. Гамаюн // Управляющие системы и машины. - 1995. - № 4/5. - С. 10 - 14.
8. Мартинюк Т.Б. Рекурсивш алгоритми багатооперандно1 обробки шформаци / Мартинюк Т.Б. -Вшниця: УН1ВЕРСУМ - Вшниця, 2000. - 216 с.
9. Мартинюк Т.Б. Методи та засоби паралельних перетворень векторних масивiв даних / Т.Б. Мартинюк, В.В. Хом'юк. - Вшниця: УН1ВЕРСУМ - Вшниця, 2005. - 203 с.
10. Мартынюк Т.Б. Особенности математической модели дискретного SM-преобразования / Т.Б. Мартынюк, В.В. Хомюк // Математичш машини i системи. - 2010. - № 4. - С. 145 - 155.
11. Мартынюк Т.Б. Модель порогового нейрона на основе параллельной обработки по разностным срезам / Т.Б. Мартынюк // Кибернетика и системный анализ. - 2005. - № 4. - С. 78 - 89.
12. Трухний В.Д. Структурно-информационные оценки качества цифровых вычислительных машин / В.Д. Трухний // Экономика и математические методы. - 1969. - Вып. 1. - С. 79 - 89.
13. Мартинюк Т.Б. Оцшювання ефективносп алгоршмв мультиобробки масивiв даних / Т.Б. Мартинюк, В.В. Хом'юк // Вюник Вшницького полггехшчного шституту. - 2005. - № 5. - С. 76 - 82.
Стаття над1йшла до редакцИ' 10.03.2017