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

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

CC BY
88
23
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
РАЗМЕЩЕНИЕ / МУЛЬТИМИКРОКОНТРОЛЛЕР / ОТКАЗ / REJECTION / РЕКОНФИГУРАЦИЯ / RECONFIGURATION / ПАРАЛЛЕЛЬНАЯ ПОДПРОГРАММА / PARALLEL PROGRAM / ПРОЦЕССОР / PROCESSOR / ALLOCATION / MULTIMICROCONTROLLER

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

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

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

PARALLEL SUBPROGRAMS ASSIGNMENT IN MULTIMICROCONTROLLERS TAKING INTOACCOUNT REJECTION

The planning assignment problem of the parallel subprograms in multimicrocontrollers is consideredtaking into account rejection of multimicrocontroller processor, is formulated a technique and algorithm ofplanning assignment of tasks in multimicrocontroller fault-tolerance.

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

Входные регистры G1 и G2 хранят настроечные векторы соединений ППУ между собой. Настроечные векторы вычисляются аналитическим модулем распознавания структурных дескрипторов конфликтов, сам модуль не входит в состав операционной части. Основу однородной структуры операционной части составляет вычислительно-коммутационный блок, содержащий собственно ППУ, входной мультиплексор (МХ) с двумя входами, выходной де-мультиплексор (БМХ) с двумя выходами (г — индикатор номера продукционного устройства). Введение двух коммутирующих узлов в вычислительно-коммутационный блок обеспечивает гибкую настройку соединений конвейерных или параллельных видов с объединением необходимого на текущем уровне количества ППУ.

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

ЛИТЕРАТУРА

Каляев А. В., Левин И. И. Модульно-наращиваемые многопроцессорные системы со структурно-процедурной организацией вычислений. М.: Изд-во „Янус-К", 2003. 380 с.

Евгений Анатольевич Титенко

Сведения об авторе канд. техн. наук, доцент; Курский государственный технический университет, кафедра программного обеспечения вычислительной техники; E-mail: johntit@mail.ru

Рекомендована кафедрой программного обеспечения вычислительной техники

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

УДК 681.3

Д. Б. БОРЗОВ

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

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

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

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

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

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

Множество обрабатываемых подпрограмм описывается графом взаимодействия задач [5]: G=<X, Е>, где Х — множество вершин графа G, вершины х1 е X которого соответствуют

подпрограммам, а взвешенные дуги еу е Е определяют объемы данных (в байтах), передаваемых между задачами при следующих соотношениях между индексами: / = ( - 1)п + к . Граф G может быть описан матрицей обмена информации (МОИ)

М =

2

тч

NхМ '

где N = п = |х|; ту — объем передаваемых данных между /-м и у-м процессорными модулями [6].

Мультимикроконтроллерную систему будем представлять топологической моделью в виде графа Н=<Р1, У>, где р = {Р и Ь}, здесь Р — множество процессорных модулей мультимикроконтроллера, организованных в матрицу |Р|пхп, где |Р| = N = п2 — число процессорных модулей мультимикроконтроллера, V — множество межмодульных связей, задаваемых матрицей смежности хМ размером п2 хп2 [7]; Ь — дополнительно введенные резервные

1

ИМ хМ

модули мультимикроконтроллерной системы:

1п

(1)

Дополнительные модули (1) образуют столбец, записываемый в крайнем правом столбце матрицы Р.

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

в = Х5 ^ Р, где ^ = 1, N!, к = 1, п, q = 1, п .

Здесь ^ — номер очередной перестановки задач {xqk} по процессорным модулям {Pqk}, соответствующий 5-му варианту размещения. Мощность множества у = (в5} всевозможных отображений равна числу всевозможных перестановок задач {xqk} в матрице X: = N!.

Резервные процессорные модули /1, /2,..., /г в случае полной работоспособности всех процессоров мультимикроконтроллера остаются незадействованными. Для описания множества длин ёу кратчайших маршрутов передачи данных в пределах мультимикроконтроллера введем матрицу минимальных расстояний (ММР)

/

2

О =|| ^ , N = п2 = |р|,

которую можно построить по матрице смежности.

Пусть ¥ — множество всевозможных отображений вида . Тогда задачу размещения

*

можно сформулировать как поиск такого отображения в [7], что

V = Т {р^ , Рху)

(2)

где Тр(раЬ, рху ) — коммутационная задержка при передаче данных между процессорными модулями раЬ и рху, соответствующая отображению Р и вычисляемая как произведение

Тв(Ра,Ь, Рху ) = . (3)

Процесс планирования размещения задач может быть выполнен, например, по методу, описанному в статье [6].

В случае отказа, например, процессора рг 1 (г = 1, п, ^ = 1, п ) мультимикроконтроллер-

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

X ^ Р1 =

ли

•4,2

л1,к

51, к+1

Л1, п

хс хс

,1 ^Л

Лп,1

п,2

хс хс

•е2,к •е2,к+1

Хе Хе

Лд ,к Лд, к+1

еп ,к еп, к+1

У ^

^ <

р1,1 р1,2 ... р1, к р1,к+1 р2,1 р2,2 ... р2,к р2,к +1

р\, п

рг,п

рд,1 ра ,2

н

ра,к ... ра,п-1

и

(4)

рп,1 рп,2 ... рп, к рп, к+1 ... рп, п

где е = 1, N!, к = 1, п, д = 1, п , г = 1, п, ^ = 1, п; символом ^ обозначен возможный отказ процессора рг {.

В данном случае при отказе процессора рг 1 необходимо оперативно заменить его на один из ближайших свободных резервных процессоров /1, ¡2,..., /г. Возможен вариант замены [1], при котором все подпрограммы х

е к, ^ к+1,..., ^ , назначенные ранее на процессоры рчк, рчк+1, •••, рчп, переназначаются на один из ближайших свободных резервных процессоров, расположенных правее. В этом случае, например, задание хе , назначенное ранее процессору рч п, назначается ¡ч, хе 1 — процессору рчп и т.д. В то же время все задания

•, хе остаются без изменений.

, к-1

Рассмотрим справедливость приведенного отображения (4) на примере. Пусть имеется гипотетический вариант размещения, заданный моделью в виде матрицы |Р|^, где

„2 02

|Р| = N = п2 = 22 = 4 :

Выражению (5) соответствует ММР:

Р =

(5)

Б =

<1,1 <2,1 <3,1 <4,1

<1,2 <2,2 <3,2 <4,2

<1,3 <2,3 <3,3 <4,3

<1,4 <2,4 <3,4

<4 4

(6)

Пусть также задано множество межмодульных связей V, соответствующее отображению

(4), описанное матрицей МОИ: М =

'0 15 0

т

4х4

которой ставится в соответствие ММР (6):

М =

15 0 4 3

0 10 0 4

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

7 3 10 0

^ Б =

1 0 1 2

2 1 0 1

(7)

В выражении (7) левая матрица представляет собой МОИ гипотетического варианта размещения, правая матрица — соответствующая ей ММР (6).

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

Р1

I I I

Р2

-----♦

"1

Р3 Р4

роконтроллера, представленный на рисунке.

Для топологической модели, представленной на рисунке, получаем модель мультимик роконтроллера, заданную следующей матрицей Р :

Р = \Р1 Р2 0 I

1 0 Р3 Р4 У

Соответствующая матрица ММР с учетом (8) выглядит следующим образом:

0 12 3

(8)

Б =

0 1 2

1 0 1

(9)

Тогда вариант размещения с учетом (8), (9) будет задаваться следующим отображением:

М =

0 15 0 7 0 1 2 3

15 0 10 3 1 0 1 2

Б = - >

0 4 0 10 2 1 0 1

7 3 4 0 3 2 1 0

(10)

В результате подпрограмма, ранее назначенная на процессорный модуль р4 с кратчайшим расстоянием 1, переназначается на резервный процессор с соответствующим расстоянием 3. Следовательно, как видно из выражения (10), после введения резервного процессорного модуля требуется новое оперативное переразмещение задач. Кроме того, в статье [6] было показано, что подпрограммы (подзадачи), которым соответствует наибольший объем передачи данных, предпочтительнее назначать на процессорные модули, которым соответствуют минимальные кратчайшие расстояния Б для уменьшения общего времени решения задачи.

Как видно из рассмотренного примера, в результате отказа процессорных модулей мультимикроконтроллера из-за перераспределения подпрограмм на резервные процессоры происходят значительное изменение топологии мультимикроконтроллерной системы и увеличение кратчайших маршрутов, вследствие чего ухудшается общее качество размещения подпрограмм, и как следствие — увеличивается общее время решения задачи. Следовательно, необходимо проводить новое планирование размещения подпрограмм фактически в новой топологической модели мультимикроконтроллера. Эту задачу можно выполнить с помощью метода, представленного в работе [6].

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

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

2. Воеводин В. В., Воеводин Вл. В. Параллельные вычисления. СПб: БХВ-Петербург, 2002. 608 с.

3. Tanenbaum A. S. Distributed Operation Systems. Prentice-Hall, 1994. 648 p.

4. Корнеев В. В. Параллельные вычислительные системы. М.: Нолидж, 1999. 340 с.

5. Оре О. Теория графов. М.: Наука, 1968. 352 с.

6. Борзов Д. Б. Метод снижения коммуникационной задержки путем субоптимального размещения задач в матричных базовых блоках кластера // Телекоммуникации. 2008. № 4. С. 21—25.

7. Борзов Д. Б., Аль-Мараят Б. И., Типикин А. П. Акселератор планирования размещения задач в кластерных вычислительных системах высокой готовности // Изв. вузов. Приборостроение. 2008. Т. 51, № 2. С. 29—33.

СПИСОК ЛИТЕРАТУРЫ

Дмитрий Борисович Борзов

Сведения об авторе канд. техн. наук; Курский государственный технический университет, кафедра вычислительной техники; E-mail: borzovdb@kursknet.ru

Рекомендована кафедрой вычислительной техники

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

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