ВАК 05.17.00 Химическая технология
ВАК 05.23.00 Строительство и архитектура
ГРНТИ 20.53 Технические средства обеспечения информационных процессов
В статье описывается проблема размещения параллельных программ в мультипроцессорных системах. Делается вывод о невозможности использования программных средств планирования размещения при использовании критических систем (системы наблюдения, слежения, наведения, атомные объекты и т.д.) и предлагаются альтернативные аппаратные средства решения проблемы.
процессор, программа, отказ, критическая система, резерв, переразмещение
В настоящее время мультипроцессоры являются наиболее распространенным классом вычислительной техники. Они, как правило, являются системами высокого параллелизма и включают в своем составе сотни процессорных модулей, которые обычно имеют матричную топологическую организацию [1]. В случае использования мультипроцессорных систем (МС), особенно в объектах критического назначения (системы слежения, наблюдения, управления, атомные объекты различного назначения и т.п.), требования к производительности, отказоустойчивости и быстродействию возрастают.
В МС могут возникать отказы и сбои внутренних процессорных модулей и/или каналов связи. В этом случае уменьшается внутренняя коммуникационная задержка, производительность и время реакции системы. Одним из вариантов решения данной проблемы может быть внутреннее переразмещение отказавших процессорных модулей и/или каналов связи [2–4]. Работа является продолжением исследований, начатых в [5–6]. Как показал анализ [2–6], в случае отказов в критических МС использование программных средств неприменимо из-за длительного времени решения. В связи с этим целесообразным является применение специализированных аппаратных средств планирования размещения и/или переразмещения.
Предлагается структурная схема мультипроцессорной хост–системы, представленная на рисунке 1. На нем каждый из процессорных ядер системы (ПЯ1, ПЯ2,…, ПЯN) включает в себя устройство управления и арифметико-логическое устройство, ПЗУ, подключаемые к общей шине МС. Предлагаемые специализированные аппаратные средства планирования размещения программ предлагается использовать как периферийные устройства, также подключенные к общей шине, к ним относятся также внешняя память и устройства ввода-вывода.
Рис. 1. Структурная схема мультипроцессорной хост–системы
В случае выполнения задачи размещения предложен метод, методика и алгоритм [3, 4].
Пакет программ в МС представляется графом взаимодействия задач вида:
G=<X,E>, (1)
где – множество вершин графа G, соответствуют программам, а дуги – связям между ними и представляют объемы данных , передаваемыми между задачами, задаваемая матрицей обмена информацией (МОИ) , где , .
Матричный блок МС представляется топологической моделью в виде графа H=<P,V>, где – множество идентификаторов процессорных модулей блока, организованных в матрицу |P|n´n, где - процессоры; – множество связей, описываемых матрицей смежности размером .
Тогда размещение пакета программ графа G в МС представляется отображением
, (2)
где S – номер очередной перестановки, соответствующей s-му варианту размещения.
Мощность множества всевозможных отображений (2) равна числу всевозможных перестановок задач в матрице . Множество длин dij кратчайших маршрутов передачи данных в пределах блока описывается матрицей минимальных расстояний (ММР) которую можно построить по матрице смежности.
Задача планирования размещения сводится к поиску максимальной коммуникационной задержки при передаче данных между процессорными модулями и , соответствующей отображению b*ÎY и вычислению показателя с последующей его минимизацией. В результате
. (3)
Отображение вычисляется как
, (4)
где и ,
а . (5)
Поиск наилучшего варианта размещения по критерию (3) является сложной переборной задачей. Вариантом ее ускорения является применение целенаправленных поисковых перестановок строк и столбцов МОИ с выбором в ней a-го места перестановки элемента по критериям (3, 4).
, (6)
где – одноименные элементы матрицы ММР; – элемент МОИ, которому соответствует , найденный в предыдущем шаге перестановок.
Число требуемых перестановок уменьшается, если не учитывать явно нецелесообразные из них, разрешая очередную перестановку по следующим дополнительным критериям [8, 9]:
, (7)
. (8)
Для ускорения поиска разработана методика ускоренного выполнения процедур планирования размещения программ [3, 4]:
1. Составляются две матрицы: обмена информацией (МОИ) и кратчайших маршрутов (ММР) между процессорами и коммуникационной средой процессорного блока.
2. Вычисляются минимум коммуникационной задержки Tinf и коэффициент эффективности исходного размещения задач . При нахождении Tinf веса дуг графа G назначаются на смежные процессорные модули без учета реальной топологии.
3. По порогу эффективности принимается решение о целесообразности инициализации процедуры поиска размещения. Коэффициент эффективности перестановок определяется как отношение полученной величины задержки (3) к .
4. Выполняются шаги целенаправленных перестановок столбцов и строк матрицы обмена информацией. Далее находится максимальное значение коммуникационной задержки (2) по предыдущему варианту перестановок программ.
5. Находится минимум (3) из максимумов по всем вариантам перестановок и вычисляется коэффициент эффективности .
6. Если оказывается менее установленного порога эффективности , шаги поиска прекращаются и найденный вариант матрицы обмена информацией считается соответствующим полученному варианту размещения.
В результате был разработан аппаратно-ориентированный алгоритм ускоренного планирования размещения программ в МС [2].
На основе предложенного метода, методики и алгоритма планирования размещения программ в МС, разработана структурная схема устройства планирования размещения программ, представленная на рисунке 2 [7, 8, 9].
Операцию вычисления максимальной коммуникационной задержки, как одну из наиболее трудоемких, предполагается выполнять в аппаратном ускорителе: акселераторе вычисления показателя коммуникационной задержки (АВПКЗ). В блоке АВПКЗ применены конвейерный и матричный подходы для поэлементного перемножения векторов с одновременным подсчетом максимального произведения. Данные с параллельного порта поступают в блок специализированного мультиплексора (MUX). В зависимости от режима работы MUX загружает одно из ОЗУ данными соответствующей разрядности. Если идет загрузка в ОЗУ2, из 8-и разрядного порта за один цикл приема MUX принимает два 4-х разрядных слова. Если же идет загрузка в ОЗУ1, то MUX принимает два байта 16-ти разрядного слова и после их склеивания помещает целое слово в ОЗУ1. Блок умножения матрично–конвейерный (БУМК) осуществляет перемножение синхронно считанных из ОЗУ1 и ОЗУ2 двух слов и выдает результат в блок нахождения максимума (MAX). Умножение происходит конвейерно за один такт. Блок MAX находит максимум и по сигналу об окончании расчета выдает результат за три цикла вывода в порт контроллера. Устройство управления (УУ) выдает управляющие сигналы, обозначенные на рис. 2 как множество микроопераций (МО), а также значения адресов для ОЗУ1 и ОЗУ2 в режимах загрузки и вычисления.
В случае отказа процессора и/или межпроцессорной связи примем, множество программ описывается графом взаимодействия задач , где – множество вершин, соответствующих программам, – множество дуг, отражающих связи программам. Граф F задается матрицей смежности: , где . Топология мультипроцессора представляется графом , где – процессоры, а множество V – межмодульные связи. Множество – , где – основные процессоры, – резервные процессоры, причем , . Множества процессоров P и L задаются матрицами и соответственно. Множество представляется объединением указанных матриц. Размещение задается отображением [5, 6].
, (9)
ставящее в соответствие программам один из процессоров системы.
Тогда задача размещения программ в мультикомпьютере заключается в выборе такого отображения , которое соответствует критерию [10].
, (10)
где максимум в фигурных скобках представляет собой наибольшую частную коммуникационную задержку для заданного отображения β.
В случае отказа отдельного канала связи между процессорами нарушаются маршруты транзитной передачи данных и необходимо найти новые кратчайшие маршруты обхода отказавшего канала. Для этого случая обоснована целесообразность использования известного алгоритма Дейкстры [11].
Для предложенного метода и аппаратно–ориентированного алгоритма отказоустойчивого переразмещения бала предложена соответствующая структурная схема микропроцессорного акселератора, представленная на рис. 3 [12].
На рис. 3 приняты следующие обозначения блоков и узлов: АПРП – акселератор планирования переразмещения подпрограмм; ОП – оперативная память; КПДП – контроллер прямого доступа в память; Ппорт – последовательный порт; Прпорт – параллельный порт; УУ – устройство управления; БППОМ - блока переразмещения отказавших процессорных модулей; БПКМ - блока поиска кратчайшего маршрута; МО – микрооперации; А – адрес.
Рис. 3. Структурная организация акселератора
отказоустойчивого переразмещения
МП работает по принципу, аналогичному описанной структурной схема выше. После замены процессорного модуля резервным либо после нахождения кратчайшего пути обхода найденный вариант передается через параллельный порт обратно в контроллер и далее через последовательный порт обратно в управляющую ЭВМ.
На основе представленной структурной схемы была разработана функциональная организация соответствующего устройства оперативной замены отказавшего процессорного модуля резервным, представленная на рисунке 4 [12].
На рис. 4 приняты следующие обозначения блоков и узлов: 14 – генератор импульсов, Р1 – ОЗУ, – ОЗУ, Q – ОЗУ, регистр 18, первый 19 и второй 20 элемент сравнения, дешифратор 21 выбора, первый 22 и второй 23 счетчик строки, первый 24 и второй 25 счетчик столбца, счетчик 26 номера предназначенный для подсчета номера выбираемого счетчика 22, 23, 24, 25, необходимого для проведения операций с заменой основного процессора резервным, первый 27, второй 28 и третий 29 Элементы ИЛИ.
Предложенное устройство функционирует в соответствии с предложенным алгоритмом отказоустойчивого переразмещения [13,14].
В начальном состоянии в ОЗУ 15 хранится матрица P1 процессорных модулей и матрица L резервных процессоров. В матрице хранятся нулевые коды, свидетельствующие о полной начальной работоспособности мультикомпьютера. В матрице 7 Q также хранятся коды нулей, свидетельствующие о наличие и полной начальной работоспобности резервных процессоров. В регистре 18 хранится код нуля («0…00»), в счетчике 26 содержится код нуля («0…00»), а значит, на выходе дешифратора 21 не появляется единичного импульса. Триггер 36 находится в высокоимпедансном состоянии.
В работе были предложены специализированные устройства ускоренного планирования размещения параллельных программ в МС, обеспечивающих сокращение времени формирования планов размещения программ, минимизирующих коммуникационную задержку МП при наличии отказов внутренних процессорных модулей и/или каналов связи.
1. Воеводин В.В., Воеводин Вл.В. Параллельные вычисления // БХВ- Петербург. Санкт-Петербург, 2002. 608 с.
2. Borzov D.B., J.A Azzeh, I.V. Zotov, D.E. Skopin, D. M.Al Hadidi. An Approach to Achieving Increased Fault-Tolerance and Availability of Multiprocessor-Based Computer Systems // Australian Journal of Basic and Applied Sciences. 8(6) April 2014. Pp. 512-522.
3. Борзов Д.Б., Титов В.С. Параллельные вычислительные системы (архитектура, принципы размещения задач): монография / Курск. гос. техн. ун-т. Курск, 2008. 156 с.
4. Борзов Д.Б., Титов В.С. Вопросы проектирования и динамической реконфигурации топологии систем логического управления в системах высокой готовности: монография / ЮЗГУ. Курск, 2015. 278 с.
5. Борзов Д.Б., Соколова Ю.В., Минайлов В.В. Переразмещение подпрограмм в отказоустойчивых мультипроцессорных системах / Известия вузов. Приборостроение. Санкт-Петербург. 2013. Т56. №6. С. 39-44
6. Борзов Д.Б., Борисенко Ю.В., Сизов А.С. Метод и аппаратно-ориентированный алгоритм переразмещения подпрограмм в мультикомпьютерах при отказе процессоров и связей между ними // Телекоммуникации. - Ежемесячный научно-технический, информационно-аналитический и учебно-методический журнал. 2013. №11. С. 45-48.
7. Борзов Д.Б., Чеснокова Е.О. Устройство поиска нижней оценки размещения в полносвязных матричных системах при однонаправленной передаче информации / Патент РФ №2398270, заявл. 11.02.2009; опубл. 27.08.2010, БИ 24, 21 с. 2 ил.
8. Борзов Д.Б., Бобынцев Д.О. Устройство поиска нижней оценки размещения в системах с матричной организацией при направленной передаче информации / Патент РФ №2406135, заявл. 9.02.2009, опубл. 10.12.2010, БИ №34, 12 с, 2 ил.
9. Борзов Д.Б., Чеснокова Е.О., Марухленко А.Л, А-А Муджиб Мохаммед Яхъя. Устройство поиска нижней оценки размещения в полносвязных матричных системах при двунаправлено передачи информации / Патент РФ №2421805, заявл. 24.11.2008, опубл. 27.06.2011, 17 с, 2 ил.
10. Борзов Д.Б., Зотов И.В., Титов В.С. О субоптимальном размещении процессов и данных в кольцевых сетях // Известия вузов. Приборостроение. Санкт-Петербург. 2003. Т46, №11. С. 48-54.
11. Морозов К.К., Одиноков В.Г., Курейчик В.М. Автоматизированное проектирование конструкций радиоэлектронной аппаратуры: Учебное пособие для вузов. М.: «Радио и связь». 1983. 280 с.
12. Пат. 2447485 Российская Федерация, МПК G06F7/76, G06F17/10 Устройство поиска нижней оценки размещения в матричных системах при двунаправленной передачи информации / Борзов Д.Б., Соколова Ю.В., заявитель и патентообладатель Федеральное государственное бюджетное образовательное учреждение высшего образования "Юго-Западный государственный университет" (ЮЗГУ). - №2009134208/08, заявл. 11.09.2009; опубл. 10.04.2012, БИ №10. - 5 с.
13. Борзов Д.Б., Соколова Ю.В. Методика переразмещения подпрограмм в отказоустойчивых мультикомпьютерах // Сборник трудов XVIII Международной научно-технической конференции «Машиностроение и техносфера XXI века. Т1». Донецк, 2011. С. 86-89.
14. Борзов Д.Б. Соколова Ю.В., Масюков И.И. Алгоритм переразмещения подпрограмм в отказоустойчивых мультикомпьютерах // Сборник трудов XVIII Международной научно-технической конференции «Машиностроение и техносфера XXI века. Т1». Донецк, 2012. С. 101-103.