Научная статья на тему 'Алгоритм диагонального захвата для реконфигурации процессорной матрицы и его эффективность'

Алгоритм диагонального захвата для реконфигурации процессорной матрицы и его эффективность Текст научной статьи по специальности «Математика»

CC BY
60
11
i Надоели баннеры? Вы всегда можете отключить рекламу.
i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

The diagonal-stealing algorithm lor processor matrix reconfiguration and its efficiency

Proposal is submitted for diagonal stealing algorithm providing Uu.itolerance of the processor matrix on VLSI. High efficiency of diagonal steatlh as compared lo known algonlhm has been observed Recommendation un tee choice on the reserve location have been given

Текст научной работы на тему «Алгоритм диагонального захвата для реконфигурации процессорной матрицы и его эффективность»

УДК ¡¡а 1 Ш

ИЛ- Ерёмина

АЛГОРИТМ ДИАГОНАЛЬНОГО ЗАХВАТА ДЛЯ РЕКОНФИГУРАЦИИ ПРОЦЕССОРНОЙ МАТРИЦЫ И ЕГО ЭФФЕКТИВНОСТЬ

Томский государствен нь-й гь^а-шлчесчий университет

Введение

Вторая подовика завершающегося столетия явилась периодом бурного развития электронно-вычислительной техники, етал.шеЙ необходимым инструментом во всех ключевых областях человеческой жизнедеятельности. От надежности ЭВМ зависит не только прогресс, но зачастую и само существование человека. Особое значение проблема повышения надежности ЭВМ приобретает в таких областях, как космическая л военная техника, атомная энергетика п др.

Современная технология проектирования и изготовления сверхбольших интегральны л схем (СБИС) позволяет создавать логические устройства, содержащие сотни 1Ысяч элементов в одном кристалле. При этом размеры отдельных элементов уменьшаются до тысячных долей миллиметра Эти обстоятельства увеличивают вероятность возникновения отказа системы, т.е. такого состояния, при котором предоставляемые системой услуги отличаются от предусмотренных техническими условиями. 'Заслуживает особого внимания класс опасных, или катастрофических, отказов [1]. Последствия таких отказов по тяжести не сопоставимы с результатами нормальной работы системы при отсутствии отказов. Для такого класса отказов проблема обеспечения надсжпос-1И становится $со(ю актуальной.

Методы обеспечения надежности, пли гарантоспособности систем разнообразны: разработка сверхнадсжных компонентов, прогнозирование неисправностей и отказов, сложные процедуры аттестации изделия, контроль, диагностика и устранение неисправностей в период эксплуатации и пр. Однако на современном уровне развития технологии изготовления СБИС создать нерачримнут ц [истину, содержащую сотни и тысячи элементов и при этом не имеющую ни одного дефекта, невозможно, Замена элементов на такой пластине также невозможна. Поэтому наиболее перспективным методом обеспечения надежности я в днетея создан не отказ о у сто й1 [ ив ы \ систем, обладающих способностью обесисчива гь предоставление услуг согласно т.- -тическону заданию даже при наличии отказов,

Метод реконфигурации для обеспечения »тка-ш устойчивости процессорной матриц!.!.

Рассмотрим процессорную матрицу, представляющую собой прямоугольный массив процессо-

ров, расположенных на одной пластине СБИС Введем следующие обозначения: / - число строк в матрице,,/- число столбцов. Процессор, находящийся в строке /, . и в столбцеу, 1, имеет физические координаты f'ij), отражающие его положение в матрице. Каждый процессор (за исключением находящихся на краю матрниы, i .с. в строках с номерами 0 и I-! либо в столбцах с номерами 0 i i J-\) соседствует с четырьмя процессорами. имеющими физические координаты ('-!,»i </../-'), (¿+1.Л- ÍV+t>':С точки зрения про p.lvim.ijnihuiiiíh ::jm:k-i . г;рцця mn'iphitu !]pe;u гав-ляст собой квадратную решетку размера J-J, в узлах которой расположены процессорные элементы. Будем считать систему работоспособной н том случае, если она сохраняет исходную струк-туру квадратной решетки.

Общепризнанным методом обеспечения отказоустойчивости процессорной матрицы валяется введение в нее избыточных зле ментов и связей И реконфигурация системы путем замещения неисправных процессоров резервными. В [2} избыточные элементы вводятся только по краю матрниы в виде резерв и oil строки п резервного столбил muí го "п, ко ¡ч'ч/рвнгя о столбца; в [3] они располагаются в произвольных строках и столбцах исходной матрицы. Возможна постепенная деградация процессорной матрицы, т.е. уменьшение раз мерой решетки при условии непременного сохранения структуры связей.

Для того чтобы обеспечить возможность реконфигурации системы, необходимо ввести внес дополнительные информационные связи между элементами. Таким образом, количество физических соседей каждого процессора достигает 14-16 элементов а зависимости от метода реконфигурации. Если резервные элементы не используются, то дополнительные связи находятся а пассивном состоянии. При включении резервного элемента в работу некоторые из них активизируются.

Предполагается, hi о процессорная матрица имеет средства самотестирования н для каждого Процессорного элемента с физическими координатами (i,/) известно значение двоичного сигнала неисправности е (i,j). Множество {е (i,у) / I<íJ/-í, I </</-[} (j)

образует синдром неисправности процессорной

Н.Л. Ерёмина Алгоршпм диагонального захвата для реконфигурации процессорной

матрицы ii служит исходной информацией для ее коррекции. Способ получения синдрома неисп-рврпЬ.сти U) не рассматривается в данном исследовании. Если в вычислительной систем с есть отказы, г.с.

3 (Л Д I 1, I <j<J-1 {€{f,j)= 1}, (2)

про и сходит перестройка процессорной матрицы* избыточные снял! исправных элементов a(CTifвизируются так, чтобы система сохраняла исходную структуру; у неисправных элементов, вырабатывающих сигнал е (/,у) - 1, наоборот, все связи блокируются, в связи с чем они не могут участво-ни i ь в в f 111111 с j ю 1111 я \ i фща м-кч'ки иск. иочаю юя [i.¡ процессорной матрицы.

Таким образом, задача реконфигурации сводится к отображению логической структуры квадратной решетки в избыточную физическую структуру. С этой целью каждый процессорный элемент снабжается коммутационным окружением, состоящим из двух коммутаторов, в ер школьного и горизонтального, л блока управления, вырабатывающего сигналы перестройки и управления коммутаторами. Коммутационное окружение процессорного элемента использует сигналы е (ij) от самого процессора к его соседей и обеспечивает корректирующую реконфигурацию структуры, i.e. упомянутое отображение. При этом процессор (/, J) bu6iграет соседей сверчу и слева от себя (при просмотре матрицы начиная с нижнего правого ее элемента) Выбор соседей снизу и справа реализуют Соседние процессорные элементы ß том c.iy^ac если реконфигурация невозможна, т.е. нельзя получить исправную квадратную решетку требуемо -го размера, вырабатывается сигнал фатального отказа.

Кроме физических координат (/, Д каждый процессор имеет логические координаты (/',/). Первоначально логические координаты совпадают с физическими. В процессе реконфигурации логические координаты изменяются и отображают положение процессорного элемента в исправной матрице, на которой будут Происходить вы-чеслення, Н ендариви ые процессоры не имеют логических координат. Логические координаты Исправим* прош ■ !К В ВЫЧШ JHIOK ■■! i Ж М'.'П : Iii

специальных алгоритмов адресаций. Наличие логических координат процессорного элемента существенно облегчает программирование матриц},г

Результат перестройки не в последнюю очередь зависит от выбранно! о алгоритма реконфн-гуращпт При одном и том же расположении отказов в процессорной матрице различные алгоритмы мот> г получить различные конфигурации связей межКУ элементами. Возможна ситуация, ко! да, следуя одному атгорнтму, можно подучить исправную квадратную решетку, а при исполь-

зовании другого алгоритма возникает ситуация фатального отказа матрицы.

Сравнительный ана шз предложенных в [2] и

LUÍ <!Ш1 ВДВ рсконфитз рации I КЖИ [, V13 и;ш

большую эффективность имеет алгоритм свободного захвата [4|. Вместе с тем цял алгоритма свободного захвата ситуация фат ального отказа возникает при наличии двух пир отказов

{(ÍJ,), 0+1, j)}t {(¡J:>, (,+!, ,jt*j2, (3)

т.е. структура любого, в том числе достаточно большого, размера может выйти из строя при наличии всего ЛИШЬ четырех неисправных процессоров С целью повышения отказоустойчивости процессорной матрицы нами предлагается алгоритм |шагональн^о захвата, свободный oí указанного недостатку.

Алгоритм диагонального захвата

Для упрощения описания алгоритма введем спе циаль ну ю тер ми но лот ню.

Возьмем в матрице про из вольт ли процессор ный элемент (i,J). Он соседствуете двумя элементами по вертикали И с двумя по горизонтали Процессорный элемент соединен вертнкальными связями с элементом (И» I, j) из нижней строки н с элементом (i-\,f) из верхней строки. Назовем элемент jf) «соседом снизу» рассматриваемою элемента (i, J), а элемент ('-!,/) сю «соседом сверху». Элементы (ij-l) и {/,/+!), соединенные с элементом (i,j) горизонтальной связью, назовем его «соседом слева.» и «соседом справа« соответственно. В процессе реконфигурации процессорной матрицы логические индексы элементов изменяются, и, возможно, функции элемента (/, /) будет исполнять другой процессорный элемент, до псрсс тройки имевший логические индексы 0 .у). В этом случае будем говорить, что элемент (Г, у") является заместителем элемента (¡,j%

) i i ■■! .i.iri'| i: i .м п ;ii:ci ройки с л л а гон lií захватом состоит в следующем. Наличие избыточных связей и избыточных процессоров в матрице позволяет заменять элемент сто соседями но только по вертикали и горизонтали, как в [ZJ, но и по диагонали, что позволяет снизи ть вероятность фатального отказа процессорной матрицы. Каждый процессорный элемент, будучи неисправным, передает свои функции одному из возможных заместителей. В качестве же заместителей могут выступать не только «сосед сверку» (г- I, j) и «сосед справам (¿,/+1), кале в алгоритмах захвата [Z], но и элемент (/-1,^-1) - <ишагопальный сосед сверху» отказавшего процессорного элемента (itJ).

Как и прежде, будем рассматривать процессорную матрицу размера f'J. Резервные элементы расположим в столбце и строке с максима ль

ными номерами, т.е. справа и сверху на периферии матрицы. Дадим следующие определения.

Определение 1, Пусть неисправный процессор нм;1 с 1 физический номер (к, I), 0:'к<1-2, 0</<-1, и его «сосед сверху» (А>1, I) исправен. Процедуру отображений функций неисправного элемента (к, I) на исправный процессор \, /) назовем прямым захватом, а элемент (£-1, /) - прямым заместителем элемент (к, !).

Определение 2. Пусть неисправный процессор имеет фнэнческиП номер (к, /)> (1<А</-2, и сто «диагональный сосед сверху» (к-\, /+1} исправен. Процедуру отображения функций неисправного элемента (к. [) на исправный процессор {АЯ, Ж) назовем прямым захватом, а элемент (А--1, Ж) - дна] ональным заместителем элемента^.

Перейдем к изложению собственно алгоритма диагонального захвата.

Процессорная матрица просматривается построчно снизу вверх, начиная от строки с наибольшим номером / = !-\ и заканчивая второй сверху строкой с номером / = !. В каждой строке процесс реконфигурации идет слева направо, от

I. м.тп:: I к^а.моньгпим номером < ■ ■ юцзу ~ Ли его максимального номера;' ~ 7-1.

Один из отказов в строке объявляется горизонтальным. Горизонтальным отказом считает-:я отказавший элемент, для которого невозможно выполнить ни прямой, ни диагональный захват. В гом случае, если таких отказов в строке нет, горизонтальным объявляется крайний справа отказ, т,е. отказавший процессор (А-, /) с максимальным номером столбца /.

Для нейтрализации горизонтального отказа осуществляется перестройка вправо: отказавший элемент замещается своим «.соседом справа», тот, в свою очередь, также замещается своим «соседом справа», и т.д. Предпоследний элемент в строке замещает ся элементом из резервного столбца Таким образом, происходит сдвиг процессорных элементов в строке матрицы слева направо. Важно отметить, что только один отказ в каждой строке можеI быть замещен подобным образом.

Остальные отказы в этой строке замещаются с помощью прямого либо диагонального захвата. Если отказавший элемент невозможно заместить исправным, возникает ситуация фатального отказа, и построение квадратной решетки требуемого размера из исправных элементов процессорной матрины невозможно.

Итак, для каждого отказа либо захваченного ранее элемента (к, /), 0<К/-1, выполня-

ется следующая процедура.

I. ' * Л;1 ' .' О - самый правый отказ в с ¡роке и в строке к не было горизонтального отказа.

Л.......

L

1

if

— 11 —

1

. - 4¡l

Л

1

<u

й V

I í:.

1

Ряс. 1. Пример реконфигурации процессорной матрицы ло алгоритму диагонального захвата.

ТО (к, !) считается горизонтальным отказом и нейтрализуется перестройкой вправо; переход к

п. 3

ИНАЧЕ переход к п. 2.

2. ЕСЛИ элемент (£-1, !) исправен и не захвачен по диагонали элементом /-1),

ТО происходит прямой захват; переход к п. 5; И [ [АЧЬ переход к п. 3.

3. ЕСЛИ отказ (it, Í) не принадлежит резервному столбцу, i.e. teJ* 1, и элемент (АЧ, Ж) исправен.

ТО происходит диагональный захват; переход

к п. 5;

ИНАЧЕ переход к п. 4;

4. ЕСЛИ в строке к не было горизонтальною отказа,

ТО (к, I) считается горизонтальным отказом и нейтрализуется перестройкой вправо: переход к

а. 5;

И ПАЧЕ возникает ситуация фатального отказа и перестройка матрицы невозможна (аварийное зав ер шеи ire процедуры);

5. КОНЕЦ процедуры.

Условием фатального отказа предлагаемого ал гор нтма является н своз можность захвата дл я неисправного элемента при наличия в данной строке горизонтального отказа.

Пример реконфигурации процессорной матрицы по алгоритму диагональното захвата показан на рис. I.

Н.Л. Ерёмина. Алгоритм диагонального захвата для реконфигурации процессорной.

М

Ц6

0.1

0

Рис 2. Вероятность Р(5.5р) сохранения работоспособности процессорной матрицы 5№ при различных способах рехонфигу. раци/ *, 2, 3,4 - алгоритмы диагонального захва-а, свободного iaxaaTa "pwoi перестройка а -мра-уче it-cro захвата зостае--ctbwko с резервной стрехой и столбцом, 5 алгоритмы захвата, а которых резервировался тольхо столбец (гначения Р{1 J.p) очек, близки, так чти кривые слипаются;

Р/с 3. Вероят ность P[I.J,p) сохранения работоспособности "роиессорньх квадратных (J-J) матриц различной размерности при реконфигурации по алгоритму диагонального захвата с резервным стзппиом и реирвтои стронои 1 - матрица 2*2, 2- матрица 3*3; 3 - матрица 4*4; 4 матрица 5-:5.

Эффективность алгоритма диагонального захвата

Легко видеть, что множество конфигураций отказов в процессорной матрице, для которого по алгоритму свободного захвата может быть построена квадратная решетка заданного размера, является подмножеством аналогичного множества для алгоритма свободного захвата [2], Вместе с тем ситуация (3) существования четырех неисправных процессорных элементов в системе не вызывает, как при свободном захвате, сигнала фатального отказа. Исключением является случай, когда неисправны две пары процессоров на правом краю матрицы: {(/, 7-2). (/+1, 7-2)}, {(/, /-1), 0" I, /-1)}, ¡<1-1. (4)

Поэтому естественно ожидать, что эффективность предложенного алгоритма превысит эффективность алгоритмов захвата, особенно при небольшом числе отказов в процессорной матрице.

Для подтверждения этой гипотезы был проведен сравнительный анализ эффективности алгоритма диагонального захвата и алгоритмов реконфигурации, предложенных в [2, 3].

Отказоустойчивость процессорной матрицы характеризуется вероятностью сохранения работоспособности Р (/, J,p)> где I- количество строк в процессорной матрице, У - количество столбцов, р вероятное! ь исправности одного процессорного элемента. Эффективность алгоритмов

реконфигурации сравнивалась методом второй производной [5]. Для матриц небольших размеров вид функции Р (/, 7, р) может быть получен аналитически:

(5)

где коэффициент« равен количеству различных конфигураций I отказов в процессорной матрице. Эти коэффициенты определяются полным перебором всех возможных конфигураций отказов и подсчетом числа тех из них, которые позволяют получить квадратную решетку из ос тан шнхея исправными процессоров. Отсюда легко определить первую и вторую производные фуп-

кции ГЦ, Л*), Р10, Ару.

Ы}

1=1

где

bi - iat + (7 -1 - / х J )а . ;

IvJ

r(l,J,p)=Zctp"(l-p)

IxJ-l

1=1

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

где

с, ,=

(Ь)

(7)

(8) (?)

Абсцисса точки перегиба кривой функции Р (/, J,p), 0<р<1 задает критическое значение вероятности^ = рп исправности процессорного Элемента. Если р<р„> значение функции Р (/. J р) резко падает до пул ч при уменьшении р, при оно стремится к единице. Значение рп является корнем уравнения

Pi(f. .hp) - о. $0)

Приближенное значение корня уравнения (10) легко можно найти любым известным способом, например методом деления отрезка пополам.

СледуL1 г подчеркнуть, что полученный зультат носит аналитический, а не статистический характер.

Описанная процедура реализована на персональном компьютере в виде пакета программ с использованием Turbo С (версия 2.0) фирмы Borland International и среды программирования «Математика» (версия 3.0) фирмы Wolfram Research.

Были исследованы с тру к ту ры, содержащие до 30 элементов. Для каждой 1rs них и каждого алгоритма реконфигурации получен аналитичес-Miii вид функций Р (У, J, р), построены графики Р (I, J, р) и найдецо значение критической вероятности р1Г

На рис. 2 показаны графики функции Р{1, J,p) для различны* алгоритмов при фиксированном размере матрицы 5-5. Видно, что для алгоритма захвата чем меньше рП, тем выше лежит график Р (/, J, р), и, следовательно, тем меньше требования к выходу годных процессорных элементов. Полностью подтвердилось предположение о наибольшем эффективности алгоритма диагонального захвата. Так, для матрицы 5*5 с 16 ис-

.¡раннымн элементами возможно 2 042 975 различных конфигураций отказов. Из них для I 22В 794 конфигураций возможно построение исправной квадратной решетки 4-4 методом диагонального захвата, тогда как методом свободного захвата -для 458 331, ограниченного захвата - для 340 619, непосредственной перестройки - лишь для 131 525 конфигураций, Гаким образом, вероятность восстановления решетки 4*4 в избыточной процессорной матрице 5-5 с девятью откатами для алгоритма диагонального захвата выше, чем для свободного захвата в 2,7 раза, ограниченного захвата в 3,6 раза и непосредственной перестройки - в 9,3 раза. С ростом размерности структуры значение критической вероятности для алгоритма диагональной перестройки также возрастает, стремясь в пределе к единице. Тем не менее оно остается ниже, чем значение критической вероятности для других алгоритмов. Итак*, можно утверждать, что применение алгоритма диагонального Захвата для обеспечения отказоустойчивости процессорной матрицы дает наилучшие результаты.

На рис. 3 демонстрируется зависимость Р (Л J, р) от размеров структуры для алгоритма дна-

пшальногп захвата (рассмотрен!.....^адратНЫе

процессорные матрицы, у которых число строк равно числу столбцов). Видно, что с ростом числа процессорных элементов требования к надежности отдельного процессора возрастают. Абсцисса ра точки перегиба кривой Р (/, «дрейфует» вправо с ростом hJ\ чем меньшерп, тем выше лежит кривая. Этн результаты полностью согласуются с [5, 6 .

Значения р/г полученные для решеток разных размеров, содержащих до 30 процессорных эле-

таблица

Значение критической вероятности для матриц l'J с перестройкой па алгоритму диагонального захвата

' ■ J 2 3 4 5 t 7 a 0 10 11 12 13 14

1 0,ООО о,го7 С.305 0.366 0,401 А,<41 0.466 0.487 0.505 0 521 0.535 0,547 0.557

г 0.255 0.392 I 0.474 0.525 0.560 0.566 0,607 0,624

4 0.320 0 460 0.555 I o.aot 0.633 0.557

5 0.363 0.532 0.603

6 0,426 0.567 0,635

7 0,157 0,592 0,656

6 0,461 0.611

0,501 0,626

1С 0,517

11 0.531

12 0,543

П 0,553

14 ш 0,563

0,570

ИЛ. Ерёмина. Алгоритм адресации для реконфигурации процессорной матрицы

ментов, с перестройкой по алгоритму диагонального захвата, приведены в таблице.

Исходя из полученных результатов, можно сделать вывод, что для алгоритма диагонального захвата наибольшей надежностью о бл ада ют структуры, вытянутые в горизонтальном направлении.

Для уменьшения вероятности возникновения фатального отказа в [3] алгоритмы реконфигурации модифицированы следующим образом. Матрица разбивается резервными строками и столбцами на подматрицы. Перестройка структуры происходит внутри каждой подмутрииы. Если перестройка в одной из подматриц невозможна, вырабатывается сигнал отказа всей процессорной матрицы.

Выводы, сделанные для матриц малых размеров, естественно отнести к подматрицам, кото-

рые получаются разбиением исходной процессорной матрицы резервными строками и столбцами.

Для алгоритма диагонального захвата целесообразно размещать резервные элементы преимущественно в строках процессорной матрицы, разбивая ее на подматрицы, вытянутые в горизонтальном направлении.

Заключение

Итак, в статье описан алгоритм диагонального захвата, обеспечивающий отказоустойчивость процессорной матрицы на СБИС. Он позволяет полнее использовать введенную избыточность и тем самым повысить надежность схемы. Показана высокая эффективность диагонального захвата по сравнению с ранее предложенными алгоритмами (2, 3]. Даны рекомендации по аыбор\ расположения резерва.

Литература

1. Движение А., Лапри Ж.-К. Гарантоспособные вычисления- от идей до реализации е проекта* Ц ТИИЭР- Т. 74. № 5. 19В6 С. В-21.

2. Сами м Стефанелли р. Перестраиваемые архитехгуры матричных процессорны* СБИС // ТИИЭр. 1986. Т 74. N=5 С. 93-107.

3. Воробье« В А., Лаходынова Н В Процессорная матрица с перестраиваемой структурой и перестраиваемым резервом //Автометрия. 1334 М 5 С 90-Ж

л. Воробьев В.А.. Ерёмина н.Л , Лаходынова Н.В. Анализ алгоритмов перестройки структуры процессорной матрицы //Автометрия. 19«. № 2 С. 69-77.

5 Воробьёв 3 А.. Сходен он а Н В, Пределы надежности однородных вычислительных систем Ц Вычислительные иыпемы! ■ ЗВЗ Вып. 126. С 122-149.

6. Воробьёв В.А., Лаходынова НВ. Пределы надежности однородных структур // Изв. АН СССР- Технич киб-ка 1989. № 3. С. ПО ИЗ.

УДК 681.324

И./К Ерёмина

АЛГОРИТМ АДРЕСАЦИИ ДЛЯ РЕКОНФИГУРАЦИИ ПРОЦЕССОРНОЙ М^РИЦЫ

ПУТЕМ ДИАГОНАЛЬНОГО ЗАХВАТА

Томский государственны.! педагогический университет

Введение

Предлагаются алгоритм адресации отказоустойчивой процессорной матрицы с перестраиваемой структурой.

Матрица разбивается резервными строками и столбцами на подматрицы. Перестройка структуры происходит внутри каждой подмат-рзщы за счсг использования резерннмх процессоров н линий связи. Каждый процессорный н.:е-мент {(, /) имеет коммутационное окружение, соединяющее его с исправными соседями на осно-ве ситна ¡а неисправности от самого элемента и

его соседей так, чтобы в результате получилась квадратная решетка. Если перестройка невозможна, вырабатывается сигнал отказа всей матрицы. Алгоритм диагонального захвата заключается в том, что отказы процессорных элементов компенсируются сдвигами используемых процессоров ло физической структуре.

В данной райоте получены логические уравнения для вычислен и ■! управляющих сигналов перестройки, на основе которых выполняется пе-реком мутация матрицы и вычисляются новые логические индексы процессорных элементов.

i Надоели баннеры? Вы всегда можете отключить рекламу.