Шпоры-2012x

advertisement
1. КЛАССИФИКАЦИЯ ПАРАЛЛЕЛЬНЫХ КС ПО СТРУКТУРНОФУНКЦИОНАЛЬНЫМ ПРИЗНАКАМ
По-видимому, самой ранней и наиболее известной является классификация
архитектур вычислительных систем, предложенная в 1966 году М.Флинном.
Классификация базируется на понятии потока.
Классификация по Флинну:
 Вычислительная система с одним потоком команд и данных (однопроцессорная
ЭВМ — SISD, Single Instruction stream over a Single Data stream).
 Вычислительная система с общим потоком команд (SIMD, Single Instruction,
Multiple Data — одиночный поток команд и множественный поток данных).
 Вычислительная система со множественным потоком команд и одиночным
потоком данных (MISD, Multiple Instruction Single Data — конвейерная ЭВМ).
 Вычислительная система со множественным потоком команд и данных (MIMD,
Multiple Instruction Multiple Data)
К минусам можно отнести, что слишком много ВС попадает в класс MIMD.
Пытаясь систематизировать машины внутри класса MIMD Р. Хокли получил
иерархическую структуру.
Основная идея: Множественный поток команд может быть обработан 2 способами:
1. Одним конвейерным устройством, работающем в режиме разделения времени.
2. Каждый поток обрабатывается собственным устройством.
Классификация по Р. Хокли:
1. MIMD
2. Конвейерные устройства
3. С собственным устройством для каждого
потока
4. MIMD компьютеры в которых в которых
возможна связь каждого вычислителя с каждым (с
переключателями)
5. MIMD компьютеры у которых возможна связь только с ближайшими.
6. С общей памятью
7. с распределенной памятью
8. регулярные решетки
9. гиперкубы
10. иерархические структуры
11. изменяющиеся конфигурации
Среди MIMD-компьютеров с переключателями выделяются те, в которых вся память
распределена между процессорами.
Если память – разделяемый ресурс, доступный для всех процессоров через
переключатели, то MIMD-машина является системой с общей памятью. В соответствии с
конфигурацией переключателя различают:
 простой переключатель
 многокаскадный переключатель
 общая шина
Многие современные компьютерные системы имеют как общую разделяемую
память, так и распределенную, такие системы Хокли рассматривал как гибридные MIMDсистемы с переключателями.
Если рассматривать MIMD-системы с сетевой структурой (8, 9, 10, 11), то все они
имеют распределенную память, а дальнейшая классификация может проводиться в
соответствии с топологией сети.
Классификация Шнайдера
В 1988 году Л.Шнайдер (L.Snyder) предложил новый подход к описанию архитектур
параллельных вычислительных систем, попадающих в класс SIMD систематики Флинна.
Основная идея заключается в выделении этапов выборки и непосредственно исполнения в
потоках команд и данных. Именно разделение потоков на адреса и их содержимое
позволяет описать такие ранее "неудобные" для классификации архитектуры, как
компьютеры с длинным командным словом, систолические массивы и целый ряд других.
Классификация Скилликорна
Классификация Скилликорна (1989) была очередным расширением классификации
Флинна. Архитектура любого компьютера в классификации Скилликорна
рассматривается в виде комбинации четырёх абстрактных компонентов:
 процессоров команд (Instruction Processor — интерпретатор команд, может
отсутствовать в системе),
 процессоров данных (Data Processor — преобразователь данных),
 иерархии памяти (Instruction Memory, Data Memory — память программ и данных),
 переключателей (связывающих процессоры и память).
Переключатели бывают четырёх типов — «1-1» (связывают пару устройств), «n-n»
(связывает каждое устройство из одного множества устройств с соответствующим ему
устройством из другого множества, то есть фиксирует попарную связь), «n x n» (связь
любого устройства одного множества с любым устройством другого множества).
Классификация Скилликорна основывается на следующих восьми характеристиках:
 Количество процессоров команд IP
 Число ЗУ команд IM
 Тип переключателя между IP и IM
 Количество процессоров данных DP
 Число ЗУ данных DM
 Тип переключателя между DP и DM
 Тип переключателя между IP и DP
 Тип переключателя между DP и DP
Классификация Фенга
В 1972 году Фенг предложил классифицировать вычислительные систем на основе
двух простых характеристик. Первая — число n бит в машинном слове, обрабатываемых
параллельно при выполнении машинных инструкций. Практически во всех современных
компьютерах это число совпадает с длиной машинного слова. Вторая характеристика
равна числу слов m, обрабатываемых одновременно данной ВС. Немного изменив
терминологию, функционирование ВС можно представить как параллельную обработку m
битовых слоёв, на каждом из которых независимо преобразуются n бит. Каждую
вычислительную систему можно описать парой чисел (n, m). Произведение P = n x m
определяет интегральную характеристику потенциала параллельности архитектуры,
которую Фенг назвал максимальной степенью параллелизма ВС.
Таким образом все КС MIMD можно разделить на 4 класса:
 Разрядно-последовательные, пословно-последовательные n=m=1, т.е. в каждый
момент времени такая система обрабатывает только 1 двоичный разряд.
 Разрядно-параллельные последовательно-последовательные n>1, m=1.
 Разрядно-последовательные, пословно-параллельные n=1, m>1 (обычно КС этого
класса состоят из большого числа одноразрядных процессоров, причем каждый
процессор может независимо от остальных обрабатывать свои данные).
 Разрядно-параллельные, пословно параллельные n>1, m>1.
Плюс: введен единый числовой метрик для различных типов КС, с помощью
которого можно сравнивать разные КС.
Минус: опираясь на данную классификацию сложно представить себе специфику той
или иной КС (Не учитываются конструкторские особенности)
Классификация Хендлера
В основу классификации В.Хендлер закладывает явное описание возможностей
параллельной и конвейерной обработки информации вычислительной системой. При этом
он намеренно не рассматривает различные способы связи между процессорами и блоками
памяти и считает, что коммуникационная сеть может быть нужным образом
сконфигурирована и будет способна выдержать предполагаемую нагрузку.
Предложенная классификация базируется на различии между тремя уровнями
обработки данных в процессе выполнения программ:
 уровень выполнения программы - опираясь на счетчик команд и некоторые другие
регистры, устройство управления (УУ) производит выборку и дешифрацию команд
программы;
 уровень выполнения команд - арифметико-логическое устройство компьютера
(АЛУ) исполняет команду, выданную ему устройством управления;
 уровень битовой обработки - все элементарные логические схемы процессора
(ЭЛС) разбиваются на группы, необходимые для выполнения операций над одним
двоичным разрядом.
Таким образом, подобная схема выделения уровней предполагает, что
вычислительная система включает какое-то число процессоров каждый со своим
устройством управления. Каждое устройство управления связано с несколькими
арифметико-логическими устройствами, исполняющими одну и ту же операцию в каждый
конкретный момент времени. Наконец, каждое АЛУ объединяет несколько элементарных
логических схем, ассоциированных с обработкой одного двоичного разряда (число ЭЛС
есть ничто иное, как длина машинного слова).
Если на какое-то время не рассматривать возможность конвейеризации, то число
устройств управления k , число арифметико-логических устройств d в каждом устройстве
управления и число элементарных логических схем w в каждом АЛУ составят тройку для
описания данной вычислительной системы C: t(C)= (k, d, w)
2. КЛАССИФИКАЦИЯ ПАРАЛЛЕЛЬНЫХ КС ПО ФУНКЦИОНАЛЬНЫМ
ВОЗМОЖНОСТЯМ КС С ТОЧКИ ЗРЕНИЯ ПОЛЬЗОВАТЕЛЯ.
Здесь про мультикомпьютеры и прочую Лабуду (см ниже)
3. ПРОВЕДИТЕ СРАВНИТЕЛЬНЫЙ АНАЛИЗ КЛАССИФИКАЦИЙ
КОМПЬЮТЕРНЫХ СИСТЕМ.
Имеется множество различных классификаций параллельных КС.
В качестве основных признаков классификаций, характеризующих структуру и
функционирование ВС с точки зрения параллельности работы системы, чаще всего
используют следующие характеристики:
 тип потока команд
 тип потока данных
 способ обработки данных
 тип коммуникационной среды
 степень однородности компонент системы
 степень согласованности режима работы устройств
По способу обработки данных ВС делятся на системы с пословной и поразрядной
обработкой.
В системах с пословной обработкой все разряды каждого слова
обрабатываются процессором последовательно (слово за словом). В системах с
поразрядной обработкой одноименные разряды большого числа слов обрабатываются
одним процессором, но параллельно (Ассоциативные системы).
Примерами возможных классификаций являются классификации по Флину, Хокли,
Шнайдеру, Скилликорну, Фенгу, Хендлеру и множество других. Нельзя выделить какуюто одну систему классификаций потому, что они подразделяют ВС, основываясь на
разных принципах.
4. МУЛЬТИКОМПЬЮТЕРЫ, КЛАСТЕРЫ И СИММЕТРИЧНЫЕ
МУЛЬТИПРОЦЕССОРЫ  ОБЩАЯ ХАРАКТЕРИСТИКА, СХЕМЫ ПОСТРОЕНИЯ,
ОСОБЕННОСТИ КАЖДОЙ ИЗ СИСТЕМ, ОБЛАСТИ ПРИМЕНЕНИЯ.
Мультикомпьютеры – совокупность объединенных сетью отдельных вычислительных
модулей, каждый из которых управляется своей ОС (например, серии SP1I6M). Узлы
мультикомпьютеров обычно не имеют общих структур и связаны лишь сетью. Узлы
обладают высокой степенью автономности и могут состоять из отдельных компонентов, в
том числе и кластеров, SMP-, SPM-, DSM-, MPP–систем.
Для распределенной ОС мультикомпьютер выглядит как виртуальный
однопроцессорный ресурс. Взаимодействие процессоров реализуется с помощью явно
заданных операций связи между вычислителями. Обычно в мультикомпьютере
реализуется согласованный сетевой протокол, и не существует единой очереди
выполняющихся процессов, хотя известны и другие примеры.
Кластер – набор компонентов, рассматриваемый операционной системой, системным
ПО, приложениями и пользователями как единая система.
Кластеры получили широкое распространение из-за высокого уровня производительности
при
относительно низких затратах. Высокая производительность объясняется
отсутствием совместно используемой оперативной памяти и наличием в каждом узле
копии общей ОС или собственной ОС для неоднородных кластеров. Специализированное
ПО производит контроль правильности работы узлов кластера. При отказе узла кластера
его ресурсы (дисковое пространство, задание и т.д.) переназначаются другим узлам.
По сути, кластер образуется из отдельных полноценных узлов, включающих процессоры,
память, подсистему ввода-вывода, ОС и т.д. При объединении компьютеров в кластер
чаще всего поддерживается прямая связь между узлами посредством коммуникационной
сети. Технология такой сети может варьироваться от простейшей (Ethernet) до сложных
специализированных вариантов, обеспечивающих высокую скорость обмена. Возможно
параллельное использование нескольких независимых сетей в рамках одного кластера.
На рисунке изображены 2 типичные структуры кластеров: архитектура с
разделяемыми дисками (слева) и архитектура без разделения дисков.
В архитектуре с разделением дисков все узлы кластера имеют доступ ко всем
дискам. В архитектуре без разделения дисков, несмотря на то, что поддерживается
целостный образ ресурса, каждый узел имеет собственную оперативную память и диски; в
таких системах общей является только коммуникационная сеть.
С точки зрения повышения производительности кластер является хорошо
масштабируемой ВС. Однако отсутствие общей разделяемой памяти (а иногда и единого
адресного пространства) обуславливает большие накладные расходы, связанные с
обменом сообщениями между узлами.
Наибольший эффект кластеры дают при вычислениях в рамках хорошо
структурированных научных приложениях. С точки зрения удобства масштабирования
кластерные архитектуры допускают практически неограниченное наращивание числа
узлов. Для управления кластером используются специальные инструменты для
поддержания единого образа ресурса, в частности, система пакетной обработки.
Симметричный мультипроцессор (относится к классу SMP-систем) состоит из
нескольких десятков процессоров, причем все процессоры разделяют общую память и
объединены коммуникационной системой.
Процессор 1
...
Кэш
Процессор N
Кэш
Коммуникации
Основная
память
Подсистема
вв/выв
Диски
Существуют варианты SMP-архитектур с одной или несколькими системными
шинами (например, Cray 6400 имел 4 системные шины). Также существуют SMPархитектуры со специальными коммутаторами для связи процессоров, памяти и
подсистемы ввода-вывода. Пропускная способность коммуникационной системы
достаточна для поддержания быстрого доступа к памяти. У отдельных процессоров
имеются свои уровни кеш-памяти. Достаточный объем кеша и сравнительно небольшое
количество процессоров позволяет удовлетворять обращения к основной памяти. Это
легло в основу названия таких архитектур - UMA-архитектуры.
UMA (Uniform Memory Access, однородный доступ к памяти).
В UMA-архитектурах имеется единственная ОС, а ПО работает с единым адресным
пространством. При этом возникает сложная проблема сохранения когерентности данных
(согласованного извлечения содержимого кешей и основной памяти). Если
модифицируется одна из копий данных, остальные копии должны либо также
модифицироваться, било объявляться недостоверными. Отсюда – 2 альтернативных
подхода к поддержанию когерентности разделяемых данных:
1) запись с обновлением данных
2) запись с аннулированием данных
В SMP-системах обычно реализуется шинный протокол наблюдения. Происходит
прослушивание шины всеми процессорами с целью обнаружения операций записи в те
ячейки памяти, копии содержимого которых содержатся в кеше данного процессора.
Производительность систем с общей памятью, в т.ч. SMP, зависит от принятой модели
согласованности памяти, определяющей, в каком порядке процессоры наблюдают
последовательность операций записи-чтения.
Передача данных между кешами различных процессоров в SMP-системах
выполняется значительно быстрее, чем обмен данными между узлами кластера или
мультикомпьютера. Поэтому SMP-система хорошо масштабируется с ростом
производительности при обработке большого числа коротких транзакций (например,
банковские операции).
Сохранение когерентности требует специальных аппаратных средств быстрой
модификации копий данных. Однако, если следовать строгой модели согласованности,
когда каждая операция записи возвращает последнее записанное значение, то происходит
неизбежное падение производительности. Главная сложность построения SMP-систем сильная связанность процессоров и наличие единой ОС, разделяемой всеми
процессорами.
5. СИСТЕМЫ С РАСПРЕДЕЛЕННОЙ И РАЗДЕЛЯЕМОЙ ПАМЯТЬЮ,
МАССОВО-ПАРАЛЛЕЛЬНЫЕ СИСТЕМЫ  ОБЩАЯ ХАРАКТЕРИСТИКА,
СХЕМА ПОСТРОЕНИЯ, ОСОБЕННОСТИ КАЖДОЙ ИЗ СИСТЕМ,
ОБЛАСТИ ПРИМЕНЕНИЯ.
DSM-системы (Distributed Shared Memory) – системы с распределенной и
разделяемой памятью; память таких узлов разделена физически, но адресуется в рамках
единого адресного пространства. DSM-системы могут быть реализованы различными
способами. Общим для разных реализаций является тот факт, что узел может состоять из
нескольких процессоров и иметь SMP-архитектуру. Также в DSM-системах
поддерживается общее адресное пространство, но при этом память является
распределенной по узлам и время доступа к памяти зависит от месторасположения
данных, поэтому некоторые DSM-системы получили название NUMA.
NUMA – Non-Uniform memory Acess (Architecture) – Неоднородный доступ
(архитектура) к памяти.
Частный случай NUMA–архитектуры - cc-NUMA.
cc-NUMA – Cache Coherent NUMA, архитектура NUMA с кеш-когерентным
доступом.
Архитектура cc-NUMA:
Узел 1
Процессор
Процессор
Узел N
...
Процессор
...
Кэш
...
Кэш
Справочник
Подсистема
вв/выв
Процессор
Память
Кэш
Кэш
Память
Подсистема
вв/выв
Справочник
Коммуникации
Механизм работы кеша каждого узла увязан с доступом к локальной памяти каждого
удаленного узла.
Существует справочная память, в которой содержится информация о том, в каких
именно кешах находится нужный блок данных; например, узел 1 обращается к ячейке
памяти с адресом А основной памяти, не являющейся локальным адресом узла 1. Тогда
справочник узла 1 анализирует информацию (адрес А) и определяет, что данные по
адресу А находятся в узле N. В этом случае этот справочник отправляет адрес А в
справочник узла N. Узел N выбирает информацию по адресу А.
В отличие от шинного протокола наблюдения, где при записи нового значения в кеш
сообщение о модификации передается во все узлы, справочник распознает адрес и
обращается только к тому узлу, где содержится данный адрес.
Преимущество архитектуры: простота.
Недостаток архитектуры: объем аппаратной реализации (пропорционален основной
памяти системы).
Иерархичность доступа к памяти в NUMA-архитектурах сдерживает рост количества
процессоров. Как правило, в современных NUMA-системах количество процессорных
узлов не превышает 64, а число процессоров – 128.
Общими особенностями MПС и DSM является распределитель данных и
распределитель процесса обработки. В распределении заложена возможность
масштабирования, но с другой стороны интенсивный обмен данными сильно загружает
коммуникационные среды, чем сильно ограничивает возможности параллельных КС,
следовательно эффективность выполнения сильно зависит от организации взаимодействия
распределенных процессов
Массово-параллельные системы (МПС)
Отличительной особенностью массово-параллельных систем является большое
число процессорных узлов. Узлы обычно состоят из 1 или нескольких процессоров,
локальной памяти и нескольких устройство ввода-вывода.
В массово-параллельных системах реализуется архитектура без разделения ресурсов.
В каждом узле работает своя копия ОС, а узлы объединяются коммуникационной
системой.
Если узел управляется своей собственной ОС и имеет уникальное адресное
пространство памяти, то не потребуется никаких аппаратных средств для обеспечения
когерентности (согласованности).
Когерентность в случае МПС обеспечивается программными средствами на основе
техники обмена сообщениями. Также МПС можно отнести к мультикомпьютерам.
В МПС с разделяемой распределенной памятью возможна как аппаратная, так и
программная поддержка (???). Такую разновидность МПС можно отнести к классу
NUMA.
6. Основные понятия теории моделирования параллельных КС. Методы
моделирования параллельных КС.
Моделирование  это замещение исследуемого объекта (оригинала) его условным образом
или другим объектом (моделью) и изучение свойств оригинала путем исследования
свойств модели.
 модель обеспечивает корректное (или, как говорят, адекватное) отображение свойств
оригинала, существенных с точки зрения исследуемой операции;
 модель позволяет устранить проблемы, присущие проведению измерений на реальных
объектах.
В зависимости от способа реализации, все модели можно разделить на два больших
класса; физические и математические.
Физические модели предполагают, как правило, реальное воплощение физических
свойств оригинала. Например, при проектировании нового самолета создается его макет,
обладающий теми же аэродинамическими свойствами; ...
Математическая модель представляет собой формализованное описание системы (или
операции) на некотором абстрактном языке, например в виде совокупности
математических соотношений или схемы алгоритма. По большому счету, любое
математическое выражение, в котором фигурируют физические величины, можно
рассматривать как математическую модель того или иного процесса или явления.
1.
2.
3.
4.
5.
6.
7.
7. Задачи моделирования параллельных КС.
Определение цели моделирования.
Разработка концептуальной модели.
Формализация модели.
Программная реализация
Планирование проведения эксперимента
Реализация плана эксперимента
Анализ результатов моделирования
При разработке конкретной модели цель моделирования должна уточняться с учетом
используемого критерия эффективности. Для критерия пригодности модель, как правило,
должна обеспечивать расчет значений показателя эффективности (ПЭ) для всего
множества допустимых стратегий (показатель эффективности позволяет оценить и
сравнить (по тем или иным правилам) результат операции, полученный при
использовании каждой конкретной стратегии). При использовании критерия
оптимальности модель должна позволять непосредственно определять параметры
исследуемого объекта, дающие экстремальное значение ПЭ.
Таким образом, цель моделирования определяется как целью исследуемой операции, так и
планируемым способом использования результатов исследования.
Например, проблемная ситуация, требующая принятия решения, формулируется
следующим образом: найти вариант построения КС, который обладал бы минимальной
стоимостью
при
соблюдении
требований
по
производительности
и
по
отказоустойчивости. В этом случае целью моделирования является отыскание параметров
КС, обеспечивающих минимальное значение ПЭ, в роли которого выступает стоимость.
Задача может быть сформулирована иначе: из нескольких вариантов конфигурации КС
выбрать наиболее отказоустойчивый. Здесь в качестве ПЭ выбирается один из
показателей отказоустойчивости, а целью моделирования является сравнительная оценка
вариантов КС по этому показателю.
8. Приведите основные принципы моделирования.
Принципы моделирования:
1. Принцип информационной достаточности. ( при полном недостатке информации о
модели ее моделирование не имеет смысла, есть некоторые пороговый уровень
информации, при котором моделирование возможно ).
2. Принцип осуществимости( модель должна обеспечивать адекватные результаты )
3. Принцип множественности модели. ( Создаваемая модель должна отражать те
свойства реальных объектов, которые влияют на выбранный показатель
эффективности, каждая модель отражает лишь некоторые, выбранные стороны
реального объекта, для составления полной картины необходимо использовать
несколько моделей )
4. Принцип агрегирования. ( сложную систему можно представить как совокупность
простых )
5. Принцип параметризации. ( В ряде случаев моделируемая система имеет
подсистемы, характеризуемые определенным параметром )
9. Моделирование параллельных процессов. Применение аппарата сетей Петри.
Почти любая КС имеет в своём составе параллельно работающие элементы, такие
элементы могут взаимодействовать, либо работать независимо. Способы взаимодействия
подсистем определяет вид параллельных процессов в системе. Вид процесса влияет на
способ моделирования.
1. Асинхронный процесс – его состояние не зависит от состояния других процессов.
2. Синхронный процесс – его состояние зависит от состояния взаимодействующих
процессов. Один и тот же процесс может быть синхронен к одному процессу и
асинхронен к другому.
3. Подчиненный процесс – создается и управляется другим процессом более
высокого уровня.
4. Независимый процесс – процесс, который не является подчиненным.
Реализация параллельных процессов в КС
1. Процессы могут быть истинно параллельны только в многопроцессорных ВС
2. Многие процессы используют одни и те же ресурсы
3. В КС существует 2 вида процессов – родительский и дочерний.
4. 3 подхода:
 На основе взаимного исключения (монопольный захват ресурса одним
процессом )
 На основе синхронизации по сигналам (обмен сигналами между процессами
обозначающими события )
 На основе синхронизации по сообщениям (обмен информацией между
процессами )
Средство моделирования изначально ориетировано на параллельную работу
процессов.
Сети Петри – инструмент исследования систем, в том числе параллельных. Теория сетей
Петри делает возможным моделирование системы математическим представлением ее в
виде сети Петри. Анализ сетей Петри помогает получить важную информацию о
структуре, динамическом поведении моделируемой системы. Применяются сети Петри
исключительно в моделировании. Сети Петри разрабатываются специально для
моделирования тех систем, которые содержат взаимодействующие параллельные
компоненты, программы, устройства.
Для иллюстрации понятий теории сетей Петри гораздо более удобно графическое
представление сетей Петри. Теоретико-графовым представлением сети Петри является
двудольный ориентированный граф. Структура сети Петри представляет из себя
совокупность позиций и переходов. В соответствии с этим граф сети Петри обладает
двумя типами узлов:
1. Кружок является позицией
2. Планка обозначает переходы.
Граф G сети Петри есть двудольный ориентированный мультиграф G = (V ,A), где V = (u1,
u2, .., un) – множество вершин, А = (а1, а2, .., аr) – комплект направленных дуг.
ai = {vj, vk}, где vj, vk  V. V может быть разбито на два непересекающихся
подмножества P и Т(позиции и переходы), таких что V = Р  Т, P∩T=0.
Выполнение сети Петри управляет количество и распределение фишек в сети. Фишки
находятся в позициях (кружочках) и управляют выполнением перехода сети. Сеть Петри
выполняется посредством запусков перехода, который в свою очередь запускается
удалением фишек из его входных позиций и образованием новых фишек, помещаемых в
его выходные позиции. Переход может запускаться только в том случае, когда он
разрешен. Переход называется разрешенным, если каждая из его входных позиций имеет
число фишек, по крайней мере, равное числу дуг из позиции в переход. Кратные фишки
необходимы для кратных дуг. Фишки о входной позиции, которые разрешают переход,
называются разрешающими фишками.
10. Подклассы и расширение сетей Петри.
Подклассы сетей Петри:

Простой сетью Петри называется набор
1.
2.
3.







, где
- множество мест;
- множество переходов таких, что
.
- отношение инцидентности такое, что:
a.
b.
Регулярные сети (вводится алгебра регулярных сетей, строятся операции над
сетями и классы элементарных сетей).
Чистые сети (переход не может иметь позицию Pi в качестве входной и
выходной).
Сети свободного выбора (этот подкласс допускает и конфликты автоматных сетей
Петри, и параллельность маркированных графов, но в более ограниченном виде,
чем в обычных сетях Петри. Сеть Петри со свободным выбором есть сеть Петри С
= (Р, Т, I, О) — такая, что для всех
t j  T , pi  I (t j ), либо.I (t j )  { pi }, либо.O( pi )  {t j } Важность этого определения
заключается в том способе, которым оно допускает управляемые конфликты.
Конфликт появляется только тогда, когда одна позиция является входом
нескольких переходов. По определению сетей Петри со свободным выбором, если
позиция является входом для нескольких переходов (потенциальный конфликт), то
она является единственным входом всех этих переходов. Следовательно, либо все
эти конфликтующие переходы одновременно являются разрешенными, либо ни
один из них. Это позволяет свободно осуществлять выбор (разрешение конфликта)
запускаемого перехода, присутствие фишек в других позициях не влияет на выбор
запускаемого перехода.
Сети, свободные от конфликтов, если Pi принадлежит I( tj), то Pi принадлежит О(
tj), иначе Pi должна иметь <= 1 выходной переход.
Устойчивые сети ( для такой сети маркировка принадлежит множеству
допустимых маркировок, если 2 любых перехода оказываются в возбужденном
состоянии, то срабатывает один из них не исключая возможности срабатывания
другого )
Автоматные графы ( каждый переход может иметь точно один выход и один вход)
Маркированный граф – сеть Петри
C  ( P, T , I , O) : pi  P " выполняется "
I ( pi )  {t j | pi  O(t j )  1
&&
O( pi )  {t j | pi  I (t j )  1
Расширение сетей Петри.
 Е-сети
 Сети Мерлина
 Временные сети
 Раскрашенные сети
 Приоритеные сети
 Сети с проверкой на ноль
 Обобщенные сети.
11. Применение сетей Петри для синтеза дискретных управляющих устройств
Простое представление системы сетью Петри основано на двух основополагающих
понятиях: событиях и условиях. События - это действия, имеющие место в системе.
Возникновением событий управляет состояние системы. Состояние системы может быть
описано множеством условий Условие — есть предикат или логическое описание
состояния системы. Условие может принимать либо значение «истина», либо значение
«ложь». Так как события являются действиями, то они могут происходить. Для того чтобы
событие произошло, необходимо выполнение соответствующих условий. Эти условия
называются предусловиями события. Возникновение события может вызвать нарушение
предусловий и может привести к выполнению других условий, постусловий.
В качестве примера рассмотрим задачу моделирования простого автомата-продавца.
Автомат-продавец находится в состоянии ожидания до тех пор, пока не появится заказ,
который он выполняет и посылает на доставку. Условиями для такой системы являются:
а) автомат-продавец ждет;
б) заказ прибыл и ждет;
в) автомат-продавец выполняет заказ;
г) заказ выполнен.
Событиями будут:
1. Заказ поступил.
2. Автомат-продавец начинает выполнение заказа.
3. Автомат-продавец заканчивает выполнение заказа.
4. Заказ посылается на доставку.
Предусловия события 2 (автомат-продавец начинает выполнение заказа) очевидны:
(а) автомат-продавец ждет; (б) заказ прибыл и ждет.
Постусловие для события 2:
(в) автомат-продавец выполняет заказ.
Аналогично мы можем определить предусловия и постусловия для других событий и
составить следующую таблицу событий и их пред- и постусловий:
Событие
1
2
3
4
Предусловие
нет
а,б
в
г
Постусловие
б
в
г,а
нет
Такое представление системы легко моделировать сетью Петри.
В сети Петри условия моделируются позициями, события - переходами. При этом
входы перехода являются предусловиями соответствующего события; выходы постусловиями. Возникновение события равносильно запуску соответствующего
перехода. Выполнение условия представляется фишкой в позиции, соответствующей
этому условию. Запуск перехода удаляет разрешающие фишки, представляющие
выполнение предусловий и образует новые фишки, которые представляют выполнение
постусловий. Сеть Петри на рис. 3.1 иллюстрирует модель приведенного выше автоматапродавца. Мы указали каждому переходу и позиции соответствующие событие и условие.
Можно моделировать и более сложную систему. Система автомат-продавец состоит
из трех различных автоматов M1 , М2 и М3 и двух операторов Fx и F2. Оператор F1
воздействует на автоматы М1 и М2, а оператор F2 — на М1 и М3. Заказы требуют двух
стадий обработки. Сначала они должны быть обработаны автоматом М1 затем либо
автоматом М2 либо М3. Эта более сложная система будет иметь следующие условия:
а) заказ прибыл и ждет обработки автоматом М1
б) заказ обработан автоматом М1 и ждет обработки либо автоматом М2, либо М3;
в) заказ выполнен;
г) автомат M1 незанят;
д) автомат М2 незанят;
е) автомат М3 незанят;
ж) оператор F1незанят;
з) оператор F2 незанят;
и) автомат М{ находится под воздействием оператора F1
к) автомат М1{ находится под воздействием оператора F2,
л) автомат М2 находится под воздействием оператора F1,
м) автомат М3 находится под воздействием оператора F2.
При этом могут происходить следующие события:
1. Поступление заказа.
2. Оператор F1 начинает выполнение заказа на автомате M1
3. Оператор F1 закончил выполнение заказа на автомате М1.
4. Оператор F2 начинает выполнение заказа на автомате М1.
5. Оператор F2 закончил выполнение заказа на автомате М1.
6. Оператор F1 начинает выполнение заказа на М2.
7. Оператор F1 закончил выполнение заказа на М2.
8. Оператор F2 начинает выполнение заказа на М3.
9. Оператор F2 закончил выполнение заказа на М3.
10. Заказ посылается на доставку.
12. Оценочные или Е-сети как расширение сетей Петри
Е-сети ( CE  ( P, Pp , PR , T , M 0 )
P – множество позиций,
Pp множество периеритных позиций
PR множество решающих позиций
T – множество переходов причем ti = ( ρS, t(ti) )
S – тип перехода ( 1- 5 ), t(ti) время перехода, ρ(ti) – функция перехода, функция
преобразования атрибута меток.
В Е-сетях метки интерпретируются, как транзакты, распространяющиеся по сети, а
вершины и переходы трактуются как устройства обработки транзактов. Требование – ни
одна вершина не может иметь более 1 метки (т.е. сеть изначально безопасна).
Типы переходов:
1. простой переход, срабатывает при наличии фишки в P1 и отсутсвии в P2,
моделирование некоторого устройства обработки инф.
2. разветвление потока транзактов в ВС. (Fe)
3. объединение наличие фишек P2, P3 и отстутсвие в P1 (Je)
необходимо наличее двух фишек и отсуствие фишек в выходной позиции.
4. управляющие разветвление изменяет направление потока транзактов.
Управляемое разветвление Pi – управляющий:
5. приоритетность одних потоков к другим
13. Моделирование конвейерной обработки информации
На протяжении последних лет было предпринято множество шагов направленных на
увеличение производительности ВС. Результатом одного из таких шагов было появление
ВС с конвейерной обработкой информации. Конвейер состоит из набора операций
которые могут выполняться параллельно. Когда операция k завершена, она передает свой
результат (k+1)-й операции и ждет данных от (k-1)-й.
В качестве примера рассмотрим сложение 2 чисел с плавающей точкой. Основные
шаги этой операции предполагают:
1. Выделить экспоненты этих 2 чисел
2. Сравнить эти экспоненты, и если необходимо изменить их должным образом
3. Сдвинуть точку в числе с меньшей экспонентой для их уравнения
4. Сложить дроби
5. Нормализовать результат
6. Проверить экспоненту на переполнение и сформировать экспоненту и дробь
результата
Конвейеры (по способу управления) можно разделить на 2 группы: синхронные и
асинхронные. Синхронные конвейеры каждый такт передают данные на следующий шаг
обработки. Но это не эффективно, т.к. действие, выполняемое на данном шаге, может
занимать времени больше/меньше чем 1 такт. Рассмотрим k-й блок конвейера. Для
управления им нужно знать когда выполняются следующие условия:
 Входной регистр заполнен
 Входной регистр пуст





Выходной регистр заполнен
Выходной регистр пуст
Блок занят
Блок свободен
Пересылка осуществлена
14. Свойства-Задачи сохранения и активности сети Петри
Сохранение
Сети Петри можно использовать для моделировании систем распределения ресурсов.
Например, сеть Петри может моделировать запросы, распределения и освобождения
устройств ввода-вывода в вычислительной системе. В этих системах некоторые фишки
могут представлять ресурсы. Группа из трех построчно печатающих устройств
представляется позицией, имеющей в начальной маркировке три фишки. Запрос
построчно-печатающего устройства – это переход, для которого данная позиция является
входной; затем устройство освобождается переходом, для которого позиция построчно
печатающих устройств является выходной.
Для сетей Петри такого типа помимо прочих важным свойством является сохранение. Нам
бы хотелось показать, что фишки, представляющие ресурсы, никогда не создаются и не
уничтожаются. Простейший способ это сделать – это потребовать, чтобы общее число
фишек в сети оставалось постоянным.
Def. Сеть Петри C=(P,T,I,O) с начальной маркировкой  называется строго
сохраняющей, если для всех  '  R(C ,  ) имеет место
  '( p )    ( p ) .
pi P
i
pi P
i
Строгое сохранение – это очень сильное ограничение. Например, из него немедленно
следует, что число входов в каждый переход должно равняться числу выходов
I (t j )  O (t j ) . Если бы это было не так, запуск перехода изменил бы число фишек в сети.
Фишка определяется ее позицией в сети, все фишки в позиции неразличимы. Фишка
может представлять разное количество ресурсов. В общем случае необходимо определить
веса фишек. Т.к. фишки в позиции не различимы, веса связываются с каждой позицией
сети. Вектор взвешивания   (1 , 2 ,..., n ) определяет вес i для каждой позиции pi  P
.
Def. Сеть Петри C=(P,T,I,O) с начальной маркировкой  называется сохраняющей по
отношению к вектору взвешивания   (1 , 2 ,..., n ) , n  P , i  0 если для всех
 '  R(C ,  ) имеет место
 *  '( p )  *  ( p )
i
i
i
i
Строго сохраняющая сеть Петри является сохраняющей по отношению в вектору
взвешивания (1, 1, … ,1).
Все сети Петри являются сохраняющими по отношения к вектору взвешивания (0,0,…, 0).
Поэтому сеть Петри называют сохраняющей, если она сохраняющая по отношению к
каком-нибудь положительному не нулевому вектору  .
Активность
Причиной рассмотрения сохранения в сети Петри было распределение ресурсов в
операционной системе ЭВМ. Другая задача. Которая может возникнуть при
распределении ресурсов вычислительной системы – тупики.
Рассмотрим простой пример.
Система включает 2 различных ресурса q и r и два процесса a и b. Если оба процесса
нуждаются в обоих ресурсах, им необходимо будет совместно использовать ресурсы. Для
выполнения этого потребуем чтобы каждый процесс запрашивал ресурс, а затем
освобождал его. Теперь предположим, что процесс a сначала запрашивает ресурс q, а
затем ресурс r и наконец освобождает и q и r. Процесс b работает аналогично, но сначала
запрашивает ресурс r, а потом q.
Начальная маркировка помечает ресурсы q( p4 ) и r ( p5 ) доступными и указывает на
готовность процессов a и b. Одним выполнением этой сети является t1t2t3t4t5t6 ; другим t4t5t6t1t2t3 . Ни одно из этих выполнений не приводит к тупику. Однако рассмотрим
последовательность, которая начинается переходами t1 , t4 : процесс a обладает ресурсом q
и хочет получить ресурс r, а процесс b обладает ресурсом r и хочет получить ресурс q.
Система заблокирована; никакой процесс продолжаться не может.
Тупик в сети Петри – переход (или множество переходов), которые не могут быть
запущены. В сети Петри на рисунке 4,6 тупик возникает если нельзя запустить переходы
t 2 и t5 . Переход называется активным, если он не заблокирован (нетупиковый).
Переход t j в сети Петри С называется потенциально запустимым в маркировке  , если
существует маркировка  '  R(C ,  ) , в которой t j разрешен. Переход активен в
маркировке  , если потенциально запустим во всякой маркировке из R (C ,  ) .
Следовательно, если переход активен, то всегда возможно перевести сеть Петри из ее
текущей маркировки, в маркировку в которой запуск перехода станет разрешенным.
Другие понятия, связанные с изучением тупиков, можно разбить на категории по уровню
активности и определить для сетей Петри С с маркировкой  следующим образом:
Уровень 0: Переход t j обладает активностью уровня 0, если он никогда не может быть
запущен.
Уровень 1: Переход t j обладает активностью уровня 1, если он потенциально запустим,
т.е. если существует такая  '  R(C ,  ) , что t j разрешен в  ' .
Уровень 2: Переход t j обладает активностью уровня 2, если для всякого целого n
существует последовательность запусков, в которой t j присутствует неограниченно часто.
Уровень 3: Переход t j обладает активностью уровня 3, если существует бесконечная
последовательность запусков, в которой t j присутствует неограниченное число раз.
Уровень 4: Переход t j обладает активностью уровня 4, если для всякой  '  R(C ,  )
существует такая последовательность запусков  , что t j разрешены в  (  ',  )
Переход, обладающий уровнем активности 0, называется пассивным; активностью 4,
называется активным. Сеть Петри обладает активностью уровня i, если каждый ее переход
обладает активностью уровня i.
Переход t0 не может быть запущен никогда, он пассивен. Переход t1 может быть запущен
ровно 1 раз, он обладает активностью уровня 1. Переход t 2 может быть запущен
произвольное число раз, но это число зависит от числа запусков перехода t3 . Если мы
хоти запустить t 2 5 раз, то мы запускаем 5 раз t3 , затем t1 и после этого 5 раз t 2 . Однако,
как только запустится t1 число запусков t 2 станет фиксированным. Следовательно t 2
обладает активностью уровня 2. Переход t3 может быть запущен неограниченное число
раз, и поэтому обладает активностью уровня 3, но не уровня 4, поскольку, как только
запустится t1 , t3 больше запустить будет нельзя.
15. Свойства-Задачи достижимости и покрываемости сети Петри.
Задача достижимости. Для заданной сети Петри C с маркировкой  и маркировки
  определить, верно ли, что    R(C ,  ) .
Задача достижимости является одной из важнейших при анализе сетей Петри.
Многие другие задачи анализа можно сформулировать в ее терминах.
Для сети Петри с рис. 4.6 тупик может возникнуть, если достижимым является
состояние (0, 1, 0, 0, 0, 0, 1, 0).
Задача покрываемости. Для данной сети Петри C с начальной маркировкой  и
маркировки   определить, существует ли такая достижимая маркировка    R(C ,  ) ,
что      .
Достижимость
Для сети Петри С=(P, T, I, O) с маркировкой u, u' называется непосредственно
достижимой из u, если существует переход tj такой, что  (u, tj ) = u'. Определим
множество достижимости сети Петри С с маркировкой u как множество всех маркировок,
достижимых из u. Маркировка u' принадлежит множеству достижимостей R(C,u), если
существует какая-либо последовательность запусков переходов, изменяющих маркировку
u на u’.
Множество достижимостей R(C,u) для сети Петри С=(P, T, I, O) с маркировкой u есть
наименьшее множество маркировок, определенное следующим образом:
1) u  R(C,u)
2) u  R(C,u) и u’’=  (u ', tj ) для некоторого tj u’’  R(C,u).
.
P3
t1
P1
t2
P2
Для сети изображенной на рисунке и маркировке u=(1,0,0) непосредственно достижимыми
являются две маркировки (1,0,1) и (0,1,0). Из маркировки (1,0,1) можно получить
маркировку (0,1,1) и (0,1,2). Из (0,1,0) нельзя достичь не одной маркировки, так как ни
один переход не разрешен. Можно показать, что множество достижимостей имеет
следующий вид для этой сети R(C,u)={(1,0,n),(0,1,n)|n>=0}
Маркировка μ`` покрывает μ` если μ`` ≥ μ`
Задача покрываемости для данной сети S с начальной маркировкой μ` определить
существует ли маркировка μ``  R (C ,  ) при условии что μ`` ≥ μ`
Проблема достижимости интерпретируется как возможность достижения состояния.
Задача достижимости: Для данной сети Петри с маркировкой  и маркировки ’
определить: ’R(N,)?
Задача покрываемости. Для данной сети Петри N с начальной маркировкой  и
маркировки ’ определить, существует ли такая достижимая маркировка ”R(N,), что
">’. (Отношение "’ истинно, если каждый элемент маркировки " не меньше
соответствующего элемента маркировки ’.)
16. Задача безопасности и ограниченности сети Петри.
Позиция в сети Петри является безопасной, если число фишек в ней никогда не
превышает единицы.
Одно из важнейших свойств сети Петри, которая должна моделировать реальное
устройство, - безопасность. Позиция сети Петри является безопасной, если число фишек в
ней никогда не превышает 1.
Определение: Позиция pi  P сети Петри C   P, T , I , O  с начальной маркировкой
 '  pi   1 для любой  '  R  C,   . Сеть Петри безопасна, если безопасна ее каждая
позиция.
Безопасность – очень важное свойство для устройств аппаратного обеспечения.
Если позиция безопасна, то число фишек в ней равно 0 или 1. Следовательно, позицию
можно реализовать одним триггером.
В первоначальном определении сети Петри были безопасны, поскольку переход не
мог быть запущен, если не все из выходных позиций были пусты (а кратные дуги не были
разрешены). Это объяснялось интерпретацией позиции как условия. Условие, будучи
логическим высказыванием либо истинно (представляется фишкой в позиции), либо
ложно (представляется отсутствием фишки); кратные фишки не имеют никакой
интерпретации. Таким образом, если интерпретировать сети как условия и события,
маркировка каждой позиции должна быть безопасной.
Если позиция не является кратной входной или кратной выходной для перехода, ее можно
сделать безопасной. К позиции pi , которую необходимо сделать безопасной, добавляется
новая позиция pi ' . Переходы, в которых pi используется в качестве входной или
выходной, модифицируются следующим образом:
Если pi  I  t j  и pi  O  t j  , тогда добавить pi ' к O  t j  .
Если pi  O  t j  и pi  I  t j  , тогда добавить pi ' к I  t j  .
Цель введения этой новой позиции pi ' - представить условие « pi пуста». Следовательно,
pi и pi ' дополнительны; pi имеет фишку, только если pi ' не имеет фишки и наоборот.
Любой переход, удаляющий фишку из pi , должен помещать фишку в pi ' и наоборот.
Рис.1. Сеть Петри, не являющаяся безопасной
Рис.2. Безопасная сеть Петри, эквивалентная сети
на Рис.1.
Начальная маркировка так же должна быть модифицирована для обеспечения того, чтобы
точно одна фишка была либо в pi , либо в pi ' . (Мы допускаем, что начальная маркировка
безопасна.) Заметим, что такая принудительная безопасность возможна только для
позиций, которые в начальной маркировке являются безопасными и входная и выходная
кратность которых равно 0 или 1 для всех переходов. Позиция, имеющая для некоторого
перехода выходную кратность 2, будет получать при его запуске 2 фишки и,
следовательно, не может быть безопасной.
Безопасность – частный случай ограниченности.
Некоторые соображения относительно реального ограничения на аппаратную
реализацию позиций позволяют прийти к заключению, что безопасность –
необязательное требование. Безопасность позволяет реализовать позицию триггером,
но в более общем случае можно использовать счетчик. Однако любой аппаратнореализованный счетчик ограничен по максимальному числу, которое он может
представить.
Позиция является k-безопасной или k-ограниченной, если количество фишек в ней не
может превышать целое число k.
Определение: Позиция pi  P сети Петри C   P, T , I , O  с начальной маркировкой 
является k-ограниченной, если  '  pi   k для всех  '  R  C,   .
Граница k’ по числу фишек, которые могут находиться в позиции, может быть функцией
от позиции (например, позиция p1 может быть 3-ораниченной, тогда как позиция p2 - 8ограниченной). Однако, если позиция p1 k-ограничена, то она так же и k’- ограничена для
всех k’ >k.
17. Использование сетей Петри для количественных оценок функционирования
параллельных КС
В отличие от сетей Петри, в Е-сетях имеются:
 несколько типов вершин-позиций: простые позиции, позиции-очереди, разрешающие
позиции;
 фишки (метки) могут снабжаться набором признаков (атрибутов);
Кроме того, в Е-сетях с каждым переходом может быть связана ненулевая задержка и
функция преобразования атрибутов фишек и введены дополнительные виды вершинпереходов, а также в любую позицию может входить не более одной дуги и выходить
также не более одной.
В связи с этим любой переход может быть описан тройкой параметров: dj = (S, t(dj), 
(dj)).
Здесь S  тип перехода, t(dj)  функция задержки, отражающая длительность срабатывания перехода, (dj)  функция преобразования атрибутов меток.
... Еще одно важное отличие Е-сетей от сетей Петри состоит в том, что метки интерпретируются как транзакты, перемещающиеся по сети, а вершины-переходы трактуются как
устройства, выполняющие ту или иную обработку транзактов. Следствием такого подхода
является требование: ни одна вершина-позиция Е-сети не может содержать более одной
метки (то есть любая Е-сеть изначально является безопасной). ...
Важн особенностью Е-сети является детализация представления метки. С каждой
меткой kl в Е-сети связаны n описателей, что записывается как kl[n]. Значение i-го
описателя в позиции bk обозначается как M(bk(i)). Каждый из описателей метки несет в
себе определенную количественную информацию о моделируемом объекте.
Переход Е-сети модел-т некот событ не тольк на уровне выполнения всех необходимых
условий, но и отражает также ряд операций, связанных с данным событием, посредством
модификации описателей меток. Набор операций и условия их выполнения задаются
процедурой перехода
18. Анализ сетей Петри матричным методом
Второй подход к анализу сетей Петри основан на матричном представлении сетей
Петри. Альтернативным по отношению к определению сети Петри в виде (Р, T, I, O)
является определение двух матриц D+ и D-, представляющих входную и выходную
функции. (Они эквивалентны функциям F и В определения Хэка сетей Пет- Петри, см.
разд. 2.6.) Каждая матрица имеет m строк (по одной на переход) и n столбцов (по одному
на позицию). Определим D-[j,i]= D [ j, i]  #( pi , I (t j )) , a D  [ j, i]  #( pi , O(t j )) , Dопределяет входы в переходы, D+ — выходы.
Матричная форма определения сети Петри (Р, T, D- , D+) эквивалентна стандартной
форме, используемой нами, но позволяет дать определения в терминах векторов и матриц.
Пусть e[j] — m-вектор, содержащий нули везде, за исключением j-й компоненты. Переход
tj представляется m-вектором e[j]2). Теперь переход tj в маркировке μ разрешен, если μ >
e[j] • D-, а результат запуска перехода tj в маркировке μ записывается как
 (  , t j )    e[ j ]  D   e[ j ]  D 
   e[ j ]( D   D  )    e[ j ]  D
D- составная матрица измененй, тогда для последовательности запусков   t j1 t j2 ...t jk
имеем
 ( ,  )   ( , t j1 t j2 ...t jk )    e[ j1 ]  D  e[ j2 ]  D  .... 
e[ jk ]  D    (e[ j1 ]  e[ j2 ]  ...  e[ jk ])  D    f ( )  D
Вектор
f ( )  (e[ j1 ]  e[ j2 ]  ...  e[ jk ])
называется
вектором
за-
запусков
последовательности t j1 t j2 ...t jk i-и элемент вектора f ( ) , f ( )i — это число запусков
перехода ti в последовательности t j1 t j2 ...t jk . Вектор запусков, следовательно, является
вектором с неотрицательными целыми компонентами.
19. Матричный метод анализа сетей Петри достоинства и недостатки метода
Для того чтобы показать полезность такого матричного подхода к сетям Петри,
рассмотрим, например, задачу сохранения: является ли данная маркированная сеть Петри
сохраняющей? Для того чтобы показать сохранение, необходимо найти (ненулевой)
вектор взвешивания, для которого взвешенная сумма по всем достижимым маркировкам
постоянна. Пусть w  n 1 — вектор-столбец. Тогда, если  — начальная маркировка, а  '
— произвольная достижимая маркировка, необходимо, чтобы   w   ' w . Теперь,
поскольку  ' достижима, существует последовательность запусков переходов  а,
которая переводит сеть из  в  '. Поэтому  '   (  ,  )    f ( )  D Следовательно,
  w   ' w  (   f ( )  D)  w    w  f ( )  D  w , поэтому f ( )  D  w  0 .
Поскольку это должно быть верно для всех f ( ) , имеем D  w  0 . Таким образом,
сеть Петри является сохраняющей тогда и только тогда, когда существует такой
положительный вектор w, что D • w = 0. Это обеспечивает простой алгоритм проверки
сохранения, а также позволяет получать вектор взвешивания w. Развитая матричная
теория сетей Петри является инструментом для решения проблемы достижимости.
Предположим, что маркировка  ' достижима из маркировки  . Тогда существует
последовательность (возможно, пустая) запусков переходов а, которая приводит из  к 
'. Это означает, что f ( ) является неотрицательным целым решением следующего
матричного уравнения для х:  '    x  D . Следовательно, если  ' достижима из 
тогда уравнение  '    x  D имеет решение в неотрицательных целых; если уравнение
 '    x  D ) не имеет решения, тогда  ' недостижима из  .
Достоинства:
решает задачу сохранения: является ли данная маркированная сеть Петри сохраняющей?
Для того чтобы показать сохранение, необходимо найти (ненулевой) вектор взвешивания,
для которого взвешенная сумма по всем достижимым маркировкам постоянна.
Развитая матричная теория сетей Петри является инструментом для решения проблемы
достижимости. Предположим, что маркировка  ' достижима из маркировки  . Тогда
существует последовательность (возможно, пустая) запусков переходов  , которая
приводит из  к  ' .
Недостатки:
Заметим, прежде всего, что матрица D сама по себе не полностью отражает структуру
сети Петри. Переходы, имеющие как входы, так и выходы из одной позиции (петли),
представляются соответствующими элементами матриц D  è D  , но затем взаимно
уничтожаются в матрице D  D  D .
Другая проблема  это отсутствие информации о последовательности в векторе запуска.
Еще одна трудность заключается в том, что решение уравнения '    x  D является
необходимым для достижимости, но недостаточным (полученные последовательности
переходов могут быть не разрешены).
20. Задача достижимости сетей Петри
Поскольку задачи подмножества и равенства для множеств достижимости сетей Петри
неразрешимы, то возможно, что неразрешима также и сама задача достижимости. Однако
в настоящее время вопрос, разрешима ли (или неразрешима) задача достижимости,
открыт. На сегодняшний день не существует ни алгоритма, решающего задачу
достижимости, ни доказательства того, что такого алгоритма не может быть.
Достижимость.
Для данной сети С с маркировкой u необходимо определить u'  R(C, u). Задача
достижимости является первейшей задачей анализа сетей Петри. Многие другие задачи
можно сформулировать в терминах задачи достижимости.
Для этой сети (рис **) тупик может наступить, если достижимым является состояние
(0, 1, 0, 0, 0, 0, 1, 0).
Достижимость
Для сети Петри С=(P, T, I, O) с маркировкой u, u' называется непосредственно
достижимой из u, если существует переход tj такой, что  (u, tj ) = u'. Определим
множество достижимости сети Петри С с маркировкой u как множество всех маркировок,
достижимых из u. Маркировка u' принадлежит множеству достижимостей R(C,u), если
существует какая-либо последовательность запусков переходов, изменяющих маркировку
u на u’. Множество достижимостей R(C,u) для сети Петри С=(P, T, I, O) с маркировкой u
есть наименьшее множество маркировок, определенное следующим образом:
1) u  R(C,u)
2) u  R(C,u) и u’’=  (u ', tj ) для некоторого tj u’’  R(C,u).
.
P3
t1
P1
t2
P2
Для сети изображенной на рисунке и маркировке u=(1,0,0) непосредственно
достижимыми являются две маркировки (1,0,1) и (0,1,0). Из маркировки (1,0,1) можно
получить маркировку (0,1,1) и (0,1,2). Из (0,1,0) нельзя достичь не одной маркировки, так
как ни один переход не разрешен. Можно показать, что множество достижимостей имеет
следующий вид для этой сети R(C,u)={(1,0,n),(0,1,n)|n>=0}
Для определения того, является ли
(1, 0, 1, 0), имеем уравнение
 0 1
1, 8, 0, 1  1, 0, 1, 0   x   0 2
0 0

маркировка (1, 8, 0, 1) достижимой из маркировки
1 0 

1 1 
1 1
 0 1 1 0 
 0, 8, 1, 1  x   0 2 1 1 .
 0 0 1 1


которое имеет решение
x   0, 4, 5  . Это соответствует последовательности
  t3t2t3t2t3t2t3t2t3 .
21. Границы возможности моделирования с помощью сетей Петри
Дейкстра определил свои Р- и V-операции над семафорами для обеспечения
инхронизации и связи в системах взаимодействующих процессов [78]. Семафор может
рассматриваться как целочисленная переменная, которая принимает только
нтрицательные значения.
V-операция над семафором S увеличивает значение семафора на единицу: S = S + 1.
Р-операция, наоборот, уменьшает S на едиединицу до тех пор, пока результат не
становится равным нулю; при S = 0 процесс, прежде чем продолжать свою работу, должен
ждать момента, когда S можно будет уменьшить. Связь между семафорами и сетями
Петри была выявлена в разд. 3.4.8.
Поскольку Р- и V-операции были предложены как механизм для решения всех задач
синхронизации программ, то естественно возникает вопрос о полноте, т. е. об их
способности к решению всех задач координации. Патил в 1971 г. [233] предложил
доказательство того, что Р- и V-операции недостаточно мощное средство для решения
всех задач координации. Его подход был весьма прост: он сформулировал задачу
синхронизации, которая не может быть решена с помощью Р- и V-операций, — это задача
о курильщиках сигарет.
Задача о курильщиках сигарет включает (по меньшей мере) четыре процесса,
которые моделируют агента и трех курильщиков. Каждый курильщик непрерывно
изготавливает сигарету и курит ее. Чтобы сделать сигарету, необходимы три составные
части: татабак, бумага и спички. Один из курильщиков всегда имеет бумагу, другой —
табак, а третий — спички. Агент обладает бесконечными запасами всех трех составных
частей. Агент кладет две составные части на стол. Курильщик, имеющий третий
недостающий, может сделать и закурить сигарету, сигнализируя об этом агенту. Тогда
агент помещает другие два из трех инградиентов, и цикл повторяется.
Если семафор поставить в соответствие каждой составной части, задача о
курильщиках формулируется в терминах семафоров. Семафоры первоначально равны
нулю. Агент увеличит два из трех семафоров с помощью V-операций, а затем ждет
семафора «сделано».
Соответствующий процесс курильщика уменьшает два семафора (с помощью Ропераций), а затем, произведя действия «сделать сигарету» и «закурить сигарету»,
увеличивает семафор, указывая «сделано». Задача заключается в том, чтобы разработать
программу процессов курильщиков для того, чтобы определить, какой из трех процессов
должен действовать в очередной момент. Действия агента фиксированны и не могут быть
изменены.
Рис. 7.3 иллюстрирует очевидное «решение». Предположим, агент кладет табак и
бумагу [V(t), V(p)]. Тогда курильщик с бумагой может взять табак [P(t)], а курильщик с
табаком может взять бумагу [Р(р)], что в результате приводит к тупику. Патил доказал,
что никакая последовательность Р- и V-операций не может корректно решить эту задачу.
Это было показано с помощью доказательства того, что все Р- и V-«peшeния» могут быть
промоделированы сетями Петри определенного вида (каждый переход имеет не более
двух входов), но что решением является сеть Петри другого вида, и нет способа
преобразовать сеть одного вида в сеть другого вида, не допуская возможности
возникновения тупика.
Более конкретно ограничение на моделирование с помощью сетей Петри состоит в
неспособности проверить на наличие точно определенной маркировки в некоторой
неограниченной позиции и осуществить действие в зависимости от результатов проверки.
Это ограничение общеизвестно как неспособность к проверке на нулевую маркировку в
некоторой позиции, и поэтому это свойство известно как проверка на нуль [150]. Сети
Петри не могут проверить неограниченную позицию на нуль. [Если позиция ограниченна,
то нуль может быть выявлен. Для ограниченной позиции pi с границей k мы можем
создать дополнительную позицию рi — такую, что сумма  ( pi )   ( pi ') является
константой, равной k для всех достижимых маркировок. Это позволяет нам проверить,
равняется ли  ( pi ) нулю, проверяя, равно ли  ( pi ') k (см. разд. 5.6).]
22. Подклассы и расширение сетей Петри.
Подклассы сетей Петри:

Простой сетью Петри называется набор
4.
5.
6.
, где
- множество мест;
- множество переходов таких, что
.
- отношение инцидентности такое, что:
c.
d.
 Регулярные сети (вводится алгебра регулярных сетей, строятся операции над
сетями и классы элементарных сетей).
 Чистые сети (переход не может иметь позицию Pi в качестве входной и
выходной).
 Сети свободного выбора (этот подкласс допускает и конфликты автоматных сетей
Петри, и параллельность маркированных графов, но в более ограниченном виде,
чем в обычных сетях Петри. Сеть Петри со свободным выбором есть сеть Петри С
= (Р, Т, I, О) — такая, что для всех
t j  T , pi  I (t j ), либо.I (t j )  { pi }, либо.O( pi )  {t j } Важность этого определения
заключается в том способе, которым оно допускает управляемые конфликты.
Конфликт появляется только тогда, когда одна позиция является входом
нескольких переходов. По определению сетей Петри со свободным выбором, если
позиция является входом для нескольких переходов (потенциальный конфликт), то
она является единственным входом всех этих переходов. Следовательно, либо все
эти конфликтующие переходы одновременно являются разрешенными, либо ни
один из них. Это позволяет свободно осуществлять выбор (разрешение конфликта)
запускаемого перехода, присутствие фишек в других позициях не влияет на выбор
запускаемого перехода.
 Сети, свободные от конфликтов, если Pi принадлежит I( tj), то Pi принадлежит О(
tj), иначе Pi должна иметь <= 1 выходной переход.
 Устойчивые сети ( для такой сети маркировка принадлежит множеству
допустимых маркировок, если 2 любых перехода оказываются в возбужденном
состоянии, то срабатывает один из них не исключая возможности срабатывания
другого )
 Автоматные графы ( каждый переход может иметь точно один выход и один вход)
 Маркированный граф – сеть Петри
C  ( P, T , I , O) : pi  P " выполняется "
I ( pi )  {t j | pi  O(t j )  1
&&
O( pi )  {t j | pi  I (t j )  1
23. Маркированные графы – подкласс сетей Петри
Маркированные графы - каждая позиция такой СП должна иметь не более одного
входного и одного выходного перехода...
...На рис. 2.3 показаны несколько таких подклассов, предложенных в последнее время, из
которых аппараты автоматных графов и маркированных графов по своим моделирующим
свойствам эквивалентны аппарату направленных графов. Эти подклассы позволяют
моделировать алгоритмы функционирования вычислительных систем, взаимосвязи между
подсистемами и ряд других факторов без учета конкуренции между процессами.
...Ограничение на число входных и выходных переходов позиций сети Петри
 bi  B I  bi   O  bi   1 ; i  1, n ; n  | B |
служит признаком выделения подкласса маркированных графов.
24. Сети Петри и их особенности
Def.Сеть Петри – четверка С=(P,T,I,O), где P – множество позиций, T –
множество переходов, I – является входной функцией (отображением из переходов в
комплекты позиций), O – выходная функция (отображения из переходов в позиции).
Сети Петри – инструмент исследования систем. Теория сетей Петри делает
возможным моделирование системы математическим представлением ее в виде сети
Петри. Предполагается, что анализ сети Петри поможет получить важную информацию о
структуре и динамическом поведении моделируемой системы.
Возможно несколько подходов к использованию сетей Петри при проектировании и
анализе ВС:
1. Сеть Петри можно рассматривать как вспомогательный инструмент, т.е. для
построения ВС используются общие принципы проектирования, затем построенная
система моделируется сетью Петри и производится анализ полученных
результатов. Любые нестыковки, встречающиеся при анализе сети Петри,
указывают на недоработки при проектировании. Для их исправления необходимо
модифицировать проект.
2. Весь процесс проектирования и определения параметров ВС проводится в
терминах сетей Петри. Задача сводится к представлению сетью Петри реальной
рабочей системы.
25. Понятие о топологическом синтезе и анализе структур КС
анализ структурных свойств КС на графе неизбежно приобретает топологический
характер  предполагающий использование ряда характеристик, определяющих
количественную меру топологии объекта.
1. Структурная сложность  определяется как число элементов и связей, составляющих
структуру КС. 2. Адаптируемость КС  приспособленность структуры КС к внешним и
внутренним условиям, позволяющая оптимальным образом достигать цели
функционирования: выполнения, по крайней мере, минимально возможного количества
алгоритмов из заданного набора задач. 3. Диаметр структуры КС  соответствует
метрической характеристике, введенной на графе для определения кратчайшего пути
между наиболее удаленными вершинами. В ряде случаев разработчики структур
оперируют понятием среднего диаметра, имеющим большую системную значимость. 4.
Структурная связность КС  способность противостоять разбиению, разделению графа
структуры КС на независимые части. 5. Надежность КС  способность структуры КС
обеспечить функционирование системы в течение заданного промежутка времени. 6.
Живучесть (отказоустойчивость) КС  оценивает сохранение частей структуры КС,
обеспечивающих выполнение поставленной задачи. 7. Стоимость КС  характеристика,
оценивающая стоимость реализации структуры.
Под структурным синтезом КС понимают определение числа вершин и состава связей
между вершинами графа, соответствующего структуре КС. Такую структуру принято
называть топологической.
Синтез топологической структуры представляет собой выбор, или выделение из заданного
множества графов некоторого подмножества, которое наилучшим образом соответствует
заданным функциям и целям. Принципиальной особенностью задачи синтеза является то,
что нет универсальных методик формального перехода от заданных свойств к модели
топологии объекта.
26. Разбиения чисел. Основные понятия и определения. Принцип Дирихле.
Разбиение натурального числа n, есть его представление неупорядоченной суммой
натуральных слагаемых: n  n1  n2  ...  nr . Эти слагаемые ni и называются частями, а их
число r – рангом разбиения.
Композиция – это представление натурального числа n
натуральных слагаемых
n=6
ранг 1: 6=6;
ранг 2: 6=5+1, 6=4+2, 6=3+3;
ранг 3: 6=4+1+1, 6=3+2+1, 6=2+2+2;и т.д.
ранг 6: 6=1+1+1+1+1+1;
упорядоченной суммой
Как найти число композиций натурального числа n=r? Это будет число способов,
которыми можно разместить r-1 черточек между n-1 промежутками.
если ранг не фиксировать, то черточку в каждом из промежутков можно как
поместить, так и не поместить. Наибольшее число композиций будет равно 2n1 . Т.о.
композиции можно понимать как упорядоченное или неупорядоченные мультимножества,
элементы которых являются натуральными числами.
Разбиение изображают при помощи векторной записи: (n1, n2 ,..., nr )‌— n .
n  n1  n2  ...  nr или в сокращенной записи: (n1 1  n2 2  ...  nr r )‌— n
a
a
a
Часть ni присутствует в разбиении ai раз, т.о. n  a1n1  a2n2  ...  ar nr
ðàí ã  a1  a2  ...  ar
Всякое разбиение можно представить в виде (1m1 , 2m2 ,..., nmn )‌— n , где mi - целое,
неотрицательное число, которое указывает сколько раз число i
n
n
i 1
i 1
присутствует в этом
разбиении в виде части n   imi (  imi -ранг разбиения)
Разбиение можно изобразить графически, с помощью графа Ферре (Ферррер)
(1, 22 ,32 , 4)

Принцип Дирихле.
Если n(k , r ) является наименьшим целым n, при котором в каждом разбиении этого n
на r частей, найдется часть не меньшая, чем k, то тогда n(k , r )  rk  1  r
Принцип Дирихле можно сформулировать в виде размещения (принцип ящика):
при любом размещении r+1 предметов по r ящикам, то найдется ящик с двумя
предметами.
27. Вложимость разбиений.
Основным соответствием между разбиениями чисел является их вложимость, т.е.
(k1 ,..., kt ) входит в разбиение (n1 ,..., nr ) , если существует отображение  : (1,..., t )  (1,..., r )
, при котором выполняется система неравенств:

j 1 ( i )
ki  ni
i  1, r , где  1 (i) - полный
прообраз элемента i при отображении  .
Каждая часть k i входит в одну группу; пустые группы исключаются.
Если разбиение (k1 ,..., kt ) вложимо в (n1 ,..., nr ) , то будем записывать это, используя
обозначение включения множеств: 
Элементарные свойства разбиений:
каким наиб быстрым способом можно определить вложимость?
(k1 ,..., kt )‌– k ,
(n1 ,..., nr )‌– n
Если выясняется, что k
‌> n , то k не вложимо во второе. Это утверждение лежит в
основе экстремального подхода к построению быстрого способа проверки вложимости.
28. Ранговое условие вложимости; пример использования.
В ряде случаев удается сразу, без какой-либо алгоритмической проверки, решить
комбинаторную задачу распознавания о вложимости разбиений. Так, от необходимости
выяснения вопроса о вложимости разбиений некоторых фиксированных рангов избавляет
следующая теорема.
Иногда удается решить комбинаторную задачу распознавания вложимости
разбиений без алгоритмической проверки.Существуют теоремы для выяснения вопроса
вложимости некоторых фиксированных разбиений.
Теорема.
Пусть t является тем наименьшим t, при котором p  Pr (n), q  Pt (k ) : q  p ,
тогда t(n, k, r) = max{k -  n  +1,1} .
 r
t(n, k, r)
Следствие:
если
p  pr (n), q  pi (k ) :
-
наименьшее
n,
при
котором
q  p , то t(n, k, r) = max{k -  n  +1,1}
 r
29. Принцип полного размещения; пример использования.
Пусть k1  k2  ...  kt и дано r, все – натуральные числа. Наименьшее n(k1 ,..., kt ; r ) ,
при котором разбиение (k1 ,..., kt ) к вложимо в разбиение этого n на не более чем r частей.
i
n(k1 , k2, ..., kt ; r )  max( k j  (ki  1)(r  1))
1i t
j 1
Следствие: если для натуральных чисел 1  k1  k2  ...  kt выполнено условие
(k1 ,..., kt )‌– k  n и через r (k1 , k2, ..., kt ; n) обозначено наибольшее r, при котором каждое
разбиение
на
r
n
частей
вложимо
в
разбиение
k1 , k2, ..., kt
,
то
i
r (k1 , k2, ..., kt ; n)  min
(n   k j )
j 1
1i t
(ki  1)
Искомое r согласно принципу полного размещения есть необходимый целый корень
неравенства n  (k1 ,..., kt ; r )
30. Вложимость с ограничениями
Иногда требуется гарантировать вложимость разбиения (k1 ,..., kt ) не во все
разбиения чилс n на r частей, а только в некоторые. Экстремальный результат,
гарантирующий вложимость фиксированного разбиения уже не во все разбиения данного
ранга можно представить в виде следующего утверждения:
пусть n1 ,..., nr , k1  k2  ...  kt , n(k1 ,.., kt ; n1 ,.., nr ) - наименьшее n при котором каждое
разбиение p1 ,..., pr этого n на
свойством,
r
частей такое, что ( pi )  ni , i  2, r , обладает тем
(k1 ,..., kt )  ( p1 ,..., pr )
что
i
r
j 1
l 2
,
тогда
n(k1 ,..., kt ; n2 ,..., nr )  max( k j   min(nl ; ki  1)) .
1i t
В отличие от принципов полного размещения, последнее утверждение обеспечивает
не только установление факта вложимости разбиений, но и для некоторых разбиений
может использоваться как условие невложимости.
31. Комбинаторные модели для исследования процесса распределения памяти КС.
Перераспределение памяти КС  это перенесение ряда информационных объектов из
адресного пространства оперативной памяти на вспомогательную память с целью
освобождения оперативной памяти и размещения в ней других информационных
объектов, необходимых для продолжения вычислительного процесса. Под
реорганизацией памяти будем понимать перемещение информационных объектов в
адресном пространстве памяти.
Существуют два способа распределения памяти: статический и динамический. (статич. –
до вып-я проги, один раз)
... Поэтому наши исследования будут направлены на изучение процесса распределения
памяти вычислительных систем с сегментной организацией программ и данных, которые
обладают следующими преимуществами по сравнению с системами со страничной
организацией памяти:
• существенно упрощается решение задачи организации внешних ссылок в сегментах,
так как в этом случае от объединяющей программы не требуется работы с абсолютными
адресами;
• облегчается управление решением реентерабельных программ;
• исключаются потери в эффективности использования памяти из-за округления
размеров запросов до принятого в системе размера страниц (потери на внутреннюю
фрагментацию).
...
Модель 1. В любой момент времени функционирования АСУ влияние внешней
фрагментации на процесс распределения памяти достаточно полно характеризуют
следующие параметры:
• количество свободных (занятых) участков памяти;
• размер свободных (занятых) участков;
• суммарный размер свободной (занятой) памяти.
Запросы на выделение памяти в этих исследованиях в любой момент времени
функционирования АСУ достаточно полно характеризуются следующими параметрами:
• количеством запросов в очереди на выделение памяти;
• требуемыми размерами непрерывных участков адресного пространства памяти или
размерами запросов;
• суммарным размером памяти, требуемой для удовлетворения запросов из очереди.
Модель 2. Особенностью распределения памяти в КС с сегментной организацией
программ и данных является неделимость поступающих запросов на выделение памяти, т.
е. для удовлетворения каждого запроса требуется непрерывный участок адресного
пространства памяти различной длины. Такая организация распределения памяти
применяется в реальных системах телеобработки данных типа КАМА, при распределении
оперативной памяти многопроцессорных вычислительных комплексов (МВК) ЭЛЬБРУС и
ряда других систем. Удовлетворение любого запроса на память здесь реализуется
последовательным выполнением двух процессов: процессом поиска свободных
непрерывных участков адресного пространства памяти, равных или превосходящих
размер запроса, и процессом выделения этой свободной памяти под запрос.
Оба эти процесса могут быть реализованы различными алгоритмами, однако в итоге их
работы найденный участок свободной памяти либо полностью исключается из списка
свободных участков (при равенстве размеров запроса и участка памяти), либо в списке
свободной памяти учитывается остаток свободной памяти или разность размера
свободной памяти и размера запроса (при выбросе большего размера свободного участка
памяти относительно размера запроса). Вследствие этого может оказаться, что в одном
участке свободной памяти удовлетворяется более одного запроса на память. Это означает,
что процессы удовлетворения запросов на память можно моделировать понятием
вложимости разбиений чисел.
ВТОРОЙ ВАРИАНТ
Исследования, связанные с поваышение эфф-ти методов управления, распределения
памяти КС в основном направлены на поиск эффективных методов распределения,
перераспределения и реорганизации памяти.
Распределение памяти представляет собой конечную последовательность отображений
множества информационных объектов или их наименований – множества физических
адресов распределяемой памяти.
Перераспределение памяти КС – это перенесения ряда информационных объектов из
адресного простарнства ОП на вспомогательную память с целью освобождения ОП и
размещения других информационных объектов, чтобы продолжать выч. Процесс.
Под реорганизацией памяти будем понимать перемещение информационных объектов в
адресном простарнстве памяти.
Статическое распределение памяти – такое распределение, при котором I ->F (инф
объекты – физич адреса) выбирается один раз до выполнения программы.
При динамическом распределении памяти каждое I ->F выбирается непосредственно в
ходе вычисления. Применение того или иного способа зависит от наличия информации о
ресурсах памятиЮ о свойствах ссылок, программ или последовательности испольнения
инф-ции.
Стат. Распре-е инф-ее может применяться тогда, когда сведения о ресурсах и св-х ссылок
программ имеются перед решением задачи(пр-мы). При использовании динамич
распределения – наоборот.
Эфф. Функционирование КС достигается лишь тогда, когда при удовлентворении заявок
на выделение ОП накладывается как можно меньше ограничений, освобождение областей
происходит как можно быстрее.
Доп. Выделяемая часть памяти не использ и именно она определяет величину потерть в
эфф-ти использования памяти в целом.
Страничаня организация памяти существенно упрощает решение задачи ее
распределения. Однако исследования пока-ют, что в прцоессе функции-я КС потери в
эфф-тти исп-ия памяти, обусловл влиянием внутр фрагментации, сказываются больше
внешних.
….т.е. сократив затраты проц. Времени на упр-е раср-ем памяти при сегментной
организации можо повысить эфф-ть.
Поэтому все дальнейшие рассуждения – о распределении памяти с сегментнйо орг-ей
программ и данных.
Сегментная орг-ия обладает следующими преимущствами перед страничной.
Существенно упрощается решение задачи организации внешних ссылок, т.к, в этом случае
от объединяющей программы не требуется работа с абс. Адресами.
Облегчается управление пр-ми.
Исключаются потери в эфф-ти использования памяти изза округления размера запроса до
принятого в система расзмера страницы.
Рассмотрим несколько общих комбинаторных моделей, позволяющих исследовать
процесс распределения памяти в КС с сегментной организацией.
==В любой момент времени фенцуионированя КС влияние внешней фрагментации на
процесс распределения памяти характеризцется слеюущими парамтрами?
1-количество свободных/занятых участков памяти
2-размер свободных участков
3-суммарный размер своб\занятой памяти
Запросы на выделение памяти достаточно полно характеризуются слеюущими
параметрами:
1-количество запросов в очереди на выделение памяти
2-тербования к размеру непрерывных участков адресного пространства
3-суммарный объем памяти
ПРИМЕР.. Q – р-р ОП КС. N – сумм р-р свободной памяти N принадлежит Z+, N<=Q, где
Z+ - множетсво целых неотрицательных чисел.
Изза влияния внешн. Фрагментации память р-ра N окажется раздробленной на R участков.
Такое состояние свободно памяти можно интерпретировать как вектор Z(N)=(n1,n2,….nR)
N=сумма от i=1 до R ni(n1>=n2>=…>=nR),
Где ni – размер итого свободного участка, принадлежащего Z+.
Два состояние свободной памяти: Z(N)=(n1…nR) Z’(n)=(n1’…nR’)
Будес считать различными, если они различны как векторы.
Аналогично любое состояние ханятой памяти характеризуется вектором g(D) = (d1….de)
Di – размер непрерывного итого участка занятой памяти. D=сумма di..
При моделировании запросов на выделение своб. Памяти из Z(N) предполагается, что они
могут поступать одновременно, т.е. группами g(K)=(k1…..kt)
Запросы поступают по одному или группами,Ю где Ki – треб р-р свободной памяти для iго запроса.
Группу запросов интерпр как в-р q(K).
Элементы ni di kj векторов Z(N),g(D), q(K) можно интепретировать как разбиение чисел
N,D,K,t.e.
P(N)=(n1…nR)
P(K)=(k1…kR)
P(D)=(d1…dR)
Интепретацией состояний свободной и занятой памяти неупорядоченными разбиениями
чисел позволяет адекватно моделировать внешн фрагментацию памяти без учета
состояний ее адресного пространства, что упрощает модель.
Представление групп запросов на выделение памяти неупор. Разбиениями числе также не
противоречит практическому смыслу иссл-го процесса.
Алгоритм мб любым, как ипорядок обслуживания.
Т.о. 1я модель является адекватной.
С помощью множества разбиений можно описать множество всех возможных состояний
фрагм-й свободной памяти.
Используя свойства множества разбиения числе, а именно
P(N1) объ P(N2) .. P(Nr)=0
Где P(Ni)-мн-во разб числа Ni<>Nj
Можно показать, что множество состояний фрагм-ой памяти кс р-ра Q опред множество
разбиений чисел.
Разбиение соотв одноми из состояний свободной памяти КС р-ром Q.
Исследование процессов распределения памяти КС включает еще
удовлетворения запроса в адресном простанстве свободной памяти КС.
и
процесс
…блабла про моедль 2 это в др вопросах.
32. Особенностью распределения памяти в КС с сегментной организацией
программ и данных (Модель 2)
Модель 2. Особенностью распределения памяти в КС с сегментной организацией
программ и данных является неделимость поступающих запросов на выделение памяти, т.
е. для удовлетворения каждого запроса требуется непрерывный участок адресного
пространства памяти различной длины. Такая организация распределения памяти
применяется в реальных системах телеобработки данных типа КАМА, при распределении
оперативной памяти многопроцессорных вычислительных комплексов (МВК) ЭЛЬБРУС и
ряда других систем. Удовлетворение любого запроса на память здесь реализуется
последовательным выполнением двух процессов: процессом поиска свободных
непрерывных участков адресного пространства памяти, равных или превосходящих
размер запроса, и процессом выделения этой свободной памяти под запрос.
Оба эти процесса могут быть реализованы различными алгоритмами, однако в итоге их
работы найденный участок свободной памяти либо полностью исключается из списка
свободных участков (при равенстве размеров запроса и участка памяти), либо в списке
свободной памяти учитывается остаток свободной памяти или разность размера
свободной памяти и размера запроса (при выбросе большего размера свободного участка
памяти относительно размера запроса). Вследствие этого может оказаться, что в одном
участке свободной памяти удовлетворяется более одного запроса на память. Это означает,
что процессы удовлетворения запросов на память можно моделировать понятием
вложимости разбиений чисел. Пример 1. Пусть группа запросов на память сост из
объемов (5, 2, 1), а сист-а участков своб памяти  из объемов (6, 3, 3), тогда одноврем
удовлет-е всех этих запросов осущ-мо, причем не единст спосо-м: (6 содержит 5 и 1; 3
сод-т 2; 3 сод-т 0), (6 сод-т 5; 3 сод-т 2 и 1; 3 сод-т 0), (6 сод-т 5; 3 сод-т 2; 3 сод-т 1).
Таким образом, групп-а запр-в для их размещения в участках свободной памяти в
точности отражает реальную работу алгоритмов динамического распределения памяти.
33. Комбинаторная модель для оценки необходимого размера памяти КС (модель 4).
Приведите пример.
Размер оперативной памяти оказывает влияние на функционирование КС.
Увеличение ОП повышает производительность КС без каких-либо изменений программ
обработки.
При проектировании КС вопросу оценки КС уделяется большое внимание на всех
этапах проектирования. Проведение таких исследований требует существенных затрат и
ресурсов, и увеличивает время создания системы.
При пиковых нагрузках КС должна оставаться работоспособной.
Эффективное функционирование КС невозможно без выполнения условия: в
результате проектирования ПО должно соответствовать аппаратуре. Оно должно быть
спроектировано так, чтобы не снижать производительность аппаратной части и всей
системы в целом. Используя подходы для решения задачи распределения памяти можно
получить такое решение этой задачи, которое проявится только на этапе
эксплуатирования системы. Для решения задачи управления распределением данных
используется ряд комбинаторных моделей. Последовательность представления таких
моделей можно выбрать в соответствии с количеством априорной информации о процессе
функционирования ОП КС.
Рассматривается функционирование КС, в которой запросы на выделение памяти
поступают группами. Пусть размеры запросов группы поступившей в произвольный
момент времени соответствуют (k1 ,,..., kt )‌– k . Свободная память рассматривается как r
участков с суммарным размером n. Тогда согласно принципу полного размещения
i
n(k1 , k2 ,..., kt ; r )  max( k j  (k j  1)*(r  1)) , k1  ...  kt . Следовательно, что для
1i t
j 1
решения подобной задачи не требуется информация по размерам свободных участков
памяти. Достаточно проверить: n  (k1 ,.., kt ; r ) , r – количество фрагментов свободной
памяти.
ВТОРОЙ ВАРИАНТ
Модель 4. Рассматривается функционирование КС, в которой запросы на выделение
памяти поступают группами. Пусть размеры запросов группы, поступившие в
произвольный момент времени, соответствуют частям разбиения
 k , ..., k  ¢ k
1
t
.
Свободная память в рассматриваемый момент времени представлена r участками с
суммарным размером n . Тогда согласно принципу полного размещения вычисление
величины
n  k1 , ..., kt ; r   n  22, 21, 21, 20  ¢ 85,
при условии k1  ...  kt обеспечивает нахождение такого суммарного размера свободной
памяти, который, будучи представленным любым разбиением на г непрерывных
свободных участков адресного пространства, позволит полностью разместить в ней все
 k , ..., k 
1
t
без ее перераспределения и реорганизации. Из формулы принципа полного
размещения видно, что для решения этой задачи не требуется информации о размерах
свободных участков памяти, а следовательно, для каждого из запросов группы не
требуется просмотр списка свободной памяти КС. С этой целью достаточно проверить
справедливость неравенства n   k1 , ..., kt ; r  , где r  количество фрагментов, которыми
представлена свободная память размером n .
Если неравенство выполняется, то из доказательства принципа полного размещения
следует, что для удовлетворения запросов
 k , ..., k 
1
t
можно использовать любой
алгоритм динамического распределения памяти, который учитывает упорядоченность
запросов по убыванию их размеров. Иными словами, все запросы величиной  k1 , ..., kt 
можно одновременно удовлетворить в свободной памяти
 n , ..., n  ,
1
r
например, по
алгоритму first-fit, если при выборе запросов из очереди учитывается их упорядоченность
по убыванию размера. Следовательно, принцип полного размещения может быть
использован при проектировании методов динамического распределения памяти КС АСУ.
Пример
2.
Пусть
размеры
запросов
представлены
частями
разбиения
 k , ..., k    22, 13, 12, 8,
1
t
4, 2, 2, 1 ¢ 64
,
а
непрерывные
участки
адресного
пространства свободной памяти  разбиением  n1 , ..., nr    23, 21, 21, 20  ¢ 85 . Тогда
n  k1 , ..., kt ; r   n  22, 13, 12, 8, 4, 2, 2, 1; 4   85
и, следовательно, разместить все представленные запросы можно, например, следующим
образом: (23 = 22 + 1, 21 = 13 + 8, 21, 20 = 12 + 4 + + 2 + 2). Если же
 n , ..., n    23,
1
r
21, 21, 20  ¢ 84 , то принцип полного размещения уже не влечет
требуемой вложимости, несмотря на то, что последняя все же имеет место. Это
характеризует «зону неопределенности» в экстремальных комбинаторных оценках.
34. Комбинаторная модель, позволяющая произвести расчет оценки сверху
необходимого размера оперативной памяти КС
Модель 6. Пусть множество возможных состояний занятой памяти
интерпретируется множеством разбиений чисел
 d   , ..., d    , i  1, ..., l ,
i
1
i
vi
КС
где любая
часть i-го разбиения dri  соответствует размеру r-го занятого участка адресного
пространства памяти, a vi  количество занятых участков, представленных частями i-го
разбиения числа. Для каждого i-го состояния занятой памяти известно множество групп
запросов, каждая из которых в процессе функционирования АСУ может потребовать
одновременного удовлетворения всех своих запросов при i-м состоянии занятой памяти
КС.

Пусть множество разбиений чисел k1  , ..., ktj 
j
j

i 
соответствует такому множеству
групп запросов для i-го состояния занятой памяти; части этих разбиений соответствуют
размерам запросов на память, а ранг t j  количеству запросов в j-й группе
 i  1, ...,
l ; j  1, ..., mi  . Учитывая влияние внешней фрагментации, полагаем, что в
процессе функционирования АСУ при удовлетворении каждой группы запросов,
соответствующей i-му состоянию занятой памяти, свободная память КС оказывается
«раздробленной» на не более чем vi  1 непрерывных участков адресного пространства,
где vi  число занятых участков памяти, соответствующих i-му состоянию. Тогда оценка
сверху V   необходимого размера памяти КС, которой в процессе функционирования
АСУ будет достаточно для удовлетворения любой поступающей группы запросов с
учетом принципа полного размещения, вычисляется в соответствии с выражением



V  max  max  n  k1 j  , ..., ktj j 
1i l 1 j  mi
 


при k1  , ..., ktj 
j
j

i 

, где n  k1 j  , ..., ktj j 


размещ-я для кажд разбиен k1  , ..., ktj 
j
j

i 

i 

i 


; vi  1    d ri  
  r 1

v
; vi  1 опред-ся по формуле принципа полн

v
,a
d 
r 1
i
r
 суммарн размер занят. пам-и при
удовлет-и запросов группы.
35. Диаграммы Ферре и инверсии в бинарных последовательностях
Разбиения удобно представлять в виде наглядных геометрических объектов,
называемых диаграммами Ферре. Диаграмма Ферре разбиения — подмножество первого
квадранта плоскости, разбитое на ячейки, каждая из которых представляет собой точку.
Ячейки рамещаются в строки, первая строка имеет длину k1, над ней расположена строка
длиной k2, и т. д. до m-ой строки длины km. Строки выровнены по левому краю.
Более формально, диаграмма Ферре — это замыкание множества точек (x,y) таких, что
x,y > 0 и
где [x] обозначает целую часть x.
Разбиение можно изобразить графически, с помощью графа Ферре (Ферррер)
(1, 22 ,32 , 4)

37. Надежность кольцевой структуры КС (для сети [n,2]).
Рассчитаем надежность кольцевой структуры:
Если занумеровать узлы кольца так, чтобы связи между узлами задавать
таблицей пар: i, (i  1) mod n ,
узлами
i
и
j
то вероятность отказа связей между
будет
определяться
зависимостью:
 (i, j)  max (i  j) mod n, ( j  i) mod n, при i  j изменяется от 1 до
n
 2  .
Тогда достаточно определить вероятность отказа связей между узлами 0 и i=1,2,…l=[n/2]. Между
этими узлами существует 2 пути:
1: 0,1,..., (i  1), i
, (i-1) промежуточных узлов
2: 0, n  1,..., (i  1), i , n-i ребер.
q1 – отказ узла, q2 – отказ линий связи.
P1 (i)  (1  q1 )i1 (1  q2 )l – для первого пути.
P2 (i)  (1  q1 ) ni1 (1  q2 ) ni – для второго пути.
Вероятности (1  P1 (i)) и (1  P2 (i)) вероятности разрыва связи. Для того, чтобы разорвать связи
между узлами 0 и I, нужно разорвать оба пути:


Q02  1  P1 (i )1  P2 (t )  1  (1  q1 )i1 (1  q2 )i 1  (1  q1 ) ni1 (1  q2 ) ni

.
Дальше
найдем
максимум.
При i=l выражение достигает максимума.
При n=2l получаем выражение:


 1  (1  q )  

n  2l
 1  (1  q )  

Q  1  (1  q1 ) l 1 (1  q2 ) l
Q1
Q2
2
l 1 2
1
l 2
1
Q – это глобальная, Q1 – реберная, Q2 – узловая.(вроде так…)
37-а. Надежность сети КС.
Надежность – свойство КС выполнять любую функцию при определенных
условиях эксплуатации в течение заданного времени и с установленными
параметрами.
Отказ – событие, состоящее в полной или частичной утрате работоспособности КС.
Наступает, когда система не сохраняет свои параметры в заданных пределах.
Основная характеристика надежности вероятность того, что при заданных
условиях в течение заданного времени отказ в ней не возникнет.
P(t )  PT  t, где T – наработка на отказ, t – заданное время.
Аналогия с функцией надежности – функция ненадежности (вероятность отказа):
Q(t )  PT  t . Из определения функции P(t )  q(t )  1 или P(t )  1  q(t ) . Если
заданное время произвольное, то тогда P(t )  1  Q , следовательно мерой Р может
выступать значение Q, т.е. чем больше Q, тем меньше надежность.
Количественная надежность сети
– вероятность
разрушения
сети.(?/Дальше в лекциях пробел)
связей
40. Определение путей и разрезов на графе(пример).
Путем в ненаправленном(2хполюсном) графе называется такое подмножество его
ребер, которое позволяет, переходя от одного ребра к другому через инцидентные им
обоим вершины пройти от одного полюса графа к другому.
Путей в 2хполюсном графе м.б. в общей случае достаточно много, причем путь
может включать в себя петли, может больше одного раза проходить через одну и туже
вершину. Формально путь может включать и висячие ребра.
В параллельной системе путем является все множество ребер и любое непустое его
подмножество. При анализе связности в 2хполюсном графе удобнее всего использовать
понятие минимального пути. Мин путем 2хполюсного графа называется такое подмно-во
ребер, которое подволяет переходя от одного ребра к другому через инцидентные им
обоим вершины, пройти от входного полюса к выходжному (от истока к стоку), причем
исключение хотя бы одного ребра из этого подмн-ва приводит к тому, что оставшееся
подмн-во ребер не является путем.
Иначе говоря, мин путь – путь без петель(циклов) – без висячих ребер. Мин путь
также называется простым.
Мин путь представляет собой последовательно сосединение некоторых ребер
графа, причем крайние ребра инцидентны соотв-му входному и выходному полюсам,
следовательно, если через Аi обозначать подмн-во ребер, образующих j-ый мин путь,
структ-ю функция этого мин пути
 j( X ) 
xi
iAj
В частности в последовательной системе мин путем является мн-во всех ее ребер,
а в параллельной каждый мин путь состоит из 1 ребра, а число путей = число ребер в
системе.
Связность 2хполюсного графа обеспечивается наличием хотя бы 1 пути(или мин пути) в
графе системы. Структ. ф-ию 2хполюсного графа можно выразить через структ функцию
путей
, где N-число мин путей в графе.
Окончательно :
Перечисление простых путей – сложный вопрос перечисл-ой комбинаторики.
Разрезом в ненаправленном 2хполюсном графе (НДГ) наз-ся такое подмн-во его
ребер, удаление которых из графа разрывает все пути этого графа. В этом случае
различных разрезов может быть много. Единственный разрез имеется только в
параллельной системе, причем подмн-во ребер, обр-х этот разрез совпадает со всем мнвом ребер графа.
При анализе свзяности удобнее всего использовать мин разрез.
Мин разрезом НДГ называется такое подмн-во его ребер, удаление которых разрывает все
пути графа от истока к стоку, причем введение хотя бы одного любого из ребер этого
подмн-ва приведет к образованию хотя одного пути. Следовательно, мин разрез есть
параллельное соединение некоторых ребер. Обозначим Вк подмн-во ребер образующих кый
мин
разрез.
Тогда
структ.
функция
В параллельной системе мин разрезом является мно-во всех ее ребер, в
последовательной каждый мин разрез состоит из 1 ребра, число таких разрезов = число
ребер в системе. Из определения -> для нарушения связности НДГ достаточно
исключение рер принадлежащих хотя бы 1 мин разрезу. Иначе в графе не должно быть ни
одного разреза, чтобы он оставался связным. Структ функцию можно записать
М – число мин разрезов в НДГ. Мин разрезы могут быть зависимыми, если в их состав
входит одни и теже ребра. Перечисление мин разрезов представляет сложную задачу.
41. Граничные оценки показателей связности.
Вычисление различных значений показателей связности(вероятность связности
ребер в графе) на практике сталкивается со значительными вычислительными
трудностями, т.к. решение этой задачи сводится к простому перебору.
Однако, используя пути и разрезы, удается получить достаточно простые, по
сравнению с точными методами нахождение соответствующих характеристик, граничные
оценки (верхнего и нижнего) требуемого показателя. Первые разрезы были получены для
оценки вероятности связности НДГ(?) с ненадежными ребрами. Другими словами
рассматривается граф, ребра которого могут существовать или исключаются из графа с
определенными вероятностями (отказами). Отказы ребер предполагаются независимыми.
Введем понятие связанных случайных величин(ССВ). Впервые понятие ССВ ввели
Барлоу и Прошон. Случайные величины епс1,епс2,епс3 называются связанными, если
P(1  t1,  2  t 2,  n  tn)   P( i  ti), P(1  t1,... n  tn)   P( i  ti)
1i  n
Или
1i  n
P(min  i  ti)   P( i  ti), P(max  i  ti)   P( i  ti)
1i  n
1i  n
1i  n
1i  n
Связность случайных величин можно понимать как одну из форм положительной
корреляции. В рассматриваемых случаях имеем дело лишь с бинарными случайными
величинами. Упоминалось, что пути и разрезы, в т.ч. min, м.б. зависимыми из-за того, что
в их состав могут входить одни и те же ребра. В этом случае имеется связь
соответствующих структурных функций αi(x) и αj(x) ∀ i,j={1,N}и соответственно βi(X) и
βj(X) ∀ i,j= {1,M}. такая зависимость возникает, если все элементы какого-либо
устройства одновременно подвергаются одному и тому же внешнему воздействию,
при этом показатели всех элементов ухудшаются одновременно. Если xi и xj
связанные случайные величины, принимающие значение 1 с вероятностью
ri=P(xi=1)=1, rj=P(xj=1)=1, то структурная функция φ(xi,xj)=xi ∧ xj принимает
значение 1 с вероятностью R=P(φ(xi,xj)=1)=ri+rj+cov(xi,xj), где cov(xi,xj)ковариация случайных величин xi,xj. Ковариация xi,xj –неотрицательная величина
для положительных корреляционных чисел. Обобщим для полож величин
Для двух случайных величин ri=P(xi=1)=1 совпадает с мат.ожиданием этой
величины:
При рассматривании дизъюнкций связанных булевых переменных можно
записать
Окончательно
Используя дополнительные сведения и полученное выражение к оценке
граничных условий вероятности связности НДГ.
43. Двухсторонние граничные оценки Эзари-Прошана для вероятности связанности
двухполюсного графа
57. Определите d в узле КС и в КС (структура КС условно изображена на рисунке)
Мода узла (nl) – число узлов, находящихся на расстоянии l от выделенного.
d  max{d ij } ;
1 d
dl 
l  nl

n  1 l 1
1 n
d   dl
n l 1
;
;
x1
x2
x4
x3
d 2
1
4
d3  (2 1  2 1) 
3
3
1
4
d1  (2 1  1  2) 
3
3
1
d 2  (3 1)  1
3
1
d 4  (3 1)  1
3
d
14 7

12 6
53. Диаграммы Ферре и инверсии в бинарных последовательностях
Прямоугольник с α (строки) *β (столбцы) квадратами одинакового размера.
Разбиение N  d1  d2  ...  d k
d1  d2  ...  dk
k 
,
,
d
,
1 i  k
  7,   11,
2.
n  22  8  6  6  1  1
Разбиению n, имеющему диаграмму Ферре α*β поставим во взаимное однозначное
соответствие последовательность, элементами которой являются 0 и 1. Для этого, из
правой верхней вершины прямоугольника построим траекторию – «огибающую
диаграммы Ферре». Она проходит по верхней стороне прямоугольника и затем движется
на заштрихованной части диаграммы Ферре. На каждом шаге, если траектория касается
горизонтальной стороны квадрата, то «0», а если вертикальной, то «1».
Бинарная последовательность имеет длину α+β. Будет α «0» и β «1». Число «0» правее «1»
называется числом инверсий.
Download