BC/NW 2010, №1 (16): 10.2
ПАРАЛЛЕЛЬНЫЙ
АЛГОРИТМ СЛОЖЕНИЯ ЧИСЕЛ БОЛЬШОЙ РАЗРЯДНОСТИ
Нестеров А.П., Федулов А.С.
(Филиал ГОУ ВПО «МЭИ (ТУ)» в г.
Смоленске)
На современном этапе развития компьютерной техники
увеличивать производительность последовательных вычислительных машин становится
все труднее и труднее. В таких условиях актуальным решением является
использование параллельных вычислительных систем. В ряде областей (например,
геофизика, обработка сигналов) используются операции над числами большой разрядности
(ЧБР).
В данной работе исследуются способы распараллеливания
сложения ЧБР.
Основной проблемой, которая затрудняет
распараллеливание сложения ЧБР, является перенос, возникающий последовательно
от младших разрядов к старшим.
В данной работе предложен метод организации
параллельных вычислений при выполнении сложения ЧБР. Он основан на блочной
обработке данных [1]. Предложенный метод заключается в следующем.
Предположим, что имеются p процессоров и C целых
чисел, в записи наибольшего из которых имеется n цифр. Каждое число разбивается на k блоков (k>>p) по r разрядов. Блоки
каждого слагаемого распределяются по процессорам, но все процессоры кроме
первого получают дополнительно старший блок предыдущего процессора.
Все процессоры (кроме первого) определяют базовый
входной перенос, и вычисляют две суммы блоков слагаемых (из-за использования
блочной обработки входной перенос равен базовому или
на 1 больше).
Рис. 1.
Параллельная схема вычислений суммы чисел большой разрядности
Теоретические расчеты показали, что коэффициент
ускорения алгоритма вычисляется по формуле (1)
. (1)
А общее количество выполняемых операций сложения по
отношению к последовательному алгоритму определяется формулой (2)
. (2)
При увеличении разрядности слагаемых коэффициент ускорения стремится к p/2, а
коэффициент увеличения количества операций сложения стремится к 0,5. Следует
отметить, что данные коэффициенты не зависят от количества слагаемых.
Литература
1. Гергель В.П., Стронгин Р.Г. Основы параллельных вычислений для многопроцессорных
вычислительных систем. Учебное пособие – Нижний Новгород: Изд-во ННГУ им. Н.И.
Лобачевского, 2003. 184 с.