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

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

CC BY
126
34
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
МУЛЬТИПРОЦЕССОР / ОТКАЗ / FAILURE / АЛГОРИТМ / ALGORITHM / ПЛАНИРОВАНИЕ / PLANNING / РАЗМЕЩЕНИЕ / MULTIPROCESSOR / ARRANGEMENT

Аннотация научной статьи по математике, автор научной работы — Борзов Дмитрий Борисович, Соколова Юлия Васильевна, Минайлов Виктор Викторович

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

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

Похожие темы научных работ по математике , автор научной работы — Борзов Дмитрий Борисович, Соколова Юлия Васильевна, Минайлов Виктор Викторович

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

Rearrangement of Subroutines in Fault-Tolerant Multi-Processor Systems

The problem of failure in multi-processor systems is considered. Necessity of rearrangement of subroutines with the account for failed processors of the system is justified. An algorithm for fault-tolerant rearrangement in the case of the system host processor failure is proposed.

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

Сведения об авторах

Денис Олегович Бобынцев — аспирант; Юго-Западный государственный университет, кафедра вычис-

лительной техники, Курск; E-mail: daniel8728@yandex.ru Дмитрий Борисович Борзов — канд. техн. наук, доцент; Юго-Западный государственный университет,

кафедра вычислительной техники, Курск; E-mail: borzovdb@kursknet.ru Александр Петрович Типикин — д-р техн. наук, профессор; Юго-Западный государственный университет,

кафедра вычислительной техники, Курск

Рекомендована Юго-Западным Поступила в редакцию

государственным университетом 18.02.13 г.

УДК 681.3

Д. Б. Борзов, Ю. В. Соколова, В. В. Минайлов

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

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

Ключевые слова: мультипроцессор, отказ, алгоритм, планирование, размещение.

В настоящее время все большее распространение получают отказоустойчивые мульти-компьютеры [1]. В случае отказа одного из процессоров и/или процессорных связей правильное функционирование быстро восстанавливается путем реконфигурации структуры с отключением неисправного процессора и обхода неисправной процессорной связи. Как показано в статье [2], значительно изменяется топология многопроцессорной системы и требуется переразмещение назначенных ранее подпрограмм. В настоящей работе в продолжение исследований [3, 4] предлагается вариант решения данной задачи.

Множество реализуемых в мультикомпьютере подпрограмм описывается графом взаимодействия задач G = (X, Е), где

X =

4.1

2.1

4.2

^2.2

Vi xqi

Ы.1

V2

Ч.о

2.о

q.o

H.n

x2.n

q.n

— множество вершин, соответствующих отдельным подпрограммам, а е^ е Е — множество дуг, или связей, между ними при /, ] = (q -1) п + к, которые определяются объемами данных (в байтах) Шу и передаются между подзадачами, описываемыми матрицей смежности

М =

т,

N х| Е\

, где N = |х|. Множество вершин X упорядочим в виде матрицы, согласно то-

пологической структуре мультикомпьютера.

Мультикомпьютер описывается топологической моделью в виде графа Н = ()

( {р1} е Р соответствуют процессорным модулям), а {и} е V — множеством ребер, соответствующих межмодульным связям. Разобьем множество Р на два непересекающихся подмножества: Р} = Р ^ Ь , где {р}} — множество основных, а {/} е Ь — множество резервных процессоров. Идентификаторы процессоров множества Р упорядочим в виде матрицы Р =

пхп

пхп

где п = |Р|. Множество резерва Ь представим в виде матрицы Ь =

С учетом введенного представления множество Р1 в общем случае будет иметь следующий вид (рис. }):

р1.1 А.1 р1.2 А .2 ••• р1.о А.о р1.п А.,

р2.1 /2.1 р2.2 р2.2 — р2и /2.и — р2.п /2.п

ро.1 /а.1 р,

где и = 1, п, а = 1, п.

а .2 а.2 • • • рд.о а.и

рп.1 /п. 1 рп2 /п.2 — рпи /п

Р1.1 '1.1 Р1.2

а.п а.п

• р

п.п п.п

(1)

Р 2.1

/2

¡2.1 р2.2 Рис. 1

Для описания множества значений длины кратчайших маршрутов передачи данных

введем матрицу минимальных расстояний (ММР) Б =|| ||NхN, N = п2 = |Р|, которую можно построить по матрице смежности:

ё1,1 ё1,2 — ё1,п ё2,1 ё2,2 — ё2,п

Б =

ёп,1 ёп,2 — ёп

(2)

Тогда размещение в мультикомпьютере пакета подпрограмм, описываемых графом О, может быть аналитически описано отображением:

/1

2

X, ^ Р1 =

•4.1 1.2

2.1 2.2

д.1 д.1

п.1 п.2

1.и

1. п

д.п

р1.1 11.1 р1.2 11.2 " р2.1 12.1 р2.2 12.2 "

.. Л*, ... X,

р1.и 11.и — р1.п 11.п р2.и 12.и — р2.п 12.п

РqЛ 1д.1 pq.2 lq.2 — pq.u 1д.и — pq.n ^.п рп.1 1п.1 рп.2 1п.2 — рп.и 1п.и — рп.п 1п.п

где , — номер варианта размещения задач {хс^к} по процессорным модулям {Рди} , , = 1,N!,

символ означает отображение одной из вершин графа G на один из процессоров Р. Мощность множества всевозможных отображений ¥ = {в,} равна числу перестановок задач

{х^} в матрице X: = N!.

В случае отказа, например, процессора рар (а = 1,п, в = 1,п) размещение задач, описываемых графом G, может быть описано отображением

х„ х„ ...

51.1 ^1.2

lq

(3)

х, ^ Р =

Х,2.1 Х,2.2

X с X с

лп.1 лп.2

52Л

р1.1 11.1 М 112 — р1.и 11л

р2.1 12.1 р2.2 12.2 — р2.и 12л

pq.1 lq.1 pq.2 lq.2

^.и ^.и

рп.1 1п. 1 рп.2 1п.2 — рп.и 1п.и — рп.п 'п.п

В данном случае при отказе процессорного модуля р1,2 необходимо оперативно его заместить резервным процессором 1у 2 . Такая замена ведет к изменению значений в ММР. При

этом изменяется матричная организация мультикомпьютера (рис. 2), а матрица ММР принимает вид:

— р1.п 11.п

— р2п 12.п

— pq.n lq.n 1п

(4)

Б =

0 2 1 4

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

2 0 3 1

1 3 0 2

4 2 3 0

Р1.1

Р1.2

Р 2.1

12

12.1 р2.2 Рис. 2

В этом случае размещение задач с учетом замены основного процессора резервным может быть описано отображением:

X, •1.2 ... X, ... X,

X, ^2.1 ,2.2 ... X, ... X, ,2.п

^ Р1 = ■ ... X, ... X, лq.n

•п.1 ,п.2 ... X, ... X, п.п

Р1.1 11.1 м Р1.2 • р1.о 11.0

Р2.1 12.1 Р2.2 12.2 • р2и 12.о

У ^

Пусть матрица

Рд.1 ^.1 Pq.2 ^.2

Рп.1 1п.1 рп.2 1п.2

г1.1 г1.2 г2.1 г2.2

Pqм Pq.n lq.n

рп.и 1п.и •" рп.п 1п.п

(5)

7 =

г1.и ...

г2.и

1. п

... г2.п

zq.1 zq.1 ... zq.u

... г

q.n

гп.1 гп.2 ... гп.и ... гп.п

объединяет тэги, отражающие состояние процессоров Р\:

[1, если Pq и неисправен;

а. = ■

га,Р

0, если рч и исправен,

где а = 1, п ; р = 1, п .

11

Пусть матрица

0 =

©1,1 01,2 — 01, п 0 2,1 ©2,2 — 02,п

©п,1 © п,2 — ©

содержит тэги, показывающие работоспособность и занятость резервных процессоров ^ у (i = 1, п ; у = 1, п ). При этом

1, если 0д и неисправен и/или занят;

" а'в 1 0, если 0Ч и исправен,

где а = 1, п ; в = 1, п .

В случае отказа линка р1 ^ ( q = 1, п; и = 1, п ; I = 1, п ) между процессорами рди и и = 1, п

'9,и

(q = 1, п; и = 1, п ) нарушаются маршруты передач данных и необходимо найти кратчайший путь обхода. Для этого можно воспользоваться алгоритмом Дейкстры, применив его локально.

Вышеизложенное позволяет составить обобщенный алгоритм замены отказавшего процессора резервным и найти кратчайший маршрут при отказе межпроцессорной связи.

1. Ввести матрицу смежности.

2. Ввести матрицу расстояний.

3. Ввести матрицу исправности основных процессоров.

4. Ввести матрицу исправности резервных процессоров.

5. Ввести матрицу обхода 1.

6. Ввести матрицу обхода 2.

7. Если отказал основной процессор, то в матрице резервных процессоров искать ближайший свободный резервный процессор.

8. Если резервный процессор найден, то переназначить неисправный процессор на соответствующий резервный, иначе п. 7.

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

10. Выполнить переразмещение подпрограмм по [2].

11. Если отказал линк, то начальной точкой обхода принять процессор рди, а конечной — рд+1.и+1 (q = ^ п; и = 1, п).

12. Применить алгоритм Дейкстры для начальной и конечной точек обхода.

13. Ввести переменные а, Ь, в которых хранится объем передаваемой информации.

14. Ввести два динамических массива с[/], ^[/]; первоначально переменные имеют одинаковые значения.

15. Ввести массивы к[1,/] := 0; 1[1у] := 0.

16. В качестве исходной точки взять 1-й процессор и установить ему метку 0.

17. Методом перебора искать всевозможные пути до конечной точки обхода, суммируя объем передаваемой информации.

18. Запомнить найденный путь в массиве ^[/]; а := шт{а, Ь}; е[Г] := ^[¿].

19. Повторить п. 18 для всех остальных путей.

20. По найденному маршруту в матрицу смежности добавить необходимое количество байтов.

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

Работа выполнена в рамках программы „Научные и научно-педагогические кадры инновационной России на 2009—2013 годы" (проект 14.B37.21.0598).

список литературы

1. Зотов И. В. Организация и синтез микропрограммных мультимикроконтроллеров. Курск: Изд-во „Курск", 1999. 368 с.

2. Борзов Д. Б. Метод оперативного переразмещения задач в отказоустойчивых логических мультикон-троллерах // Нейрокомпьютеры: разработка, применение. 2010. № 1. С. 29—33.

3. Борзов Д. Б., Соколова Ю. В. Методика переразмещения подпрограмм в отказоустойчивых мультиком-пьютерах // Сб. тр. XVIII Междунар. науч.-техн. конф. „Машиностроение и техносфера XXI века". Донецк, 2011. Т. 1. С. 90—93.

4. Борзов Д. Б., Соколова Ю. В. Переразмещение подпрограмм в отказоустойчивых мультикомпьютерах при отказе связей // Сб. матер. Х Междунар. науч.-техн. конф. „Оптико-электронные приборы и устройства в системах распознавания образов, обработки изображений и символьной информации. Распознавание 2012". Курск, 2012. С. 238—240.

Дмитрий Борисович Борзов Юлия Васильевна Соколова Виктор Викторович Минайлов

Рекомендована Юго-Западным государственным университетом

Сведения об авторах

канд. техн. наук, доцент; Юго-Западный государственный университет, кафедра вычислительной техники, Курск; E-mail: borzovdb@kursknet.ru Юго-Западный государственный университет, кафедра вычислительной техники, Курск; преподаватель; E-mail: jv.sokolova@mail.ru Юго-Западный государственный университет, кафедра вычислительной техники, Курск; преподаватель; E-mail: gkptuip2@mail.ru

Поступила в редакцию 18.02.13 г.

УДК 004.272.3+004.052.2

Р. В. Бредихин, Ньян Лин, И. В. Зотов

ОБ ОРГАНИЗАЦИИ ВСТРОЕННОГО АППАРАТНОГО ВЗАИМОКОНТРОЛЯ В ЛОГИЧЕСКИХ МУЛЬТИКОНТРОЛЛЕРАХ

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

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

Логические мультиконтроллеры (ЛМК) перспективны для реализации параллельных систем логического управления [1]. В условиях стремительного роста сложности ЛМК и выполняемых ими управляющих алгоритмов особую важность приобретает задача обеспечения надежности мультиконтроллеров. В мультиконтроллере, содержащем сотни и тысячи моду-

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