сетей Петри.

advertisement
1. Классификация параллельных КС по структурно-функциональным признакам. ..................................... 2
2. Классификация параллельных КС по функциональным возможностям КС с точки зрения
пользователя.......................................................................................................................................................... 6
3. Проведите сравнительный анализ классификаций компьютерных систем. ............................................... 7
4. Мультикомпьютеры, кластеры и симметричные мультипроцессоры  общая характеристика, схемы
построения, особенности каждой из систем, области применения. ............................................................... 8
5. Системы с распределенной и разделяемой памятью, массово-параллельные системы  общая
характеристика, схема построения, особенности каждой из систем, области применения. ...................... 10
6. Структура, достоинства и недостатки UMA-, NUMA- и ccNUMA-систем ............................................. 11
UMA (заход на UMA через SMP) ...................................................................................................................... 11
Масштабируемая архитектура. Что понимается под словами «масштабируемость кластера»? ................ 12
7. Архитектуры S2MP и NUMA-flex как развитие архитектуры ccNUMA .................................................. 13
8. Основные понятия теории моделирования параллельных КС. Методы моделирования параллельных
КС ......................................................................................................................................................................... 14
9. Задачи моделирования параллельных КС................................................................................................... 15
10. Приведите основные принципы моделирования. ..................................................................................... 16
11. Моделирование параллельных процессов. Применение аппарата сетей Петри. Подклассы и
расширение сетей Петри. ................................................................................................................................... 17
12. Применение сетей Петри для синтеза дискретных управляющих устройств. ....................................... 19
13. Оценочные или Е-сети как расширение сетей Петри ............................................................................... 20
14. Моделирование конвейерной обработки информации ............................................................................. 21
15. Задачи сохранения и активности сети Петри ............................................................................................ 22
16. Задачи достижимости и покрываемости сети Петри. ............................................................................... 25
17. Задача безопасности и ограниченности сети Петри ................................................................................. 26
19. Моделирование сетями Петри задач синхронизации при взаимодействии процессов в КС ................ 27
20. Задача активности сетей Петри ................................................................................................................... 29
21. Анализ сетей Петри матричным методом .................................................................................................. 31
22. Матричный метод анализа сетей Петри- достоинства и недостатки метода. ........................................ 33
23. Задача достижимости сетей Петри ............................................................................................................. 34
18. Использование сетей Петри для количественных оценок функционирования параллельных КС. ..... 35
24. Границы возможностей моделирования с помощью сетей Петри. ......................................................... 35
27. Границы возможностей моделирования с помощью сетей Петри. ......................................................... 35
По словам Можарова здесь нужно рассказать поверхностно о сетях Петри, где используются, зачем
вообще применяются, какие существуют подклассы и расширения, чем они лучше исходных сетей
Петри, рассмотреть методы анализа. ................................................................................................................ 35
25. Подклассы сетей Петри ............................................................................................................................... 36
26. Маркированные графы – подкласс сетей Петри. ...................................................................................... 37
Этот подкласс позволяет моделировать алгоритмы функционирования вычислительных систем,
взаимосвязи между подсистемами и ряд других факторов без учета конкуренции между процессами.
28. Покажите, используя матричный метод анализа сетей Петри, что маркировка (0, 7, 0, 1)
недостижима из маркировки (1, 0, 1, 0) для сети Петри, изображенной на рисунке. ................................. 37
28. Покажите, используя матричный метод анализа сетей Петри, что маркировка (0, 7, 0, 1)
недостижима из маркировки (1, 0, 1, 0) для сети Петри, изображенной на рисунке. ................................. 38
29. Дана последовательность запусков переходов  = t3 t2 t3 t2 t1 сети Петри, изображенной на рисунке.
Определите вектор запуска и маркировку ’ сети Петри. ............................................................................ 39
30. Определите является ли маркировка (1, 8, 0, 1) достижимой из маркировки (1, 0, 1, 0) для сети
Петри, изображенной на рисунке. Найдите последовательность запусков переходов . .......................... 40
31. Понятие о топологическом синтезе и анализе структур КС .................................................................... 41
32. Разбиения чисел. Основные понятия и определения. Принцип Дирихле. ............................................. 42
33. Вложимость разбиений ................................................................................................................................ 43
34. Ранговое условие вложимости; пример использования ........................................................................... 44
35. Принцип полного размещения; пример использования ........................................................................... 45
36. Вложимость с ограничениями; пример использования ............................................................................ 46
37. Комбинаторные модели для исследования процесса распредления памяти КС ................................... 47
38. Особенность распредления памяти в КС с сегментной организацией программ и данных (Модель 2).
Приведите пример .............................................................................................................................................. 51
1
39. Комбинаторная модель для оценки необходимого размера памяти КС (модель 3). ............................. 52
40. Комбинаторные модели, позволяющие произвести расчет оценки сверху необходимого размера
оперативной памяти КС ..................................................................................................................................... 54
41. Диаграммы Ферре и инверсии в бинарных последовательностях .......................................................... 56
42. Влияние топологии на технические характеристики сетей ..................................................................... 58
43. Классы характеристик КС ........................................................................................................................... 59
44. Абсолютно однородная сеть (определение, примеры) ............................................................................. 60
45. Какую [n,m]-сеть можно назвать уницентральной? .................................................................................. 60
46. Построить коммутатор по схеме сети косвенного двоичного куба ........................................................ 61
47. Построить двухкаскадный коммутатор компьютерной сети ................................................................... 61
48. Понятие о сложности сети КС .................................................................................................................... 63
49. Задача отображения множества программных модулей на множество процессоров. .......................... 64
50. Проблемы адаптации структуры КС к алгоритмам решаемых задач в терминах теории графов ........ 65
51. Диаметр и средний диаметр [n,m]-сети ...................................................................................................... 66
52. Надежность сети КС..................................................................................................................................... 67
53. Надежность кольцевой структуры КС ....................................................................................................... 67
54. Отказоустойчивость (живучесть) топологической структуры КС .......................................................... 68
55. Связь стоимостных характеристик и топологии КС ................................................................................. 69
56. Приведите общее выражение для переключающей матрицы .................................................................. 70
57. Определите d в узле КС и в КС ................................................................................................................ 71
58. Дайте определение реберного графа и постройте граф L(G), если граф G имеет вид: ......................... 71
59. Приведите определение и поясните особенности параллельных КС с магистральными связями. ..... 72
60. Приведите математическое описание магистрально-модульной КС. ..................................................... 73
61. Структура магистрально-модульных КС; особенности построения структур магистральных КС и их
отличие от других типов структур компьютерных сетей? ............................................................................. 74
62. Приведите определение реберного графа и постройте граф L(G) неориентированного графа C4. ..... 74
2
1. Классификация параллельных КС по структурно-функциональным признакам.
По-видимому, самой ранней и наиболее известной является классификация архитектур
вычислительных систем, предложенная в 1966 году М.Флинном. Классификация базируется на понятии
потока.
Классификация Флинна
По-видимому, самой ранней и наиболее известной является классификация архитектур
вычислительных систем, предложенная в 1966 году М.Флинном. Классификация базируется на понятии
потока, под которым понимается последовательность элементов, команд или данных, обрабатываемая
процессором. На основе числа потоков команд и потоков данных Флинн выделяет четыре класса
архитектур: SISD, MISD, SIMD, MIMD:
SISD (single instruction stream / single data stream) одиночный поток команд и одиночный поток данных. К этому
классу относятся, прежде всего, классические последовательные
машины, или иначе, машины фон-неймановского типа. В таких
машинах есть только один поток команд, все команды
обрабатываются последовательно друг за другом и каждая
команда инициирует одну операцию с одним потоком данных.
Для увеличения скорости обработки команд и скорости
выполнения арифметических операций может применяться
конвейерная обработка
SIMD (single instruction stream / multiple data stream) одиночный поток команд и множественный поток данных. В
архитектурах подобного рода сохраняется один поток команд,
включающий, в отличие от предыдущего класса, векторные
команды. Это позволяет выполнять одну арифметическую
операцию сразу над многими данными - элементами вектора.
Обработка элементов вектора может производиться либо
процессорной матрицей, либо с помощью конвейера.
MISD (multiple instruction stream / single data stream) множественный поток команд и одиночный поток данных.
Определение подразумевает наличие в архитектуре многих
процессоров, обрабатывающих один и тот же поток данных.
Однако ни Флинн, ни другие специалисты в области
архитектуры компьютеров до сих пор не смогли представить
убедительный пример реально существующей вычислительной
системы, построенной на данном принципе.
MIMD (multiple instruction stream / multiple data stream) множественный поток команд и множественный поток данных.
Этот класс предполагает, что в вычислительной системе есть
несколько устройств обработки команд, объединенных в единый
комплекс и работающих каждое со своим потоком команд и
данных. Большинство ВС попадают именно в этот класс.
3
Классификация Хокни
Множественный поток команд может быть обработан двумя способами: либо одним
конвейерным устройством обработки, работающем в режиме разделения времени для отдельных
потоков, либо каждый поток обрабатывается своим собственным устройством. Первая возможность
используется в MIMD компьютерах, которые автор называет конвейерными. Архитектуры,
использующие вторую возможность, в свою очередь опять делятся на два класса:
- MIMD компьютеры, в которых возможна прямая связь каждого процессора с каждым,
реализуемая с помощью переключателя;
- MIMD компьютеры, в которых прямая связь каждого процессора возможна только с
ближайшими соседями по сети, а взаимодействие удаленных процессоров поддерживается специальной
системой маршрутизации через процессоры-посредники.
Далее, среди MIMD машин с переключателем выделяются те, в которых вся память распределена
среди процессоров как их локальная память. В этом случае общение самих процессоров реализуется с
помощью очень сложного переключателя, составляющего значительную часть компьютера. Такие
машины носят название MIMD машин с распределенной памятью. Если память это разделяемый ресурс,
доступный всем процессорам через переключатель, то такие MIMD являются системами с общей
памятью. В соответствии с типом переключателей можно проводить классификацию и далее: простой
переключатель, многокаскадный переключатель, общая шина.
При рассмотрении MIMD машин с сетевой структурой считается, что все они имеют
распределенную память, а дальнейшая классификация проводится в соответствии с топологией сети
Классификация Шнайдера
В 1988 году Шнайдер предложил новый подход к описанию архитектур параллельных
вычислительных систем, попадающих в класс SIMD систематики Флинна. Основная идея заключается в
выделении этапов выборки и непосредственно исполнения в потоках команд и данных. Именно
разделение потоков на адреса и их содержимое позволяет описать такие ранее "неудобные" для
классификации архитектуры, как компьютеры с длинным командным словом, систолические массивы и
целый ряд других. Данная классификация основывается на выделении пары (I;D)=(команды;данные) и
называет эту пару вычислительным шаблоном. Все компьютеры разбиваются на классы в зависимости
от того, какой шаблон они могут использовать.
Компьютер может исполнить шаблон (I;D), если он может выдать:
- адреса команд для одновременной выборки из памяти;
- декодировать и проинтерпретировать множество команд;
- выдать одновременно множество адресов операндов;
- выполнить одновременно операции над различными данными;
По классификации можно выделить следующие классы компьютеров:
- классические фон-неймановские;
4
- фон-неймановские, в которых заложена возможность выбирать данные, расположенные с
разным смещением относительно одного и того же адреса, над которыми будет выполнена одна и та же
операция;
- SIMD без возможности получения уникального адреса для данных в каждом процессорном
элементе;
- SIMD, имеющих возможность независимой модификации адресов операндов в каждом
процессорном элементе;
- компьютеры типа MIMD;
- КС, выбирающие и исполняющие одновременно несколько команд, причем для доступа к
которым используеся один адрес.
Классификация Скилликорна
В 1989 году была сделана очередная попытка расширить классификацию Флинна для
преодоления ее недостатков. Скилликорн разработал подход, пригодный для описания свойств
многопроцессорных систем и некоторых нетрадиционных архитектур.
Предлагается рассматривать архитектуру любого
компьютера, как абстрактную структуру, состоящую из
четырех компонент:
- процессор команд (IP - Instruction Processor) функциональное устройство, работающее, как интерпретатор
команд; в системе, вообще говоря, может отсутствовать;
- процессор данных (DP - Data Processor) функциональное устройство, работающее как преобразователь
данных, в соответствии с арифметическими операциями;
- иерархия памяти (IM - Instruction Memory, DM - Data
Memory) - запоминающее устройство, в котором хранятся данные и команды, пересылаемые между
процессорами;
- переключатель - абстрактное устройство, обеспечивающее связь между процессорами и
памятью.
Переключатели бывают четырёх типов: «1 - 1» (связывают пару устройств), «n - n» (связывает
каждое устройство из одного множества устройств с соответствующим ему устройством из другого
множества, то есть фиксирует попарную связь), «1 - 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
определяет интегральную характеристику потенциала параллельности архитектуры, которую Фенг
назвал максимальной степенью параллелизма ВС.
5
Таким образом все КС MIMD можно разделить на 4 класса:
- Разрядно-последовательные, пословно-последовательные n=m=1 (в каждый момент времени
такая система обрабатывает только 1 двоичный разряд);
- Разрядно-параллельные последовательно-последовательные n>1, m=1 (большинство
классических последовательных компьютеров и многие вычислительные системы принадлежит к
данному классу);
- Разрядно-последовательные, пословно-параллельные n=1, m>1 (обычно КС этого класса
состоят из большого числа одноразрядных процессоров, причем каждый процессор может независимо
от остальных обрабатывать свои данные);
- Разрядно-параллельные, пословно параллельные n>1, m>1 (большая часть существующих
параллельных вычислительных систем, обрабатывая одновременно mn двоичных разрядов,
принадлежит именно к этому классу);
Классификация Хендлера
В основу классификации Хендлер закладывает явное описание возможностей параллельной и
конвейерной обработки информации вычислительной системой. При этом он намеренно не
рассматривает различные способы связи между процессорами и блоками памяти и считает, что
коммуникационная сеть может быть нужным образом сконфигурирована и будет способна выдержать
предполагаемую нагрузку.
Предложенная классификация базируется на различии между тремя уровнями обработки данных
в процессе выполнения программ:
- уровень выполнения программы - опираясь на счетчик команд и некоторые другие регистры,
устройство управления (УУ) производит выборку и дешифрацию команд программы;
- уровень выполнения команд - арифметико-логическое устройство компьютера (АЛУ)
исполняет команду, выданную ему устройством управления;
- уровень битовой обработки - все элементарные логические схемы процессора (ЭЛС)
разбиваются на группы, необходимые для выполнения операций над одним двоичным разрядом.
Таким образом, подобная схема выделения уровней предполагает, что вычислительная система
включает какое-то число процессоров каждый со своим устройством управления. Каждое устройство
управления связано с несколькими арифметико-логическими устройствами, исполняющими одну и ту
же операцию в каждый конкретный момент времени. Наконец, каждое АЛУ объединяет несколько
элементарных логических схем, ассоциированных с обработкой одного двоичного разряда (число ЭЛС
есть не что иное, как длина машинного слова).
Если на какое-то время не рассматривать возможность конвейеризации, то число устройств
управления k , число арифметико-логических устройств d в каждом устройстве управления и число
элементарных логических схем w в каждом АЛУ составят тройку для описания данной вычислительной
системы C: t(C)= (k, d, w).
6
2. Классификация параллельных КС по функциональным возможностям КС с
точки зрения пользователя.

Мультикомпьютер - совокупность объединенных сетью отдельных вычислительных модулей,
каждый из
IBM.

кластеры - набор компьютеров, рассматриваемый ОС, системным программным обеспечением,
программными приложениями и пользователями как единая система.

Симметричные мультипроцессорные системы SMP - состоят из нескольких десятков
процессоров, разделяющих общую основную (оперативную) память и объединенных
коммуникационной системой

массово-параллельные системы - В этих КС узлы обычно состоят из одного или нескольких
процессоров, локальной памяти и нескольких устройств ввода/вывода. Чаще всего в МРРсистемах реализуется архитектура без разделения ресурсов. В каждом узле работает своя копия
ОС, а узлы объединяются специализированной коммуникационной средой.

системы с распределенной разделяемой памятью - Общим является наличие, помимо кэша,
локальной памяти в каждом процессорном узле. Узел может состоять из нескольких процессоров
и иметь архитектуру SMP. Поддерживается общее адресное пространство памяти. Однако при
этом память является распределенной по узлам, и время доступа зависит от места расположения
данных. Поэтому некоторые DSM-системы получили название NUMA (Non-Uniform Memory
Access), что означает неоднородный доступ к памяти.
Характеристика
Тип системы
SMP, DSM
Мультикомпьютер
Кластер
Порядок числа
узлов N
1 .. 1000
До 100
10 .. 100
100 .. 1000
Сложность узла
В широком
диапазоне от ПК и
выше
ПК
Один или
несколько ЦП
От процессорного
элемента до ПК
Взаимодействие
узлов
Разделяемые
файлы
Обмен
сообщениями
Общая разделяемая
(SMP) или
распределенная
(DSM) память
Планирование
вычислительных
работ
Независимые
очереди процессов
Множество
скоординированных
очередей
Одна очередь
Поддержка образа
единой системы
Частично
Да
Да (SMP), Нет
(NUMA)
Тип и наличие ОС
N копий
распределенных
ОС
N копий, N разных
ОС или микроядер
Одна монолитная
(SMP), от одной до
N (DSM)
Адресное
пространство
Множественное
Множественное или
единое
Единое
MPP
Обмен
сообщениями или
разделение
переменных
распределенной
памяти
Одна очередь на
хост-узле при
поддержке единой
системы
Частично
N микроядер,
монолитные ОС, N
копий
распределенных
ОС
Множественное
или единое
7
3. Проведите сравнительный анализ классификаций компьютерных систем.
В качестве основных признаков классификаций, характеризующих структуру и функционирование ВС с
точки зрения параллельности работы системы, чаще всего используют следующие характеристики:
- тип потока команд
- тип потока данных
- способ обработки данных
- тип коммуникационной среды
- степень однородности компонент системы
- степень согласованности режима работы устройств
По способу обработки данных ВС делятся на системы с пословной и поразрядной обработкой. В системах
с пословной обработкой все разряды каждого слова обрабатываются процессором последовательно (слово за
словом). В системах с поразрядной обработкой одноименные разряды большого числа слов обрабатываются
одним процессором, но параллельно (ассоциативные системы).
Классификация Флинна
Предложенная схема классификации вплоть до настоящего времени является самой применяемой при
начальной характеристике того или иного компьютера. Если говорится, что компьютер принадлежит классу
SIMD или MIMD, то сразу становится понятным базовый принцип его работы, и в некоторых случаях этого
бывает достаточно. Однако видны и явные недостатки. В частности, некоторые заслуживающие внимания
архитектуры, например dataflow и векторно--конвейерные машины, четко не вписываются в данную
классификацию. Другой недостаток - это чрезмерная заполненность класса MIMD. Необходимо средство, более
избирательно систематизирующее архитектуры, которые по Флинну попадают в один класс, но совершенно
различны по числу процессоров, природе и топологии связи между ними, по способу организации памяти и,
конечно же, по технологии программирования.
Наличие пустого класса (MISD) не стоит считать недостатком схемы. Такие классы могут стать
чрезвычайно полезными для разработки принципиально новых концепций в теории и практике построения
вычислительных систем.
Классификация Хокни
Осуществляет систематизацию компьютеров, попадающих в класс MIMD по систематике Флинна.
Классификация Шнайдера
Можно отметить два положительных момента в данной классификации: более избирательная
систематизация SIMD компьютеров и возможность описания нетрадиционных архитектур типа систолических
массивов или компьютеров с длинным командным словом. Однако почти все вычислительные системы типа
MIMD опять попали в один и тот же класс. Это и не удивительно, так как критерий классификации, основанный
лишь на потоках команд и данных без учета распределенности памяти и топологии межпроцессорной связи,
слишком слаб для подобных систем.
Классификация Скилликорна
- облегчает понимание того, что достигнуто на сегодняшний день в области архитектур вычислительных
систем, и какие архитектуры имеют лучшие перспективы в будущем;
- подсказывает новые пути организации архитектур (речь идет о тех классах, которые в настоящее время по
разным причинам пусты);
- показывает, за счет каких структурных особенностей достигается увеличение производительности
различных вычислительных систем (с этой точки зрения, классификация может служить моделью для анализа
производительности).
Классификация Фенга
Достоинством является введение единой числовой метрики для всех типов компьютеров, которая вместе с
описанием потенциала вычислительных возможностей конкретной архитектуры позволяет сравнить любые два
компьютера между собой.
Классификация Хендлера
Первая операция (x) в каком-то смысле отражает конвейерный принцип обработки и предполагает
последовательное прохождение данных сначала через первый ее аргумент-подсистему, а затем через второй.
Чтобы внести большую ясность, аналогично операции конвейерного исполнения, Хендлер вводит операцию
параллельного исполнения (+), фиксирующую возможность независимого использования процессоров разными
задачами. И наконец третья операция - операция альтернативы (V), показывает возможные альтернативные
режимы функционирования вычислительной системы. Чем больше для системы таких режимов, тем более гибкой
архитектурой, по мнению Хендлера, она обладает.
8
4. Мультикомпьютеры, кластеры и симметричные мультипроцессоры  общая
характеристика, схемы построения, особенности каждой из систем, области
применения.
Мультикомпьютеры.
Мультикомпьютеры – совокупность объединенных сетью отдельных вычислительных модулей,
каждый из которых управляется своей ОС (например, серии SP1I6M). Узлы мультикомпьютеров
обычно не имеют общих структур и связаны лишь сетью. Узлы обладают высокой степенью
автономности и могут состоять из отдельных компонентов, в том числе и кластеров, SMP-, SPM-, DSM, MPP–систем.
Для распределенной ОС мультикомпьютер выглядит как виртуальный однопроцессорный
ресурс. Взаимодействие процессоров реализуется с помощью явно заданных операций связи между
вычислителями. Обычно в мультикомпьютере реализуется согласованный сетевой протокол, и не
существует единой очереди выполняющихся процессов, хотя известны и другие примеры.
Кластеры.
Кластер – набор компонентов, рассматриваемый операционной системой, системным ПО,
приложениями и пользователями как единая система.
Кластеры получили широкое распространение из-за высокого уровня производительности при
относительно низких затратах. Высокая производительность объясняется отсутствием совместно
используемой оперативной памяти и наличием в каждом узле копии общей ОС или собственной ОС для
неоднородных кластеров. Специализированное ПО производит контроль правильности работы узлов
кластера. При отказе узла кластера его ресурсы (дисковое пространство, задание и т.д.)
переназначаются другим узлам.
По сути, кластер образуется из отдельных полноценных узлов, включающих процессоры, память,
подсистему ввода-вывода, ОС и т.д. При объединении компьютеров в кластер чаще всего
поддерживается прямая связь между узлами посредством коммуникационной сети. Технология такой
сети может варьироваться от простейшей (Ethernet) до сложных специализированных вариантов,
обеспечивающих высокую скорость обмена. Возможно параллельное использование нескольких
независимых сетей в рамках одного кластера.
На рисунке изображены 2 типичные структуры
кластеров: архитектура с разделяемыми дисками
(слева) и архитектура без разделения дисков.
В архитектуре с разделением дисков все узлы
Узлы
Узлы
кластера имеют доступ ко всем дискам. В архитектуре
кластера
кластера
без разделения дисков, несмотря на то, что
поддерживается целостный образ ресурса, каждый узел
имеет собственную оперативную память и диски; в
таких
системах
общей
является
только
Диск
Диск
Диск
Диск
Диск
Диск
коммуникационная сеть.
а
б
С точки зрения повышения производительности
кластер является хорошо масштабируемой ВС. Однако отсутствие общей разделяемой памяти (а иногда
и единого адресного пространства) обуславливает большие накладные расходы, связанные с обменом
сообщениями между узлами.
Наибольший эффект кластеры дают при вычислениях в рамках хорошо структурированных
научных приложениях. С точки зрения удобства масштабирования кластерные архитектуры допускают
практически неограниченное наращивание числа узлов. Для управления кластером используются
специальные инструменты для поддержания единого образа ресурса, в частности, система пакетной
обработки.
Коммуникации
Коммуникации
9
Симметричные мультипроцессоры.
Симметричный мультипроцессор (относится к классу SMP-систем) состоит из нескольких
десятков процессоров, причем все процессоры разделяют общую память и объединены
коммуникационной системой.
Существуют варианты SMP-архитектур с
одной
или несколькими системными шинами
...
Процессор 1
Процессор N
(например, Cray 6400 имел 4 системные шины).
Также
существуют
SMP-архитектуры
со
Кэш
Кэш
специальными
коммутаторами
для
связи
процессоров, памяти и подсистемы ввода-вывода.
Коммуникации
Пропускная способность коммуникационной
системы достаточна для поддержания быстрого
доступа к памяти. У отдельных процессоров
имеются свои уровни кеш-памяти. Достаточный
Основная
Подсистема
память
вв/выв
объем кеша и сравнительно небольшое
Диски
количество процессоров позволяет удовлетворять
обращения к основной памяти. Это легло в основу названия таких архитектур - UMA-архитектуры.
UMA (Uniform Memory Access, однородный доступ к памяти).
В UMA-архитектурах имеется единственная ОС, а ПО работает с единым адресным
пространством. При этом возникает сложная проблема сохранения когерентности данных
(согласованного извлечения содержимого кешей и основной памяти). Если модифицируется одна из
копий данных, остальные копии должны либо также модифицироваться, било объявляться
недостоверными. Отсюда – 2 альтернативных подхода к поддержанию когерентности разделяемых
данных:
1) запись с обновлением данных
2) запись с аннулированием данных
В SMP-системах обычно реализуется шинный протокол наблюдения. Происходит прослушивание
шины всеми процессорами с целью обнаружения операций записи в те ячейки памяти, копии
содержимого которых содержатся в кеше данного процессора. Производительность систем с общей
памятью, в т.ч. SMP, зависит от принятой модели согласованности памяти, определяющей, в каком
порядке процессоры наблюдают последовательность операций записи-чтения.
Передача данных между кешами различных процессоров в SMP-системах выполняется
значительно быстрее, чем обмен данными между узлами кластера или мультикомпьютера. Поэтому
SMP-система хорошо масштабируется с ростом производительности при обработке большого числа
коротких транзакций (например, банковские операции).
Сохранение когерентности требует специальных аппаратных средств быстрой модификации копий
данных. Однако, если следовать строгой модели согласованности, когда каждая операция записи
возвращает последнее записанное значение, то происходит неизбежное падение производительности.
Главная сложность построения SMP-систем - сильная связанность процессоров и наличие единой ОС,
разделяемой всеми процессорами.
10
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.
Массово-параллельные системы (МПС).
Отличительной особенностью массово-параллельных систем является большое число
процессорных узлов. Узлы обычно состоят из 1 или нескольких процессоров, локальной памяти и
нескольких устройство ввода-вывода.
В массово-параллельных системах реализуется архитектура без разделения ресурсов. В каждом
узле работает своя копия ОС, а узлы объединяются коммуникационной системой.
Если узел управляется своей собственной ОС и имеет уникальное адресное пространство памяти,
то не потребуется никаких аппаратных средств для обеспечения когерентности (согласованности).
Когерентность в случае МПС обеспечивается программными средствами на основе техники
обмена сообщениями. Также МПС можно отнести к мультикомпьютерам.
В МПС с разделяемой распределенной памятью возможна как аппаратная, так и программная
поддержка (???). Такую разновидность МПС можно отнести к классу NUMA.
11
6. Структура, достоинства и недостатки UMA-, NUMA- и ccNUMA-систем
UMA (заход на UMA через SMP)
Симметричный мультипроцессор (SMP-система) состоит из нескольких десятков процессоров,
причем все процессоры разделяют общую память и объединены коммуникационной системой.
Существуют варианты SMP-архитектур с
одной или несколькими системными шинами
(например, Cray 6400 имел 4 системные шины).
Также существуют SMP-архитектуры со
Кэш
Кэш
специальными коммутаторами для связи
процессоров, памяти и подсистемы вводаКоммуникации
вывода.
Пропускная
способность
коммуникационной системы достаточна для
поддержания быстрого доступа к памяти. У
Основная
Подсистема
отдельных процессоров имеются свои уровни
память
вв/выв
кеш-памяти. Достаточный объем кеша и
Диски
сравнительно
небольшое
количество
процессоров позволяет удовлетворять обращения к основной памяти. Это легло в основу названия
таких архитектура: UMA-архитектуры.
UMA (Uniform Memory Access, однородный доступ к памяти).
В UMA-архитектурах имеется единственная ОС, а ПО работает с единым адресным
пространством. При этом возникает сложная проблема сохранения когерентности данных
(согласованного извлечения содержимого кешей и основной памяти). Если модифицируется одна из
копий данных, остальные копии должны либо также модифицироваться, било объявляться
недостоверными. Отсюда – 2 альтернативных подхода к поддержанию когерентности разделяемых
данных:
1) запись с обновлением данных
2) запись с аннулированием данных
В SMP-системах обычно реализуется шинный протокол наблюдения. Происходит прослушивание
шины всеми процессорами с целью обнаружения операций записи в те ячейки памяти, копии
содержимого которых содержатся в кеше данного процессора. Производительность систем с общей
памятью, в т.ч. SMP, зависит от принятой модели согласованности памяти, определяющей, в каком
порядке процессоры наблюдают последовательность операций записи-чтения.
Передача данных между кешами различных процессоров в SMP-системах выполняется
значительно быстрее, чем обмен данными между узлами кластера или мультикомпьютера. Поэтому
SMP-система хорошо масштабируется с ростом производительности при обработке большого числа
коротких транзакций (например, банковские операции).
Сохранение когерентности требует специальных аппаратных средств быстрой модификации копий
данных. Однако, если следовать строгой модели согласованности, когда каждая операция записи
возвращает последнее записанное значение, то происходит неизбежное падение производительности.
Главная сложность построения SMP-систем - сильная связанность процессоров и наличие единой ОС,
разделяемой всеми процессорами.
NUMA (заход через DSM-системы)
DSM-системы (Distributed Shared Memory) – системы с распределенной и разделяемой памятью;
память таких узлов разделена физически, но адресуется в рамках единого адресного пространства.
DSM-системы могут быть реализованы различными способами. Общим для разных реализаций является
тот факт, что узел может состоять из нескольких процессоров и иметь SMP-архитектуру. Также в DSMсистемах поддерживается общее адресное пространство, но при этом память является распределенной
по узлам и время доступа к памяти зависит от месторасположения данных, поэтому некоторые DSMсистемы получили название NUMA.
NUMA – Non-Uniform memory Acess (Architecture) – Неоднородный доступ (архитектура) к
памяти.
Процессор 1
...
Процессор N
12
cc-NUMA
Частным случаем NUMA–архитектуры является cc-NUMA
cc-NUMA – Cache Coherent NUMA, архитектура NUMA с кеш-когерентным доступом.
Архитектура cc-NUMA:
Узел 1
Узел N
Механизм работы кеша каждого
узла увязан с доступом к локальной
...
...
Кэш
Кэш
Кэш
Кэш
памяти каждого удаленного узла.
Справочник
Справочник
Существует справочная память, в
которой содержится информация о
том, в каких именно кешах находится
Подсистема
Подсистема
нужный блок данных; например, узел
Память
Память
вв/выв
вв/выв
1 обращается к ячейке памяти с
адресом А основной памяти, не
являющейся локальным адресом узла
Коммуникации
1.
Тогда
справочник
узла
1
анализирует информацию (адрес А) и определяет, что данные по адресу А находятся в узле N. В этом
случае этот справочник отправляет адрес А в справочник узла N. Узел N выбирает информацию оп
адресу А.
В отличие от шинного протокола наблюдения, где при записи нового значения в кеш сообщение о
модификации передается во все узлы, справочник распознает адрес и обращается только к тому узлу,
где содержится данный адрес.
Преимущество архитектуры: простота.
Недостаток архитектуры: объем аппаратной реализации (пропорционален основной памяти
системы).
Иерархичность доступа к памяти в NUMA-архитектурах сдерживает рост количества процессоров.
Как правило, в современных NUMA-системах количество процессорных узлов не превышает 64, а
число процессоров – 128.
Процессор
Процессор
...
Процессор
Процессор
Масштабируемая архитектура. Что понимается под словами «масштабируемость кластера»?
Масштабируемая архитектура вычислительной сети – архитектура, позволяющая наращивать
количество вычислителей без коренной перестройки топологии или замены имеющегося оборудования.
При этом производительность сети должна расти с увеличением количества вычислителей.
Все существующие многопроцессорные архитектуры являются в некотором смысле
масштабируемыми. При этом чем выше степень связности модулей многопроцессорной ВС, тем
сложнее выполняется масштабирование, но тем быстрее осуществляется обмен данными между узлами.
Широчайшее распространение кластерных многопроцессорных систем в первую очередь
объясняется слабой связностью его вычислительных узлов и унифицированной технологией
коммутационной сети, эту связь обеспечивающей (Ethernet и т.д.). Кластер является наиболее
масштабируемой многопроцессорной системой на сегодняшний день (если не считать вычислений,
распределенных по территориальной или глобальной сети), обеспечивая при этом высочайшую
производительность для задач, допускающих крупноблочное распараллеливание (научные
вычислительные задачу, задачи трехмерной визуализации и др.). При этом кластер показывает
сравнительно слабую производительность при мелкоблочном распараллеливании задач.
13
7. Архитектуры S2MP и NUMA-flex как развитие архитектуры ccNUMA
S2MP - системы.
Дальнейшее
развитие
архитектуры
масштабируемость, получило название S2MP.
Узел
cc-NUMA,
преодолевающее
ограничение
на
Узел
Маршрутизатор
Сеть
Сеть межсоединений
Маршрутизатор
Узел
Узел
Одним из узких мест, сдерживающих число процессорных узлов, является пропускная
способность шин оперативной памяти.
В архитектуре S2MP процессорные узлы объединены сетью, образуемой средой межсоединений и
маршрутизаторами.
Для поддержания когерентности кешей в S2MP-архитектуре используется протокол справочника
(как в cc-NUMA).
Использование в этих системах программируемых маршрутизаторов позволяет реализовывать
системы с различной топологией (и, естественно, различным числом процессорных узлов).
В S2MP Origin 2000, например, топологией является гиперкуб с числом процессорных элементов,
равным 512.
Архитектура NUMA-flex.
Архитектура NUMA-flex во многом является наследницей S2MP.
Процессор
Теги
Притягивающая
память
Справочник
Кэш
Коммуникации
Более высокая степень готовности обеспечивается технологией так называемого разделения,
которая позаимствована у кластеров.
Каждый узел архитектуры NUMA-flex представляет собой независимый сервер и для связи с
другими узлами использует инфраструктуру архитектуры S2MP.
В каждом узле может работать своя версия ОС (например, в Origin 2000 это Irix).
Специальные аппаратные средства осуществляют контроль и изолирование ошибок, возникающих
в одном из узлов, и не дают ошибке распространиться на другие узлы.
14
8. Основные понятия теории моделирования параллельных КС. Методы
моделирования параллельных КС
Моделирование  это замещение исследуемого объекта (оригинала) его условным образом или
другим объектом (моделью) и изучение свойств оригинала путем исследования свойств модели.
Условия для существования пользы от моделирования:
 модель обеспечивает корректное (или, как говорят, адекватное) отображение свойств оригинала,
существенных с точки зрения исследуемой операции;
 модель позволяет устранить проблемы, присущие проведению измерений на реальных объектах.
В зависимости от способа реализации, все модели можно разделить на два больших класса;
физические и математические.
Физические модели предполагают, как правило, реальное воплощение физических свойств
оригинала. Например, при проектировании нового самолета создается его макет, обладающий теми же
аэродинамическими свойствами.
Математическая модель представляет собой формализованное описание системы (или операции)
на некотором абстрактном языке, например в виде совокупности математических соотношений или
схемы алгоритма. По большому счету, любое математическое выражение, в котором фигурируют
физические величины, можно рассматривать как математическую модель того или иного процесса или
явления.
Этапы компьютерного моделирования - мат.моделирования с использованием средств ВТ:
Определение цели моделирования.
Разработка концептуальной модели.
Формализация модели.
Программная реализация
Планирование проведения эксперимента
Реализация плана эксперимента
Анализ результатов моделирования
1.
2.
3.
4.
5.
6.
7.
15
9. Задачи моделирования параллельных КС
При разработке конкретной модели цель моделирования должна уточняться с учетом используемого критерия эффективности. Для критерия пригодности модель, как правило, должна
обеспечивать расчет значений показателя эффективности (ПЭ) для всего множества допустимых стратегий (показатель эффективности позволяет оценить и сравнить (по тем или иным правилам) результат
операции, полученный при использовании каждой конкретной стратегии). При использовании критерия
оптимальности модель должна позволять непосредственно определять параметры исследуемого
объекта, дающие экстремальное значение ПЭ.
Таким образом, цель моделирования определяется как целью исследуемой операции, так и
планируемым способом использования результатов исследования.
Например, проблемная ситуация, требующая принятия решения, формулируется следующим
образом: найти вариант построения КС, который обладал бы минимальной стоимостью при соблюдении
требований по производительности и по отказоустойчивости. В этом случае целью моделирования
является отыскание параметров КС, обеспечивающих минимальное значение ПЭ, в роли которого
выступает стоимость.
Задача может быть сформулирована иначе: из нескольких вариантов конфигурации КС выбрать
наиболее отказоустойчивый. Здесь в качестве ПЭ выбирается один из показателей отказоустойчивости,
а целью моделирования является сравнительная оценка вариантов КС по этому показателю.
16
10. Приведите основные принципы моделирования.
1.
принцип информационной достаточности. При полном отсутствии инфы об исследуемой
системе, постоение системы невозможно. Существует некий критический уровень сведений о
системе, при достижении которого возможно построение системы.
2.
принцип осуществимости. Созданная модель должна обеспечивать достижение поставленной
цели за конечное время. Обычно задают некоторое пороговое значение P0 – вероятность
достижения цели моделирования и приемлемое значение времени t0 модель считается
осуществимой если P0(t0) ≥ P(t).
3.
принцип множественности модели. Является главным. Создаваемая модель должна отражать в
1ю очередь те свойства системы, которые влияют на выбранный показатель эффективности.
Соответственно при использовании любой конкретной модели познаются лишь некоторые
стороны реальности. Для более полного ее исследования необходим ряд моделей, позволяющих с
разных сторон и с разной степенью детальности отражать рассматриваемый процесс.
4.
принцип агрегирования. В большинстве случаев сложную систему можно представить
состоящей из агрегатов (подсистем), для адекватного математического описания которых
оказываются пригодными некоторые стандартные математические схемы. Принцип агрегирования
позволяет, кроме того, достаточно гибко перестраивать модель в зависимости от задач
исследования.
5.
принцип параметризации. В ряде случаев система имеет подсистемы, характеризующие
отдельным параметром. Такие подсистемы можно заменять в модели соответствующими
числовыми величинами. Они описывают процесс их функционирования в схеме. При
необходимости зависимость значений этих величин от ситуации может задаваться в виде таблиц,
графиков или аналитических формул. Этот принцип позволяет сократить объем и
продолжительность моделирования, но снижает адекватность модели.
17
11. Моделирование параллельных процессов. Применение аппарата сетей Петри.
Подклассы и расширение сетей Петри.
Почти любая КС имеет в своём составе параллельно работающие элементы, такие элементы могут
взаимодействовать, либо работать независимо. Способы взаимодействия подсистем определяет вид
параллельных процессов в системе. Вид процесса влияет на способ моделирования.
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.
Выполнением сети Петри управляет количество и распределение фишек в сети. Фишки находятся
в позициях (кружочках) и управляют выполнением перехода сети. Сеть Петри выполняется
посредством запусков перехода, который в свою очередь запускается удалением фишек из его входных
позиций и образованием новых фишек, помещаемых в его выходные позиции. Переход может
запускаться только в том случае, когда он разрешен. Переход называется разрешенным, если каждая из
его входных позиций имеет число фишек, по крайней мере, равное числу дуг из позиции в переход.
Кратные фишки необходимы для кратных дуг. Фишки о входной позиции, которые разрешают переход,
называются разрешающими фишками.
18
Подклассы сетей Петри:

Простой сетью Петри называется набор
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
Расширение сетей Петри.
 Обощенные сети – граф сети – мультиграф.
 Раскрашенные сети – раскрашиваются метки в позициях.
 Приоритетные сети – позволяют учитывать в модели приоритеты. Вводится доп. множество
I прямых инцендентных дуг запрета. Для срабатывания некого перехода t с проверкой на
приоритет требуется отсутствие меток во всех входных позициях запрета.
 Е-сети
 Сети Мерлина
 Временные сети
 Сети с проверкой на ноль
19
12. Применение сетей Петри для синтеза дискретных управляющих устройств.
Простое представление системы сетью Петри основано на двух основополагающих понятиях:
событиях и условиях. События - это действия, имеющие место в системе. Возникновением событий
управляет состояние системы Состояние системы может быть описано множеством условий Условие
— есть предикат или логическое описание состояния системы. Условие может принимать либо
значение «истина», либо значение «ложь». Так как события являются действиями, то они могут
происходить. Для того чтобы событие произошло, необходимо выполнение соответствующих условий.
Эти условия называются предусловиями события. Возникновение события может вызвать нарушение
предусловий и может привести к выполнению других условий, постусловий.
В качестве примера рассмотрим задачу моделирования простого автомата-продавца. Автоматпродавец находится в состоянии ожидания до тех пор, пока не появится заказ, который он выполняет и
посылает на доставку. Условиями для такой системы являются:
а) автомат-продавец ждет;
б) заказ прибыл и ждет;
в) автомат-продавец выполняет заказ;
г) заказ выполнен.
Событиями будут:
1. Заказ поступил.
2. Автомат-продавец начинает выполнение заказа.
3. Автомат-продавец заканчивает выполнение заказа.
4. Заказ посылается на доставку.
Предусловия события 2 (автомат-продавец начинает выполнение заказа) очевидны:
(а) автомат-продавец ждет; (б) заказ прибыл и ждет.
Постусловие для события 2:
(в) автомат-продавец выполняет заказ.
Аналогично мы можем определить предусловия и постусловия для других событий и составить
следующую таблицу событий и их пред- и постусловий:
Событие
1
2
3
4
Предусловие
нет
а,б
в
г
Постусловие
б
в
г,а
нет
Такое представление системы легко моделировать сетью Петри.
В сети Петри условия моделируются позициями, события - переходами. При этом входы перехода
являются предусловиями соответствующего события; выходы - постусловиями. Возникновение события
равносильно запуску соответствующего перехода. Выполнение условия представляется фишкой в
позиции, соответствующей этому условию. Запуск перехода удаляет разрешающие фишки,
представляющие выполнение предусловий и образует новые фишки, которые представляют выполнение
постусловий. Сеть Петри на рис. 3.1 иллюстрирует модель приведенного выше автомата-продавца. Мы
указали каждому переходу и позиции соответствующие событие и условие.
20
13. Оценочные или Е-сети как расширение сетей Петри
Е-сети ( 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, моделирование некоторого устройства обработки
инф. Te-переход позволяет отразить модели в течение некоторого
времени τ(tj). Срабатывание перехода происходит при наличии во
входной позиции p1 фишки и отсутствии фишки в выходной
позиции p2 (1,0) ˫t(0,1)
2. разветвление потока транзактов в ВС.
Переход Fe срабатывает при тех же условиях, что и переход Te
(1,0,0) ˫f(0,1,1). С содержательной точки зрения Fe отражает
разветвление потока информации в моделируемой системе
(транзактор информации)
3. объединение наличие фишек P2, P3 и отстутсвие в P1. Переход Je
срабатывает при наличии меток в обеих входных позициях и
отсутствия метки в выходной позиции (1,1,0) ˫J(0,0,1). Переход Je
моделирует объединение потоков информации или наличие
нексольких условий, определяющих методы разложения.
4. управляющие разветвление изменяет направление потока
транзактов. Переход Xe используется при необходимости
изменения потока. (0,1,0,0) ˫X(0,0,1,0) (0,1,0,1) ˫X(0,0,1,1) (1,1,0,0)
˫X(0,0,0,1) (1,1,1,0) ˫X(0,0,1,1)
5.
Приоритетность одних потоков информации к другим.
Переход Ye – приоритетный переход. При этом разрешающая
процедура может быть определена различными способами: как
операция сравнения приоритетов меток, как функция атрибутов
меток. Переход Ye отражает приоритетность установленную для
одних потоков информации по отношению к другим.
(0,1,1,0) ˫Y(0,0,1,1) (0,1,0,0) ˫Y(0,0,0,1)
(0,0,1,0) ˫Y(0,0,0,1)
Y
Y
(1,1,1,0) ˫ (0,1,0,1) (1,1,0,0) ˫ (0,0,0,1) (1,0,1,0) ˫Y(0,0,0,1)
21
14. Моделирование конвейерной обработки информации
На протяжении последних лет было предпринято множество шагов направленных на увеличение
производительности ВС. Результатом одного из таких шагов было появление ВС с конвейерной
обработкой информации. Конвейер состоит из набора операций которые могут выполняться
параллельно. Когда операция k завершена, она передает свой результат (k+1)-й операции и ждет данных
от (k-1)-й.
В качестве примера рассмотрим сложение 2 чисел с плавающей точкой. Основные шаги этой
операции предполагают:
1. Выделить экспоненты этих 2 чисел
2. Сравнить эти экспоненты, и если необходимо изменить их должным образом
3. Сдвинуть точку в числе с меньшей экспонентой для их уравнения
4. Сложить дроби
5. Нормализовать результат
6. Проверить экспоненту на переполнение и сформировать
экспоненту и дробь результата
Конвейеры (по способу управления) можно разделить на 2
группы: синхронные и асинхронные. Синхронные конвейеры
каждый такт передают данные на следующий шаг обработки.
Но это не эффективно, т.к. действие, выполняемое на данном
шаге, может занимать времени больше/меньше чем 1 такт.
Рассмотрим k-й блок конвейера. Для управления им нужно
знать когда выполняются следующие условия:
 Входной регистр заполнен
 Входной регистр пуст
 Выходной регистр заполнен
 Выходной регистр пуст
 Блок занят
 Блок свободен
 Пересылка осуществлена
22
15. Задачи сохранения и активности сети Петри
Сети Петри наиболее сильны там где есть параллельность.
Сохранение
Сети Петри можно использовать для моделировании систем распределения ресурсов. Например,
сеть Петри может моделировать запросы, распределения и освобождения устройств ввода-вывода в
вычислительной системе. В этих системах некоторые фишки могут представлять ресурсы. Группа из
трех построчно печатающих устройств представляется позицией, имеющей в начальной маркировке три
фишки. Запрос построчно-печатающего устройства – это переход, для которого данная позиция
является входной; затем устройство освобождается переходом, для которого позиция построчно
печатающих устройств является выходной.
Для сетей Петри такого типа помимо прочих важным свойством является сохранение. Нам бы
хотелось показать, что фишки, представляющие ресурсы, никогда не создаются и не уничтожаются.
Простейший способ это сделать – это потребовать, чтобы общее число фишек в сети оставалось
постоянным.
Сеть Петри C=(P,T,I,O) с начальной маркировкой  называется строго сохраняющей, если для
всех  '  R(C ,  ) имеет место   '( pi )    ( pi ) .
pi P
pi P
Строгое сохранение – это очень сильное ограничение. Например, из него немедленно следует, что
число входов в каждый переход должно равняться числу выходов I (t j )  O (t j ) . Если бы это было не
так, запуск перехода изменил бы число фишек в сети.
Фишка определяется ее позицией в сети, все фишки в позиции неразличимы. Фишка может
представлять разное количество ресурсов. В общем случае необходимо определить веса фишек. Т.к.
фишки в позиции не различимы, веса связываются с каждой позицией сети. Вектор взвешивания
  (1 , 2 ,..., n ) определяет вес i для каждой позиции
pi  P .
Сеть Петри C=(P,T,I,O) с начальной маркировкой 
называется сохраняющей по отношению к вектору
взвешивания   (1 , 2 ,..., n ) , n  P , i  0 если для всех
 '  R(C ,  ) имеет место
 *  '( pi )  *  ( pi )
i
.
.
.
i
Строго
сохраняющая
сеть
Петри
является
сохраняющей по отношению в вектору взвешивания (1, 1,
… ,1).
Все сети Петри являются сохраняющими по
отношения к вектору взвешивания (0,0,…, 0). Поэтому сеть
Петри называют сохраняющей, если она сохраняющая по
отношению к каком-нибудь положительному не нулевому
вектору  .
Активность
Причиной рассмотрения сохранения в сети Петри было распределение ресурсов в операционной
системе ЭВМ. Другая задача. Которая может возникнуть при распределении ресурсов вычислительной
системы – тупики.
23
Рассмотрим простой пример.
Система включает 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.
Переход t 0 не может быть запущен никогда, он пассивен. Переход t1 может быть запущен ровно 1
раз, он обладает активностью уровня 1. Переход t 2 может быть запущен произвольное число раз, но это
24
число зависит от числа запусков перехода t3 . Если мы хоти запустить t 2 5 раз, то мы запускаем 5 раз
t3 , затем t1 и после этого 5 раз t 2 . Однако, как только запустится t1 число запусков t 2 станет
фиксированным. Следовательно t 2 обладает активностью уровня 2. Переход t3 может быть запущен
неограниченное число раз, и поэтому обладает активностью уровня 3, но не уровня 4, поскольку, как
только запустится t1 , t3 больше запустить будет нельзя.
t3
t2
t1
t0
В качестве примера, иллюстрирующего уровни активности, рассмотрим сеть Петри
представленную на рисунке. Переход t0 не может быть запущен никогда. Он пассивен. Переход t1
можно запустить точно один раз. Он обладает активностью уровня 1. Переход t2 может быть запущен
произвольное число раз, но это число зависит от числа запусков перехода t3. Однако как только
запуститься t1, а он должен быть запущен до того, как будет запущен t2, число возможных запусков t2
станет фиксированным. Следовательно, t2 обладает активностью уровня 2, но не уровня 3. С другой
стороны переход t3 можно запускать бесконечное число раз и потому он обладает активностью уровня
3, но не уровня 4, поскольку как только запустится переход t1, t3 больше запустить будет нельзя.
25
16. Задачи достижимости и покрываемости сети Петри.
На сегодняшний день не существует ни алгоритма, решающего задачу достижимости, ни
доказательства того, что такого алгоритма не может быть.
Для сети Петри С с маркировкой μ, маркировка μ’ называется непосредственно достижимой из μ,
если существует переход tj такой, что δ(μ ,tj)=μ’.
Задача достижимости. Для заданной сети Петри C с маркировкой μ и маркировки μ’ определить,
верно ли, что. μ’  R(C, μ), где R(C, μ) – множество достижомсти сети Петри С с маркировкой μ.
Пример:
.
P1
t2
P2
P3
t1
Для сети изображенной на рисунке и маркировке μ =(1,0,0) непосредственно достижимыми
являются две маркировки (1,0,1) и (0,1,0). Из маркировки (1,0,1) можно получить маркировку (0,1,1) и
(0,1,2). Из (0,1,0) нельзя достичь не одной маркировки, так как ни один переход не разрешен. Можно
показать,
что
множество
достижимостей
имеет
следующий
вид
для
этой
сети
R(C,μ)={(1,0,n),(0,1,n)|n>=0}
Задача покрываемости. Для данной сети Петри C с начальной маркировкой  и маркировки  
определить, существует ли такая достижимая маркировка    R(C ,  ) , что      .
Отношение "’ истинно, если каждый элемент маркировки " не меньше соответствующего
элемента маркировки ’.
26
17. Задача безопасности и ограниченности сети Петри
Позиция сети Петри называется безопасной, если число фишек в ней никогда не превышает
единицы. Сеть Петри безопасна, если безопасны все ее позиции.
Формальное определение безопасности позиции: позиция Pi  P в сети Петри С=(P, T, I, O) с
начальной маркировкой µ является безопасной, если µ'(Pi)<=1 для любой µ'.
Безопасность очень важное свойство для устройств аппаратного обеспечения. Позицию можно
реализовать одним триггером, если она безопасна. Если позиция не является кратной входной или
выходной для перехода ее можно сделать безопасной добавляя новые позиции Pi'.
Небезопасная сеть:
P3
.
t1
P1
t2
Переходы, в которых Pi используется в качестве входной или
выходной модифицируются следующим образом:
если Pi  I(tj) и Pi  O(tj) тогда P’ к O(tj)
если Pi  O(tj) и Pi  I(tj) тогда P’ к I(tj)
P2
t3
Безопасная сеть:
P3
.
t1
t3
P1
P1'
t2
Цель введения новой позиции P1' - представить условие P1 пусто,
следовательно P1 и P1' дополнительны: P1 имеет фишку только если P1’
не имеет фишки и наоборот. Любой переход, удаляющий фишку из P1
должен помещать фишку в P1'. Начальная маркировка также должна быть
модифицирована, для обеспечения того, чтобы точно одна фишка была
либо в P1 либо P1'.
P2
P2'
Для моделей реальных систем анализ на безопасность позволяет
проверить возможность работы системы в некотором стационарном
режиме. При анализе на безопасность могут быть выявлены требования к
накопительной системе (внутренним буферам).
Ограниченность сети Петри.
Безопасность - частный случай общего случая – ограниченности. Соображения относительно
реального ограничения на аппаратную реализацию позиций можно прийти к выводу, что безопасность
необязательное требование. Безопасность позволяет реализовать позицию триггером, но в общем случае
можно использовать счетчик или регистр. Однако любой аппаратный счетчик ограничен по макс числу.
Позиция является К-безопасной или К-ограниченной, если количество фишек в ней не может
превышать целое число К.
Формальное определение: позиция Pi  P в сети Петри С=(P, T, I, O) с начальной маркировкой µ
является К-безопасной, если µ(Pi)<=K для всех µ'  R(C,µ).
Одно-безопасная позиция называется просто безопасной.. Позиция называется ограниченной, если
она K-безопасна для некоторого K. Сеть Петри ограниченна если все ее позиции ограниченны.
Ограниченную сеть Петри можно реализовать аппаратно. Сеть Петри с неограниченными позициями в
общем случае реализовать аппаратно нельзя.
27
19. Моделирование сетями Петри задач синхронизации при взаимодействии
процессов в КС
Взаимосисключение – это метод создания таких программ, что одновременно не более чем 1
ресурс имеет доступ к разделяемому объекту. Для предотвращения проблем такого рода необходимо
обеспечить механизм взаимного исключения. Взаимное исключение это метод создания таких
программ, что одновременно не более чем один процесс имеет доступ к разделяемому объекту данных.
Участок кода, в котором осуществляется доступ к разделяемому объекту и который требует защиты от
вмешательства других процессов, называется критической секцией. Идея состоит в том, что когда
процесс готов выполнить свою критическую секцию, он сначала ждет, пока другой процесс не
выполнит свою собственную критическую секцию. Затем он «блокирует» доступ к критической секции,
не давая возможности никакому другому процессу войти в свою критическую секцию. Он входит в
критическую секцию, выполняет ее и, выйдя из нее, освобождает ее для доступа со стороны других
процессов.
Эта задача может быть решена сетью
Петри, как показано на рисунке слева.
Позиция m представляет собой разрешение
для входа в критическую секцию. Для того
чтобы какой-либо процесс вошел в
критическую секцию, он должен иметь
фишку в р1 или в р2 соотв-нно,
свидетельствующую о желании попасть в
критическую секцию, а также должна
существовать фишка в m, дающая разразрешение на вход. Если оба процесса
пытаются войти в критическую секцию
одновременно, то переходы t1 и t2 вступят
в конфликт, и только один из них сможет
запуститься. Запуск t1 запретит переход t2,
вынуждая процесс 2 ждать, пока первый
процесс выйдет из своей критической
секции и возвратит фишку обратно в
позицию m
Если в системе количество процессов чтения не ограничено, то только процессов могут
выполняться в одно и то же время. Проблема
возникает в том случае, если количество
процессов чтения не ограничено и мы хотим
предоставить
возможность
ограниченному
количеству процессов читать одновременно. В
этом случае можно утверждать, что возникает
необходимость хранения количества читающих
процессов. При инициализации каждого процесса
чтения в счетчик добавляется единица, а по
окончании процесса единица вычитается. Это
легко моделируется позицией, в которой
количество фишек равно количеству процессов
чтения. Однако, для того, чтобы предоставить
процессу записи возможность приступить к
записи, необходимо, чтобы счетчик был нулевым, т. е. соответствующая позиция была бы пустой. В
сетях Петри нет механизма, который бы осуществлял проверку на нуль неограниченной позиции1'.
Таким образом, оказывается, что задача о чтении/записи с неограниченным числом процессов чтения не
может быть решена с помощью сетей Петри. Это первый случай, когда мы столкнулись с тем, что сети
Петри не способны моделировать все системы.
28
P- и V-системы.
Большинство задач синхронизации не могут быть решены непосредственно сетями Петри, но они
разрешимы на основе известных механизмов синхронизации. В частности, одним из самых популярных
механизмов синхронизации являются P- и V- операции над семафором.
Семафор это элемент данных, который может принимать только неотрицательное целое значение.
V- операция увеличивает значение семафора на единицу, а P- операция - уменьшает.
P- операцию можно применять только в том случае, когда значение семафора остается в
результате неотрицательным. Если же значение семафора равно нулю, то P операция должна ждать,
пока другой процесс не выполнит V операцию.
P и V операции определены как примитивные, то есть никакая другая операция не может изменять
значение семафора одновременно с ними. P и V операции легко моделируются сетью Петри. Это
показано на рисунке:
P(S)
.
S
V(S)
Каждый семафор моделируется позицией. Количество фишек в семафоре показывает значение
семафора. Р операция использует позицию семафора в качестве входа, V – в качестве выхода.
P и V операции являются основной связью между процессами.
P- операция – вход
V- операция – выход
Преимущество такого описание заключается в том, что PV-система описывается с помощью PVопераций.
29
20. Задача активности сетей Петри
Причиной рассмотрения сохранения в сети Петри было распределение ресурсов в операционной
системе ЭВМ. Другая задача. Которая может возникнуть при распределении ресурсов вычислительной
системы – тупики.
Рассмотрим простой пример.
Система включает 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 разрешены в  (  ',  )
30
Переход, обладающий уровнем активности 0, называется пассивным; активностью 4, называется
активным. Сеть Петри обладает активностью уровня i, если каждый ее переход обладает активностью
уровня i.
Переход t 0 не может быть запущен никогда, он пассивен. Переход 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 больше запустить будет нельзя.
t3
t2
t1
t0
В качестве примера, иллюстрирующего уровни активности, рассмотрим сеть Петри
представленную на рисунке. Переход t0 не может быть запущен никогда. Он пассивен. Переход t1
можно запустить точно один раз. Он обладает активностью уровня 1. Переход t2 может быть запущен
произвольное число раз, но это число зависит от числа запусков перехода t3. Однако как только
запуститься t1, а он должен быть запущен до того, как будет запущен t2, число возможных запусков t2
станет фиксированным. Следовательно, t2 обладает активностью уровня 2, но не уровня 3. С другой
стороны переход t3 можно запускать бесконечное число раз и потому он обладает активностью уровня
3, но не уровня 4, поскольку как только запустится переход t1, t3 больше запустить будет нельзя.
31
21. Анализ сетей Петри матричным методом
Анализ сетей Петри основывается на матричном способе представления сетей Петри.
Матричный способ основывается на работах Хека. Альтернативным способом по отношению к
определении сети Петри в виде С=(P, T, I, O) является определение двух матриц D+, D-. Причем матрица
D+ представляет входную функцию, а D- выходную. C=(P, T, D+, D-).
C=(P, T, F, B) – представление
Хека.
Определим матрицы:
D-(j, i) = #(Pi,I(tj))
D+(j, i) = #(Pi,O(tj))
То есть D- определяет входы переходов, а D+ выходы. Матричная форма представления сети
Петри C=(P, T, D+, D-) эквивалентна стандартному, но позволяет дать определение в терминах векторов
и матриц.
Пусть e[j] – m-вектор, содержащий нули везде, кроме j-ой компоненты. Переход tj
представляется m-вектором e[j], причем e[j] – это вектор строка. Переход tj в маркировке μ разрешен,
если μ >=e[j]*D-, а результат запуска перехода tj в маркировке μ записывается следующим образом:
 '   (, t j )    e[ j ]  D   e[ j ]  D     e[ j ]  ( D   D  )    e[ j ]  D , где D=D+-D-.
Тогда
для
последовательности
запусков
переходов
  t j1 , t j 2 ,..., t jk
можно
получить
 (  , t j )   (  , t j1 ,..., t jk )    e[ j1]  D  ...  e[ jk ]  D    (e[ j1]  ...  e[ jk ])  D    f ( )  D
Вектор f ( ) называется вектором запуска последовательности переходов t j1 , t j 2 ,..., t jk . i-ый
элемент вектора f ( )i - это число запусков перехода tj в последовательности t j1 , t j 2 ,..., t jk . Является
вектором с неотрицательным целым компонентом. Вектор f ( ) - это отображение Париха.
Отображение Париха.
Пусть дана конечная область D={d1, d2, …, dn}. Существует естественное соответствие между
каждым комплектом B на областью D и n-вектором F={f1, f2, … ,fn}, определяемым соотношением
fi=#(di,B) – отображение Париха.
Для того, чтобы показать полезность матричного подхода к сетям Петри рассмотрим задачу
сохранения. Является ли заданная сеть Петри сохраняющей?
Необходимо найти ненулевой весовой вектор, для которого взвешенная сумма во всех
достижимых маркировках постоянна. Пусть W размерности (nx1) – вектор-столбец. Тогда если μ начальная маркировка, а μ' произвольно достижима маркировка необходимо, чтобы μW=μ'W.
Поскольку μ' достижима, то существует последовательность запусков  , которая переводит сеть Петри
из μ в μ'. Поэтому:
 '   (  ,  )    f ( )  D  .
   W  (   f ( )  D)  W  W  f ( )  D  W 
 f ( )  D  W  0 , но т.к. f ( )  0  D  W  0
Таким образом, сеть Петри является сохраняющей тогда и только тогда, когда существует такой
положительный вектор W, что D W  0 .
Это обеспечивает простой алгоритм проверки свойства сохранения, а также позволяет получить
вектор взвешивания W. Тогда существует последовательность, возможно пустая, запусков переходов
 , которая приводит μ в μ’. Это значит, что f( ) является неотрицательным целым решением
следующего матричного уравнения:  '    x  D .
Следовательно, если μ' достижима из μ, то уравнение  '    x  D имеет решение в
неотрицательных целых. Если же уравнение  '    x  D не имеет решения, то маркировка μ' не
достижима из маркировки μ.
32
Пример.
P2
1 1 1 0


D  0 0 0 1
0 0 1 0



t2
.
P1
t1
P4
.
P3
t3
1

D  0
0

0

D  0
0

0 0 0

2 1 0
0 0 1 
1 1 0 

2 1  1
0  1 1 
Выбираем начальную маркировку μ0=(1, 0, 1, 0).
Переход t3 ( f(σ)=(0,0,1) ) разрешен и приводит к маркировке:
 0 1 1 0 


μ’=(1, 0, 1, 0)+(0, 0, 1)*  0 2 1 1 =(1, 0, 1, 0) + (0, 0, -1, 1) = (1, 0, 0, 1).
 0 0 1 1 


33
22. Матричный метод анализа сетей Петри- достоинства и недостатки метода.
Достоинства:
решает задачу сохранения: является ли данная маркированная сеть Петри сохраняющей? Для
того чтобы показать сохранение, необходимо найти (ненулевой) вектор взвешивания, для которого
взвешенная сумма по всем достижимым маркировкам постоянна.
Развитая матричная теория сетей Петри является инструментом для решения проблемы
'
достижимости. Предположим, что маркировка  достижима из маркировки  . Тогда существует
'
последовательность (возможно, пустая) запусков переходов  , которая приводит из  к  .
Недостатки:
1. Заметим, прежде всего, что матрица D сама по себе не полностью отражает структуру сети
Петри. Переходы, имеющие как входы, так и выходы из одной позиции (петли), представляются
D è D
соответствующими элементами матриц
, но затем взаимно уничтожаются в матрице


D D D .
2. Другая проблема  это отсутствие информации о последовательности переходов в векторе
запуска.
'
3. Еще одна трудность заключается в том, что решение уравнения     x  D является
необходимым для достижимости, но недостаточным (полученные последовательности переходов могут
быть не разрешены).
34
23. Задача достижимости сетей Петри
Задача достижимости. Для заданной сети Петри C с маркировкой μ и маркировки μ’ определить,
верно ли, что. μ’  R(C, μ), где R(C, μ) – множество достижомсти сети Петри С с маркировкой μ.
Пример:
.
P1
t2
P2
P3
t1
Для сети изображенной на рисунке и маркировке μ =(1,0,0) непосредственно достижимыми
являются две маркировки (1,0,1) и (0,1,0). Из маркировки (1,0,1) можно получить маркировку (0,1,1) и
(0,1,2). Из (0,1,0) нельзя достичь не одной маркировки, так как ни один переход не разрешен. Можно
показать, что множество достижимостей имеет следующий вид для этой сети
R(C,μ)={(1,0,n),(0,1,n)|n>=0}
Задача достижимости для сетей Петри – очень важна, поэтому необходимо показать, что она
разрешима, даже если вычисления громоздки и дороги.
Если задача разрешима, то можно искать более эффективные методы решения. Сначала надо
показать, что метод решения существует.
Для обоснования существования методов решения обозначим через  f - сумму векторов
запуска f по всем компонентам.
Т.е. если f=(f1+…+fn), то  f  f1    f n .
Если существует последовательность   t j1  ...  t jn , переводящая сеть Петри из маркировки μ
в μ', то уравнение  '    x  D имеет решение, которое является вектором запуска f( ) для любой σ.
Последовательность запусков перехода можно определить из вектора запуска f( ) путем
простого перебора возможных последовательностей длины  f ( ) . Последовательность должна быть
действительной и приводить от μ в μ'.
Для сети Петри с m-переходами количество возможных последовательностей: m  f .
Нам известно, сколько раз запускается переход t1(f1), сколько t2(f2) и т.д. (зная, сколько раз
запускается переход, можно уменьшить число перебираемых вариантов). Т.о. необхоимо проверить не
более, чем (  f )!
(  f )! обозначает возможное упорядочение из f1 запуска перехода t1, f2 запуска перехода t2 и
т.д. → является ли μ' из μ?
Сначала решаем матричное уравнение:
 '    x  D , где x=f
Если решение не существует, то μ' не достижима из μ.
Если решение f существует, то проверяем все (  f )! возможных упорядоченных переходов.
Если какая-нибудь из этих последовательностей действительна, то μ' достижима из μ.
В результате получаем последовательность, переводящую сеть Петри из μ' достижима из μ.
Есть препятствие – решение f может быть неоднозначным. Для определения достижимости в
этом случае необходимы дополнительные исследования. В простейшем случае может оказаться: или все
решения представляются выражением вектора запуска, соотвествующего действительным значениям
или ни одного решения.
Если ни одного решения, то выбираем любое решение и выполняем процедуру проверки всех
возможных упорядочений.
35
18. Использование сетей Петри для количественных оценок функционирования
параллельных КС.
24. Границы возможностей моделирования с помощью сетей Петри.
27. Границы возможностей моделирования с помощью сетей Петри.
По словам Можарова здесь нужно рассказать поверхностно о сетях Петри, где используются,
зачем вообще применяются, какие существуют подклассы и расширения, чем они лучше исходных
сетей Петри, рассмотреть методы анализа.
36
25. Подклассы сетей Петри
Опыт использования обычных сетей Петри показал высокую трудоемкость анализа сетей
большой размерности на наличие свойств достижимости, живости, ограниченности и т. д. Это явилось
причиной разработки подклассов сетей Петри, в которых вводятся опредленные ограничения на
структуру сети. Это позволяет использовать более простые алгоритмы для анализа сетей.
1. К подклассу автоматных графов относятся сети Петри с 1 входной и 1 выходной дугой
2. К маркированным графам относятся ести Петри, имеющие ограничения на число
входных и выходных позиций.
3. Для устойчивых сетей Петри при любой маркировке  ( pi )  R(C,  ) , если два любых
перехода tj и tk оказываются возбужденными, то срабатывание одного из них tj не
исключает возможности срабатывания другого tk.
4. В сетях Петри, свободных от конфликтов, если позциия pi принадлежит множеству
входных позиций tj, то она принадлежит и подножеству выходных позций tj; иначе pi
должна иметь не более одной выходной дуги.
5. Если на сеть Петри накладываются ограничения: каждая выходная дуга от позции
является либо ее единственных выходомо, либо единственных входом перехода, то такую
сеть относят к сетям свободного выбора.
6. Условие выделения подкласса чистых сетей Петри: переход не может иметь pi и в
качестве входной и в качестве выходной позиции.
7. Руглярные сети Петри: для них вводится алгебра регулярных сетей. Она сроится с
помощью операций над сетями (наложение, разметка, слияние, итерация), что позволяет
представить любую регулярную сеть в линейной форменной записи.
8. Признаком выделения простых сетей Петри является наличие у каждого перехода не
более чем одной входной позиции и не более одной выходной.
37
26. Маркированные графы – подкласс сетей Петри.
Маркированный граф – сеть Петри вида
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
Этот подкласс позволяет моделировать алгоритмы функционирования вычислительных систем,
взаимосвязи между подсистемами и ряд других факторов без учета конкуренции между процессами.
38
28. Покажите, используя матричный метод анализа сетей Петри, что маркировка
(0, 7, 0, 1) недостижима из маркировки (1, 0, 1, 0) для сети Петри, изображенной на
рисунке.
Матрицы, представляющие входную и выходную функцию:
1 1 1 0
1 0 0 0






D  0 0 0 1
D  0 2 1 0
0 0 1 0
0 0 0 1




Составная матрица изменений:
 0 1 1 0 


D  D  D   0 2 1 1
 0 0 1 1




Начальная маркировка: μ=(1,0,1,0).
Маркировка, которую нужно проверить на достижимость: μ’=(0,7,0,1).
x  a b c
Тогда должен существовать такой вектор запусков
, что
 0 1 1 0 
     x  D       x  D   0 7 1 1  x   0 2 1 1
 0 0 1 1


причем (a,b,c) должны быть неотрицательными целыми числами.
Получим систему уравнений, которая не имеет решения
7
a 2b
  a  b  c  1
7 9


 x  0

 , í î a, b, c  N
b c  1
2 2


a, b, c  N
Т.к. a,b,c должны быть целыми неторицательными числами - маркировка недостижима.
39
29. Дана последовательность запусков переходов  = t3 t2 t3 t2 t1 сети Петри,
изображенной на рисунке. Определите вектор запуска и маркировку ’ сети Петри.
Матрицы, представляющие входную и выходную функцию:
1 1 1 0
1 0 0 0




D   0 0 0 1 
D   0 2 1 0 
0 0 1 0
0 0 0 1




Составная матрица изменений:
 0 1 1 0 


D  D   D    0 2 1 1
 0 0 1 1


Последовательность  = t3 t2 t3 t2 t1 представляется вектором запусков f ( ). t1 в  встречается 1
раз, t2 – 2 раза, t3 тоже 2 раза, тогда f ( )  1 2 2 .
Из рисунка начальная маркировка   1 0 1 0 . Маркировка      f ( )  D
 0 1 1 0 
   1 0 1 0   1 2 2    0 2 1 1  1 0 1 0    0 3 1 0   1 3 0 0 
 0 0 1 1


Ответы
Веткор запуска: f ( )  1 2 2
Маркировка μ’=(1 3 0 0)
40
30. Определите является ли маркировка (1, 8, 0, 1) достижимой из
маркировки (1, 0, 1, 0) для сети Петри, изображенной на рисунке. Найдите
последовательность запусков переходов .
Матрицы, представляющие входную и выходную функцию:
1 1 1 0
1 0 0 0






D  0 0 0 1
D  0 2 1 0
0 0 1 0
0 0 0 1




Составная матрица изменений:
 0 1 1 0 


D  D   D    0 2 1 1
 0 0 1 1


Решение:
Начальная
маркировка:
  1 0 1 0 ,
маркировка,
которую
нужно
проверить
на
достижимость    1 8 0 1 , тогда должен существовать такой вектор запусков x   a b c  , что
 0 1 1 0 
     x  D       x  D   0 8 1 1  x   0 2 1 1 ,
 0 0 1 1


неотрицательными целыми числами.
причем
(a,b,c)
Получим систему уравнений:
8
a 2b
  a  b  c  1

 x   0 4 5 ,

b c  1

a, b, c  N
Что соответствует последовательности запусков  = t3 t2 t3 t2 t3 t2 t3 t2 t3.
Маркировка достижима.
должны
быть
41
31. Понятие о топологическом синтезе и анализе структур КС
Анализ структурных свойств КС на графе неизбежно приобретает топологический характер 
предполагающий использование ряда характеристик, определяющих количественную меру топологии
объекта.
1. Структурная сложность  определяется как число элементов и связей, составляющих
структуру КС.
2. Адаптируемость КС  приспособленность структуры КС к внешним и внутренним условиям,
позволяющая оптимальным образом достигать цели функционирования: выполнения, по крайней мере,
минимально возможного количества алгоритмов из заданного набора задач.
3. Диаметр структуры КС  соответствует метрической характеристике, введенной на графе
для определения кратчайшего пути между наиболее удаленными вершинами. В ряде случаев
разработчики структур оперируют понятием среднего диаметра, имеющим большую системную
значимость.
4. Структурная связность КС  способность противостоять разбиению, разделению графа
структуры КС на независимые части.
5. Надежность КС  способность структуры КС обеспечить функционирование системы в
течение заданного промежутка времени.
6. Живучесть (отказоустойчивость) КС  оценивает сохранение частей структуры КС,
обеспечивающих выполнение поставленной задачи.
7. Стоимость КС  характеристика, оценивающая стоимость реализации структуры.
Под структурным синтезом КС понимают определение числа вершин и состава связей между
вершинами графа, соответствующего структуре КС. Такую структуру принято называть
топологической.
Синтез топологической структуры представляет собой выбор, или выделение из заданного
множества графов некоторого подмножества, которое наилучшим образом соответствует заданным
функциям и целям. Принципиальной особенностью задачи синтеза является то, что нет универсальных
методик формального перехода от заданных свойств к модели топологии объекта.
42
32. Разбиения чисел. Основные понятия и определения. Принцип Дирихле.
Разбиение натурального числа 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
Часть ni присутствует в разбиении ai раз, т.о. n  a1n1  a2n2  ...  ar nr
a
a
a
Всякое разбиение можно представить в виде (1m1 , 2m2 ,..., nmn )‌— n , где mi - целое, неотрицательное
n
число, которое указывает сколько раз число i присутствует в этом разбиении в виде части n   imi
i 1
n
(  imi -ранг разбиения)
i 1
Разбиение можно изобразить графически, с помощью графа Ферре (Ферррер)
(1, 22 ,32 , 4) 
Принцип Дирихле.
Если n(k , r ) является наименьшим целым n, при котором в каждом разбиении этого n на r частей,
найдется часть не меньшая, чем k, то тогда n(k , r )  rk  1  r
Принцип Дирихле можно сформулировать в виде размещения (принцип ящика):
при любом размещении r+1 предметов по r ящикам, то найдется ящик с двумя предметами.
43
33. Вложимость разбиений
Основным соответствием между разбиениями чисел является их вложимость.
Разбиение {k1, … , kt} вложимо в разбиение {n1, … , nr}, если существует отображение φ: {1, … ,
t}→{1, … , r}, при котором выполняется система неравенств
 k j  ni , i  1, r , j  1, t ,
j 1 ( i )
 1 (i)  { j : j {1,..., t}, ( j )  i} - полный прообраз элемента i при отображении φ: [t] →[r].
Т.е. разбиение {k1, … , kt} вложимо в разбиение {n1, … , nr}, если части kj разбиения можно так
сгруппировать в r групп (причем каждая часть kj входит в одну группу и пустые группы допускаются),
что по сложении всех частей kj в каждой группе получается r чисел: pi  ni , i  1, r
Если разбиение {k1, … , kt} вложимо в {n1, … , nr}, то можно записать этот факт так:
{k1, … , kt}  {n1, … , nr}
(2,2,2)  (4,2), поскольку (4,2)=(2+2,2), но
(2,2,2)  (3,3), т.к. нельзя три двойки сгруппировать в пару групп, каждая из которых не
превосходила бы числа 3.
Основной вопрос вложимости состоит в том, вложимо ли разбиение {k1, … , kt} в разбиение {n1, …
, nr}.
+ возникает вопрос о реализации: насколько быстро можно осуществить вложимость одного
разбияния в другое.
Простейшие свойства:
Разбиение q вложимо в разбиение p тогда и только тогда, когда разбиение q-(p∩q) вложмио в
разбиение p-(p∩q).
Другими словами вопрос о вложимости разбиений эквивалентен вопросу о вложимости разбиений,
полученных из исходного разбиения путем удаления в каждом из них одинакового количества
одинаковых слагаемых, например:
(1,2,2,3,5)  (2,3,3,7)  (1,2,5)  (3,7)
44
34. Ранговое условие вложимости; пример использования
В ряде случаев удается сразу без алгоритмической проверки решить комбинаторную задачу
распознавания о вложимости разбиений. Так о необходимости выяснения вопроса о вложимости
разбиений некоторых фиксированных рангов избавляет следующая теорема:
Пусть t(n,k,r), то наименьшее t, при котором для p  Pr (n) , q  Pt (k ) , q  p , где Pr (n) множество всех разбиений числа n ранга r:
n
t(n,k,r)=max{k-   +1,1}
r
Следствие:
Если n(k,t,r) наименьшее n, при котором для p  Pr (n) , q  Pt (k ) , q  p , то:
n(k,t,r)=max{k, r(k-t) +1}
45
35. Принцип полного размещения; пример использования
Следующим шагом в вопросе о вложимости разбиений будет отказ от свободы выбора
вкладываемого разбиения. Другими словами, фиксирование этого меньшего разбиения при наличии
выбора для тех разбиений, в которые производятся вложения.
Теорема:
Пусть k1  k2  ...  kt , r - натуральные числа и n(k1, … , kt; r) –наименьшее n, при котором
разбиение (k1, … , kt)├ k вложимо в каждое рзабиение этого n на не более чем r частей.
Тогда справедливо следующее равенство n(k1, … , kt; r)=
i
max ( k j  (ki  1)(r  1))
1it
j 1
Следствие:
Если для натуральных k1>1, k1  k2  ...  kt , (k1, … , kt)├ k  n, через r(k1, … , kt; n) обозначено
наибольшее r, при котором в каждое разбиение n на r частей вложимо разбиение (k1, … , kt),
то
i


n

kj 


j 1
 1
r(k1, … , kt; n)= min 
ki  1 
i:k j 1 




Действительно, искомое r согласно принципу полного размещения есть наибольший целый корень
неравенства n  n(k1, … , kt; r).
Если k= n(k1, … , kt; r), то каждое размещение k частиц по r ячейкам реализуемо размещением t
групп частиц по kj в j-ой группе при условии, что каждая группа целиком размещается в одной ячейке.
46
36. Вложимость с ограничениями; пример использования
Подчас требуется гарантировать вложимость разбиения (k1, … , kt)├ k отнюдь не во все разбиения
числа n на r частей, но лишь в некоторые. Так, например, принцип полного размещения гарантирует
вложимость разбиения (3,2,1) в каждое разбиение числа 6 на две части, так как n(3,2,1 ; 2)=6, и ничего
не говорит о вложимости (4,1,1) в (5,1) и (4,2).
Экстремальный результат, гарантирующий вложение фиксированного разбиения не во все
разбиения данного ранга, может быть представлен следующим утверждением:
Теорема:
Пусть (n2, … , nr), k1  k2  ...  kt , r – натуральные числа и n(k1, … , kt ; n2, … , nr) –
наименьшее n, при котором каждое разбиение (p1, … , pr) этого n на r частей такое, что
pi  ni , i  2, r , обладает тем свойством, что
(k1, … , kt)  (p1, … , pr).
Тогда
n(k1, … , kt ; n2, … , nr) =
i
r
j 1
l 2
max ( k j   min( nl , ki  1))
1it
47
37. Комбинаторные модели для исследования процесса распредления
памяти КС
Исследования, связанные с увеличением эффективности методов управления распределением
памяти направлены на:
- распределение памяти,
- перераспределение памяти,
- реорганизацию памяти.
Распределение памяти – конечная последовательность отображений (I→F)t, t=1,2,…, множества I
информационных объектов (или их наименований) во множество физических адресов распределяемой
памяти для дискретных момент времени t.
Перераспределение памяти – перенесения ряда инф.объектов из адресного пространства ОП во
вспомогательную (долговременную) память с целью освобождения ОП для продолжения вычислений.
Реорганизация памяти – перемещение инф.объектов в адресном пространстве памяти.
Перераспредление и реорганизация памяти
эффективности использования памяти.
– одни из основных методов повышения
Существует 2 способа распределения памяти:
- статический,
- динамический.
Статический – распредление памяти, при котором отображение (I→F)t выбирается 1 раз до
выполнения программы.
Диномческий – каждое отображение (I→F)t выбирается непосредственно в ходе вычислительного
процесса, исходя из того, как отображается (I→F)t-1.
Выбор способа зависит от:
- ресурсов,
- свойств программы,
- используемой информации.
Статическое распределение может применятся тогда и только тогда, когда сведения о ресурсах
программы и о свойствах ссылок имеются перед выполнением программы.
Динамическое распределение – когда сведения о ресурсах заранее отсутствуют и сведения о
ссылках становятся известны только в процессе выполнения программы. Такое распределение памяти
присуще программам, работающим в реальном масштабе времени. В СРВ потребности в ОП в каждом
конкретном случае определяются характером и интенсивностью потоков программ (заданий) на
обработку информации. А интенсивность потока задания – случайная величина.
Эффективно функционирование КС в РВ достигается лишь тогда, когда при удовлетворении
заявок на выделение ОП накладывается как можно меньше ограничений. А освобождение занятых
областей памяти просиходит как можно быстрее.
Всё вышесказанныое говорит в пользу динамического распределения ОП.
Ислледования, связанные с оценкой эффективности применения различных
распределения ОП в основном приследуют следующие цели:
1. освобождение программиста от заботы о распределении памяти,
2. повышение эффективности использования памяти,
3. минимизация затрат процессорного времени на управление распределением памяти.
методов
48
При реализации как статического, так и динамического распределения памяти одним из
основных препятствий является фрагментация памяти. В научных работах исследования явления
фрагментации памяти можно выделить 2 подхода:
1. стохастический – влияние фрагментации рассматривается как вероятностный процесс
2. деформационный – сам процесс функционирования КС приводит к заданным при
проектировании состояниям фрагментации памяти.
Стохастический подход связан с исследованием процессов распределения памяти КС сегментной
организации программ и данных.
Деформационный подход связан с исследованием страничной организации памяти или с
рзабиением памяти ограниченных размеров свободными участками.
Потери от эффективности использования памяти при сегментной организации программ и данных
обусловлены влиянием внешней фрагментации или раздробленности памяти практически в любой
момент времени на большое количество свободных и занятых участков памяти разной длины.
Внешняя фрагментация проявляется из-за случайного характера запросов на выделение памяти.
Раздробленность памяти в процессе функционирования КС очень часто приводит к ситуациям,
когда в памяти отсутствует свободный непрерывный участок адресного пространства, необходимый для
удовлетворения поступившего запроса на память. В этом случае, даже если суммарный объем всех
свободных фрагментов больше либо равен требуемому объему памяти, поступивший запрос не может
быть удовлетворен без перераспределения или реорганизации.
Применение средств перераспределения или реорганизации влечет дополнительные затраты
процессорного времени на управление перераспределением или реорганизацией памяти, в следствие
чего происходит снижение производительности КС.
Потери в эффективности использования памяти при страничной
влиянием внутренних фрагментации. Внутр.фрагментация проявляется
поступающего запроса на память до целого числа страниц. Именно эта
часть памяти в процессе выполнения программы не используется,
эффективности использования памяти вцелом.
организации обусловлены
из-за округления каждого
дополнительно выделяемая
что определяет потери в
Страничная организация упрощает распределение памяти, т.к. размер однойстраницы постоянен.
НО: исследования показывают, что в процессе функционирования КС потери в эффективности
используемой памяти, обусловленые влиянием внутренней фрагментации, оказываются больше, чем
потери вызванные внешней фрагментацией.
Т.о. уменьшаются затраты процессорного времени на распределение памяти при сегментной
организации программы и данных.
Далее будем рассматривать только сегментную организацию памяти, которая имеет следующие
преимущества:
1.
сравнительно упрощается задача организации внешних ссылок в сегментах, т.к. в
объединенной программе не требуется работа с абсолютными адресами,
2.
исключаются потери в эффективности при округлении запросов (до принятого размера
страниц – потери на внутреннюю фрагментацию).
Рассмотрим несколько общих комбинационных моделей, позволяющих исследовать процесс
распределения ОП КС с сегментной реализацией программы и данных.
49
МОДЕЛЬ 1.
В любой момент времени влияние (в процессе функционирования КС) внешней фрагментации на
процесс распределения ОП достаточно полно харакатеризуют следующие параметры:
1. количество свободных (занятых) участков памяти,
2. размер свободных (занятых) участков,
3. суммарный размер свободной (занятой) памяти.
Запросы на выделение памяти в любой момент функционирования КС достаточно полно
характеризуются следующими параметрами:
1. количество запросов в очереди на выделение памяти,
2. требуемые размеры непрерывных участков в адресном пространстве памяти или
размеры запросов,
3. суммарный размер памяти, требуемый для распределения запросов из очереди.
Пусть Q – размер ОП, N – суммарный размер свободной памяти, который в процессе работы
системы принимает следующие значения:
N  Z+, N  Q ,
где Z+ - множество целых неотрицательных чисел.
Из-за влияния внешней фрагментации память размером N окажется раздробленной на r участков,
представляющих участки непрерывного адресного пространства памяти.
Такое отображение может интерпретироваться как вектор:
z(N)=(n1, … ,nr)
r
N   ni , n1  n2  ...  nr ,
i 1
ni – размер i-го участка памяти (свободной),
r – количество таких учатсков.
2 состояни свободной памяти z(N)= (n1, … ,nr) и z’(N)= (n’1, … ,n’r) будем считать различными,
если они различны как векторы, т.е. если существует i, при котором ni≠ n’i.
Аналогичным образом любое состояние занятой памяти будет интерпретироваться вектором
g(D) = (d1, … , dl),
dl – размер непрерывного l-го участка памяти,
В – суммарный размер занятой памяти.
Для di≠ d’i будем считать, что эти эти 2 состояния различны.
При моделировании запросов на выделение свободной памяти z(N)=(n1, … ,nr) предполагаем, что
они могут поступать либо одновременно, т.е. группами q(k)= (q1, … ,qt), либо по одному, где ki –
требуемый размер свободной память для j-го запроса.
Группу запросов будем интерпретировать как вектор, т.е.
q(k)= (q1, … ,qt),
t
К   ki , k1  k2  ...  kt
i 1
Элементы ni, dm, kj векторов z(N), g(D), q(K) можно представить как разбиение чисел N, D, K, т.е.
P(N)= (n1, … ,nr)
P(K)= (k1, … ,kt)
P(D)= (d1, … ,dl)
Части разбиения ni опредлеяют размеры свободных участков памяти, kj – требуемые размеры
(размеры запросв на память), dm – размеры непрервыных участков занятой памяти. Ранги разбиений
50
P(N), P(K), P(D) определяют r – число непрерывных участков адресного пространства, t – количество
запросов в очереди, l – число непрерывных участков адресного пространства занятой памяти.
Представление состояний свободной и занятой памяти неупорядоченными разбиениями позволяют
моделировать внешнюю фрагментацию памяти (без учета состояния адресного пространства), что
существенно упрощает распределение памяти.
Интересует: имеются ли в памяти свободные непрервыные участки, необходимые для
удовлетворения поступивших запросов на память?
Т.о. не требуется информация о состоянии адресного пространства свободной памяти.
Интерпретация сободной и занятой памяти неупорядоченными разбияниям чисел позволяет
моделировать внешнюю фрагментацию памяти без учета ее адресного пространства.
Представление групп запросов на выделение памяти неупорядоченных разбиениями чисел также
не противоречит практическому смыслу процесса распределения памяти.
Если запросы на память пришли группой, то они дожны быть одновременно удовлетворены. При
этом алгоритм распределения запросов может быть любым, поэтмоу Модель 1 является адекватным
представлением состояния фрагментации памяти и запросов на выделение памяти.
С помощью множества разбиений чисел можно поисать множество всех возможных состояний
свободной фрагм. памяти. В процессе функционирования КС суммарный размер
Суммарный объем свободной памяти КС изменяется в пределах
0 N Q,
Q – размер памяти КС,
P( N1 )  P( N2 )  ...  P( Nr )   , где
P( N i ) - множество разбиений числа Ni.
Множество состояний фрагм. свободной памяти Q КС определяется множеством разбиений чисел:
Q
Q min( N ,Q1 N )
Z (Q)   Z (Q)  
N 0
N 0
 P (N )
r
r 1
или, используя мощность множества:
Q
Q N ( Q 1 N )
Z (Q)   Z (Q)  
N 0
N 0
 P ( N ) , где P (N ) - множество разбиений чисел ранга r.
r 1
r
r
Можно показать, что множество состояний фрагментированной свободной памяти КС размера Q
определяется множеством разбиений чисел.
Утверждение.
Разбиение p ( N )  P( N ) соответствует одному из состояний свободной памяти КС размера Q тогда
и только тогда, когда ( N  r ( p)  1)  Q , где r(p) – ранг разбиения p(N).
□:
По определению внешней фрагментации между ni и ni+1 существует сегмент занятой памяти Dj.
Если принять Dj  1, то число занятых участков памяти будет l  r(p)-1.
Тогда размер занятой памяти:
F  r(p)-1, т.к. r(p) – ранг разбиения, то F  Q-N и это будет необходимое условие.
■
51
38. Особенность распредления памяти в КС с сегментной организацией
программ и данных (Модель 2). Приведите пример
Процесс распределения свободной памяти КС еще включает процесс удовлетворения запросов в
адресном пространстве свободной памяти. Формализовать этот процесс позволяет Модель 2.
МОДЕЛЬ 2.
Особенностю распределения памяти КС с сегментной организацией программы и данных является
неделимость поступающих запросов на выделение памяти. Т.е. для удовлетворения каждого запроса
требуется непрерывный участок адресного пространства различной длины.
Такая организация распределения памяти применяется в системах телеобработки, при
распределении ОП в многопроцессорных выч.комплексах (Эльбрус) и др.
Удовлетворение любого запраса на память реализуется соответствующим выполнением 2
процессов:
1. поиск свободных непрерывных участков,
2. выделение найденной свободной памяти под запрос
Оба эти процесса могут быть реализованы различными алгоритмами. В итоге их работы
найденный участок свободной памяти полностью исключается из списка свободных участков, либо в
всписке свободной памяти учитывается остаток.
В следствие этого процесса в одном свободном участке памяти может удовлетворяться более 1
запроса, поэтому процесс удовлетворения запросов на память можно моделировать понятием
вложенности разбиений чисел.
Пусть интерпретируемому разбиению (k1, … , kt)├ k необходимо удволетворять памяти,
свободные участки которой соответствуют разбиению (n1, … , nr)├ n и k  n . В соответствии с
определением вложимости разбиение (k1, … , kt) вложимо в (n1, … , nr), если части ki можожно так
сгруппировать в r групп (каждая часть ki входит в одну группу + допускаются пустые группы) таких,
что после сложения всех частей ki в каждой группе получается pi  ni , i  1, r , причем в процессе
конкретной вложимости каждое nj из (n1, … , nr) используется не более одного раза, т.е. фрагмент nj, в
котором группа запросов заняла объем pi  ni уже больше не используется для размещения запросов ki
даже при условии, что n j  p j  0 .
Т.о. понятие вложимости разбиения является адекватной интерпретацией процесса
удовлетворения запросов на память КС.
Пример. Пусть группа запросов на память состоит из объемов (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). Таким образом, группа запросов для их
размещения в участках свободной памяти в точности отражает реальную работу алгоритмов
динамического распределения памяти.
52
39. Комбинаторная модель для оценки необходимого размера памяти КС
(модель 3).
Размер ОП КС оказывает существенное влияние на работу КС. Увеличение ОП повышает
производительность КС. При проектировании КС вопросам размещения ОП уделяется большое
внимание на всех этапах создания системы. С этой целью создаются имитационные модели, с помощью
которых исследуется поведение КС при типовых нагрузках. Проведение этих исследований требует
затрат на разработку и увеличение времени создания ВС.
Эффективное функционирование КС в реальном времени невозможно без выполнения важного
условия: в результате проектирования ПО должно соответствовать аппаратуре. Под аппаратурой
понимается структура ВС. В настоящее время используются подходы для решения задач распределения
памяти, которые позволяют решить эту задачу, однако проявляется это уже на этапе эксплуатации.
Выводы:
1. Методы решения задачи проектирования управления распределения памяти должны
минимаизировать затраты вычислительных ресурсов и обеспечить получения теоретически
обоснованного алгоритма уже на этапе проектирования КС.
2. Метод управления распределения памяти должен учитывать особенности структуры программных
средств КС
3. Метод управления распределения памяти должен минимизировать затраты процессорного времени
на ее распределение и обеспечивать эффективное выполнение функций КС при пиковой нагрузке
4. Метод управление распределения памяти КС должен накладывать как можно меньше ограничений
на очередь запросов к памяти и обеспечивать быстрое освобождение уже не используемых ее
участков.
Для решения этих задач можно использовать ряд комбинаторных моделей. Последовательность
представления таких моделей выбирается в соответствии с априорной информацией о процессе
функционирования КС
В рассматриваемых моделях необходимо учитывать возможность группового удовлетворения
запросов. Преимуществом такого способа является наличие дополнительной априорной информации о
характере запросов на память, которые учитываются путем рассмотрения упорядоченных по размеру
групп запросов.
МОДЕЛЬ 3.
Рассмотрим функционирование КС, в которой запросы на выделение памяти поступают
группами. Пусть размеры запросов группы, которая поступает в произвольный момент времени
соответствует разбиению (k1,…kt) – k.
Свободная память в рассматриваемый момент времени t представляется r-участками суммарным
размером n. Тогда в соответствии принципом полного размещения:
 i

(*) n  k1 ,..., kt ; r   max  K j   Ki  1 r  1  при условии k1  k2  ...  kt
1i t
 j 1

обеспечивает нахождение такого суммарного размера свободной памяти и этот суммарный
размер представляется любым разбиением на r участков (свободных и непрерывных) адресного
пространства и позволяет полностью разместить все k1,…,kt без реорганизации и перераспределения.
Из формулы (*) видно, что для решения этой задачи не требуется информации о размерах
свободных участков памяти, а следовательно на каждого из запросов группы нет необходимости
просматривать список свободной памяти КС, достаточно проверить справедливость неравенства: (**)
n   k1 ,..., kt , r  ,
где r – количество фрагментов, которыми представлена свободная память размером n.
Если (**) выполняется, то из (*) следует, что для удовлетворение запросов k1,…,kt можно
использовать любой алгоритм динамического распределения памяти, учитывающий упорядоченность
53
запросов по убыванию их размеров. То есть все запросы k1,…kt можно одновременно удовлетворить
в свободной памяти (n1,…,nr), например, по алгоритму динамического распределения памяти first-fit,
НО при условии, что при выборе запросов из очереди учитывается их упорядоченность по убыванию
размеров.
Вывод: принцип полного размещения может быть использован при проектировании методов
динамического распределения памяти КС.
Примечание: метод first fit состоит в размещении данных в первом подходящем по размеру для
этого блоке памяти.
54
40. Комбинаторные модели, позволяющие произвести расчет оценки сверху
необходимого размера оперативной памяти КС
МОДЕЛЬ 4.
Пусть имеется m групп запросов при моделировании памяти. Размеры запросов j группы
соответствуют частям разбиения  k1( j ) ,..., kt( j )  , где j  1, m
В соответствии с принципом полного размещения можно показать


max n  k1( j ) ,..., kt( j )  , r при условии k1( j )  ...  kt( j )
i
обеспечивает нахождение суммарного размера свободной памяти, причем свободная память
разбита на не более, чем r непрерывных адресных участков. Тогда обеспечивается полное
удовлетворение запросов на память любой j-й группы
Алгоритм распределения такой же как в модели 3
МОДЕЛЬ 5.
Пусть множество состояний занятой памяти интерпретируется как множество разбиений чисел
(i )
 d1 ,..., dvi(i )  i  1, l
где любая часть i-го разбиения dir — размер r-го занятного участка памяти, а vi — количество
занятых участков, представленных частями i-го разбиения числа
Для каждого i-го состояния занятой памяти известно множество групп запросов. Каждая из этих
групп в процессе функционирования КС может потребовать одновременного удовлетворения всех
своих запросов при i-м состоянии занятой памяти.
Пусть множество разбиений чисел  k1(i ) ,..., klj( i )  i  1, l соответствует множеству групп запросов
для i-го состояния занятой памяти
Части этих разбиений соответствуют размерам запросов на память, а ранг tj соответствует
количеству запросов в j-й группе
Учитывая влияние внешней фрагментации полагаем, что в процессе функционирования КС при
удовлетворении запросов каждой группы, причем эти запросы соответствуют i-му состоянию занятой
памяти, и, следовательно, свободная память КС оказывается раздробленной на не более чем Vi+1
участков, где Vi – число занятых участков памяти, соответствующих i-му состоянию. Тогда оценка
сверху V необходимого размера памяти КС, которая в процессе функционирования будет доступна для
удовлетворения любой поступающей группы запросов на память с учетом принципа полного разбиения
вычисляется по следующему выражению:
Vi
i
i


V  max  max n  k1( j ) ,..., kt( j )  ,Vi 1   d r(i )  при  k1( j ) ,..., kt( j )  где величина определяется по
1i l 1 j  m j
r 1


 i

i
формулам принципа n  k1 ,..., kt ; r   max  K j   Ki  1 r  1  для каждого разбиения  k1( j ) ,..., kt( j )  , а
1i t
 j 1



Vi
d
r 1
(i )
r
- суммарный размер занятой памяти при удовлетворении запросов группы.
Такой подход к выбору ОП предполагает возможность использования алгоритма динамического
распределения памяти. Алгоритмы должны учитывать запросы группы в порядке убывания их размера.
Однако в настоящее время в большинстве КС не используют групповой метод удовлетворения запросов
на память. Построить аналогичную модель для оценки выбираемого размера памяти при реализации
одиночного метода позволяет иная формулировка комбинаторной модели: пусть имеется группа
запросов на выделение памяти (k1,...,kt)
Эти запросы необходимо удовлетворить по одному в порядке поступления. Все запросы должны
быть одновременно удовлетворены в свободной памяти. Свободная память это r непрерывных участков
адресного пространства. Одиночное удовлетворение запросов предполагает порядок чисел (k1,...,kt). В
соответствии с принципом полного размещения:
55


f  k1 ,..., kt ; r   max  k j   ki  1 r  1  ki  N
1i t
 j 1

В любом порядке очередности чисел (k1,...,kt) выполняется неравенство:
f  k1 ,..., kt ; r   n  k1,..., kt ; r 
и для оценки требуемого размера свободной памяти КС при одиночном удовлетворении
запросов необходимо найти максимальное значение F(k1,...,kt). Этот максимум будет равен:
i


r
K  max ki  1  r  1 , K   K i
1i t
i 1
Нахождение этого результата не является окончательным решением этой задачи, следовательно,
прежде чем решить задачу одиночного метода удовлетворения запросов на память необходимо
сформировать алгоритм по которому осуществляется вложимость. Алгоритм, реализующий вложимость
при произвольном порядке частей разбиения (k1,...,kt) можно сформулировать в следующем виде: пусть
задано разбиение (k1,...,kt)-k и (n1,...,nr)- n, для которых справедливо неравенство:


n  k  max ki  1  r  1
1i t
Тогда  k1 ,..., kt    n1,..., nr  причем эта вложимость может обеспечить алгоритм, который:
1)
части ki для размещения выбирает по одной в порядке их нумерации
2)
каждую часть kj размещает в первой подходящей по размеру части ni, то есть ni
выбирается по следующему правилу:
i  min  i : k j  ni  1  i  r
3)
1 j t
при выборе ni>kj остается остаток в виде nj=ni-kj>0
56
41. Диаграммы Ферре и инверсии в бинарных последовательностях
Разбиения удобно представлять в виде наглядных геометрических объектов, называемых
диаграммами Ферре. Диаграмма Ферре разбиения — подмножество первого квадранта плоскости,
разбитое на ячейки, каждая из которых представляет собой точку. Ячейки рамещаются в строки, первая
строка имеет длину k1, над ней расположена строка длиной k2, и т. д. до m-ой строки длины km. Строки
выровнены по левому краю.
Более формально, диаграмма Ферре — это замыкание множества точек (x,y) таких, что
x,y > 0 и
где [x] обозначает целую часть x.
. Например разбиение числа 4 (1,22,32,4) будет выглядеть следующим образом:















Такие изображения разбиений удобны для представления различных преобразований разбиения.
Например, если эту диаграмму повернуть следующим образом:















то получится граф (1,3,5,6), сопряженный графу (1,22,32,4)
Для описания совокупности разбиения натуральных чисел
с числом слагаемых, не
превосходящих α можно использовать прямоугольники Ферре, содержащие α*β квадрата.
В каждом столбце содержится α квадратов, а в каждом столбце β.
Диаграмма Ферре соответствует разбиению:
;
;
Строится следующим образом. В первой строке заштриховывается квадрат, во второй квадрата и т
д. Заштрихованная ступенчатая фигура называется диаграммой Ферре и соответсвует разбиению числа
n.
α = 7; β = 11; n=22=8+6+6+1+1;
0 - что касается горизонтали
1 – что касается вертикали
α + β = 000100110000011011
Т о. между разбиением числа n и последовательностью длинны α + β состоящей из α единиц и β нулей
и имеющей n инверсий установлено взаимно-однозначное соответствие, откуда вытекает что J(n,α,β)число бинарных последовательностей с αединицами и β нулями и n инверсиями.
Тогда J(n,α,β)=R(n,α,β) , где R – количество разбиений натурального числа n на не более чем α
слагаемых, величина которых не превосходит значение β.
57
В скобках - коффициент Гаусса.
Пусть
есть n мерное векторное пространство содержащее
независимых векторов равно:
Тогда число базисов в пространстве
, где p простое число, систем из r
будет равно:
Вектор
выбирается из простраства
линейно независимых векторов
Число подпространств выражается следующей формулой:
способом.
58
42. Влияние топологии на технические характеристики сетей
Сложность сети растет с ростом количества узлов и ребер. Для связной сети число ребер не
может быть меньше числа узлов минус 1 : m≥(n-1). Связанные сети с максимальной однородностью
при числе узлов >2 представляют собой кольца с числом узлов, равным числу ребер. Для
неориентированных сетей в качестве показателя сложности можно использовать показатель
однородности ее элементов, определенный через систему числовых инвариант. Сложность сети зависит
не только от числа элементов, но и от их взаимосвязи. В свою очередь это соотношение связано с
разностью числа ребер и числа узлов (l=m-n).
При изменении l от 0 до n(n-3)/2 сложность сети увеличивается за счет увеличения валентности
от 2 до n-1.
Разнообразие узлов по валентности усложняет сеть за счет снижения унификации в
оборудовании узлов
k

1

nд
k
n 
l
л
я
ч
е
т
н
ы
х
 
2
2


k
nl

1
л
я
н
е
ч
е
т
н
ы
х
k
nд

Сложность сети во многом определяет ее стоимостные характеристики. Суммарная стоимость
элемента сети будет равна С=С1n+C2m, где С1 – стоимость оборудования узла, C2 – стоимость
оборудования канала связи.
Для сравнения со стоимостью других сетей необходимо использовать относительную
C
l 
n,l 2 
дополнительную стоимость: A
C
n n
1
Труднее всего оценить стоимость эксплуатации сети, зависящую от показателя однородности,
который влияет на сложность организации взаимодействия в процессе решения задач.
Пропускная способность сети и ее диаметр:
Для вычисления среднего диаметра пользуются одним из вариантов – ветвление узлов.
i
Узловая мода сети: для каждого xi найдем разбиение множества X0 на подмножества X j такие,
i
что X0 xi 
i
X
x


,x

j
x

j
i
Для неориентированной сети:
j
0
,d

x
id
i
i
i
i
i
Подмножество X j назовем слоем j для узла xi. Обозначим j  X j . Тогда модой узла xi будет
1i,...,dii.
вектор M
i
1i  
di
1 di i
j

j
n
1j1
ij n1 di 
j1
d
1n
di
n i1
59
43. Классы характеристик КС
1) Структурная сложность – число элементов и связей, составляющих структуру КС.
Выделенные элементы соответствуют висячим тупиковым вершинам графа. Наличие в графе
изолированных вершин говорит об ошибке при формировании структуры ВС. Исследование числа и
особенностей связей между элементами структур направлено на выявление в соответствующем графе
контуров и сильносвязанных подграфов. Структурная сложность может быть оценена числом остовных
деревьев.
2) Адаптирование КС – приспособление структуры КС к внешним или внутренним условиям,
позволяющее достигать целей функционирования минимально возможного числа алгоритмов.
3) Диаметр КС – метрическая характеристика, введенная на графе для определения кратчайшего
пути между наиболее удаленными вершинами.
Средний диаметр имеет системную значимость. По значению диаметра можно судить о ряде
параметров КС, о ее надежности, длительности задержек сообщения, инерционности, количестве
разделяющих вершин и ребер
4) Структурная связность КС – способность противостоять разбиению (разделению) графа
структуры на независимые части. Структурные связи позволяют выявлять наличие обрывов, мосты и т.
д.
В теории графов существует несколько определений. Эти определения осуществляются
различными критериями. Расчет характеристик позволяет оценить структурные связи
5) Надежность КС – способность структуры КС обеспечить функциональность КС в течение
заданного промежутка времени. Надежность – важная многопараметрическая характеристика
структуры, определяется как надежностью элементов, так и схемой объединения элементов.
6) Живучесть (отказоустойчивость) КС оценивает сохранность частей структуры КС,
обеспечивающих выполнение поставленной задачи. Живучесть имеет тесную функциональную связь с
показателями надежности КС.
7) Стоимость КС – характеристика, оценивающая стоимость реализации структуры. Наилучшей
считается структура, которая наиболее эффективна при заданной стоимости, либо обладает заданными
параметрами при минимальной стоимости. Стоимость элементов КС предполагается независящей от
времени.
Представленные характеристики дают возможность полно характеризовать структуру КС. Но
точное и целостное решение задачи анализа структур с большим количеством узлов затрудняется из-за
большой величины. Поэтому большинство работ при анализе направлены на отыскание методов,
позволяющих решить проблему с точностью и минимальными затратами.
60
44. Абсолютно однородная сеть (определение, примеры)
45. Какую [n,m]-сеть можно назвать уницентральной?
Требование однородности позволяет ограничиться сетями без петель и кратных ребер.
Абсолютно однородные сети – те, которые не имеют различий по взимной связи с другими
узлами и ребрами
Абсолютно однородная сеть должна быть инвариантной. Но этого недостаточно, в качестве
примера рассмотрим сеть. В сети 1 можно выделить 3 подмножества узлов. В сети 2 можно выделить 4
подмножества. Для пополнения числовых инвариант однородного масштаба использован диаметр сети.
Так как сеть является связным графом, то для любой пары узлов существует пусть (без циклов),
соединяющих эти узлы. Так как в сети между узлами нет крайних связей, то путь можно обозначить
цепочкой <xi1,xi1,…,xj>. Число ребер пути называется длиной пути. Тогда расстояние p(xi,xj) между
узлами будет определяться как минимальная длина пути между ними. P(xi)=max(xi,xj) – это является
диаметром сети в узле xi d=max p(xi) – диаметр сети r=min p(xi) - радиус сети
Узел xi, для которого p(xi)=p называется центром сети. Сеть, у которой все узлы являются
центрами называется уницентральной.
Абсолютно однородная сеть обязательно является унивалентной. Число узлов m и ребер n в
n  n  1
такой сети связано: n  m 
(***). Из этого соотношения следует, что далеко не для всех типов
2
удовлетворяющих неравенству существует унивалентная сеть. Среди сетей разных валентностей особое
место имеют довалентные сети, узлы которых имеют 2 значения валентности: p и p+1. Для таких сетей
справедливо следующее утверждение: для любых m и n можно построить довалентную сеть,
обозначаемую как (n,p,r)-сеть. Пусть X0 – подмножество узлов сети, имеющей валентность p, X1 –
подмножество
узлов
сети,
имеющей
валентность
p+1.
Обозначим
мощность
X 0  n0 X1  n1 n0  n1  n
Из (***) следует: 2m  n0 p  ( p  1)n1 . Отсюда, учитывая, что n0+n1=n 2m=np+n, следовательно
 2m 
p
 n 
n  rest
2m
.
n
Пример:
n=10 m=12 p=[24/10]=2 n1=rest 24/n=4 n0=6
61
46. Построить коммутатор по схеме сети косвенного двоичного куба
47. Построить двухкаскадный коммутатор компьютерной сети
Пример осуществимости решения задач КС.
Рассмотрим один из вариантов построения КМ по схеме косвенного двоичного куба.
U
I0
I0
O0
K
I1
Здесь КМ:
значения:
=0:
O1
и -входные полюса;
-выходные полюса.U-управляющий сигнал, принимает 2
=1:
Запишем уравнение:
В матричной форме:
;
;
Матрицу М с 2 входными и 2 выходными полюсами будем называть матрицей переключений.
Каскадное переключение:
Выполним последовательно действия , учитываю предыдущие:
Остальные уравнения аналитическим образом:
Т.о. матрица переключений для 2 каскадного:
62
Можно подключить любой входной полюс к любому выходному полюсу при помощи
управляющих сигналов (0 или 1).
Управляющий сигнал Комм вх и вых полюса Матрица переключений
U1
U2
I
O
0
0
1
1
0
0
2
2
3
3
0
3
1
2
1
1
2
1
3
0
0
2
1
3
0
1
2
0
3
1
0
1
1
0
1
0
2
3
3
2
Повторяя операции можно получить Матрицу переключений
Свойства матрицы М:
1.
Она симметрична относительно главной диагонали.
2.
для любых n .
63
48. Понятие о сложности сети КС
Сложность сети растет c ростом числа составляющих ее элементов  узлов и ребер. Для связной
сети число ребер не может быть меньше числа узлов без единицы, а связные сети максимальной
однородности при числе узлов, большем двух, представляют собой кольца с числом узлов, равным
числу ребер. Для неориентированной сети в качестве показателя сложности можно использовать
показатель однородности ее элементов, определяемый с помощью числовых инвариантов. Сравнивая
этот показатель для конкретной сети с заданным числом узлов n и ребер m с показателем максимально
однородной сети с таким же числом элементов, можно определить, насколько данная сеть отличается от
наименее сложной. Сложность сети зависит не только от числа элементов, но и от их взаимосвязи,
которое можно охарактеризовать через разность числа ребер и числа узлов l = m  n.
Сложность сети зависит не только от числа элементов, но и от их взаимосвязи, определяемой по
валентности узлов и максимально однородной двухвалентной сети. Сложность сети во многом
определяет ее стоимостные характеристики. Суммарная стоимость элементов сети С1n + С2m, где C1 и
C2  стоимости оборудования узла и канала связи, задает средства, вложенные в создание сети и
затрачиваемые на поддержание ее технической работоспособности.
64
49. Задача отображения множества программных модулей на множество
процессоров.
Алгоритм решения задачи отображения рассматриваем таким образом, чтобы связанные друг с другом
программные модули размещались в максимально близких процессорах.
Математическая формулировка задачи:
G p  Vp , E p  Vp - узлы (программные модули)
Введем программный граф
, аналогично
 x, y   E p  связи между модулями
Ga  Va , Ea  Va - процессоры Ea  связи между процессорами
Проблемный (программный?) граф можно рассмотреть как множество вершин Vp и функцию, такую,
что Gp  x, y   Gp  y, x  Gp  x, x   0 Gp  x, y   1 - между x и y есть дуга, т. е.  x, y   E p
Если V p  Va , то в множество Vp можно внести некоторое число вершин.
Если V p  Va , случай сложен, не рассматриваем.
Отображение мнрожества программных модулей на множество процессоров можно записать в виде:
11
f m : Vp Va
Качество отображения определеяется количеством совпадений луг программного графа и
процессорного графа. Это число называется кардинальностью отображения и обозначается
f m  1   p  x, y   a  f m  x  , f m  y  
2 xVp
yVa
f m  x  и f m  y  обозначают процессоры, на которые отображены задачи x и y.
При суммировании процессоры считаются дважды, следовательно множитель ½. Необходимо выбрать
функцию fm с максимальной кардинальностью среди V p возможных функций
65
50. Проблемы адаптации структуры КС к алгоритмам решаемых задач в
терминах теории графов
Основной задачей адаптация ВС к алгоритмам решаемых задач является обеспечение
максимальной эффективности вычислительного процесса. Адаптация сводится к задаче изоморфного
вложения сетей.
Изоморфное вложение - граф G2 изоморфно вложим в граф G1 , если в графе G1 существует
подграф, изоморфный графу G2 .
Будем использовать понятие ВС – как совокупность ресурсов, которые задействуются при
реализации задач.
Ресурс – проргаммно-аппаратный компонент, которым можно манипулировать независимо от
других ресурсов.
Как саму ВС, так и выполняемые ею задачи, можно представить графом ресурсов.
Граф ресурсов – граф G=G(X,Y).
Вершины – ресурсы (включая резервные), а ребра - связи между вершинами.
Граф G – направленный, если ребра ориентированы и помечены. Если каждой его вершине
приписано число ti – тип ресурса xi.
Для максимального увеличение быстродействия желательна связь каждого входа с каждым
выходом. В этом случае минимизируется время необходимое для передачи данных от одного
вычислителя к другому. При большом количестве вычислителей граф становится громоздким.
Алгоритм также может быть описан графом ресурсов, вершины и ребра которого соответствуют
информационным файлам и программным связям, необходимым для реализации данного алгоритма.
Будем говорить, что алгоритм А выполним на КС с именем S. Значит S содержит A, если А
изоморфен некоторому графу S.
Переход к новому алгоритму требует поиска нового подграфа в графе S, изморфного А*.
Установление требуемых связей между ресурсами КС осуществляется с помощью коммутации.
y1
Управляющие сигналы U
управляют
топологией
.
.
входы
выходы
коммутаторов
так,
что
n входных
.
.
K
сигналов Х и n выходных Y
.
.
yn
взаимно
коммутируются
xn
требуемым способом.
Будем предполагать, что xi и
yi
подключаются
к
соотв.
un
u1
Двунаправленному каналу i-ой ВС,
входящей в состав выч.системы.
Анализ
процессов
реконфигурации
топологии
позволяет исследовать возможности изменения связей между элементами ВС.
Причем выходные связи вводятся с целью достижения наибольшего соответствия между системой
и выполняемой ею функциями.
Сеть коммутации – множество взаимодействующих связей.
Для N входов и N* выходов существует N! четко определенных отображений от входов и выходов
Чтобы такие отображения не были пустые, сеть должна иметь столько же входов, сколько и
выходов.
x1
Х
Y
U
66
51. Диаметр и средний диаметр [n,m]-сети
Пропускная способность сети определяется максимальным потоком сообщений, который можно
организовать между ее узлами. При равной пропускной способности ребер и узлов, пропускная
способность обратно пропорциональна среднему диаметру и диаметру сети.
Диаметр d – это максимальное расстояние, определяемое как
d  max{dij }, i, j {0,..., N  1} ,
i, j
где dij – расстояние между вершинами i, j рассматриваемой КС. Расстояние dij есть минимальная
длина простой цепи между вершинами i, j, где длина измеряется в количестве ребер между вершинами
i, j.
Средний диаметр d определяется как
d p  np
d 
,
p1 ( N  1)
где p – расстояние от текущей вершины до выделенной (произвольной),
np – число вершин, находящихся на расстоянии p от выделенной (мода).
Дополнительно: Так как сеть является связанным графом для любой пары узлов, существует путь
без циклов, соединяющий эти узлы. Число ребер в пути естественно назвать его длиной. Тогда
расстояние (xi, xj) между узлами будет определяться как минимальная длина пути между ними.
Напомним, что ρ( xi )  max ρ( xi , x j ) является диаметром сети в узле xi, величина d  max  ( xi ) 
j
i
диаметром, а величина ρ  min ρ( xi )  радиусом сети. Узел xi, для которого ρ( xi )  ρ, назовем центром
i
сети. Тогда, сеть, у которой все узлы являются центрами, называется уницентральной.
67
52. Надежность сети КС
53. Надежность кольцевой структуры КС
Сложность КС отрицательно сказывается на ее надежности, в то время как характер выполняемых
задач требует именно высокой надежности.
Под надежностью КС понимают свойство КС выполнять все заданные функции при определенных
условиях эксплуатации в течение заданного времени с сохранением значений основных параметров в
заранее установленных пределах.
Отказ  событие, состоящее в полной или частичной утрате работоспособности системой. Отказы
являются событиями случайными и наступают всякий раз тогда, когда система не сохраняет своих
параметров в заданных пределах.
Основной количественной характеристикой надежности является P(t), которая определяется
вероятностью безотказной работы КС, т.е. вероятностью того, что при заданных режимах и условиях
эксплуатации в течение заданного времени работы КС отказ в ней не возникает
Р(t) = Р{T > t},
где Т  наработка на отказ КС; t  заданное время; Р{А}  вероятность события А, в данном случае
событие А состоит в том, что T > t.
По аналогии с функцией надежности введем функцию ненадежности (вероятность отказа) Q (t) =
Р{Т  t}.
Из определений функций P(t) и Q(t) следует P(t)+ Q(t) = 1 или P(t) = 1  Q(t).
Если заданное время t произвольно, то Р = 1  Q. Из последнего равенства следует, что мерой Р
может служить Q: чем выше значение Q, тем хуже надежность КС.
Количественно ненадежность сети определяется вероятностью разрушения связей между узлами
сети, если известны вероятности отказов линий связи и узлов коммутации. При топологическом
проектировании сетей естественно полагать, что отказы каких-либо узлов и ребер являются
независимыми случайными событиями, характеризуемыми одинаковыми для всех узлов (q1) и ребер
(q2) вероятностями появления. Если в этих предположениях вычислить вероятности Qij отказа связи
между узлами сети i, j = l, 2, ..., n, то надежность сети можно определить выражением
(4.9)
Q  max Qij .
i j
На практике часто оказывается удобным рассматривать отдельно реберную (q1 = 0) и узловую (q2
= 0) надежности сети, определяемые через реберную Q2ij и узловую Q1ij вероятности отказа связи
между узлами ij сети, когда соответственно отказывают только ребра или только узлы. Глобальные
реберная Q2 и узловая Q1 оценки надежности сети могут быть определены аналогично (4.9).
Надежность – вероятность безотказной работы.
Q=1–P
0
n-1
1
n-2
i
Рассчитаем надежность кольцевой сети. Необходимо
пройти сеть от 0 до i по часовой стрелки, либо против.
Надежность будет равна:
1  q1 i 1  q2 i 1  1  q1 ni 1  q2 ni 1 



q1 – отказ узла
q2 – отказ ЛС
Если n = 2l, i=l =>
2
l
l 1
Q  1  q1  1  q2  


Расчет надежности сложен даже для простых систем.
68
54. Отказоустойчивость (живучесть) топологической структуры КС
Живучесть – свойство систем адаптироваться к новой ситуации и противостоять неблагоприятным
воздействиям, при этом выполняя свою целевую функцию, за счет изменения структуры и поведения
системы даже при повреждении ее частей.
Есть след. подходы:
1. Создание модели живучести на основе анализа взаимодействия системыв и среды
2. Определение предельной живучести КС и вероятностный анализ сохранения системой своих
функций
3. Определение степени живучести КС по отношению к некоторому стандартному возмущению
Живучесть системы должна проектироваться исходя из возможного кртерия и круга задач.
Уровни проектирования живучести
1. Микроуровень – улучшение качества элементов
2. Подсистем – вопросы компоновки и избыточности элементов
3. Макросистем – организация подсистем и блоков
Если есть задача, чтобы система работала при одном отказе с вероятностью 1, то необходимо
трансформирование системы.
Живучесть – многокритериальная задача оптимизации.
Модели анализа живучести
1. Модель внешней сети
2. Модель взаимодействия аппаратных средств системы
3. Модель взаимодействия компонент ПО
4. Модель контроля и диагностики аппаратных и программных средств
5. Модель вычислительного процесса при решении задач
6. Модель надежности
Будем говорить, что алгоритм А выполним на КС с именем S, если структура А изоморфна некоторому
подграфу S, т.е. суцествует отображение A->S.
Удаление из графа S любых к-вершин - к-кратная неисправность. Система S является толерантной
относительно алгоритма А и неисправности F…
Система толерантна относительно мн-ва алгоритмов А1…АN и множества неисправностей F1..Fq, если
Аi выполним системой при всех Fj.
В данной модели исследования живучести предполагается, что в КС имеется некоторое заведомо
исправное ядро, выполняющее функции обнаружения локализации неисправностей. Выполняется
реконфигурация и восстановление системы.
69
55. Связь стоимостных характеристик и топологии КС
Первые практические шаги на пути создания больших КС породили вопросы, связанные с оценкой
эффективности этих работ, определением экономической целесообразности выбора той или иной
топологии.
При анализе топологии возникает задача связать стоимость выбираемой топологической структуры
КС с характеристиками стоимости элементов, составляющих ее. Наилучшей топологической
структурой считается та, которая либо наиболее эффективна при заданной стоимости, либо обладает
заданными параметрами при минимальной стоимости.
При топологическом проектировании сетей технические характеристики узлов и ребер,
составляющих сеть, одинаковы. В этих предположениях, задав стоимость узла C1 и стоимость ребра С2,
получим стоимость [n, m]-сети
C  n, m   C1n  C2 m.
При заданном n наименьшую стоимость имеет кольцо (n, 2), а наибольшую  полный граф (n, n1)
n 1 

C  n, 2   n  C1  C2  ; C  n, n  1  n  C1 
C2  .
2


Как правило, проектирование сети заключается в выборе числа ребер и распределении их между
узлами так, чтобы получить требуемые значения надежности и пропускной способности. При этом
удобно пользоваться относительной стоимостью C  n, m  C1n . Из определения сети следует, что m =
n + l, тогда относительная стоимость будет иметь вид 1   1  l n  , где   C2 C1 , и в качестве
функции стоимости сети удобно использовать выражение
A(n, l )   l n .
Для КС со структурой «кольца»  l0  0 и A0  A(n, 0)  0, а для КС со структурой полного графа:
n(n  1)
n(n  3)
n(n  3) 
n3

 n
.
и Amax  A  n,
  δ
2
2
2 
2

Тогда для произвольной сети без кратных ребер
n3
0   ( n, l )  
.
2
Функцию А(n, l) можно интерпретировать как относительную дополнительную стоимость сети.
l
70
56. Приведите общее выражение для переключающей матрицы
M U1 ...U n  M 2n 2n
MU1 ...U n
U [ M ] n1 n1
2 2

U [ M ]2n12n1
U [ M ]2... 

U [ M ]2... 
Матрица М симметрична относительно главной диагонали.
Придавая матрице логические значения можно подключить любой вход к любому выходу.
71
57. Определите
d в узле КС и в КС
Мода узла (nl) – число узлов, находящихся на
расстоянии l от выделенного.
d
n
1
 dl
n l 1
x1
;
x2
x1
U1
x2
U5
d  max{d ij } ;
1 d
dl 
 l  nl
n  1 l 1
58. Дайте определение реберного
графа и постройте граф L(G), если
граф G имеет вид:
U4
;
x4
U2
U6
U3
x3
Реберный граф Gl графа G имеет
столько же вершин, сколько ребер у графа G.
Ребро между двумя вершинами графа Gl
существует тогда и только тогда, когда ребра
графа G, соответствующие этим двум
вершинам, смежны (т.е. инцидентны одной и
той же вершине графа G).
x1
x4
x3
x4
x2
x6
x5
d 2
1
4
d1  (2  1  1  2) 
3
3
1
d 2  (3  1)  1
3
1
4
d3  (2  1  2  1) 
3
3
1
d 4  (3  1)  1
3
d
14 7

12 6
x3
72
59. Приведите определение и поясните особенности параллельных КС с
магистральными связями.
В ряде практических случаев предпочтительнее объединять системы общей шиной
(магистралью). Такие КС допускают одновременную передачу сообщений от одной КС к нескольким
по одному физическому каналу. Такой способ построения эффективен для сетей, содержащих десятки
процессоров. Преимуществом таких сетей являются невысокая стоимость и простота наращивания.
Магистральная сеть КС представляет собой соединение 2х видов равноправных узлов –
процессор и магистраль – общей шиной.
В рассм. КС ребра (каналы) могли быть инцидентны не более, чем 2 процессорам, в то время
как узел может быть инцидентен любому числу ребер. В магистральных сетях любой узел
(магистраль) может быть инцидентен любому числу магистралей (узлов).
Для примера рассмотрены топологии и их особенности:
Системы с общей шиной имеют два главных недостатка. Первый - невысокое быстродействие,
так как одновременный обмен информацией возможен между двумя устройствами, не более. По этой
причине в системах с общей шиной число процессоров невысоко. Второй недостаток при объединении
общей шиной заключается в относительно низкой надежности системы из-за наличия общего
элемента - шины. Надо иметь в виду, что надежность общей шины определяется не только
надежностью проводов и кабелей (их собственная надежность достаточно высока), но и надежностью
всех соединений, входных и выходных цепей устройства. Отказ хотя бы одного из элементов
приводит к отказу всей системы.
Топологически сеть КС на магистралях – это объединение двух типов равноправных объектов:
узлов и магистралей. Узел может быть инцидентен любому числу магистралей и наоборот (в отличие
от других топологий).
73
60. Приведите математическое описание магистрально-модульной КС.
Магистрально-модульная КС может быть описана реберным графом.
Реберный граф Gl графа G имеет столько же вершин, сколько ребер у графа G. Ребро между
двумя вершинами графа Gl существует тогда и только тогда, когда ребра графа G, соответствующие
этим двум вершинам, смежны (т.е. инцидентны одной и той же вершине графа G).
Магистральная сеть из n узлов и m магистралей может быть описана матрицей инцидентности
Anm ( aij 1 , если узлу i инцидентна магистраль j).
Магистральная сеть – пара конечных множеств (X,Y), X  n , Y  m с установленными между
этими множествами инциденциями матрицы Anm . Если обозначить число магистралей,
инцидентных i через pi (валентность узла), а число узлов, инцидентных магистрали j – qj (валентность
магистрали), то для любой (n,m) магистрали можно записать:
 p  q
i
j
b
В отличие от (n,m) сети, у (n,m) магистрали всегда есть магистральная сеть с
транспонированной матрицей инцидентности.
Магистральные сети структурно эквивалентны гиперграфу. Их можно исследовать, используя
p-сеть (кёнингово представление).
p-сеть (n,m) магистральной сети G c матрицей А называют (n+m,b) сеть с матрицей смежности:
B [
0
AT
A
]
0
B  (n  m)2
Yb  b
p-сеть в кёнинговом представлении указывает на то, что это двудольный граф с числом узлов
x0  n , x1  m .
74
61. Структура магистрально-модульных КС; особенности построения структур
магистральных КС и их отличие от других типов структур компьютерных сетей?
Характерной особенностью параллельной КС является наличие в структуре независимых
модулей, которые обмениваются информацией друг с другом. Состав модулей и их характеристики
могут быть разнообразными. Наличие таких модулей решает вопрос построения КС с высокой
производительностью и памятью. В КС стирается грань между машиной и системой.
Характеристики модулей делятся на основные и дополнительные.
Основные – числовые характеристики функции модуля (быстродействие процессора, объём
памяти). Модуль коммутатора не имеет основных характеристик.
Дополнительные – одинаковы для всех модулей (p – надёжность, c – стоимость, w –
энергопотребление).
Под основными модулями понимаются модули, влияющие на изменение эффективности ВС.
Список основных модулей определяется составом задач, решаемых ВС и требованиями к их решению.
Под однородными понимаются модули одного наименования, имеющие одинаковые
характеристики – основные и дополнительные.
Все модули разделены на две группы: совмещаемые (для повышения надёжности допускают
аппаратное и программное резервирование (процессоры, модули обмена, модули связи)) и
несовмещаемые (допускают только аппаратное резервирование).
62. Приведите определение реберного графа и постройте граф L(G)
неориентированного графа C4.
Реберный граф Gl графа G имеет столько же вершин, сколько ребер у графа G. Ребро между
двумя вершинами графа Gl существует тогда и только тогда, когда ребра графа G, соответствующие
этим двум вершинам, смежны (т.е. инцидентны одной и той же вершине графа G).
C4 – цикл.
Related documents
Download