Принципы организации самодиагностирующихся многопроцессорных вычислительных систем

мощью цифро-аналоговых преобразователей (ЦАП), используемых в качестве синаптических блоков аналоговых нейронов.

Для этого в известную схему простейшего ЦАП, построенного на базе весовых сопротивлений и ключевых элементов, добавляется вход приращений синаптических весов Vyi, посредством применения сдвигающего регистра с комбинационным сумматором в цепи обратной связи в качестве блока управления ключевыми элементами ЦАП.

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

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

ЛИТЕРАТУРА

1. Ланкин Ю.П., Барцев С.И. Способ конструирования аналоговых нейропроцессоров.

A.C. 95114668/09. Бюл. № 24, 1997. С. 141.

2. Чернухин Ю.В. Нейропроцессорные сети: Монография. Таганрог: Изд-во ТРТУ, 1999.

439 с.

УДК 681.325

А.П. Самойленко, Е.Р. Чекрыгина

ПРИНЦИПЫ ОРГАНИЗАЦИИ САМОДИАГНОСТИРУЮЩИХСЯ МНОГОПРОЦЕССОРНЫХ ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ

Общеизвестно противоречие между сложностью многопроцессорных вычислительных систем (МВС) и их надежностью: чем сложнее система, тем ниже ее надежностные характеристики. Для того, чтобы повысить надежность системы, можно применять стандартные способы резервирования: структурное, информационное или временное. Так как частота работы современной вычислительной техники достигает больших значений (порядка сотен МГц), то можно использовать временное резервирование для диагностирования и восстановления системы. Структурное резервирование приводит к росту проіраммно-аппаратньїх затрат и в то же время не позволяет повысить функциональные возможности системы. В этом случае снижается эксплуатационная надежность системы (затраты на профилактическое обслуживание и т.д.). Парадокс живучих МВС заключается в следующем. Потеря одного или нескольких неисправных процессоров почти не влияет на общую производительность МВС. В то же время одна ошибка в вычис-

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

Под отказом элемента надо понимать факт появления дефекта в виде неправильных значений на входах и выходах элемента объекта контроля. Процесс диагностирования включает в себя периодический контроль работоспособности многопроцессорной вычислительной системы (МВС) и локализацию отказавшего процессора.

Структура самодиагностирующейся МВС представлена на рис.1. В ее состав входят: поле процессоров (Р), выполняющих вычислительные задачи, коммутационное поле (К1) для распределения потоков задач на процессоры, автомат контроля (СА), управляющий процессом диагностирования системы, коммутатор (К2) для реконфигурации структуры системы на время контроля, модуль программного диагностического обеспечения (ОБ), задающего алгоритмы диагностики, а также таймер или блок системных прерываний (81). Если используется синхронное прерывание, то таймер прерывает работу МВС в моменты времени когда график вероятности безотказной работы системы Рс(0, распределенной по экспоненциальному закону, пересечет уровень Рзад(0, заданный априорно.

Асинхронное прерывание осуществляется в случае несовпадения результатов диагностики в функционально-контрольных точках подачи-съема контрольной информации.

Рис. 1

Проектируемая МВС состоит из N однородных процессоров, имеющих функциональные связи друг с другом. Архитектура системы должна отвечать че-

тырем условиям: магистральность, модульность, микропрограммируемость и регулярность. Модель описанной вычислительной системы имеет ряд допущений. Здесь подразумевается пуассоновский поток поступления задач. Задачи, выполняемые в МВС, являются однотипными. Время выполнения заданий процессорами имеет экспоненциальное распределение, а сами задания не зависят друг от друга. Предполагается проектирование встроенных элементов АК для диагностики и восстановления работоспособности процессорных трактов МВС. Обычно объем встроенных средств контроля не должен превышать двадцати процентов общего объема системы. Кроме того, средства контроля должны быть более надежны, чем объект контроля. Это может быть достигнуто использованием самодиагностики АК. Решение этой задачи лежит за пределами данной статьи. Для определения оптимального быстродействия АК отобразим каждый процессорный тракт в виде двухуровневой системы массового обслуживания. Первый уровень обслуживает информационный поток заявок процессорного тракта. Второй уровень обслуживает поток отказов тракта. Такая модель может быть отображена марковским графом из четырех вершин, который описывается стандартной системой дифференциальных уравнений Чепмена. Решение этой системы уравнений позволит получить коэффициенты готовности в виде функции от интенсивности информационных потоков, интенсивности потока отказов, быстродействия элементов АК. Быстродействие АК будет соответствовать максимальному значению решенного функционала.

Существует ряд способов диагностики систем, в том числе и классические методы: метод Фибоначчи, метод “золотого сечения”, метод половинного разбиения. Рассмотрим некоторые из них. Введем следующие обозначения: ^ и <Э| - соответственно вход и выход ¡-го процессора (1=1, N ); X,- средняя интенсивность поступления потока заданий к ¡-му процессору (зад./с); 1 - число задач; Wj - программный модуль решения задач 0=1,1); Ъ\ - выход сигнала ошибки, где Ъ\

Метод половинного разбиения представлен на рис.2. Здесь общее число процессоров делится пополам и объединяются входы N/2 процессоров. Результаты решений каждой половины процессоров Y1,Y2,...,Yn/2 и Y(n/2)+1>Y(n/2)+2v >Yn поступают на входы контролирующих элементов и

там сравниваются между собой. Если Z, = 1 и Z2 = 0 или Ъх = 0 и Z2 = 1, то считается, что как минимум один элемент из половины процессоров отказал. В таком случае половина процессоров, где Zj = 1, делится еще раз пополам. Этот процесс повторяется до тех пор, пока не будет локализован отказавший процессор. К недостаткам этого метода можно отнести низкую разрешающую способность.

О,

Рис. 2

Следующим вариантом реконфигурации на момент контроля (рис.З) однородной МВС является способ объединения всех процессоров в тройки. На объединенные входы I; каждой тройки процессоров поступает одна задача с интенсивностью ^¡. Выходы результатов Yj поступают в контролирующий (мажоритарный) элемент. Тройку процессоров с мажоритарным элементом будем называть мажоритарным блоком. Если Ъх= 1, то имеет место отказавший элемент, адрес которого может быть получен путем дешифрации сигналов У;, . ^+2.

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

Input

Output

1 N/3

no)

W1 1 w. 2 W, 3 Wni N2 Ww N-l Wn i N

3 3 3

Yn-

' !

СЕ,

TzT

СЕ

Ю-

О,

Рис. 3

Рассмотрим метод сканирующего контроля. Кроме N элементов, в системе предполагается (Ы+1)-й элемент, который является эталоном (то есть работает без

отказов). При помощи мультиплексоров каждый ¡-ый процессор 0=1,N ) объеди-

няется в пару с (Ы+1)-м элементом и решает задачу. Такой контроль повторяется в течение N тактов и таким образом, все процессоры оказываются проверенными на работоспособность. Этот метод позволяет локализовать отказавший элемент, но требует для этого N тактов работы системы.

Учитывая достоинства вышеизложенных способов, можно предложить метод мажоритарно-динамической реконфигурации. Суть его заключается в следующем. Все процессоры объединяются в пары на время контроля как показано на рис.4,а. На объединенные входы пар процессоров 1ь 13,1ц-1 поступают задачи с интенсивностями X], А.з,...Дм_1 соответственно. Пары процессоров с номерами 1-2, 3-4,..., (Ъ1-1)-Ы решают задачи. Формализовано результаты вычислений У! и У2 , У3 и У4 Ум_[ и У^ можно представить в виде

У, = I, & \У,; У2 = I! & \У2 if Щ Щ;

У3 = 13 & \¥3; У4 = 13 & \¥4 X \¥3 = \У4;

УцЧ Ук = 1Ы-1<^Ы ¡Г WN_1 =WN .

Результаты вычислений У] и У2, Уз и У4 У^_] и У1ч| сравниваются между собой при помощи контролирующих элементов.

Выходы сигналов ошибки формируются следующим образом:

Наличие ошибки в вычислениях в системе можно определить по формуле: ___ N/2 ___

Ъ\ = и^. Если -0, то считается, что все процессоры и система в целом

¡=1

работоспособны. Следовательно, структура системы может быть возвращена к своему первоначальному виду. Если результаты вычислений какой-либо пары процессоров не совпадают (то есть 7^1 = 1), то считается, что один из процессоров в этой паре находится в состоянии отказа или сбоя. В таком случае пары элементов разъединяются и объединяются с процессорами из соседних пар, как показано на рис.4,Ь. Таким образом, работоспособность элементов отказавшей пары сравнивается с работоспособностью элементов соседней пары. В итоге за время ^ производится процесс последовательного мажоритарного сравнения результатов вычислений Ук и У,, У2 и У3, Уц_2 и Ум.!.

’ Если = 0, то считается, что i-.fi процессор был в состоянии сбоя в течение времени ^ . Затем структура системы может быть возвращена к своему первоначальному виду.

1при

I

1

<\>

1

Ч

1

1ы-

V/.

1 \¥, 2 3 4

1 3 3

Ои1р

ш

1при

I

Ои1р

Ш

:[______________А______________________________1

О,

о.

а)

I

1

(V

СЕ,

1

Т7

I

СЕ,

О,

7

О,

\Ум-

1

N-1 \¥м- N

1

Ум-

г 1

СЕ, се2 СЕ №

:ы/

2

ох

1

1ы-

\У, N V/, 1 2 3 XV N. N-2 ' XV Ы- N-1

2 2

Ум-

г 2

Ум-

г 1

СЕн_

I ¿Ы1

т

О.

Ь)

Рис. 4

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

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

ботку всех заданий в процессоре за время I. Если і-й элемент отказал, то і|-е задание с длиной іі , должно быть добавлено в формулы для вычисления всех Dj

(і Ф ]) следующим образом:

где ^ - размер очереди заданий для ¡-го процессора (количество байт),

V, - быстродействие]-го процессора (байт/с).

Процессор с минимальной нагрузкой можно определить по формуле

Ор = ттф},0!ь0^...дД_2,01ы_1).

Процессор с параметром О™111 получит на выполнение ¡ге задание. АК

распределит последующие задания /-го процессора (¡2 , ь , ц ,, ¡к), последовательно выполняя вычисления по формулам (1) и (2).

Завершая данную работу, можно сделать следующие выводы, В статье предложен мажоритарно-динамический метод реконфигурации МВС на время контроля без привлечения дополнительной аппаратуры. Моменты времени контроля задаются синхронно от таймера или задаются асинхронно от системы прерываний при наличии несоответствий в контрольных точках программных модулей. Путем дополнительной реконфигурации определяется адрес отказавшего процессора, который отключается из системы, а его функции выполняет резервный процессор, подключенный по методу скользящего резервирования. При отсутствии резервного элемента используется адаптивный алгоритм перераспределения нагрузки между работоспособными процессорами. Для поддержки требуемой производительности системы предлагается повышение тактовой частоты процессоров. Предложено применение двухуровневой модели массового обслуживания для определения быстродействия АК, считая его абсолютно надежным.

УДК 007.52

Ю.В. Чернухин, Д.В. Манаков

КОМБИНИРОВАННЫЙ АЛГОРИТМ УПРУГОЙ НЕЙРОСЕТИ ДЛЯ РЕШЕНИЯ ЗАДАЧИ КОММИВОЯЖЕРА

В настоящее время большое внимание уделяется сложным оптимизационным задачам и поиску методов их решения. Большинство из них имеет высокий научный и практический интерес. Прежде всего, это относится к задаче коммивояжера (ЗК), вероятно, самой известной. Ее суть заключается в нахождении кратчайшего Гамильтонова цикла в графе. В вербальной форме ЗК формулируется следующим образом: коммивояжеру необходимо посетить п городов, не заезжая в один и тот же город дважды, и вернуться в исходный пункт по маршруту с минимальной стоимостью.