УДК 681.32
В. А. КОЛОСКОВ, А. А. АБУДЖАХАЛ КЛЕТОЧНАЯ РЕСТРУКТУРИЗАЦИЯ МАТРИЧНЫХ ПРОЦЕССОРОВ
Рассмотрено построение клеточного алгоритма определения максимальных работоспособных областей в матричных процессорных структурах с произвольными комбинациями отказов. Определены модели и правила поиска максимальных подобластей на основе локальных данных об отказах, представлен клеточный алгоритм реализации правил и даны примеры его выполнения. дефектоустойчивость;матричные структуры; клеточные вычисления; параллельные подстановки
В настоящей работе рассматривается одно из направлений повышения отказоустойчивости многопроцессорных систем с отказами компонент, допускающее мягкую деградацию путем реструктуризации в более мелкоразмерную систему. Реструктуризация с уменьшением размерности выполняется без использования резервных элементов и треков и применима не только на этапе производства матричных процессоров с целью увеличения процента выхода годных, но и после появления фатальных отказов на этапе функцио-
нирования, когда возможности средств реконфигурирования оказываются исчерпанными.
Продление срока службы и снижение уровня деградации при реструктуризации обеспечиваются выделением сплошных выпуклых областей из работоспособных узлов. Основными условиями эффективной реструктуризации являются сохранение активности наибольшего числа компонент в структуре с отказами и способности системы к последующей реконфигурации при функционировании. Среди известных алгоритмов выде-
ляется стратегия распределенного поиска максимальных подсеток [1] для узлов структуры, обеспечивающая параллельность и независимость вычислений. Однако для данного алгоритма характерна высокая сложность, обусловленная необходимостью обработки в каждом элементе глобальной информации об отказах путем манипулирования множественными выражениями, и введением дополнительных операций по выявлению доминантной среди множества подсеток базового узла.
В настоящей работе предлагается новое решение данной задачи на основе клеточно-автоматного подхода, базирующегося на реализации в каждом элементе одинаковых правил обработки локальной информации об отказах по данным от ближайших соседних узлов. Простота предлагаемых правил клеточного алгоритма позволяет не только снизить временные затраты на реструктуризацию матричного процессора, но и создает предпосылки для аппаратной реализации данного алгоритма.
Механизм клеточного определения работоспособной подматрицы состоит в том, что искомая область для узла формируется либо увеличением на шаг решетки размерности по горизонтали подматрицы правого узла + 1), либо увеличением по вертикали подматрицы соседнего нижнего узла . В качестве результата выби-
рается подматрица с большим числом узлов, либо сохраняется полученный ранее результат. При этом в процессе увеличения площади правой или нижней подматриц необходимо учитывать наличие возможных отказов в -й строке и -м столбце.
Процесс поиска максимальных работоспособных подматриц (активных подобластей) в матричных многопроцессорных структурах с топологией тор (решетка) размерностью т х п, где т — число узлов вдоль вертикальной, те — вдоль горизонтальной осей, будем описывать графовыми решетками с замкнутыми (разомкнутыми) граница-миС1(ВД),С2 (V, С/2), вершины иу £ V которых с номерами (г,,;) (г — номер строки, ^ — номер столбца решетки) соответствуют процессорам системы и отмечаются весом £ {0,1}, указывающим на работоспособность или отказ соответствующего элемента. Входные и выходные дуги связывают соседние вершины в направлении физических связей элементов процессорной матрицы. При этом исходящие дуги имеют ориентацию слева направо (—»■) и сверху вниз (4-). Граф задает для узла ограничения на максимальную размерность подматриц, граф описывает размерность подматрицы в виде произведения ,
где — размеры максимальной подматри-
цы для базового узла по горизонтали вправо и вертикали вниз соответственно.
Определение 1. Графом и1(¥, и1) ограничений называется ориентированная графовая решетка с замкнутыми по горизонтали и вертикали границами, каждая вершина иу £ V (г = 1,2, ...,т; 2 = 1,2,..., п) которой взвешена весом г^, а исходящие из щ £ V дуги в горизонтальном и верти-
кальном направлениях имеют веса Х$ , , соот-
ветствующие ограничениям на размерность подматрицы базового узлау^ по этим направлениям.
Для успешного решения задачи ни одна из отказавших вершин решетки не должна входить в искомые подобласти, поэтому в графе исходящие дуги указывают на расстояние от текущей вершины до ближайших отказов в соответствующих направлениях. Процесс построения графа заключается в параллельном назначении весов исходящих дуг по горизонтали и вертикали в соответствии со следующим правилом. Начальная установка весов дуг графа нулевая.
Правило 1. Исходящая из работоспособной вершины ( ;
= 1,2,... ,п) дуга (иу,и^'+1)/(иу,и*+1^-) взвешивается единичным весом = 1/У^ = 1, если
соседняя справа/снизу вершина отказавшая, в противном случае значение веса увеличивается на шаг решетки, но не превышает ограничения размерности решетки по горизонтали/вертикали.
Данное правило выполняется итерационно для всех узлов решетки и обеспечивает в каждом узле вычисление расстояний до
ближайших отказов в строке * и столбце ,7. Вычисления завершаются, если ни один вес в решетке не изменяет своего значения.
Нарис. 1,а приведен пример построения графа
по правилу 1 для решетки с замкнутыми границами и комбинацией из четырех отказавших вершин.
0 1 2 3 0 1 2 3
Рис. 1. Результаты построения графов <3\ (а) и <3-2 (б)
Определение 2. Графом 62 (V, Щ) подматриц называется ориентированная графовая решетка с замкнутыми по горизонтали и вертикали границами, каждая вершина которой взвеше-
на весом гд, а исходящие из вершин иу £ V дуги имеют веса ,
уи ^ уогз ,соответствующиеразмерност.яммак-симальной подматрицы для по горизонтали и вертикали соответственно.
С учетом предложенной концепции формирования подматриц разработано правило 2 разметки дуг графа , которое обеспечивает формирование максимальных работоспособных подматриц для узлов путем сравнения и модификации подматриц ближайших соседей. Начальная установка весов дуг и2 — нулевая.
Правило 2. В графе ^(У, Щ) веса X*-7', У*-7’ исходящих дуг работоспособных вершин {иу} изменяются на значения
X'/ = (Х^'+1 + 1), У,'' = пип(У0у,У*^1),
еслиХч < X? * У^ < X]3 * У^3,
либо на значения
ХУ = тт(.У''. .V'' '•'■). У,'' = (У^1-? + 1), если
Правило 2 регламентирует порядок замены весов исходящих дуг в графе (32 путем сравнения двух подматриц Х[3 * У/-7 и * У2Ч с целью выбора максимальной.
Пример итогового состояния графовой решетки в результате расстановки весов по правилу 2 приведен на рис. 1,б. Элемент является левым
верхним углом максимальной подматрицы .
Разработанные локальные правила построения графов их, (?2 являются основой для аналитической интерпретации клеточного алгоритма.
Клеточный алгоритм представим системой параллельных подстановок [2] Ф = {01,02}, где 01, 02 — правила определения весов дуг графов и (?2 соответственно. Система Ф описывает итерационные операции обработки клеточного массива {<%, (*,.?)}, где Йу — слово состояния клетки (обрабатываемые данные); (г, ]) — имя клетки, соответствующее ее координатам в графовой решетке матрицы (г = 1,2, ...,гп; ] = 1,2, ...,тг). На каждой итерации для всех клеток выполняются все предписанные алгоритмом правила обработки и вырабатывается промежуточное значение клеточного массива. Процесс вычисления завершается, когда ни одна клетка не может изменить свои данные
, что соответствует результату решения задачи.
С учетом правил 1, 2 слово состояния любой клетки для разработанного алгоритма определяется значениями множества переменных
.
Функции итерационной замены значений переменных , и , представим как
01: {>'1.х''1 л,','■1 л' 1и.ш}
> { А'о
Хо'3 =
*,з+1
У1’3 -2о —
у*’Я-1 10
1,
тп,
если
к(Хр+1 + 1 «С п),
если
если
если
к(У^+1 + 1 «С тп),
если
если
(1)
(2)
(3)
Хо'3 =
где
Хг’1,
X?,
Х'/'.
> {А-'-'.У'-'}:
если
если
если
(4)
(5)
Я = та.ч((.У' ' * У^), (Х'1’3 * У/’-7'
Х^ =
(А’.',"' * уМ
если
& (Х*,-7’+1 + 1 «С Х^),
(6)
уг,3 А0 •
если
если
(7)
У^ =
XI’3 =
У1’1 =
у’1,3+1 если № > 1)&
к (У "1,3+1 То г*-* V/
1, если У'-' -20 - = 1,
Уи 20 ’ если У* + 1: ■? > У'-'-20 1
х^+Ч если (Х'о* > 1)&
к (Х1+1Л с и V/
1, если уг,3 А0 = 1,
уг,3 А0 • если Х*+! с и А
У*,Я-1 1 5 если (>0^ > 1)&
к (У "1,3+1 То г*-* V/
1, если У'-' -20 - = 1,
уьз 20 1 если уг+1. .] •> у'-' р- 10 .
(8)
(9)
(10)
Применительно к процессорной матрице с топологией типа сетка клеточный алгоритм, а именно функция , модифицируется в соответствии с правилами
Хо’3 =
X
г<+1,з
о
У1’3 -20 —
-*+м
если
& (г + 1 ^ п), если
V (г + 1 > п);
если
к и + 1 «С тп), если
V (,7 + 1 > тп).
(11)
(12)
Результаты моделирования системы для тора с пятью отказавшими узлами представлены значениями переменных и ,
а
6-я итерация
бб бб бЗ б2 б4 бЗ
бб бб б2 б1 бЗ б2
Зб 2б 11 OO 52 41
2б 1б OO 25 11 OO
4б Зб 25 l4 OO 55
4б Зб 24 13 OO 54
б
8- я итерация
2б б2 б2 б2 5З 4З
2б 1б б1 51 42 З2
2б 1б 11 OO 41 31
25 15 OO 15 11 OO
44 З4 24 14 OO 45
2б ЗЗ 2З 13 OO 44
в
Q — работоспособный
- элемент подматрицы
Рис. 2. Результаты выполнения клеточных вычислений (а,б ) и размещение максимальной подматрицы (в)
— отказ
в итоговом состоянии клеточного массива (рис. 2, а, б) и полученным вариантом размещения максимальной области (рис. 2, в). В целом для выполнения функции 01 потребовалось 6 итераций, для функции $2 — 8 итераций.
Максимальные значения Хг^*Уг^ однозначно идентифицируют искомую подматрицу с левым верхним углом {%, ]) и размерностью X*’-7 по горизонтали и У*’-7’ по вертикали. Результаты определения максимальных подматриц передаются хосту для окончательного выбора работоспособной подобласти в матричной структуре с отказами с целью ее реструктуризации.
Таким образом, в работе решена задача построения клеточного алгоритма реструктуризации матричной структуры, обеспечивающего вычисление максимальной работоспособной области на основе локальных данных об отказах. Результаты моделирования клеточного алгоритма для структур с топологией решетка и тор подтвердили корректность предложенного подхода. Число итераций клеточного алгоритма имеет тенденцию к снижению при росте числа отказов, в то время как временная сложность известного алгоритма [1] нелинейно зависит от числа отказов.
Разработанный алгоритм является основой для создания автоматной сети реструктуризации. Интегрирование автомата реструктуризации в матричную структуру позволит создать адаптивный модуль, который может служить элементом однородной масштабируемой отказоустойчивой системы.
СПИСОК ЛИТЕРАТУРЫ
1. Chen, H. L. Submesh determination in faulty tori and meshes / H. L. Chen, S. H. Hu // IEEE Trans. Parallel and Distributed Systems. March 2001. Vol. 12, No. 3. P. 272-282,
2. Колосков,В. А. Модели активной среды самоорганизации отказоустойчивого мультимикроконтроллера / В. А. Колосков, М. В. Медведева // Программирование. 2001. № 6. С. 67-76.
ОБ АВТОРАХ
Колосков Василий Александрович, проф. каф. проектир. выч. комплексов РГТУ им. К. Э. Циолковского («МАТИ»). Дипл. инж.-системотехн. по ЭВМ (КурскГТУ, 1971). Д-р техн. наук по элем. и устр. выч. техники (там же, 1998). Иссл. в обл. отказоустойч. самоорганиз. многопроцессорных систем.
Абуджахал Асаад Абдаллах, ас-пир. КурскГТУ. Дипл. инж.-си-стемотехн. по ЭВМ (Ташкентск. ГТУ, 1975). Иссл. в обл. отказоустойч. самоорганиз. многопроцессорных систем.