А
нализ и синтез систем управления
УДК 519.87
ПРИМЕНЕНИЕ МЕТОДА ДИАКОПТИКИ ДЛЯ МОДЕЛИРОВАНИЯ И РАСЧЕТА БОЛЬШИХ СИСТЕМ
В.Н. Гридин, В.И. Анисимов, С.А. Альмаасали
Рассмотрен диакоптический подход к организации последовательных и параллельных вычислительных процессов при моделировании больших систем на базе математического описания моделируемой системы в виде блочно-диагональной окаймленной структуры. Показано, что он дает существенный выигрыш как по затратам оперативной памяти, так и по скорости решения задачи. Отмечено, что возможность распараллеливания вычислительных процессов существенно ускоряет решение задач на многопроцессорных вычислительных системах и позволяет реализовать построение распределенных систем моделирования, функционирующих в сети Интернет.
Ключевые слова: диакоптика, моделирование систем, окаймленная матрица, распределенная система, Интернет-технологии.
ВВЕДЕНИЕ
Если моделируемая система имеет слабосвязанную иерархическую структуру, то наиболее эффективный способ организации вычислительных процессов при ее расчете предполагает декомпозицию исходной системы на ряд подсистем с помощью диакоптического подхода, который обеспечивает представление исходного матричного описания моделируемой системы в виде, содержащем блочную матрицу с окаймленной структурой [1—4]. Такой подход существенно повышает эффективность вычислительных процессов и позволяет привести требуемые для решения задачи вычислительные ресурсы в соответствие с реальными возможностями.
Возможна организация как последовательного вычислительного процесса на автономном компьютере, так и организация параллельных вычислений в локальной или глобальной сети, где компьютер каждого узла сети осуществляет формирование и обработку данных, связанных только с отдельной подсистемой [5, 6]. Единственное ограничение для реализации диакоптического подхода
к моделированию больших систем1 заключается в описании многополюсных индуктивно связанных компонентов в пределах отдельных подсистем, а также концентрация внутри каждой подсистемы управляющих и управляемых переменных зависимых источников. В остальном же способ декомпозиции системы на отдельные составляющие подсистемы может быть произвольным, хотя с практической точки зрения целесообразно в качестве отдельных подсистем выделять законченные функциональные блоки, каждый из которых выполняет вполне определенную задачу. Для связи подсистем в единую систему используются выделенные переменные, вектор которых связан с окаймляющим столбцом матрицы.
Диакоптический подход представляет собой один из видов перехода от сложной системы к более простой, когда система разделяется на изолированные части. Сложная система по определенным правилам расчленяется на некоторое число малых подсистем, и для каждой из них в отдель-
1 Под большими системами в настоящей статье понимаются электрические цепи с большим числом (более 100) узловых переменных (прим. ред.).
ности проводится требуемый анализ, общее решение получается путем соединения полученных частных решений для подсистем. При таком подходе не требуется составления полной системы уравнений, достаточно сформировать уравнения для ее элементарных подсистем, которые могут быть сделаны настолько малыми, насколько это практически целесообразно.
Достоинства метода диакоптики проявляются наиболее полно при анализе сложных систем и сводятся к сокращению затрат машинного времени тем большему, чем сложнее анализируемая модель системы. Примером такой задачи служит моделирование схем современных операционных усилителей, непосредственное описание которых требует использования матриц, содержащих сотни тысяч элементов. Возможность распараллеливания вычислительных процессов существенно ускоряет решение таких задач на многопроцессорных вычислительных системах и позволяет строить распределенные системы моделирования, функционирующие в сети Интернет [7—9].
1. ПОСТАНОВКА ЗАДАЧИ
Путем соответствующего выбора нумерации внутренних переменных отдельных подсистем и переменных связи в узлах соединения подсхем можно обеспечить представление исходного матричного уравнения моделируемой системы в виде, содержащем матрицу с окаймленной структурой. Такая матрица будет содержать окаймляющую блочную строку и окаймляющий блочный столбец, а все остальные ненулевые элементы этой матрицы будут сконцентрированы в диагональных матричных блоках. Каждый диагональный блок определяется только структурой и значениями параметров одной из подсистем. Для каждого узла схемы можно ввести узловую переменную, определяющую состояние этого узла, и из всех введенных узловых переменных ур можно образовать
т
вектор узловых потенциалов Х0 = ¥0 = [..., V , ...] . В каждой подсистеме можно выделить внутренние переменные х. и составить для каждой под-
т
системы вектор Хк = [..., хр ...] . Общий вектор
т
всех переменных системы имеет вид Х = [Хх , ...,
т т т т Хт , ..., Хт, ХТ ] , где вектор Х0 = ¥0 включает в себя узловые переменные узлов разделения, а векторы Хк — переменные к-й подсистемы.
С учетом принятой структуры вектора X матричное уравнение всей системы можно записать в виде ЩХ + £ = 0, где
W =
W11 W10
Wk0
W mm W Wm0
W01 W0k W 0m W00
блочно-диагональная окаймленная матрица системы, X = [ ХТ, ..., х', ..., Хт, ХТ ]т — вектор переменных системы, включающий в себя все векторы внутренних переменных подсхем Хк и вектор переменных связи в узлах разделении Х0, г,т рГпГ
..., > ••• > Sm > S0
Sm, ] — вектор задающих
£ = [ £Т
источников.
Уравнение для к-й подсистемы согласно структуре к-й блочной строки имеет вид ЩккХк +
+ ЩмХ0 + £к = 0, к = 1, т . Выразим отсюда вектор внутренних переменных подсистем Хк: Хк =
= - Щкк1 ЩиХ - Щк1 Обозначим Щк0 =
Щкк ^ £к = Щ-к £к. Тогда выражение для вектора внутренних переменных можно записать в виде
Xk = — Wko Xo - S
k
(1)
Для определения вектора Х0 составим уравнение для всей системы в целом, используя последнюю блочную строку общего матричного уравнения системы:
m
I WkXk + WoA + S0 = о-k = i
Подставляя сюда выражение (1), получим
m
I (- W0kWk0Xo - W0kSk) + WooXo + So = 0-
k = 1
Введем обозначения
m m
Woo = Woo - I WokWko, So = So - I WokSk . k = 1 l = 1
С учетом этих обозначений уравнение для вектора переменных связи X0 можно представить в виде: Woo Xo + So = 0.
Отсюда получим выражение для расчета переменных связи
X = -Жос1 5о.
(2)
Таким образом, в результате проведенной декомпозиции на основании уравнения (2) могут быть определены все узловые переменные вектора Х0, что позволяет найти на основании выражения (1) все внутренние переменные подсхем моделируемой системы. При этом вместо решения общего уравнения системы ЖХ + 5 = 0 используется обращение матриц Жкк и Ж00, порядок которых путем выбора соответствующего числа подсистем и узлов связи может быть сделан сколь угодно малым.
При практической реализации вычислительного процесса нет необходимости в формировании полного математического описания всей схемы, достаточно организовать последовательное формирование и обработку общей подматрицы Ж00, а также подматриц Жкк, Жк0 и Ж0к, для каждой подсхемы. Возможна также и организация параллельных вычислений в сети, где каждый компьютер осуществляет формирование и обработку данных, связанных только с отдельной подсхемой.
Рис. 1. Структурная схема последовательного вычислительного процесса
2. ПОСЛЕДОВАТЕЛЬНЫЙ ВЫЧИСЛИТЕЛЬНЫЙ ПРОЦЕСС
Последовательный вычислительный процесс предусматривает последовательное формирование и обработку математического описания отдельных подсистем на одном локальном компьютере, в результате оказывается возможным вычисление узловых переменных, которые определяют состояние узлов связи, затем выполняется расчет внутренних переменных всех подсистем. Такой вычислительный процесс может быть реализован в соответствии со структурной схемой, приведенной на рис. 1. Решение задачи разделяется на несколько этапов.
Этап 1. Для каждой подсистемы на основе введенной информации формируются массивы параметров блочных матриц Жкк, Жк0, Ж0к, Ж00, и 5к.
Этап 2. Выполняется алгоритм Гаусса — Жор-дана для каждой к-й подсистемы, в результате матрица Жкк преобразуется в единичную диагональную матрицу, а матрицы Жк0 и Бк преобразу-
ются соответственно в матрицы Жк0 и
к.
Этап 3. Вычисляются матрицы Ж00 и 50 и на основе выражения (2) рассчитывается вектор узловых переменных Х0.
Этап 4. Последовательно для каждой к-й подсистемы на основе выражения (1) рассчитываются векторы Хк внутренних переменных отдельных подсистем.
Такая последовательность вычислений позволяет минимизировать объем занимаемой памяти и сводит задачу решения уравнения высокого порядка к последовательному решению уравнений более низких порядков. Эффективность процедуры моделирования систем на основе диакоптичес-кого подхода может быть оценена коэффициентом экономии оперативной памяти и степенью повышения быстродействия.
Если Ув — объем памяти, необходимой для расчета с помощью диакоптического подхода, V — объем памяти, требуемый для расчета обычными методами и система разделена на т подсистем, число переменных в каждой подсистеме равно пк, а число переменных связи составляет п0, то коэф-
фициент экономии оперативной памяти а = V/VD может быть определен как
а =
п +
к = 1
2
шахкпк + 2п,
0
п + п
к = 1
Если, например, система разделена на десять одинаковых подсистем (т = 10) и число переменных в каждой подсистеме равно числу переменных связи пк = п0, то получим а = 6.
При оценке степени повышения быстродействия рассматриваемого диакоптического подхода отметим, что время решения системы уравнений определяется числом мультипликативных опера-
о
ций и пропорционально величине п /3 для метода
Гаусса и п3/2 для метода Гаусса — Жордана, где п число решаемых совместных уравнений [10]. Таким образом, для приведенной на рис. 1 структуры организации последовательного вычислительного процесса эффективность по быстродействию может быть определена выражением
/ т Л ¡( т 3 3 т 3)
в = п0 + X nk I X Пз + Ьп0 X nk + П0| ,
к = 1
V к = 1
к = 1
где Ь = 1/3 или Ь = 1/2.
Если, например, моделируемая система разбита на десять одинаковых подсистем и число переменных в каждой подсистеме равно числу переменных связи, т. е. пк = п0, то получим в = 30.
3. ПАРАЛЛЕЛЬНЫЙ ВЫЧИСЛИТЕЛЬНЫЙ ПРОЦЕСС
Декомпозиция системы на базе диакоптическо-го подхода позволяет наиболее эффективно организовать вычислительный процесс, основанный на параллельной организации вычислений, когда формирование и обработка уравнений для отдельных подсистем выполняется на различных компьютерах, работающих в узлах некоторой локальной или глобальной сети. На рис. 2 приведена возможная структура, реализующая параллельный вычислительный процесс в сети Интернет, когда формирование и обработка уравнений для отдельных подсистем выполняется на различных серверах N = 1, ..., к, ..., m сети. Результаты такой обработки пересылаются на центральный сервер N = 0, где решаются уравнения связи на основе данных, полученных при обработке уравнений подсистем.
Значения переменных связей затем пересылаются на серверы, реализующие работу с отдельны-
Сервер 0
Рис. 2. Организация параллельного вычислительного процесса
ми подсистемами, где и окончательно рассчитываются все переменные подсистем моделируемой системы.
В соответствии с приведенной структурой процесс решения задачи разделяется на несколько этапов.
Этап 1. Для каждой к-й подсистемы на основе введенной информации на компьютере узла сети Nk формируются массивы параметров блочных
матриц Ж)^ Ж^ ¿0 и 5к.
Этап 2. Выполняется алгоритм Гаусса — Жор-дана для каждой к-й подсистемы, в результате чего матрица Жкк преобразуется в единичную диагональную матрицу, а матрицы Жк0 и ¿к преобразуются соответственно в матрицы Жк0 и 5к .
Этап 3. В каждом узле сети Nk вычисляются
поправки АкЖ00 = Жм Ж0к и А^ = Ж0к¿к , которые после завершения обработки каждой подсистемы передаются на компьютер центрального узла N0.
Этап 4. На компьютере центрального узла N0
т
вычисляются матрицы Ж00 = Ж00 — X ДкЖ00, и
к = 1
т
50 = ¿0 — X Ак50, после чего на основе выраже-
к = 1
ния (2) рассчитывается вектор узловых переменных Х0.
Этап 5. Значение вектора Х0 пересылается на все узлы сети Nk, где для каждой к-й подсистемы на основе выражения (1) рассчитываются векторы Хк внутренних переменных отдельных подсистем.
Если — объем памяти, необходимый для расчета с помощью диакоптического подхода, V— объем памяти, требуемый для расчета обычными методами и система разделена на т подсистем, число переменных в каждой подсистеме равно «к, а число переменных связи составляет «0, то коэффициент экономии оперативной памяти а = диакоптического подхода при организации параллельного вычислительного процесса можно определить как
а =
- Л 2
т 1 / 2 П0 + X "к| /(таХкПк + ^ .
- к = 1 ) I
Так, если система разделена на десять одинаковых подсистем (т = 10) и число переменных в каждой подсистеме равно числу переменных связи «к = «0, то а = 30.
Эффективность параллельного вычислительного процесса по быстродействию может быть определена как
в =
- л 3
т 1 / 3 2 3
«0 + X ик| /(тахк"к + Ь«0тахл + "0),
- к = 1 ) I
где Ь = 1/3 или Ь = 1/2.
Если, например, моделируемая система разбита на десять одинаковых подсистем (т = 10) и число переменных в каждой подсистеме равно числу переменных связи, т. е. «к = «0, то получим в = 270.
ЗАКЛЮЧЕНИЕ
Диакоптический подход позволяет переходить от сложной системы к более простой путем ее разделения на изолированные части. Сложная система по определенным правилам расчленяется на некоторое число малых подсистем, и для каждой из подсистем в отдельности выполняется требуемый анализ, общее решение получается путем соединения полученных частных решений для подсистем.
Применение диакоптического подхода для моделирования больших систем на основе декомпозиции исходной системы на ряд подсистем позволяет значительно повысить эффективность вычислительных процессов как при последовательной, так и при параллельной организации вычислений. Эффективность метода диакоптики проявляется наиболее полно при анализе сложных систем и сводится к сокращению затрат машинного времени тем большему, чем сложнее анализируемая мо-
дель системы. Достигается значительная экономия требуемого объема оперативной памяти и существенно снижается время, необходимое для решения задачи моделирования больших систем, имеющих слабосвязанную иерархическую структуру.
ЛИТЕРАТУРА
1. Крон Г. Исследование сложных систем по частям — диа-коптика / Пер с англ. — М.: Наука, 1972.
2. Хэпп Х. Диакоптика и электрические цепи / Пер с англ. — М.: Мир, 1974.
3. Чуа Л.О., Лин П.М. Машинный анализ электронных схем / Пер с англ. — М.: Энергия, 1980.
4. Норенков И.П. Введение в автоматизированное проектирование технических устройств и систем. — М.: Высшая школа, 1986.
5. Анисимов В.И., Тарасова О.Б, Алмаасали С.А. Организация вычислительных процессов при моделировании систем на основе методов диакоптики // Информационные технологии в проектировании и производстве. — 2013. — № 4. — С. 14—17.
6. Алмаасали С.А., Анисимов В.И. Построение распределенных систем автоматизированного проектирования на основе методов диакоптики // Известия СПбГЭТУ. — 2014. — № 1. — С. 15—19.
7. Гридин В.Н., Анисимов В.И. Методы построения систем автоматизированного проектирования на основе Интернет-технологий и компактной обработки разреженных матриц // Информационные технологии в проектировании и производстве. — 2009. — № 1. — С. 3—7.
8. Гридин В.Н., Дмитревич Г.Д., Анисимов. Д.А. Построение систем автоматизированного проектирования на основе Web-сервисов // Автоматизация в промышленности. — 2011. — № 1. — С. 9—12.
9. Гридин В.Н., Дмитревич Г.Д., Анисимов Д.А. Построение систем автоматизированного проектирования на основе Web-технологий // Информационные технологии. — 2011. — № 5. — С. 23—27.
10. Фаддеев Д.К., Фаддеева В.Н. Вычислительные методы линейной алгебры. — М.: Гос. изд-во физ.-мат. лит., 1963.
Статья представлена к публикации членом редколлегии Л.П. Боровских.
Гридин Владимир Николаевич — д-р техн. наук, директор, Центр информационных технологий в проектировании РАН, г. Одинцово, Моск. обл., ® (495) 596-02-19, И [email protected],
Анисимов Владимир Иванович — д-р техн. наук, профессор, Санкт-Петербургский государственный электротехнический университет, И [email protected],
Альмаасали Саид Ату — аспирант, Санкт-Петербургский государственный электротехнический университет, И [email protected].