Секция 3. Информационные технологии
Section 3. Information technology Секция 3. Информационные технологии
Semerenko Vasyl Petrovych, Vinnytsia National Technical University, Ukraine Ph.D, lecturer, Department of Computer Technique, E-mail: vpsemerenko@mail.ru
Temporal models of the parallel computing
Abstract: The new model of parallel computing based on the mathematical representation of time symmetry is suggested. The concepts of direct and reversible autonomous finite automatons are offered. Their simultaneous transition to the common final state send on a cyclic phase trajectory from an initial state sbg in the opposite sides is interpreted as parallel movement from the present time to the past time and future time, and the gain in the time is obtained due the choice of shorter path from V to smd. Practical realization of the entered theoretical models for decoding and error correction in cyclic codes is considered.
Keywords: time, parallel computing, reversible automaton, cyclic codes, linear finite-state machine,
Семеренко Василий Петрович, Винницкий национальный технический университет, к. т.н., доцент, кафедра вычислительной техники E-mail: vpsemerenko@mail.ru
Темпоральные модели параллельных вычислений
Аннотация: Предлагается новая модель параллельных вычислений на основе математического представления симметрии времени. Введены понятия прямого и обратного автономных конечных автоматов. Их одновременный переход к общему заключительному состоянию send по циклической фазовой траектории от начального состояния sbeg в противоположные стороны интерпретируется как параллельное движение от “настоящего" в “будущее” и в “прошлое", а выигрыш во времени получается за счет выбора более короткого пути от sbg к send. Пока-
13
Section 3. Information technology
зана практическая реализация введенных теоретических моделей для задач декодирования и исправления ошибок в циклических кодах.
Ключевые слова: время, параллельные вычисления, обратный автомат, циклические коды, линейная последовательностная схема.
1. Введение
Одним из основных резервов повышения производительности параллельных вычислительных систем является эффективное использование фактора времени.
Среди наиболее распостраненных теоретических моделей параллельных вычислений временные параметры учитываются в модели PRAM (Parallel Random Access Machine) и в модели конечного автомата. В первой модели оценку времени работы можно сделать на основе количества обращений различных процессов к общей глобальной памяти. В конечном автомате переработка информации осуществляется в дискретном времени и длительность процесса можно определить по тактируемой шкале времени графа переходов автомата.
Такие представления о времени очень ограничены, поскольку рассматривают вычислительные процессы только в одном линейном направлении: от прошлого к будущему. Однако, законы науки не делают различия между направлениями “вперед” и “назад" во времени [1, 183]. Фундаментальные законы и классической, и квантовой динамики подразумевают эквивалентность причин и следствий, что влечет за собой эквивалентность прошлого и будущего. Безусловно, термодинамическая и космологическая стрелы времени необратимы и направлены в будущее, в данном случае рассматриваются темпоральные (временные) модели только с позиций математики.
2. Обратимые вычисления
Вычисления, которые выполняются не в обычном порядке (от входных данных к выходным), а наоборот, принято называть обратимыми.
Впервые проблема повышения производительности компьютеров за счет обратимых вычислений была поставлена в начале 60-х годов прошлого века. Американский исследователь Р. Ландауэр установил, что энергия в процессе вычислений расходуется на уничтожение битов информации (принцип Ландауэра), [2], а его коллега Ч. Беннетс предложил использовать специальную логику (консервативную логику), которая должна сохранять и восстанавливать входную информацию [3].
Наиболее известные современные работы по обратимым вычислениям связаны с понятием обратного конечного автомата. В одних случаях такой автомат выполняет задачу криптоанализа [4, 45-48], [5, 116-119], другие его применения связаны с визуализацией алгоритмов при обучении программированию [6, 1-3].
14
Секция 3. Информационные технологии
В настоящей работе предлагается новая трактовка обратимых вычислений, которые выполняются параллельно с основными вычислениями на основе математической модели симметрии времени.
3. Вычислительные процессы в темпоральных моделях
В системе координат темпоральной модели временная координатная ось направлена в противоположные стороны: положительную и отрицательную, что соответствует развитию событий “вперед” и “назад" во времени (момент времени t = 0 соответствует “настоящему”). В этой модели можно рассматривать различные виды вычислительных процессов: последовательные, параллельные, обратные, противоположные (Рис. 1).
Рисунок 1. - Временная диаграмма темпоральной модели: ( P1,P2 ) — последовательные процессы, (P,, Р3) и (P2, P3) — параллельные процессы,
Р4 — обратный процесс, ( PpР4 ) и ( P3, P4) — противоположные процессы.
ОПРЕДЕЛЕНИЕ 1. Процесс P называется прямым, если он начинается в момент времени t > 0 и продолжается по положительной временной координатной оси.
ОПРЕДЕЛЕНИЕ 2. Процесс P называется обратным, если он начинается в момент времени t = 0 и продолжается по отрицательной временной координатной оси.
ОПРЕДЕЛЕНИЕ 3. Процессы P и P называются противоположными, если они начинаются в момент времени t = 0 и продолжаются по противоположным временным координатным осям.
Два и более процессов могут быть относительно друг друга последовательными или параллельными как по положительной, так и по отрицательной временным координатным осям.
15
Section 3. Information technology
4. Темпоральные модели и теория систем
Рассмотрим принципы построения темпоральных моделей с позиции системного анализа [7, 27-36].
Будем рассматривать интегрируемые динамические системы (ДС), состоящие из совокупности взаимосвязанных объектов. Для таких систем можно дать их формализованное представление в виде множества входов X = [x1, x2,...}, множества выходов Y = {У 1> У 2 ,...}, множества состояний S {■$! , $2,* * •} и двух функций:
переходов ö : S х X ^ S,
выходов Я: S х X ^ Y.
Функционирование традиционной ДС происходит в дискретные моменты времени t0, tl, t2,..., tt, — (tt e T ). Дискретное множество T не обязательно моделирует физическое время, его можно рассматривать как упорядоченную последовательность чисел, нумерующих последовательность событий.
В течение одного такта времени ДС способна переходить из одного состояния в другое, т. е. обладает определенным поведением. Выражением закона поведения системы является процесс P, который можно определить как двойку P = {S,5}. Процесс P показывает последовательность смен состояний под воздействием входных сигналов из множества входов X. В интегрируемых ДС последовательность смен состояний во времени образует фазовую траекторию в пространстве состояний системы.
Поскольку нас интересуют ДС, способные воспринимать, хранить и перерабатывать информацию, поэтому далее будем рассматривать и соответствующую разновидность ДС — технические кибернетические системы (ТКС). Отличительной особенностью ТКС является ее целенаправленность. Цель в кибернетике — это характеристика поведения ТКС, направленного на достижение определенного заключительного состояния. Таким образом, фазовая траектория будет начинаться в некотором начальном состоянии sbg и, пройдя ряд промежуточных состояний, закончится в заключительном состоянии send. Состояние send отличается от всех остальных состояний тем, что оно полностью соответствует поставленной цели, назовем такое состояние максимально структурированным или упорядоченным. Соответственно, состояние stej, имеет меньшую упорядоченность.
Общепринятой мерой организованности, упорядоченности и структурированности системы являются понятия энтропии и информации. Поэтому будем полагать, что состояние steg имеет максимальную энтропию и минимально упорядоченную информацию, а состояние send — минимальную энтропию и максимально упорядоченную информацию.
16
Секция 3. Информационные технологии
Известно, что любое упорядочение информации требует затрат энергии [8, 213-236]. Следовательно, именно величина дополнительных затрат энергии и может служить объективной характеристикой качества способа достижения цели. Для решения многих практических задач минимизация времени достижения цели будет эквивалентна снижению затрат энергии. В терминах теории систем это может означать поиск минимального пути по фазовой траектории от состояния
V к состоянию smi.
Структура фазовых траекторий определяется степенью свободы ДС — наименьшим числом независимых координат, необходимых для однозначного определения состояния системы. Известно, что к интегрируемым ДС относятся все ДС с одной степенью свободы и некоторые разновидности ДС с двумя и тремя степенями свободы.
Ограничимся пока ДС с одной степенью свободы, наиболее распостранен-ным представителем которых являются автономные ДС. Для таких ДС фазовая траектория — окружность [9, 122] (Рис. 2). Пусть на этой фазовой траектории будет начальное состояние sbeg и заключительное состояние smd. В общем случае их взаимное расположение различно, следовательно, длина пути от sbeg к smi по окружности в разные стороны будет различной.
Рисунок 2. - Направления движения от начального до заключительного состояний по фазовой траектории для автономной ДС.
Обычно движение по фазовой траектории направлено вдоль точек (состояний), которые соответствуют моментам времени в порядке их возрастания, т. е. от “настоящего" в “будущее”. А возможно ли движение по фазовой траектории в обратном направлении?
Если проанализировать уравнения движения классической физики, то можно увидеть, что они будут справедливы при замене момента времени t на — t, т. е. прошлое и настоящее играют симметричные роли. Появление в 20 веке теории
17
Section 3. Information technology
относительности и квантовой механики сохранили основные характеристики законов Ньютона — детерминизм и обратимость во времени. Сразу отметим, что обратимость во времени справедлива только для интегрируемых ДС [9, 116-126], но именно такие системы мы и рассматриваем сейчас.
Таким образом, с математической точки зрения не существует запрета движения в обратном направлении по фазовой траектории, имеющей вид окружности. Если интерпретировать движение по циклической фазовой траектории от состояния sbeg в разные стороны как одновременное движение в противоположных временных направлениях, тогда можно рассмотреть задачу выигрыша во времени за счет выбора более короткой длины пути от sbg к smd. В итоге мы приходим к идее распараллеливания вычислений на основе темпоральных (временных) моделей.
Более детально параллельные процессы на основе автономных ДС будут далее рассмотрены на языке теории конечных автоматов и линейных автоматов.
5. Темпоральные модели в теории автоматов
Будем использовать модель детерминированного конечного автомата, который описывается системой
Д = {Х ,S,Y,S,V, (1)
где X = {x1,., xn} - конечное множество входов,
S = {Sp..., sr} — конечное множество состояний,
Y = {ур..., ym} — конечное множество выходов,
S : S х X ^ S - функция переходов, Я : S х X ^ Y - функция выходов.
Будем полагать, что функционирование автомата А происходит в дискретном времени, т. е. в момент времени автомат находится в состоянии st, а переход в состояние si+1 завершается в момент времени ti+1 (si,si+1 е S).
Поскольку конечный автомат является ДС, только с конечными множествами X, S и Y, поэтому все рассмотренные ранее рассуждения относительно ДС, справедливы также и для конечного автомата. Как уже отмечалось, обратимость во времени справедлива для автономных ДС, поэтому далее будем рассматривать автономные конечные автоматы — автоматы, которые не подвержены действию входных сигналов, переменных во времени. Если автономная ДС имеет фазовую траекторию в виде окружности, то автономный автомат имеет ориентированный граф, состоящий из циклов [10, 197-205]. Цикл может содержать одну или несколько вершин.
ОПРЕДЕЛЕНИЕ 4. Автономный конечный автомат называется прямым (автономным ПКА), если его работа начинается в момент времени 10 = 0, и момент времени +1 находится правее момента времени по положительной временной координатной оси (i = 0,1,2,.).
18
Секция 3. Информационные технологии
ОПРЕДЕЛЕНИЕ 5. Автономный конечный автомат называется обратным (автономным ОКА), если его работа начинается в момент времени t0 = 0, и момент времени +1 находится левее момента времени по отрицательной временной координатной оси.
Как следует из вышеприведенных определений, автономные ПКА и ОКА моделируют противоположные процессы.
Если автономный ПКА описывается системой (1), то автономный ОКА описывается аналогичной системой, которая отличается от (1) использованием обратной функции переходов ö - и обратной функции выходов Я -. Следовательно, переход от автономного ПКА к автономному ОКА заключается лишь в решении стандартной задачи нахождения обратной функции по известной прямой функции.
Фактически автономные ПКА и ОКА — это две стороны (копии) одного автомата, функционирующих по противоположным временным шкалам. Обе копии одновременно начинают свою работу из одного начального состояния sbg и оканчивают работу в заключительном состоянии send. В общем случае длительность перехода из состояния sbg в состояние smd для обеих автоматов различна.
Предлагаемая модель обратного автомата имеет ряд принципиальных отличий от известных моделей обратных автоматов.
Автономные ПКА и ОКА работают как автоматы-распознаватели, т. е. главная цель — быстрее достичь заданного состояния smd. После достижения состояния send любым из автоматов, второй автомат, “проигравший", также заканчивает свою работу, поскольку поставленная общая задача выполнена. Таким образом, благодаря параллельной работе двух автоматов, мы быстрее получаем необходимый результат.
Обратный автомат, используемый в криптографии [4, 50], [5, 114], работает как автомат-преобразователь, задача которого восстановить неизвестную последовательность входных сигналов по известной последовательности выходных сигналов. Длительность работы такого обратного автомата не может быть меньше длительности работы исходного автомата.
6. Применение темпоральных моделей в задачах помехоустойчивого кодирования
Традиционные подходы к решению многих классических задач ориентированы на последовательную обработку данных и для распараллеливания вычислений чаще всего используют декомпозицию по данным, реже — декомпозицию по функциям (подзадачам).
Параллелизм на основе темпоральных моделей принадлежит к категории скрытого параллелизма и для его выявления требуется глубокий анализ решаемых задач. В некоторых случаях необходимо переформулировать исходную задачу
19
Section 3. Information technology
в рамках такого математического аппарата, который позволяет использовать обратимые во времени вычисления.
Именно так обстоит дело в задачах помехоустойчивого кодирования на основе циклических кодов. Для этого класса кодов разработаны различные виды аналитических представлений: полиномиальное, матричное, через корни порождающего многочлена [11, 116-131]. Разработанные на основе этих представлений алгоритмы декодирования (например, алгоритм Берлекэмпа-Месси) плохо формализованы и малопригодны для распараллеливания на основе традиционной декомпозиции.
Наиболее перспективным в плане параллельной обработки является автоматное представление циклических кодов. Будем рассматривать линейные автоматы — специальный класс конечных автоматов, который базируется на основе логических исчислений и полей Галуа. Линейные автоматы более известны как линейные последовательностные схемы (ЛПС), поэтому в дальнейшем будем также использовать этот термин.
Согласно [12, 45-47] ЛПС с l входами, m выходами и r элементами памяти в дискретные моменты времени t над полем Галуа GF(q) описывается функцией переходов
S(t +1) = А х S(t) + B х X (t), GF (q)
и функцией выходов
7(t) = C хS(t) + D xX(t), GF(q),
где A = laJ , B = \Ь,А ,C = IcJ , D = dj - характеристические матрицы ЛПС;
I j Irxr I \rxl I j Imxr I j \mxl 11 1
S = js^, U = |ц.|;, Y = \y\m — векторы состояний, входной и выходной.
Выбор характеристических матриц ЛПС определяется требованием r -управляемости ЛПС, т. е. возможности перехода из любого состояния Si в состояние Sj не более, чем за r тактов работы автомата. Размерности матриц ЛПС и параметры циклического ( n ,k )-кода Q связаны через коэффициент r, который для кода равен числу контрольных разрядов кодового вектора F при систематическом кодировании ( r = n — k ). Над полем Галуа GF(2) в ЛПС с одним входом и одним выходом может быть использована такая матрица A:
0 0 0 • •• &
1 0 0 • •• &
А = 0 1 0 • &2 . (2)
0 0 0 1 gr-1
Элементы последнего столбца матрицы A из (2) представляют собой коэффициенты порождающего многочлена (n,k)-кода Q :
20
Секция 3. Информационные технологии
g(Х) = g 0 + glX + g 2X 2 + • • ' + gr-1XX-1 + grX -Для наших задач можно ограничиться только автономной ЛПС, функционирование которой не зависит от входных воздействий и описывается функциями переходов и выходов:
S(t +1) = АхS(t), 7(t) = S(t), GF(2), (3)
Введем обратную автономную ЛПС, функционирование которой описывается следующими функциями переходов и выходов:
S(-t-1) = Aim хS(-t), 7(-t) = S(-t), GF(2), (4)
Матрицу Ainv обратной автономной ЛПС легко определить в результате решения матричного уравнения Ajnv х A = E относительно единичной матрицы E и известной матрицы A. Как доказано в [13, 36], для матрицы A вида (2) матрица Ainv имеет вид:
А.
mv
g 1 1 0 ... 0
g 2 0 1 ... 0
gr-1 0 0 ••• 1
g 0 0 0 ... 0
Автономная ЛПС с функциями (3) и обратная автономная ЛПС с функциями (4) соответствуют автономным ПКА и ОКА в обычной автоматной модели.
Рассмотрим граф переходов GFA (VFA, WFA) ЛПС над полем Галуа GF(2), в котором вершины из множества вершин VFA соответствуют внутренним состояниям ЛПС, а дуги из множества дуг WFA показывают направления переходов между внутренними состояниями. В общем случае из вершины v ■ ( v ■ £ VFA ) может выходить нулевая дуга и единичная дуга, а также могут входить нулевая дуга и единичная дуга.
Если порождающий многочлен g(x) является непримитивным или равен произведению нескольких многочленов, тогда граф переходов GFA содержит некоторое количество нулевых циклов (НЦ) длины не более n, образованных нулевыми дугами. Эти НЦ можно упорядочить по следующим уровням [14, 81-82].
На нулевом уровне будет располагаться тривиальный НЦ (ТНЦ), состоящий из одной вершины v0, для которой входящая и выходящая нулевые дуги объединяются и образуют петлю. Далее, на первом уровне находится основной НЦ (ОНЦ) длины n, который связан с ТНЦ парой противоположно направленных единичных дуг. Все остальные НЦ, которые будем именовать периферийными НЦ (ПНЦ), распределяются по следующим уровням таким образом. На втором уровне располагаются те ПНЦ, каждый из которых связан с ОНЦ с помощью двух пар противоположно направленных единичных дуг. На (т +1 )-ом уровне каждый ПНЦ имеет (т +1) пар противоположно направленных единичных дуг с ПНЦ Т -го уровня
21
Section 3. Information technology
и отсутствуют единичные дуги с ПНЦ уровней (Т — 1) и менее (т =1,2,3, ...). Такие единичные дуги будем также именовать “вертикальными", причем дуги от НЦ т -го уровня к НЦ ( т +1 )-го уровня будем именовать прямыми “вертикальными”, а дуги от НЦ ( Т +1 )-го уровня к НЦ т -го уровня будем именовать обратными “вертикальными” Для каждого НЦ можно оставить по одной паре “вертикальных” единичных дуг. Также можно отбросить все остальные единичные дуги, которые связывают между собой вершины внутри НЦ и НЦ одного уровня. В каждом НЦ можно выделить особые вершины vks (“вертикальные” связывающие вершины), с помощью которых НЦ соседних уровней связаны между собой единичными дугами.
Полученная в результате графовая модель будет соответствовать графу переходов автономной ЛПС, за исключением оставшихся единичных дуг между НЦ разных уровней.
Если на входы ЛПС, находящейся в нулевом начальном состоянии S(0), подать кодовый вектор F циклического (n,k)-кода Q , тогда при отсутствии в нем ошибок ЛПС через n временных тактов снова возвратится в состояние S(0). При наличии ошибки кратности т в кодовом векторе Fen ЛПС из S(0) перейдет в некоторое ненулевое состояние S^Jin), которому будет соответствовать вершина ошибки vm в одном из НЦ на т -м уровне. Суть метода поиска ошибок по графовой модели ЛПС состоит в поиске кодового пути по графу от вершины vrrr к вершине v0. Этот кодовый путь будет проходить внутри некоторых НЦ до соответствующих особых вершин vs и далее по соответствующим обратным “вертикальным” единичным дугам.
В терминах темпоральной модели особые вершины vks в каждом НЦ играют роль заключительных состояний в фазовой траектории. Ускорить процедуру поиска и исправления ошибок можно за счет сокращения пути в отдельных НЦ к особым вершинам vs. С этой целью в одних НЦ направление движения следует выбирать в одну сторону, в других НЦ — в противоположную сторону. Аналитически такая задача состоит в одновременном вычислении состояний автономной ЛПС и обратной автономной ЛПС и выборе варианта с минимальным кодовым путем. В итоге будут реализованы параллельные вычисления по прямой и обратной шкалам времени.
На рис. 3 показан фрагмент графа переходов GFA для (9,3)-кода с порождающим многочленом g (x) = 1 + x3 + x6. В этом графе, содержащем три уровня НЦ, минимальный кодовый путь от вершины vm к вершине v0 только в НЦ первого уровня (ОНЦ) совпадает с направлением нулевых дуг, а в других НЦ он противоположен.
На основе графовой и автоматной моделей над полем Галуа GF(q) (q > 2) можно аналогичным образом декодировать и исправлять ошибки в кодах Рида-Соломона [13, 39-40].
22
Секция 3. Информационные технологии
Рисунок 3. - Фрагмент графа переходов GFA для (9,3)-кода с порождающим многочленом g (x) = 1 + x3 + x6. Прямой (штриховая линия) и обратный (штрих-пунктирная линия) пути по дугам графа GFA от вершины ven к вершине v0.
Рассмотренные алгоритмы декодирования и исправления ошибок реализованы программно на языке С++ с использованием технологии параллельных вычислений OpenMP.
7. Заключение
Модели сложных систем, к которым принадлежат и ДС, симметричны относительно преобразований пространства-времени [15,43] и предложенная
23
Section 3. Information technology
темпоральная модель вводит новый тип параллелизма — параллелизм по шкалам времени. Этот тип параллелизма не столь очевиден и более для сложен для применения, поскольку требует не менее двух вариантов решения задачи при изменяемых временных затратах.
Использование вычислительных процессов “вперед” и “назад" во времени является лишь математической абстракцией, однако в конечном итоге мы получаем ощутимый выигрыш в физическом времени. Даже при использовании только двух противоположных в математическом времени процессов в среднем в два раза быстрее получается требуемый результат. Еще большей эффективности можно достичь при совместном использовании различных типов параллельной обработки.
Требуются дальнейшие исследования для создания темпоральных моделей вычислений в динамических системах с несколькими степенями свободы и с незамкнутой фазовой траекторией.
Список литературы:
1. Хокинг С. Краткая история времени: От Большого взрыва до черных дыр. -СПб.: Амфора, 2008. - 231 с.
2. Landauer R. Irreversibility and heat generation in the computing process//IBM Journal of Research and Development, 1961. vol. 5. - p. 183-191.
3. Bennett C. H. Logical reversibility of computation//IBM Journal of Research and Development, 1973. - vol. 17, No. 6. - p. 525-532.
4. Агибалов Г. П. Конечные автоматы в криптографии//Прикладная дискретная математика (Приложение), 2009. - 2, - С. 43-73.
5. Богаченко Н. Ф. Применение теоретико-автоматных моделей в криптографии/ /Математические структуры и моделирование, 2007. - Вып. 17. -с. 112-120.
6. Казаков М. А., Корнеев Г. А., Шалыто А. А. Разработка логики визуализато-ров алгоритмов на основе конечных автоматов//Телекоммуникации и информатизация образования, 2003. - № 6. - С. 27-58.
7. Месарович М., Такахара И. Общая теория систем: математические основы. -М.: Мир, 1978. - 311 с.
8. Бриллюэн Л. Наука и теория информации. - М.: Физматгиз, 1960. - 391 с.
9. Пригожин И., Стенгерс И. Время, хаос, квант. - М.: Издат. группа Прогресс, 1994. - 272 с.
10. Айзерман М. А., Гусев Л. А., Розоноэр Л. И., Смирнова И. М., Таль А. А. Логика. Автоматы. Алгоритмы. - М.: Физматгиз, 1963. - 556 с.
11. Блейхут Р. Теория и практика кодов, исправляющих ошибки. - М.: Мир, 1986. - 576 с.
12. Гилл А. Линейные последовательностные машины. - М.: Наука, 1974. - 288 с.
24
Секция 3. Информационные технологии
13. Семеренко В. П. Параллельное декодирование укороченных циклических кодов/ / Оптико-электронные информационно-энергетические технологии, 2012. - №. 1. - C. 30-41.
14. Семеренко В. П. Высокопроизводительные алгоритмы для исправления независимых ошибок в циклических кодах//Системи обробки шформацп: зб. наук. праць - Харшв: ХУПС, 2010. - Вип. 3 (84). - С. 80-89.
15. Гуревич И. М. Законы информатики - основа строения и познания сложных систем. - 2-е изд. - М.: ТОРУС ПРЕСС, 2007. - 400 с.
25