WWW.DISSERS.RU

БЕСПЛАТНАЯ ЭЛЕКТРОННАЯ БИБЛИОТЕКА

загрузка...
   Добро пожаловать!

Pages:     | 1 || 3 |

Во второй главе рассмотрены особенности организации распределенного имитационного моделирования и анализа КСМП.

В первом разделе главы приведена технология анализа КСМП, включающая следующую совокупность компонентов: методы автоматизации построения моделей, имитационного моделирования и распределенных вычислений; моделируемые вычислительные процессы научно-технического характера (процессов решения прикладных и фундаментальных исследовательских задач); инструментальные программные средства проектирования КСМП; программно-аппаратные средства, в рамках которых осуществляется моделирование КСМП. Перечисленные компоненты объединяются в единую технологическую цепочку для определения параметров проектируемой КСМП. Одним из средств исследования КСМП является использование методов динамического анализа программ с целью прогнозирования времени работы модулей на исследуемой архитектуре КСМП. Получение такого прогноза представляет собой сложную задачу5 и требует оценки не только производительности узлов как эталонной, так и анализируемой архитектуры, но и исследования интенсивности использования аппаратных компонентов узлов модулями КСМП.

На основе обзора средств, используемых для оценки производительности вычислительных узлов6, предложено проведение анализа следующих характеристик компонентов узла КСМП: времени выполнения центральным процессором операций с целыми и вещественными числами, латентности и пропускной способности кэшей (уровни L1, L2) и оперативной памяти, времени доступа и скоростей передачи данных жесткого диска и сети передачи данных. Проведение динамического анализа работы модулей КСМП предложено выполнять с помощью таких программ, как oProfile, pfmon, valgrind, cachegrind, lperfex, Intel vTune и Windows Performance Monitor. Разработаны спецификации модулей КСМП по следующим параметрам: количеству тактов процессора, интенсивности использования процессорных кэшей и оперативной памяти, количеству сессий чтения с жесткого диска и среднему количеству записанных/считанных байт за сессию, общему количеству выполненных процессором инструкций, количеству операций с целыми числами, количеству операций с вещественными числами, количеству переданных и принятых по сети данных, количеству установленных сетевых соединений, количеству сессий приема/передачи данных и времени, необходимого для установки сетевого соединения.

Разработан алгоритм прогнозирования производительности модулей КСМП. Общее время работы модуля mi на узле nj выражается как сумма времени работы компонентов узла:

T(mi,nj) = TP(mi,nj) + TM(mi,nj) + TN(mi,nj) + TD(mi,nj), где TP(mi,nj), TM(mi,nj), TN(mi,nj), TD(mi,nj) – время работы процессора, памяти, сети передачи данных и жесткого диска, соответственно. Время работы модуля mi на узлах КСМП прогнозируется с учетом вклада каждого компонента в общее время работы этого модуля на эталонном узле.

Сформулирована постановка задачи моделирования КСМП, выделены входные вероятностно-временные характеристики моделируемой системы: поток задач, интенсивность поступления задач пользователей КСМП, вид надежности системы (восстанавливаемая с рестартом, отказоустойчивая с дублированием, с избыточными вычислениями), дисциплины обслуживания очередей (FIFO, LIFO и др.), вид механизма обслуживания очереди задач (с ожиданием, с отказами), интенсивность загрузки вычислительных ресурсов локальными и сторонними пользователями, интенсивность возникновения отказов вычислительных ресурсов.

Французов Д. Оценка производительности вычислительных систем / Д. Французов // Открытые системы, 1996.

– № 2. – C. 58-66.

Таких как SPEC, LINPACK, Dhrystone, Whetstone, MIPS, Ливерморские циклы (LFK), SYSmark, CPUmark32 и др.

Определены основные выходные показатели надежности и эффективности работы КСМП: Kt = Te /Tq – коэффициент эффективности решения задачи, где Te – время решения задачи, Tq – время ожидания задачи в очереди;

Kp=(z – zcr)/z – коэффициент решаемости задач, где z – число поступивших на решение задач, zcr – число снятых с решения задач и Kв =(zdf – zcr )/zdf – коэффициент восстанавливаемости процесса решения задачи после отказа вычислительного ресурса, где zcr – число снятых с решения задач, zdf – число задач с отказами вычислительных ресурсов.

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

Во втором разделе представлена распределенная имитационная модель КСМП, формируемая из взаимосвязанных сегментов. Разработаны набор базовых сегментов GPSS-модели, составляющий ядро генерируемой имитационной модели КСМП, и набор дополнительных сегментов, позволяющий детализировать генерируемую имитационную модель с точки зрения выбора моделируемых источников отказов и сбоев программно-аппаратных средств.

В третьем разделе описана схема функционирования разработанной коммуникационной библиотеки, обеспечивающей взаимодействие между удаленными сегментами. Библиотека представляет собой клиент-серверное приложение, состоящее из набора компонентов, связанных в модули по функциональному назначению. Клиентская часть состоит из набора GPSS-сегментов, модулей создания контрольных точек (КТ), dll-библиотек и ActiveX сервера. Для обмена данными между собой GPSS-сегменты подключаются к ActiveX серверу, используя вызовы dll-библиотек. ActiveX сервер устанавливает единственное Socket-соединение с серверной частью коммуникационной библиотеки и обеспечивает асинхронный обмен данными между сегментами. ActiveX сервер имеет собственный буфер для хранения передаваемых данных и динамически формирует перечень сегментов модели, находящихся под его управлением.

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

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

В пятом разделе исследован вопрос повышения степени надежности процесса моделирования КСМП. Реализован модуль автоматического создания КТ.

В последнем разделе представлен алгоритм работы этого модуля.

В третьей главе разработана системная архитектура и алгоритмы функционирования ИК СИРИУС. Рассмотрены основные аспекты программной реализации.

В первом разделе главы приведена архитектура ИК СИРИУС, включающая (рис. 1) три основные подсистемы: графическую инструментальную среду, генератор распределенной модели и исполнительную подсистему.

Рис. 1. Инструментальный комплекс СИРИУС Назначение, принцип работы и функциональные возможности конструктора описания предметной области излагаются во втором разделе. Структурная схема предметной области представляет собой размеченный двудольный ориентированный граф, содержащий два типа вершин и два типа дуг. Входная дуга соединяет вершину-входной параметр с вершиной-операцией, выходная дуга соединяет вершину-операцию с вершиной-выходным параметром. Конструирование структурной схемы предметной области осуществляется «вручную» и ориентировано на предметные области с небольшим числом объектов.

На рис. 2 приведен пример описания предметной области КСМП для решения систем булевых уравнений7 (СБУ) в виде структурной схемы. Параметры и операции предметной области представлены кружками и прямоугольниками, соответственно. На основе описания предметной области создаются структурные схемы постановок и планов решения задач. Пиктограммы (элементы управления соответствующей формы языка реализации) структурных схем снабжены соответствующими контекстными меню и процедурами обработки событий, обеспечивающими функционирование конкретной структурной схемы: разметку исходных и целевых параметров задачи на структурной схеме Распределенный решатель булевых уравнений большой размерности: методы и средства управления вычислениями / Опарин Г.А., Феоктистов А.Г., Новопашин А.П., Богданова В.Г. // Проблемы управления и моделирования в сложных системах: Тр. VII межд. конф. – Самара: Самарский научный центр РАН, 2005. – С. 113-116.

непроцедурной постановки задачи, визуализацию процесса планирования вычислений и т.п.

Рис. 2. Структурная схема предметной области КСМП для решения СБУ Описание конструктора программно-аппаратной архитектуры КСМП приведено в третьем разделе. Элементы схемы программно-аппаратной архитектуры КСМП содержат следующие виды объектов КСМП: вычислительные узлы, коммуникационные элементы (концентраторы и маршрутизаторы коммуникационной сети), вычислительные модули и соединительные кабели коммуникационной сети. На рис. 3 приведен пример описания программноаппаратной архитектуры КСМП для решения СБУ.

Рис. 3. Структурная схема программно-аппаратной архитектуры КСМП для решения СБУ Описание генератора распределенной имитационной модели и генератора заданий приведено в четвертом разделе. Компоновка модели происходит на языке имитационного моделирования системы GPSS World. Имитационная модель строится на основе наборов базовых и дополнительных сегментов GPSSмодели. Входные данные модели автоматически генерируются на основе описания предметной области, топологии сети передачи данных, базового набора сегментов GPSS-модели (моделирующих процессы возникновения, развития и взаимодействия различных событий в РВС) и вероятностно-временных характеристик моделируемых событий. Загрузчик входных данных в имитационную модель реализован на языке Plus системы GPSS.

Генератор заданий формирует файл задания, включающий перечень входных файлов распределенной модели и количество сегментов GPSS-модели, сведения о количестве требуемых вычислительных узлов, перечень сегментов модели, которые требуется совместить для запуска на одном вычислительном узле, информацию о необходимости запуска модуля создания КТ и входные параметры модуля КТ. Сформированное задание (запрос на выполнение распределенной GPSS-модели) передается системе управления узлами КСМП.

Описание исполнительной подсистемы и принципов ее работы изложено в пятом разделе. Подсистема включает механизмы передачи данных и синхронизации времени, реализованные с помощью разработанной коммуникационной библиотеки. Общая схема процесса выполнения имитационной модели (состоящей из M сегментов) на вычислительном кластере (включающем N узлов) представлена на рис. 4. Обмен и коммуникации между сегментами происходят через Socket-сервер, связывающий распределенные сегменты.

Сервер представляет собой многопоточное асинхронное приложение, разработанное на языке Microsoft C#.

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

Клиентская сторона включает три компонента: ActiveX сервер, который принимает данные от локальных моделей; DLL-библиотеки, обеспечивающие связь GPSS-модели и ActiveX сервера; GPSS-модели. Клиентский ActiveXсервер реализован в виде windows-приложения, которое запускается в фоновом режиме и ожидает подключения сегментов GPSS-моделей через DLLбиблиотеку. Библиотека реализована в виде windows-приложения, использующего соглашение о вызовах внешних функций в формате CDECL. Вызов коммуникационных функций из сегментов GPSS-моделей осуществляется на основе соглашения о вызовах внешних функций для GPSS/H и встроенных средств языка PLUS для GPSS World. Реализация данной архитектуры позволила использовать на каждом узле несколько сегментов GPSS-моделей, которые могут принимать и отправлять данные через ActiveX-сервер на Socketсервер. Для обеспечения отказоустойчивости распределенного процесса моделирования разработан модуль автоматического создания КТ.

Рис. 4. Схема работы исполнительной подсистемы В последнем разделе главы обоснован выбор языковых средств, сред и технологий, использованных при разработке и реализации ИК СИРИУС.

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

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

Во втором разделе описан вычислительный эксперимент по прогнозированию времени работы двух основных модулей КСМП для решения СБУ при переносе этих модулей с эталонной архитектуры на исследуемую. Для проведения эксперимента выбраны два решателя СБУ (модули m1 и m2) и 240 булевых моделей, доступных на сайте института Instituto de Engenharia de Sistemas and Computadores в Португалии, г. Лиссабон (http://inesc-id.pt) и ряде других источников. В качестве вычислительной базы использованы два узла со следующими характеристиками: Pentium-4, 2800 MHz, L1: 16 Kb, L2: 1024 Kb, HDD 250 Gb (эталонный узел); Pentium-4, 2800 MHz, L1: 8Kb, L2: 512Kb, HDD 80 Gb (исследуемый узел).

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

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

Pages:     | 1 || 3 |






© 2011 www.dissers.ru - «Бесплатная электронная библиотека»