- •"Компьютерное моделирование процессов и систем"
- •"Компьютерное моделирование процессов и систем"
- •Содержание
- •Введение
- •1Характеристики сложных систем и задачи их исследования
- •1.1Основные понятия и определения. Понятие системы.
- •1.2Структура системы.
- •1.3Элементы и подсистемы.
- •1.4Функция системы и ее структура.
- •1.5Способы управления.
- •1.6Характеристики сложных систем
- •1.7Основные задачи исследования сложных систем
- •1.8Этапы анализа
- •1.9Виды моделирования систем
- •1.10Возможности и эффективность моделирования систем на эвм.
- •1.11Виды обеспечения имитационного моделирования.
- •1.12Подбор функции методом наименьших квадратов.
- •1.13Методы формирования случайных величин
- •1.14Мультипликативный способ получения равномерно распределенных случайных величин из интервала (0,1).
- •1.15Особенности вычислительных систем как объектов моделирования. Режимы работы вычислительных систем. Режимы использования.
- •1.16Структурная организация вычислительных систем.
- •1.17Рабочая нагрузка вс. Потоки заявок.
- •1.18Параметры потока заявок.
- •1.19Управление вычислительной нагрузкой и ресурсами вс.
- •1.20Функциональные характеристики вс.
- •1.21Разработка модели вс. Выбор уровня детализации.
- •1.22Подбор параметров модели. Количественные параметры.
- •2Моделирование дискретных систем на gрss
- •2.1Введение в gрss.
- •2.2Системы обслуживания с одним прибором и очередью.
- •2.3Элементы процедуры решения (моделирования).
- •2.4 Модельный таймер, завершение моделирования.
- •2.5 Одновременные события
- •2.6Выводы.
- •2.7Основные концепции моделирования на gрss.
- •2.8Списки gрss ( цепи ).
- •2.9Стандартные числовые и логические атрибуты gрss.
- •2.10Стандартные числовые атрибуты устройств.
- •2.11Стандартные числовые атрибуты накопителей.
- •2.12 Логические ключи
- •2.13Статистические объекты.
- •2.18Общий подход к моделированию.
- •2.19Основные карты и блоки gрss.
- •2.20Правила описания модели на gрss в лабораторной работе.
- •2.21Перенаправление потока заявок.
- •2.22Функции.
- •2.23Арифметические переменные variable fvariable
- •2.24Табулирование переменных.
- •2.25Многоканальные устройства (накопители )
- •2.26Работа с прерываниями.
- •2.27Управление логическими переключателями.
- •2.28Блок проверки gate
- •2.29Блок test
- •2.30Работа с ячейками.
- •2.31Работа с сча заявок
- •2.32Блок sрlit
- •2.33Блок assemble
- •2.34Блок gather
- •2.35Блок match
- •2.36Блок looр
- •2.37Блок присваивания приоритетов рriority
- •2.38Списки пользователя
- •2.39Блок mark
- •2.40Блок count
- •2.41Блок select
- •2.42Карта установки начальных значений генераторов случайных чисел rmult
- •2.43Матрицы
- •3Аналитические расчеты систем массового обслуживания
- •3.1Аналитическое моделирование вычислительных систем
- •3.2Модель размножения - гибели.
- •3.3Характеристики одноканальных систем массового обслуживания.
- •3.4Характеристики сложных смо.
- •3.5Многоканальные системы
- •3.6Системы с произвольным распределением длительности обслуживания.
- •3.7Система с отказами.
- •3.8Методы приближенной оценки характеристик систем массового обслуживания.
- •3.9Стохастические сетевые модели для вс.
- •3.10Стохастические сетевые модели.
- •3.11Экспоненциальные стохастические сети
- •3.12Характеристики разомкнутых систем
- •3.13Характеристики замкнутых систем.
- •4Литература
1.20Функциональные характеристики вс.
Считается, что чем лучше функциональные характеристики ВС при заданных затратах, тем больше эффект от ее применения.
К основным характеристикам ВС относятся: емкость памяти, быстродействие, надежность, стоимость.
Наиболее важные динамические характеристики системы следующие:
производительность;
загрузка устройств;
время реакции.
В системах с очередями важен показатель - вероятность потери заявки.
Загрузка устройства - это отношение времени занятости устройства к общему времени работы системы.
Время реакции - время от поступления заявки до ее полного обслуживания.
Используются и другие характеристики:
длина очереди;
время ожидания в очереди;
количество работ в системе и т.д.
Динамические характеристики взаимосвязаны – обычно, чем выше коэффициент загрузки компонент системы, тем выше эффективность системы.
Если коэффициенты загрузки основных ресурсов системы близки между собой, то говорят о сбалансированности ВС с рабочей нагрузкой.
Обычно, чем выше коэффициент загрузки, тем длиннее очереди, а значит, растет и время реакции.
Минимальное время реакции получаем тогда, когда все ресурсы отданы одной работе, но тогда и производительность минимальна.
( 65-80% - считается хорошей загрузкой ВС).
1.21Разработка модели вс. Выбор уровня детализации.
Процесс создания модели ВС неформален. На начальной стадии нужно конкретизировать цели моделирования. Обычно модели ориентируют на анализ ВС в качестве средств обработки и хранения данных. В вычислительной технике в качестве систем на нижнем уровне рассматривают логические элементы. Их элементами служат ЭРЭ. На следующем уровне выступают цифровые устройства в роли систем: регистры, сумматоры и т.д. Еще выше системами являются функциональные устройства:
- контроллеры, процессоры, накопители и т.д. Шире всего исследуется системный уровень, когда в качестве системы рассматривается ВС, а в качестве элементов - функциональные устройства. К этому уровню относят системы телеобработки данных, многопроцессорные системы. На более высоком уровне находятся модели сетей ЭВМ.
Последовательность моделей.
При уточнении понятия заявки и выборе уровня детализации разрабатывается последовательность моделей. Это значит, что в начале строится модель I-го порядка, которая описывает систему в общих чертах; затем более сложная и точная модель II-го порядка и т.д. Здесь предполагается уточнение описания сверху вниз. Для новых функциональных устройств более подходящее построение модели снизу вверх.
Декомпозиция системы.
Когда уровень детализации системы ясен, ее разделяют на подсистемы; деление ведут по минимуму функциональных связей или по функциональной обособленности системы.
Обычно не разделяют подсистемы с прямыми и обратными связями. Декомпозиция позволяет распараллелить моделирование.
Преобразования алгоритмов.
Поток заявок нужно разделить на отдельные потоки. При разделении важна последовательность использования ресурсов ВС. Дополнительно могут учитываться интенсивность заявок, объем данных, приоритеты и т.д. Даже если есть все программы, реализуемые системой, их нельзя использовать в модели в чистом виде, т.к. получится не модель, а натурный эксперимент. На некотором уровне детализации нужно выявить операции обработки, ввода-вывода, переходы, вызовы подпрограмм (включая системные). Далее нужно определить трудоемкости отдельных блоков и вероятности их ветвления. Этот этап наиболее трудоемок и неформален.
Если алгоритм представлен в соответствии с правилами структурного программирования, то определение трудоемкости алгоритма осуществляется по формулам:
t ( посл ) = t i
t ( ветвл ) = ( pi t i )
t ( нач. цикла ) = t pвых –t
t ( кон. цикла ) = t pвых
Если алгоритм не представлен в виде конструкции структурного программирования, то для определения трудоемкости используют цепи Маркова: каждому ветвлению алгоритма сопоставляется одна вершина и дополнительная вершина моделирует начало и конец алгоритма. Между вершинами указываются стрелки, соответствующие непосредственным переходам в алгоритме. Вероятности на стрелках соответствуют вероятностям переходов, а трудоемкости - трудоемкостям на переходах.
Определим стационарные вероятности р( i ) для полученной цепи Маркова
p i = ( p j, i p j )
p i = 1
Затем
t = ( p i ( p i, j t i, j ) ) p ( вх / вых )
(пример)
Набор алгоритмов практически однозначно определяет набор функциональных устройств, входящих в модель.
Упрощение модели, слияние потоков.
Желательно объединять потоки заявок в один с поток с интегральными параметрами.
1 t = (1 ti ), где
t – среднее время интегрального потока,
ti – среднее время i-го потока.
При этом в i потоке могут быть заявки на решение совершенно разных задач, но такие, которые имеют одинаковые маршруты, приоритет, объемы данных.
Чем меньше потоков, тем легче моделирование.
В модели нередко реальное устройство представляется набором модельных устройств.
Разделение ресурсов.
В модель имеет смысл включить поток заявок только, если он разделяет во времени или в пространстве хотя бы один ресурс с любым другим потоком.
Усечение модели.
Необходимо сокращать количество устройств, отображаемых в модели.
Иногда заявка проходит длинный путь по различным устройствам, но он всегда один. В таком случае этот путь заменяют одним устройством.