Dordopulo Alexey Igorevich - Southern Scientific Centre of the Russian Academy of Sciences; e-mail: [email protected]; 41, Chekhov aven.; Rostov-on-Don, 344006, Russia; phone: +78634315491; cand. of eng. sc.; senior scientist.
Sorokin Dmitry Anatolievich - Scientific-Research Institute Multiprocessing Computing Systems after Kalyaev of South Federal University; e-mail: [email protected]; 2, Chekhov street, Taganrog, 347928, Russia; phone: +78634315491; scientific associate.
УДК 004.272.22
Ю.И. Доронченко
ПРОЦЕДУРА МЕЖИТЕРАЦИОННОЙ РЕДУКЦИИ ЗАДЕРЖЕК ДЛЯ КОНВЕЙЕРНОЙ РЕАЛИЗАЦИИ РЕКУРСИВНЫХ ВЫЧИСЛЕНИЙ*
Предложен способ сокращения аппаратных затрат при конвейерной реализации рекурсивных вычислений в вычислительно трудоемких алгоритмах защиты информации. Впервые показана эффективность применения предложенного метода для реконфигурируемых вычислительных систем. Применение предложенной процедуры межитерационной редукции обеспечивает минимальные рекурсивные связи при распределении вычислений во времени, что позволяет сократить затраты на синхронизацию от 1,3 до 6раз и повысить удельную производительность конвейерной реализации рекурсивных вычислений на реконфигурируемой вычислительной системе.
Конвейерные вычисления; защита информации; рекурсивные вычисления; редукция,
.
Y.I. Doronchenko
PROCEDURE OF INTER-ITERATION REDUCTION OF DELAYS FOR PIPELINE RECURSIVE CALCULATIONS
The paper covers the method of reduction of hardware resource needed for pipeline recursive calculations in computationally laborious algorithms of information security. For the first time the author has shown effectiveness of application of the suggested method in reconfigurable computer systems. The developed procedure of inter-iteration reduction provides minimal recursive constraints for time distributed calculations and reduction of synchronization costs from 1.3 up to 6 times. Besides, it helps to increase specific performance of pipeline recursive calculations for reconfigurable computer system.
Pipeline calculations; information security; recursive calculations; reduction; synchronization.
Вопросы безопасности больших вычислительных и управляющих систем требуют оперативной обработки больших массивов данных с помощью вычислительно-трудоемких алгоритмов, что обусловливает применение высокопроизводительных вычислительных комплексов, реализующих методы блокирования несанкционированного доступа к информации. Реализация подобных методов защиты зачастую требует существенного аппаратного ресурса, поэтому актуальны методы, позволяющие снизить требования к ресурсу а, следовательно, и к массогабаритным характеристикам и стоимости.
При построении конвейерных вычислительных структур [1] существенные затраты аппаратного ресурса требуют вопросы синхронизации информационных потоков. В этой связи предлагается метод, позволяющий для рекурсивных вычис-
*
Исследования выполнены при финансовой поддержке Министерства образования и науки РФ, госконтракт № 14.527.12.0004 от 03 октября 2011 г.
лений выполнить редукцию задержек в конвейере. Данный подход применим для различных классов научно-технических задач, в том числе криптографии, что обусловливает его применение при обеспечении безопасности различных систем.
Одним из методов эквивалентного преобразования цифровых схем является известный метод редукции регистров. Этот метод основан на замещении задержек входных параметров некоторой функции задержкой результата этой функции и наоборот. Пример простейших редукций представлен на рис. 1.
, , -держки, как правило, неизбежны, поэтому весьма затруднительно при построении конвейера оптимально выполнить синхронизацию потоков данных.
Обычно на практике метод редукции регистров применяют в простейших случаях в пределах одной итерации алгоритма.
, , , .
Рис. 1. Пример использования метода редукции регистров
В общем случае предлагаемый метод редукции соответствует двукратному (по времени и пространству) вложенному циклу и основан на том, что вычисления на каждом шаге алгоритма распределяются во времени и в пространстве таким , .
Будем рассматривать задачи, информационный граф которых описывается следующим выражением:
1И* і=1
”п
”1-, і = хі,
^ =и
г=1 } =1.
где VI - множество изоморфных информационных подграфов, г = 1..п ;
] -я входная информационная вершина подграфа Уг, ] = 1..т ;
(1)
'і і
”і-і - выходная информационная вершина подграфа V-
X^ - входные информационные вершины графа задачи О ;
У - выходная информационная вершина графа О .
Приведенное описание характерно для однонаправленных хэш-функций, для которых подграфы являются итерациями алгоритма. Будем полагать, что данный граф и все его вершины являются конвейеризованными и обрабатывают большое количество данных. Так как для дальнейшего рассуждения количество данных в конвейере не является принципиальным, для простоты изложения опус, . задачи представлен на рис.2. Чтобы не загромождать рисунок, указаны не все связи между подграфами. Вообще каждый подграф Уг имеет 2т связей.
а
а
Ь
Ь
Ь
Ь
а
а
с
с
п
т
п
Рис. 2. Фрагмент графа задачи
Рассмотрим подсистему синхронизации, необходимую для реализации данной задачи. Пусть величина задержки, вносимой в результате вычислений подграфа VI, равна I тактов. Необходимо для каждого подграфа V синхронизировать
потоки данных, следующие по дугам и +у,у, ). В каждой из этих дуг долж-
] =1
ны быть реализованы линии задержки глубиной (у -1)1 тактов. Так как по всем дугам следуют одинаковые потоки данных, то очевидно, что построение т линий задержек нерационально. Необходимо создание для каждого подграфа V одной линии задержки глубиной (т -1)/ тактов. Синхронизация данных в конвейере для двух линий задержки показана на рис. 3.
Таким образом, общее количество задержек для всех п подграфов У1
а = п1(т -1). (2)
Для простоты рассуждения здесь не показано, что для последних (п - т) подграфов количество элементов задержки I будет, очевидно, меньше, чем (т -1) . Этим фактом можно пренебречь в силу того, что п >> т .
Из последней формулы видно, что при больших п аппаратные затраты на синхронизацию могут быть очень велики, что отрицательно сказывается на удельной производительности вычислительной системы. Также из формулы следует, что так как параметры п и т являются параметрами задачи и не могут быть изменены, то для снижения а необходимо уменьшать латентность вычислений I в
конвейере V'. Отчасти это верно и сокращение I в некоторой степени снизит расход аппаратуры, однако, с другой стороны, может привести к уменьшению частоты работы вычислительного устройства. Покажем, как, применяя межитерацион-ную регистровую редукцию, можно кардинально сократить затраты на построение подсистемы синхронизации при решении подобных задач.
Для этого нужно подробнее рассмотреть структуру подграфа V'. Пусть подграф Vi представляет собой объединение нескольких взаимосвязанных подграфов и у, которые определенным образом связаны с входными информационными вершинами г(-,у. Характер связей может быть различным. Для наглядности будем полагать, что каждый подграф и у связан с соответствующей вершиной г(-, у так, как показано на рис.4. Тогда подграф Vi можно описать следующим образом:
т т / \ т / \
V' = и иу и 0{иу ,иу _!) и 0{иу, Ч у), и о = Wi. (3)
у=1 у=1 у =1
Следует отметить, что порядок выполнения подграфов и у (а, следовательно,
и связи между ними и о{иу,иу_1)) достаточно условный, так как если говорить
у=1
о хэш-функциях, в качестве и у обычно выступает операция сложения, обладающая свойством ассоциативности.
Рис. 4. Подграф V'
Положим для простоты количество подграфов и у т = 4, пусть каждый из
них в процессе вычислений вносит единичную задержку. Заметим, что результат каждой (' _ у) -й итерации алгоритма (результат подграфов V'_у) является входом
операции и у подграфа V'. Распределяя во времени вычисления в итерациях так,
чтобы рекурсивные связи были минимальны, можно получить пространственновременную картину вычислений, показанную на рис. 5.
Подобное распределение вычислений будем называть межитерационной ре.
,
происходит автоматически и не требует внесения дополнительных задержек. Аппаратные затраты на синхронизацию в данном случае сводятся к минимуму, что приводит к увеличению удельной производительности вычислительной системы.
Рис. 5. Межитерационная редукция
В общем случае структура подграфа Vi является более сложной. В зависимости от алгоритма решаемой задачи в подграфе Vi могут меняться количество операционных вершин U j, количество информационных вершин zi, j, число и характер информационной зависимости между подграфами Vi. Реализация различных алгоритмов подобной структуры на реконфигурируемой вычислительной системе показала, что распределение вычислений во времени и пространстве с минимальными рекурсивными связями в соответствии с данным подходом к организации вычислительного процесса позволяет сократить затраты на синхронизацию от 1,3 до 6 раз.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Каляев A.B., Левин ИМ. Модульно-наращиваемые многопроцессорные системы со структурно-процедурной организацией вычислений. - М.: ООО «Изд-во Янус-К», 2003. - 380 с'.
Статью рекомендовал к опубликованию д.т.н., профессор Я.Е. Ромм.
Доронченко Юрий Иванович - Научно-исследовательский институт многопроцессорных вычислительных систем им. A.B. Каляева Южного федерального университета; e-mail: [email protected]; 347928, г. Таганрог, ул. Чехова, 2; тел.: 88634315491; к.т.н.; зав. .
Doronchenko Yrij Ivanovich - Scientific-Research Institute Multiprocessing Computing Systems after Kalyaev of South Federal University; e-mail: [email protected]; 2, Checkhov street, Taganrog, 347928, Russia; phone: +78634315491; cand. of eng. sc.; head of laboratory.