Применение кластерных технологий при разработке минимальных блоков обратной связи для управляемых систем
Вид материала | Документы |
- Автоматизация проектирования в радиоэлектронике 6 Процедуры проектирования сбис, 187.68kb.
- Урок №30 Тема: Проект «Автоматическое управление с автоматической обратной связью», 67.37kb.
- Программа выставки-конференции наоборот: Провайдеры наносят ответный Удар! 25 июня, 1192.99kb.
- 9. Кодирование и шифрование данных. Введение, 159.85kb.
- Темы фамилия применение геоинформационных технологий в создании муниципальных информационных, 37.02kb.
- Учебно-методический комплекс дисциплины теория систем и системный анализ Специальность, 582.46kb.
- Курс Методы визуального программирования при разработке системного программного обеспечения., 30.14kb.
- «применение информационных систем и технологий впроцессе подготовки отчетности по мсфо», 474.4kb.
- Зав отделом экологической педиатрии, д м. н. Рычкова, 103.97kb.
- Методические указания по курсовому проектированию по дисциплине «Банковские электронные, 301.79kb.
ПРИМЕНЕНИЕ КЛАСТЕРНЫХ ТЕХНОЛОГИЙ
ПРИ РАЗРАБОТКЕ МИНИМАЛЬНЫХ БЛОКОВ ОБРАТНОЙ СВЯЗИ
ДЛЯ УПРАВЛЯЕМЫХ СИСТЕМ
Г.Г. Исламов, А.Г. Исламов, О.Л. Лукин
Удмуртский государственный университет, г. Ижевск
Пусть
![](images/143154-nomer-711ad52.gif)
![](images/143154-nomer-m230bea30.gif)
![](images/143154-nomer-m1c13e92f.gif)
![](images/143154-nomer-544b62bc.gif)
![](images/143154-nomer-19ed413b.gif)
![](images/143154-nomer-aa5070e.gif)
![](images/143154-nomer-3a745422.gif)
![](images/143154-nomer-3eb40b6c.gif)
![](images/143154-nomer-3eb40b6c.gif)
![](images/143154-nomer-m4df10123.gif)
![](images/143154-nomer-m4df10123.gif)
![](images/143154-nomer-53c10817.gif)
![](images/143154-nomer-3eb40b6c.gif)
Пусть известно, что внешнее воздействие на систему изменяется по простейшему закону
![](images/143154-nomer-m4c9acf69.gif)
![](images/143154-nomer-m20cda531.gif)
![](images/143154-nomer-7f33ede5.gif)
![](images/143154-nomer-6694b9a8.gif)
![](images/143154-nomer-354ab466.gif)
![](images/143154-nomer-m2baffbbe.gif)
![](images/143154-nomer-m2fbda5a2.gif)
![](images/143154-nomer-729be811.gif)
![](images/143154-nomer-mabd85b5.gif)
![](images/143154-nomer-1847ed9b.gif)
![](images/143154-nomer-m20781518.gif)
![](images/143154-nomer-m5a1054f7.gif)
![](images/143154-nomer-3eb40b6c.gif)
![](images/143154-nomer-53c2148f.gif)
![](images/143154-nomer-m4f94fcc1.gif)
![](images/143154-nomer-m601acf03.gif)
![](images/143154-nomer-3eb40b6c.gif)
![](images/143154-nomer-m600f0b87.gif)
![](images/143154-nomer-m462bad61.gif)
![](images/143154-nomer-6f95504e.gif)
![](images/143154-nomer-f10c757.gif)
![](images/143154-nomer-3eb40b6c.gif)
![](images/143154-nomer-506b7954.gif)
![](images/143154-nomer-m4f26a87a.gif)
![](images/143154-nomer-m601acf03.gif)
![](images/143154-nomer-3eb40b6c.gif)
![](images/143154-nomer-3eb40b6c.gif)
![](images/143154-nomer-3eb40b6c.gif)
![](images/143154-nomer-718f0f76.gif)
![](images/143154-nomer-6694b9a8.gif)
![](images/143154-nomer-354ab466.gif)
![](images/143154-nomer-m11ce68c3.gif)
В работе [1] получены точные формулы для вычисления геометрической кратности собственных значений и разработаны численные алгоритмы для вычисления этой кратности. В приводимом ниже фрагменте программы для пакета Mathematica используются четыре формулы для геометрической кратности, которые верны с точки зрения «чистой» математики, однако при численных расчётах могут давать различные и даже неверные результаты. Заметим, что функция Timing измеряет время вычисления указанного выражения, функция PseudoInverse вычисляет обобщённую обратную матрицу Мура-Пенроуза, а семантический смысл остальных функций фрагмента вполне понятен. Фрагмент программы:
r=4000; W=Table[Random[Integer,{-16,16}],{r}]; U=DiagonalMatrix[W]; T=Table[Random[Real,{-16,16}],{i,r},{j,r}]; M=T.U.Inverse[T];
Timing[m=Eigenvalues[M];]; =Re[m[[1]]]; Id=IdentityMatrix[r];
L=M- Id; Timing[PL=PseudoInverse[L];]; Q=Id-L.PL;
Timing[Re[Tr[Q]]]; Timing[Re[Tr[Transpose[Q].Q]]];
Timing[Re[MatrixRank[Q]]]; Timing[r-MatrixRank[L]].
В докладе будут приведены результаты численных экспериментов вычисления максимальной геометрической кратности для матриц порядка
![](images/143154-nomer-m59fe2978.gif)
Автоматизация расчетов для указанных выше задач достигается путем широкого использования пакетов SCALAPACK, PETSC, TAO, SLEPS и др. Вычислительный пакет PETSc (Portable, Extensible Toolkit for Scientific Computation) предназначен для разработки параллельных программ в среде MPI (Message Passing Interface) для решения наиболее трудоемких задач численного анализа: отыскание решений дифференциальных уравнений с частными производными, линейных и нелинейных уравнений большой размерности. В нем имеются средства для разбиения и слияния массивов данных, а также их распределения между процессорами. В полной мере в этом пакете представлена технология объектно-ориентированного программирования. На сайте разработчиков из Аргонской национальной лаборатории (США) (см. ссылка скрыта) можно получить обширную информацию об использовании этого пакета на практике. Вычислительный пакет TAO (Toolkit for Advanced Optimization) предназначен для разработки алгоритмов и создания интерфейса для решения широкого класса оптимизационных задач большой размерности на высокопроизводительных архитектурах. Представляет собой высоко эффективный пакет оптимизации с объектно-ориентированной технологией и может применяться как на отдельных рабочих станциях, так и на высокопроизводительных массивно-параллельных архитектурах. Информацию о последних версиях пакета TAO можно получить на сайте (см. ссылка скрыта). Текущая версия пакета TAO использует инфраструктуру параллельных систем и объекты линейной алгебры, принятые в численном пакете PETSc, основана на модели обмена сообщениями для параллельного программирования и использует MPI для межпроцессорных взаимодействий. Масштабируемая библиотека для алгебраической проблемы собственных значений SLEPc (Scalable Library for Eigenvalue Problem Computations) позволяет решать задачи большой размерности для разреженных матриц на параллельных компьютерах. Подобные матрицы возникают при дискретизации уравнений в частных производных. Пакет обрабатывает как симметричные, так и несимметричные матрицы как с вещественными, так и с комплексными элементами. Пакет SLEPc построен на базе PETSc и использует ряд библиотек (ARPACK и др.). Вся информация, относящаяся к этому пакету, может быть найдена на сайте (см. ссылка скрыта.
Для отладки параллельных программ на информационно-вычислительном кластере PARC Удмуртского госуниверситета установлен ряд средств, из которых упомянем лишь некоторые. GNU отладчик gdb можно использовать в двух режимах: обычном и пакетном. Для его применения требуется отладочная информация, получаемая при компиляции с оцией –g, и даже –O, что делает возможной отладку оптимизированного кода. Возможна отладка запущенного ранее процесса, уничтожение дочернего процесса, отладка программы с несколькими нитями управления. Основная цель применения отладчика – позволить разработчику остановить программу до ее завершения в определенных точках или, в случае нарушений в работе программы, исследовать программу и выяснить причину неполадок. Из всего многообразия имеющихся программных средств визуализации, мониторинга выполнения и отладки параллельных программ на кластере мы выделяем XPVM и TotalView. Удобный графический интерфейс этих средств позволяет проводить тщательный анализ и мониторинг параллельных процессов с целью улучшения их производительности, способствует пониманию их поведения и взаимодействия, а также позволяет оценивать степень загрузки процессоров при выполнении параллельной программы. Несмотря на то, что в первом средстве отсутствует возможность отладки параллельных программ в ходе их исполнения, использование XPVM дает значительный выигрыш при обучении методам разработки параллельных программ.
Литература
1. Islamov G.G. On the exact formula for eigenvalue geometric multiplicity // Современные методы теории функций и смежные проблемы: Материалы конференции, Воронеж: ВГУ, 2005. – С. 7.