Шпоры_2010

реклама
Оглавление
1. Классификация параллельных КС по структурно-функциональным признакам. ...........2
2. Классификация параллельных КС по функциональным возможностям КС с точки
зрения пользователя. .....................................................................................................................5
3. Проведите сравнительный анализ классификаций компьютерных систем. ....................5
4. Мультикомпьютеры, кластеры и симметричные мультипроцессоры  общая
характеристика, схемы построения, особенности каждой из систем, области применения. 5
5. Системы с распределенной и разделяемой памятью, массово-параллельные системы 
общая характеристика, схема построения, особенности каждой из систем, области
применения.....................................................................................................................................7
6. Структура, достоинства и недостатки UMA-, NUMA- и ccNUMA-систем ........................8
Масштабируемая архитектура. Что понимается под словами «масштабируемость
кластера»? .....................................................................................................................................10
Архитектуры S2MP и NUMA-flex как развитие архитектуры ccNUMA .................................11
7. Основные понятия теории моделирования параллельных КС. Методы моделирования
параллельных КС. ........................................................................................................................11
8. Задачи моделирования параллельных КС. ........................................................................12
9. Приведите основные принципы моделирования. .............................................................12
10. Моделирование параллельных процессов. Применение аппарата сетей Петри.
Подклассы и расширение сетей Петри. .....................................................................................13
Применение сетей Петри для синтеза дискретных управляющих устройств. ......................14
12. Оценочные или Е-сети как расширение сетей Петри ...................................................16
Моделирование конвейерной обработки информации ............................................................17
13. Задачи сохранения и активности сети Петри ................................................................19
Моделирование сетями Петри вычислительных процессов в КС, использующих кратные
функциональные блоки. ..............................................................................................................21
14. Задачи достижимости и покрываемости сети Петри. ...................................................24
15. Задача безопасности и ограниченности сети Петри. ....................................................24
Моделирование сетями Петри задач синхронизации при взаимодействии процессов в КС
.......................................................................................................................................................25
18. Анализ сетей Петри матричным методом ...........................................................................27
19. Матричный метод анализа сетей Петри достоинства и недостатки метода ....................28
20. Подклассы сетей Петри.........................................................................................................28
21. Маркированные графы – подкласс сетей Петри ................................................................28
22. P- и V- операции над семафорами, моделирование P/ V- систем сетью Петри ..............29
Границы возможности моделирования с помощью сетей Петри ...........................................29
23. Сети Петри и их особенности ..............................................................................................31
24. Покажите, используя матричный метод анализа сетей Петри, что маркировка (0, 7, 0,
1) недостижима из маркировки (1, 0, 1, 0) для сети Петри, изображенной на рисунке. ......31
25. Дана последовательность запусков переходов  = t3 t2 t3 t2 t1 сети Петри, изображенной
на рисунке. Определите вектор запуска и маркировку ’ сети Петри. .................................32
26. Определите является ли маркировка (1, 8, 0, 1) достижимой из маркировки (1, 0, 1, 0)
для сети Петри, изображенной на рисунке. Найдите последовательность запусков
переходов . .................................................................................................................................32
Понятия множества и мультимножества и операции со множествами и
мультимножествами. ...................................................................................................................32
27. Понятие о монотонной структуре. .......................................................................................33
28. Понятие о топологическом анализе структур КС. .............................................................34
29. Разбиения чисел. Основные понятия и определения. Принцип Дирихле. ......................35
30. Вложимость разбиений. ........................................................................................................36
31. Ранговое условие вложимости; пример использования. ..................................................36
32. Принцип полного размещения; пример использования. ...................................................37
33. Вложимость с ограничениями; пример использования. ....................................................37
35. Особенностью распределения памяти в КС с сегментной организацией программ и
данных (модель 2).
Приведите пример................................................................................39
36. Комбинаторная модель для оценки необходимого размера памяти КС (модель 4).
Приведите пример. ......................................................................................................................40
37. Комбинаторная модель, позволяющая произвести расчет оценки сверху необходимого
размера оперативной памяти КС. ..............................................................................................40
Совместное исследование параллельных КС и алгоритмов. ..................................................40
38.Влияние топологии на технические характеристики сетей. ..............................................41
39. Классы характеристик КС. ...................................................................................................42
Абсолютно однородная сеть (определение, примеры). ...........................................................42
40. Проблемы адаптации структуры КС к алгоритмам решаемых задач в терминах теории
графов. ..........................................................................................................................................43
Определите d в узле КС и в КС (структура КС условно изображена на рис). .....................43
40. Проблемы адаптации структуры КС к алгоритмам решаемых задач в терминах теории
графов. (Адаптация КС к алгоритму ← так в лекциях называется). ......................................43
41. Надежность сети КС. .............................................................................................................44
42.Отказоустойчивость (живучесть) топологической структуры КС. ...................................44
43. Определение путей и разрезов на графе(пример). .............................................................45
44. Граничные оценки показателей связности. ........................................................................46
45. Двухсторонние граничные оценки Эзари-Прошана для вероятности связанности
двухполюсного графа ..................................................................................................................49
46-47. Структура магистрально-модульных КС, особенности построения структур
магистральных КС и их отличие от других типов комп сетей. ..............................................50
48. Приведите определение реберного графа и постойте граф L(G) неориентированного
графа ........................................................................................................................................51
49. Приведите общее выражение для переключающей матрицы. ..........................................51
50. Дайте определение реберного графа и постойте граф L(G) , если граф G
представляется как граф
.......................................................................................................51
51. Построить коммутатор по схеме сети косвенного двоичного n-куба (сеть Клоса). ......52
52. Совместное исследование параллельных КС и алгоритмов. ............................................53
53. Диаграммы Ферре и инверсии в бинарных последовательностях ..................................54
1. Классификация параллельных КС по структурнофункциональным признакам.
По-видимому, самой ранней и наиболее известной является классификация
архитектур вычислительных систем, предложенная в 1966 году М.Флинном.
Классификация базируется на понятии потока.
Классификация по Флинну:
 Вычислительная система с одним потоком команд и данных (однопроцессорная
ЭВМ — SISD, Single Instruction stream over a Single Data stream).
 Вычислительная система с общим потоком команд (SIMD, Single Instruction,
Multiple Data — одиночный поток команд и множественный поток данных).

Вычислительная система со множественным потоком команд и одиночным
потоком данных (MISD, Multiple Instruction Single Data — конвейерная ЭВМ).
 Вычислительная система со множественным потоком команд и данных (MIMD,
Multiple Instruction Multiple Data)
К минусам можно отнести, что слишком много ВС попадает в класс MIMD.
Пытаясь систематизировать машины внутри класса MIMD Р. Хокли получил
иерархическую структуру.
Основная идея: Множественный поток команд может быть обработан 2 способами:
1. Одним конвейерным устройством, работающем в режиме разделения времени.
2. Каждый поток обрабатывается собственным устройством.
Классификация по Р. Хокли:
1. MIMD
2. Конвейерные устройства
3. С собственным устройством для каждого
потока
4. MIMD компьютеры в которых в которых
возможна связь каждого вычислителя с
каждым (с переключателями)
5. MIMD компьютеры у которых возможна
связь только с ближайшими.
6. С общей памятью
7. с распределенной памятью
8. регулярные решетки
9. гиперкубы
10. иерархические структуры
11. изменяющиеся конфигурации
Среди MIMD-компьютеров с переключателями выделяются те, в которых вся память
распределена между процессорами.
Если память – разделяемый ресурс, доступный для всех процессоров через
переключатели, то MIMD-машина является системой с общей памятью. В соответствии с
конфигурацией переключателя различают:
 простой переключатель
 многокаскадный переключатель
 общая шина
Многие современные компьютерные системы имеют как общую разделяемую
память, так и распределенную, такие системы Хокли рассматривал как гибридные MIMDсистемы с переключателями.
Если рассматривать MIMD-системы с сетевой структурой (8, 9, 10, 11), то все они
имеют распределенную память, а дальнейшая классификация может проводиться в
соответствии с топологией сети.
Классификация Шнайдера
В 1988 году Л.Шнайдер (L.Snyder) предложил новый подход к описанию архитектур
параллельных вычислительных систем, попадающих в класс SIMD систематики Флинна.
Основная идея заключается в выделении этапов выборки и непосредственно исполнения в
потоках команд и данных. Именно разделение потоков на адреса и их содержимое
позволяет описать такие ранее "неудобные" для классификации архитектуры, как
компьютеры с длинным командным словом, систолические массивы и целый ряд других.
Классификация Скилликорна
Классификация Скилликорна (1989) была очередным расширением классификации
Флинна. Архитектура любого компьютера в классификации Скилликорна
рассматривается в виде комбинации четырёх абстрактных компонентов:
 процессоров команд (Instruction Processor — интерпретатор команд, может
отсутствовать в системе),
 процессоров данных (Data Processor — преобразователь данных),
 иерархии памяти (Instruction Memory, Data Memory — память программ и данных),
 переключателей (связывающих процессоры и память).
Переключатели бывают четырёх типов — «1-1» (связывают пару устройств), «n-n»
(связывает каждое устройство из одного множества устройств с соответствующим ему
устройством из другого множества, то есть фиксирует попарную связь), «n x n» (связь
любого устройства одного множества с любым устройством другого множества).
Классификация Скилликорна основывается на следующих восьми характеристиках:
 Количество процессоров команд IP
 Число ЗУ команд IM
 Тип переключателя между IP и IM
 Количество процессоров данных DP
 Число ЗУ данных DM
 Тип переключателя между DP и DM
 Тип переключателя между IP и DP
 Тип переключателя между DP и DP
Классификация Фенга
В 1972 году Фенг предложил классифицировать вычислительные систем на основе
двух простых характеристик. Первая — число n бит в машинном слове, обрабатываемых
параллельно при выполнении машинных инструкций. Практически во всех современных
компьютерах это число совпадает с длиной машинного слова. Вторая характеристика
равна числу слов m, обрабатываемых одновременно данной ВС. Немного изменив
терминологию, функционирование ВС можно представить как параллельную обработку m
битовых слоёв, на каждом из которых независимо преобразуются n бит. Каждую
вычислительную систему можно описать парой чисел (n, m). Произведение P = n x m
определяет интегральную характеристику потенциала параллельности архитектуры,
которую Фенг назвал максимальной степенью параллелизма ВС.
Таким образом все КС MIMD можно разделить на 4 класса:
 Разрядно-последовательные, пословно-последовательные n=m=1, т.е. в каждый
момент времени такая система обрабатывает только 1 двоичный разряд.
 Разрядно-параллельные последовательно-последовательные n>1, m=1.
 Разрядно-последовательные, пословно-параллельные n=1, m>1 (обычно КС этого
класса состоят из большого числа одноразрядных процессоров, причем каждый
процессор может независимо от остальных обрабатывать свои данные).
 Разрядно-параллельные, пословно параллельные n>1, m>1.
Плюс: введен единый числовой метрик для различных типов КС, с помощью
которого можно сравнивать разные КС.
Минус: опираясь на данную классификацию сложно представить себе специфику той
или иной КС (Не учитываются конструкторские особенности)
Классификация Хендлера
В основу классификации В.Хендлер закладывает явное описание возможностей
параллельной и конвейерной обработки информации вычислительной системой. При этом
он намеренно не рассматривает различные способы связи между процессорами и блоками
памяти и считает, что коммуникационная сеть может быть нужным образом
сконфигурирована и будет способна выдержать предполагаемую нагрузку.
Предложенная классификация базируется на различии между тремя уровнями
обработки данных в процессе выполнения программ:
 уровень выполнения программы - опираясь на счетчик команд и некоторые другие
регистры, устройство управления (УУ) производит выборку и дешифрацию команд
программы;
 уровень выполнения команд - арифметико-логическое устройство компьютера
(АЛУ) исполняет команду, выданную ему устройством управления;
 уровень битовой обработки - все элементарные логические схемы процессора
(ЭЛС) разбиваются на группы, необходимые для выполнения операций над одним
двоичным разрядом.
Таким образом, подобная схема выделения уровней предполагает, что
вычислительная система включает какое-то число процессоров каждый со своим
устройством управления. Каждое устройство управления связано с несколькими
арифметико-логическими устройствами, исполняющими одну и ту же операцию в каждый
конкретный момент времени. Наконец, каждое АЛУ объединяет несколько элементарных
логических схем, ассоциированных с обработкой одного двоичного разряда (число ЭЛС
есть ничто иное, как длина машинного слова).
Если на какое-то время не рассматривать возможность конвейеризации, то число
устройств управления k , число арифметико-логических устройств d в каждом устройстве
управления и число элементарных логических схем w в каждом АЛУ составят тройку для
описания данной вычислительной системы C: t(C)= (k, d, w)
2. Классификация параллельных КС по функциональным
возможностям КС с точки зрения пользователя.
Здесь про мультикомпьютеры и прочую Лабуду (см ниже)
3. Проведите сравнительный анализ классификаций
компьютерных систем.
Имеется множество различных классификаций параллельных КС.
В качестве основных признаков классификаций, характеризующих структуру и
функционирование ВС с точки зрения параллельности работы системы, чаще всего
используют следующие характеристики:
 тип потока команд
 тип потока данных
 способ обработки данных
 тип коммуникационной среды
 степень однородности компонент системы
 степень согласованности режима работы устройств
По способу обработки данных ВС делятся на системы с пословной и поразрядной
обработкой.
В системах с пословной обработкой все разряды каждого слова
обрабатываются процессором последовательно (слово за словом). В системах с
поразрядной обработкой одноименные разряды большого числа слов обрабатываются
одним процессором, но параллельно (Ассоциативные системы).
Примерами возможных классификаций являются классификации по Флину, Хокли,
Шнайдеру, Скилликорну, Фенгу, Хендлеру и множество других. Нельзя выделить какуюто одну систему классификаций потому, что они подразделяют ВС, основываясь на
разных принципах.
4. Мультикомпьютеры, кластеры и симметричные
мультипроцессоры  общая характеристика, схемы
построения, особенности каждой из систем, области
применения.
Мультикомпьютеры.
Мультикомпьютеры
–
совокупность
объединенных
сетью
отдельных
вычислительных модулей, каждый из которых управляется своей ОС (например, серии
SP1I6M). Узлы мультикомпьютеров обычно не имеют общих структур и связаны лишь
сетью. Узлы обладают высокой степенью автономности и могут состоять из отдельных
компонентов, в том числе и кластеров, SMP-, SPM-, DSM-, MPP–систем.
Для распределенной ОС мультикомпьютер выглядит как виртуальный
однопроцессорный ресурс. Взаимодействие процессоров реализуется с помощью явно
заданных операций связи между вычислителями. Обычно в мультикомпьютере
реализуется согласованный сетевой протокол, и не существует единой очереди
выполняющихся процессов, хотя известны и другие примеры.
Кластеры.
Кластер – набор компонентов, рассматриваемый операционной системой, системным
ПО, приложениями и пользователями как единая система.
Кластеры получили широкое распространение из-за высокого уровня
производительности при относительно низких затратах. Высокая производительность
объясняется отсутствием совместно используемой оперативной памяти и наличием в
каждом узле копии общей ОС или собственной ОС для неоднородных кластеров.
Специализированное ПО производит контроль правильности работы узлов кластера. При
отказе узла кластера его ресурсы (дисковое пространство, задание и т.д.) переназначаются
другим узлам.
По сути, кластер образуется из отдельных полноценных узлов, включающих
процессоры, память, подсистему ввода-вывода, ОС и т.д. При объединении компьютеров
в кластер чаще всего поддерживается прямая связь между узлами посредством
коммуникационной сети. Технология такой сети может варьироваться от простейшей
(Ethernet) до сложных специализированных вариантов, обеспечивающих высокую
скорость обмена. Возможно параллельное использование нескольких независимых сетей в
рамках одного кластера.
На рисунке изображены 2 типичные структуры кластеров: архитектура с
разделяемыми дисками (слева) и архитектура без разделения дисков.
В архитектуре с разделением дисков все узлы кластера имеют доступ ко всем
дискам. В архитектуре без разделения дисков, несмотря на то, что поддерживается
целостный образ ресурса, каждый узел имеет собственную оперативную память и диски; в
таких системах общей является только коммуникационная сеть.
С точки зрения повышения производительности кластер является хорошо
масштабируемой ВС. Однако отсутствие общей разделяемой памяти (а иногда и единого
адресного пространства) обуславливает большие накладные расходы, связанные с
обменом сообщениями между узлами.
Наибольший эффект кластеры дают при вычислениях в рамках хорошо
структурированных научных приложениях. С точки зрения удобства масштабирования
кластерные архитектуры допускают практически неограниченное наращивание числа
узлов. Для управления кластером используются специальные инструменты для
поддержания единого образа ресурса, в частности, система пакетной обработки.
Симметричные мультипроцессоры.
Симметричный мультипроцессор (относится к классу SMP-систем) состоит из
нескольких десятков процессоров, причем все процессоры разделяют общую память и
объединены коммуникационной системой.
Существуют варианты SMP-архитектур с одной или несколькими системными
шинами (например, Cray 6400 имел 4 системные шины). Также существуют SMPархитектуры со специальными коммутаторами для связи процессоров, памяти и
подсистемы ввода-вывода. Пропускная способность коммуникационной системы
достаточна для поддержания быстрого доступа к памяти. У отдельных процессоров
имеются свои уровни кеш-памяти. Достаточный объем кеша и сравнительно небольшое
количество процессоров позволяет удовлетворять обращения к основной памяти. Это
легло в основу названия таких архитектур - UMA-архитектуры.
UMA (Uniform Memory Access, однородный доступ к памяти).
В UMA-архитектурах имеется единственная ОС, а ПО работает с единым адресным
пространством. При этом возникает сложная проблема сохранения когерентности данных
(согласованного извлечения содержимого кешей и основной памяти). Если
модифицируется одна из копий данных, остальные копии должны либо также
модифицироваться, било объявляться недостоверными. Отсюда – 2 альтернативных
подхода к поддержанию когерентности разделяемых данных:
1) запись с обновлением данных
2) запись с аннулированием данных
В SMP-системах обычно реализуется шинный протокол наблюдения. Происходит
прослушивание шины всеми процессорами с целью обнаружения операций записи в те
ячейки памяти, копии содержимого которых содержатся в кеше данного процессора.
Производительность систем с общей памятью, в т.ч. SMP, зависит от принятой модели
согласованности памяти, определяющей, в каком порядке процессоры наблюдают
последовательность операций записи-чтения.
Передача данных между кешами различных процессоров в SMP-системах
выполняется значительно быстрее, чем обмен данными между узлами кластера или
мультикомпьютера. Поэтому SMP-система хорошо масштабируется с ростом
производительности при обработке большого числа коротких транзакций (например,
банковские операции).
Сохранение когерентности требует специальных аппаратных средств быстрой
модификации копий данных. Однако, если следовать строгой модели согласованности,
когда каждая операция записи возвращает последнее записанное значение, то происходит
неизбежное падение производительности. Главная сложность построения SMP-систем сильная связанность процессоров и наличие единой ОС, разделяемой всеми
процессорами.
5. Системы с распределенной и разделяемой памятью,
массово-параллельные системы  общая характеристика,
схема построения, особенности каждой из систем, области
применения.
DSM-системы (Distributed Shared Memory) – системы с распределенной и
разделяемой памятью; память таких узлов разделена физически, но адресуется в рамках
единого адресного пространства. DSM-системы могут быть реализованы различными
способами. Общим для разных реализаций является тот факт, что узел может состоять из
нескольких процессоров и иметь SMP-архитектуру. Также в DSM-системах
поддерживается общее адресное пространство, но при этом память является
распределенной по узлам и время доступа к памяти зависит от месторасположения
данных, поэтому некоторые DSM-системы получили название NUMA.
NUMA – Non-Uniform memory Acess (Architecture) – Неоднородный доступ
(архитектура) к памяти.
Частный случай NUMA–архитектуры - cc-NUMA.
cc-NUMA – Cache Coherent NUMA, архитектура NUMA с кеш-когерентным
доступом.
Архитектура cc-NUMA:
Механизм работы кеша каждого узла увязан с доступом к локальной памяти каждого
удаленного узла.
Существует справочная память, в которой содержится информация о том, в каких
именно кешах находится нужный блок данных; например, узел 1 обращается к ячейке
памяти с адресом А основной памяти, не являющейся локальным адресом узла 1. Тогда
справочник узла 1 анализирует информацию (адрес А) и определяет, что данные по
адресу А находятся в узле N. В этом случае этот справочник отправляет адрес А в
справочник узла N. Узел N выбирает информацию оп адресу А.
В отличие от шинного протокола наблюдения, где при записи нового значения в кеш
сообщение о модификации передается во все узлы, справочник распознает адрес и
обращается только к тому узлу, где содержится данный адрес.
Преимущество архитектуры: простота.
Недостаток архитектуры: объем аппаратной реализации (пропорционален основной
памяти системы).
Иерархичность доступа к памяти в NUMA-архитектурах сдерживает рост количества
процессоров. Как правило, в современных NUMA-системах количество процессорных
узлов не превышает 64, а число процессоров – 128.
Массово-параллельные системы (МПС).
Отличительной особенностью массово-параллельных систем является большое
число процессорных узлов. Узлы обычно состоят из 1 или нескольких процессоров,
локальной памяти и нескольких устройство ввода-вывода.
В массово-параллельных системах реализуется архитектура без разделения ресурсов.
В каждом узле работает своя копия ОС, а узлы объединяются коммуникационной
системой.
Если узел управляется своей собственной ОС и имеет уникальное адресное
пространство памяти, то не потребуется никаких аппаратных средств для обеспечения
когерентности (согласованности).
Когерентность в случае МПС обеспечивается программными средствами на основе
техники обмена сообщениями. Также МПС можно отнести к мультикомпьютерам.
В МПС с разделяемой распределенной памятью возможна как аппаратная, так и
программная поддержка (???). Такую разновидность МПС можно отнести к классу
NUMA.
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) – Неоднородный доступ
(архитектура) к памяти.
cc-NUMA
Частным случаем NUMA–архитектуры является cc-NUMA
cc-NUMA – Cache Coherent NUMA, архитектура NUMA с кеш-когерентным
доступом.
Архитектура cc-NUMA:
Механизм работы кеша каждого узла увязан с доступом к локальной памяти каждого
удаленного узла.
Существует справочная память, в которой содержится информация о том, в каких
именно кешах находится нужный блок данных; например, узел 1 обращается к ячейке
памяти с адресом А основной памяти, не являющейся локальным адресом узла 1. Тогда
справочник узла 1 анализирует информацию (адрес А) и определяет, что данные по
адресу А находятся в узле N. В этом случае этот справочник отправляет адрес А в
справочник узла N. Узел N выбирает информацию оп адресу А.
В отличие от шинного протокола наблюдения, где при записи нового значения в кеш
сообщение о модификации передается во все узлы, справочник распознает адрес и
обращается только к тому узлу, где содержится данный адрес.
Преимущество архитектуры: простота.
Недостаток архитектуры: объем аппаратной реализации (пропорционален основной
памяти системы).
Иерархичность доступа к памяти в NUMA-архитектурах сдерживает рост количества
процессоров. Как правило, в современных NUMA-системах количество процессорных
узлов не превышает 64, а число процессоров – 128.
Масштабируемая архитектура. Что понимается под словами
«масштабируемость кластера»?
Масштабируемая архитектура вычислительной сети – архитектура, позволяющая
наращивать количество вычислителей без коренной перестройки топологии или замены
имеющегося оборудования. При этом производительность сети должна расти с
увеличением количества вычислителей.
Все существующие многопроцессорные архитектуры являются в некотором смысле
масштабируемыми. При этом чем выше степень связности модулей многопроцессорной
ВС, тем сложнее выполняется масштабирование, но тем быстрее осуществляется обмен
данными между узлами.
Широчайшее распространение кластерных многопроцессорных систем в первую
очередь объясняется слабой связностью его вычислительных узлов и унифицированной
технологией коммутационной сети, эту связь обеспечивающей (Ethernet и т.д.). Кластер
является наиболее масштабируемой многопроцессорной системой на сегодняшний день
(если не считать вычислений, распределенных по территориальной или глобальной сети),
обеспечивая при этом высочайшую производительность для задач, допускающих
крупноблочное распараллеливание (научные вычислительные задачу, задачи трехмерной
визуализации и др.). При этом кластер показывает сравнительно слабую
производительность при мелкоблочном распараллеливании задач.
Архитектуры S2MP и NUMA-flex как развитие архитектуры
ccNUMA
S2MP - системы.
Дальнейшее развитие архитектуры cc-NUMA, преодолевающее ограничение на
масштабируемость, получило название S2MP.
Одним из узких мест, сдерживающих число процессорных узлов, является
пропускная способность шин оперативной памяти.
В архитектуре S2MP процессорные узлы объединены сетью, образуемой средой
межсоединений и маршрутизаторами.
Для поддержания когерентности кешей в S2MP-архитектуре используется протокол
справочника (как в cc-NUMA).
Использование в этих системах программируемых маршрутизаторов позволяет
реализовывать системы с различной топологией (и, естественно, различным числом
процессорных узлов).
В S2MP Origin 2000, например, топологией является гиперкуб с числом
процессорных элементов, равным 512.
Архитектура NUMA-flex.
Архитектура NUMA-flex во многом является наследницей S2MP.
Более высокая степень готовности обеспечивается технологией так называемого
разделения, которая позаимствована у кластеров.
Каждый узел архитектуры NUMA-flex представляет собой независимый сервер и для
связи с другими узлами использует инфраструктуру архитектуры S2MP.
В каждом узле может работать своя версия ОС (например, в Origin 2000 это Irix).
Специальные аппаратные средства осуществляют контроль и изолирование ошибок,
возникающих в одном из узлов, и не дают ошибке распространиться на другие узлы.
7. Основные понятия теории моделирования параллельных
КС. Методы моделирования параллельных КС.
Моделирование – замена исходного объекта образом или другим объектом (
моделью ) и изучение свойств оригинала путем исследования свойств модели.
Условия для существования пользы от моделирования:
1. Модель обеспечивает оригинальное отображение свойств оригинала,
существенных с точки зрения исследуемых операций.
2. Модель позволяет устранить проблемы присущие проведению испытаний на
реальных объектах
В зависимости от способа модели делятся:
1. Физические – реальное воплощение( макет )
2. Математические – формализованное описание на некотором язык.
8. Задачи моделирования параллельных КС.
1.
2.
3.
4.
5.
6.
7.
Определение цели моделирования.
Разработка концептуальной модели.
Формализация модели.
Программная реализация
Планирование проведения эксперимента
Реализация плана эксперимента
Анализ результатов моделирования
9. Приведите основные принципы моделирования.
Принципы моделирования:
1. Принцип информационной достаточности. ( при полном недостатке информации о
модели ее моделирование не имеет смысла, есть некоторые пороговый уровень
информации, при котором моделирование возможно ).
2. Принцип осуществимости( модель должна обеспечивать адекватные результаты )
3. Принцип множественности модели. ( Создаваемая модель должна отражать те
свойства реальных объектов, которые влияют на выбранный показатель
эффективности, каждая модель отражает лишь некоторые, выбранные стороны
реального объекта, для составления полной картины необходимо использовать
несколько моделей )
4. Принцип агрегирования. ( сложную систему можно представить как совокупность
простых )
5. Принцип параметризации. ( В ряде случаев моделируемая система имеет
подсистемы, характеризуемые определенным параметром )
10.
Моделирование параллельных процессов.
Применение аппарата сетей Петри. Подклассы и расширение
сетей Петри.
Почти любая КС имеет в своём составе параллельно работающие элементы, такие
элементы могут взаимодействовать, либо работать независимо. Способы взаимодействия
подсистем определяет вид параллельных процессов в системе. Вид процесса влияет на
способ моделирования.
1. Асинхронный процесс – его состояние не зависит от состояния других процессов.
2. Синхронный процесс – его состояние зависит от состояния взаимодействующих
процессов. Один и тот же процесс может быть синхронен к одному процессу и
асинхронен к другому.
3. Подчиненный процесс – создается и управляется другим процессом более
высокого уровня.
4. Независимый процесс – процесс, который не является подчиненным.
Реализация параллельных процессов в КС
1. Процессы могут быть истинно параллельны только в многопроцессорных ВС
2. Многие процессы используют одни и те же ресурсы
3. В КС существует 2 вида процессов – родительский и дочерний.
4. 3 подхода:
 На основе взаимного исключения (монопольный захват ресурса одним
процессом )
 На основе синхронизации по сигналам (обмен сигналами между процессами
обозначающими события )
 На основе синхронизации по сообщениям (обмен информацией между
процессами )
Средство моделирования изначально ориетировано на параллельную работу
процессов.
Сети Петри – инструмент исследования систем, теория сетей Петри делает
возможным моделирование системы – представление её виде сетей Петри. Применяемость
сетей Петри исключительно для моделирования.
Модель представляется в математических терминах того, что считают корректным
описанием системы. Как правило модель имеет математическую основу. Возможно
несколько путей практического применения сетей Петри при проектировании и анализе. В
одном из подходов сети Петри – вспомогательный инструмент для анализа. В результате
анализа модели проявляются изъяны и ошибки. Можно предложить более радикальный
подход, в котором весь процесс проектирования и определения характеристик проводится
с помощью сетей Петри.
Подклассы сетей Петри:

Простой сетью Петри называется набор
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
Расширение сетей Петри.
 Е-сети
 Сети Мерлина
 Временные сети
 Раскрашенные сети
 Приоритеные сети
 Сети с проверкой на ноль
 Обобщенные сети.
Применение сетей Петри для синтеза дискретных управляющих
устройств.
Простое представление системы сетью Петри основано на двух основополагающих
понятиях: событиях и условиях. События - это действия, имеющие место в системе.
Возникновением событий управляет состояние системы Состояние системы может быть
описано множеством условий Условие — есть предикат или логическое описание
состояния системы. Условие может принимать либо значение «истина», либо значение
«ложь». Так как события являются действиями, то они могут происходить. Для того чтобы
событие произошло, необходимо выполнение соответствующих условий. Эти условия
называются предусловиями события. Возникновение события может вызвать нарушение
предусловий и может привести к выполнению других условий, постусловий.
В качестве примера рассмотрим задачу моделирования простого автомата-продавца.
Автомат-продавец находится в состоянии ожидания до тех пор, пока не появится заказ,
который он выполняет и посылает на доставку. Условиями для такой системы являются:
а) автомат-продавец ждет;
б) заказ прибыл и ждет;
в) автомат-продавец выполняет заказ;
г) заказ выполнен.
Событиями будут:
1. Заказ поступил.
2. Автомат-продавец начинает выполнение заказа.
3. Автомат-продавец заканчивает выполнение заказа.
4. Заказ посылается на доставку.
Предусловия события 2 (автомат-продавец начинает выполнение заказа) очевидны:
(а) автомат-продавец ждет; (б) заказ прибыл и ждет.
Постусловие для события 2:
(в) автомат-продавец выполняет заказ.
Аналогично мы можем определить предусловия и постусловия для других событий и
составить следующую таблицу событий и их пред- и постусловий:
Событие
1
2
3
4
Предусловие
нет
а,б
в
г
Постусловие
б
в
г,а
нет
Такое представление системы легко моделировать сетью Петри.
В сети Петри условия моделируются позициями, события - переходами. При этом
входы перехода являются предусловиями соответствующего события; выходы постусловиями. Возникновение события равносильно запуску соответствующего
перехода. Выполнение условия представляется фишкой в позиции, соответствующей
этому условию. Запуск перехода удаляет разрешающие фишки, представляющие
выполнение предусловий и образует новые фишки, которые представляют выполнение
постусловий. Сеть Петри на рис. 3.1 иллюстрирует модель приведенного выше автоматапродавца. Мы указали каждому переходу и позиции соответствующие событие и условие.
Можно моделировать и более сложную систему. Система автомат-продавец состоит
из трех различных автоматов M1 , М2 и М3 и двух операторов Fx и F2. Оператор F1
воздействует на автоматы М1 и М2, а оператор F2 — на М1 и М3. Заказы требуют двух
стадий обработки. Сначала они должны быть обработаны автоматом М1 затем либо
автоматом М2 либо М3. Эта более сложная система будет иметь следующие условия:
а) заказ прибыл и ждет обработки автоматом М1
б) заказ обработан автоматом М1 и ждет обработки либо автоматом М2, либо М3;
в) заказ выполнен;
г) автомат M1 незанят;
д) автомат М2 незанят;
е) автомат М3 незанят;
ж) оператор F1незанят;
з) оператор F2 незанят;
и) автомат М{ находится под воздействием оператора F1
к) автомат М1{ находится под воздействием оператора F2,
л) автомат М2 находится под воздействием оператора F1,
м) автомат М3 находится под воздействием оператора F2.
При этом могут происходить следующие события:
1. Поступление заказа.
2. Оператор F1 начинает выполнение заказа на автомате M1
3. Оператор F1 закончил выполнение заказа на автомате М1.
4. Оператор F2 начинает выполнение заказа на автомате М1.
5. Оператор F2 закончил выполнение заказа на автомате М1.
6. Оператор F1 начинает выполнение заказа на М2.
7. Оператор F1 закончил выполнение заказа на М2.
8. Оператор F2 начинает выполнение заказа на М3.
9. Оператор F2 закончил выполнение заказа на М3.
10. Заказ посылается на доставку.
12.
Оценочные или Е-сети как расширение сетей Петри
Е-сети ( CE  ( P, Pp , PR , T , M 0 )
P – множество позиций,
Pp множество периеритных позиций
PR множество решающих позиций
T – множество переходов причем ti = ( ρS, t(ti) )
S – тип перехода ( 1- 5 ), t(ti) время перехода, ρ(ti) – функция перехода, функция
преобразования атрибута меток.
В Е-сетях метки интерпретируются, как транзакты, распространяющиеся по сети, а
вершины и переходы трактуются как устройства обработки транзактов. Требование – ни
одна вершина не может иметь более 1 метки (т.е. сеть изначально безопасна).
Типы переходов:
1. простой переход, срабатывает при наличии фишки в P1 и отсутсвии в P2,
моделирование некоторого устройства обработки инф.
Te
P1
P2
2. разветвление потока транзактов в ВС.
Fe
P1
P2
P3
3. объединение наличие фишек P2, P3 и отстутсвие в P1
je
P1
P2
P3
4. управляющие разветвление изменяет направление потока транзактов.
Xe
P1
P1
P2
P3
5. приоритетность одних потоков к другим
Xe
P1
P2
P3
P1
Моделирование конвейерной обработки информации
На протяжении последних лет было предпринято множество шагов направленных на
увеличение производительности ВС. Результатом одного из таких шагов было появление
ВС с конвейерной обработкой информации. Конвейер состоит из набора операций
которые могут выполняться параллельно. Когда операция k завершена, она передает свой
результат (k+1)-й операции и ждет данных от (k-1)-й.
В качестве примера рассмотрим сложение 2 чисел с плавающей точкой. Основные
шаги этой операции предполагают:
1. Выделить экспоненты этих 2 чисел
2. Сравнить эти экспоненты, и если необходимо изменить их должным образом
3. Сдвинуть точку в числе с меньшей экспонентой для их уравнения
4. Сложить дроби
5. Нормализовать результат
6. Проверить экспоненту на переполнение и сформировать экспоненту и дробь
результата
Конвейеры (по способу управления) можно разделить на 2 группы: синхронные и
асинхронные. Синхронные конвейеры каждый такт передают данные на следующий шаг
обработки. Но это не эффективно, т.к. действие, выполняемое на данном шаге, может
занимать времени больше/меньше чем 1 такт. Рассмотрим k-й блок конвейера. Для
управления им нужно знать когда выполняются следующие условия:
 Входной регистр
заполнен
 Входной регистр пуст
 Выходной регистр
заполнен
 Выходной регистр
пуст
 Блок занят
 Блок свободен
 Пересылка
осуществлена
13.
Задачи сохранения и активности сети Петри
Сохранение
Сети Петри можно использовать для моделировании систем распределения ресурсов.
Например, сеть Петри может моделировать запросы, распределения и освобождения
устройств ввода-вывода в вычислительной системе. В этих системах некоторые фишки
могут представлять ресурсы. Группа из трех построчно печатающих устройств
представляется позицией, имеющей в начальной маркировке три фишки. Запрос
построчно-печатающего устройства – это переход, для которого данная позиция является
входной; затем устройство освобождается переходом, для которого позиция построчно
печатающих устройств является выходной.
Для сетей Петри такого типа помимо прочих важным свойством является
сохранение. Нам бы хотелось показать, что фишки, представляющие ресурсы, никогда не
создаются и не уничтожаются. Простейший способ это сделать – это потребовать, чтобы
общее число фишек в сети оставалось постоянным.
Def. Сеть Петри 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 .
Def. Сеть Петри C=(P,T,I,O) с начальной маркировкой  называется сохраняющей
по отношению к вектору взвешивания   (1 , 2 ,..., n ) , n  P , i  0 если для всех
 '  R(C ,  ) имеет место
 *  '( p )  *  ( p )
i
i
i
i
Строго сохраняющая сеть Петри является сохраняющей по отношению в вектору
взвешивания (1, 1, … ,1).
Все сети Петри являются сохраняющими по отношения к вектору взвешивания
(0,0,…, 0). Поэтому сеть Петри называют сохраняющей, если она сохраняющая по
отношению к каком-нибудь положительному не нулевому вектору  .
Активность
Причиной рассмотрения сохранения в сети Петри было распределение ресурсов в
операционной системе ЭВМ. Другая задача. Которая может возникнуть при
распределении ресурсов вычислительной системы – тупики.
Рассмотрим простой пример.
Система включает 2 различных ресурса q и r и два процесса a и b. Если оба процесса
нуждаются в обоих ресурсах, им необходимо будет совместно использовать ресурсы. Для
выполнения этого потребуем чтобы каждый процесс запрашивал ресурс, а затем
освобождал его. Теперь предположим, что процесс a сначала запрашивает ресурс q, а
затем ресурс r и наконец освобождает и q и r. Процесс b работает аналогично, но сначала
запрашивает ресурс r, а потом q.
Начальная маркировка помечает ресурсы q( p4 ) и r ( p5 ) доступными и указывает на
готовность процессов a и b. Одним выполнением этой сети является t1t2t3t4t5t6 ; другим -
t4t5t6t1t2t3 . Ни одно из этих выполнений не приводит к тупику. Однако рассмотрим
последовательность, которая начинается переходами t1 , t4 : процесс a обладает ресурсом q
и хочет получить ресурс r, а процесс b обладает ресурсом r и хочет получить ресурс q.
Система заблокирована; никакой процесс продолжаться не может.
Тупик в сети Петри – переход (или множество переходов), которые не могут быть
запущены. В сети Петри на рисунке 4,6 тупик возникает если нельзя запустить переходы
t 2 и t5 . Переход называется активным, если он не заблокирован (нетупиковый).
Переход t j в сети Петри С называется потенциально запустимым в маркировке  ,
если существует маркировка  '  R(C ,  ) , в которой t j разрешен. Переход активен в
маркировке  , если потенциально запустим во всякой маркировке из R (C ,  ) .
Следовательно, если переход активен, то всегда возможно перевести сеть Петри из ее
текущей маркировки, в маркировку в которой запуск перехода станет разрешенным.
Другие понятия, связанные с изучением тупиков, можно разбить на категории по
уровню активности и определить для сетей Петри С с маркировкой  следующим
образом:
Уровень 0: Переход t j обладает активностью уровня 0, если он никогда не
может быть запущен.
Уровень 1: Переход t j обладает активностью уровня 1, если он потенциально
запустим, т.е. если существует такая  '  R(C ,  ) , что t j разрешен в  ' .
Уровень 2: Переход t j обладает активностью уровня 2, если для всякого целого
n существует последовательность запусков, в которой t j присутствует неограниченно
часто.
Уровень 3: Переход t j обладает активностью уровня 3, если существует
бесконечная последовательность запусков, в которой t j присутствует неограниченное
число раз.
Уровень 4: Переход t j обладает активностью уровня 4, если для всякой
 '  R(C ,  ) существует такая последовательность запусков  , что t j разрешены в
 (  ',  )
Переход, обладающий уровнем активности 0, называется пассивным; активностью 4,
называется активным. Сеть Петри обладает активностью уровня i, если каждый ее переход
обладает активностью уровня i.
Переход 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 больше запустить будет нельзя.
Моделирование сетями Петри вычислительных процессов в КС,
использующих кратные функциональные блоки.
Наряду с конвейерной структурой управления, которая предполагает разбиение
операции на микрооперации и параллельное их выполнение, широкое распространение
получил подход, использующий кратные функциональные блоки. В общем случае
структура
определяется
мультимножеством
функциональных
блоков
(ФБ)
U  {mi  ui }, i  1...n
X  {xi }, i  1...m .
и
множеством
буферных
регистров
Функциональные блоки объединены в мультимножество, так как зачастую ФБ
дублируются, т.е. имеют кратность больше 1. Регистры используются для хранения
входных и выходных данных значений функциональных блоков. При отсутствии
противоположного любой ФБ может брать данные и записывать результат в любой
регистр.
Пример:
2 блока умножения 2  u1 , блок сложения u 2 и блок деления u3 .
Регистры с x 0 по x 6 .
Проследим выполнение на такой системе следующих операций:
1. умножить x1 на x1 , результат поместить в x 0 .
2. умножить x1 на x3 , результат поместить в x3 .
3. сложить x 2 с x 4 , результат поместить в x 4 .
4. сложить x 0 с x3 , результат поместить в x3 .
5. разделить x 0 на x 4 , результат поместить в x 6 .
В начальный момент времени из регистра x1 данные посылаются в первый
функциональный блок умножения u1 . По окончании операции результат записывается в
x 0 . Так как система содержит второй блок умножения, который в данный момент
свободен, то вторую операцию (умножение x1 на x3 ) выполним на нем. Результат будет
записан в x3 .
Операция сложения x 2 с x 4 требует свободный блок сложения, исходные данные из
регистров x 2 и x 4 . Все необходимые ресурсы имеются в наличии, поэтому операция
может быть выполнена и результат помещен в регистр x 4 .
Вторая операция сложения требует наличия свободного блока сложения, исходных
данных из x 0 и x3 . Ни один из ресурсов не получен, поэтому необходимо ожидать
выполнения операции 3 для освобождения блока сложения, операции 2 для получения
корректных данных из x3 и операции 1 для получения корректных данных из x 0 .
Последняя операция (деление) может быть выполнена только при свободном блоке
деления (выполнено), корректных данных в x 0 (необходимо ждать выполнения операции
1), корректных данных в x 4 (необходимо ждать выполнения операции 3) и свободного
регистра x 6 (выполнено).
На этом примере видно, что для распараллеливания операций на системе,
построенной на базе кратных функциональных блоков, необходимо наличие свободных
ресурсов (использующиеся функциональные блоки и регистры для вывода результата) и
отсутствие зависимости по данным между операциями.
Система, которая реализует параллелизм последовательной программы таким
образом
для
получения
правильных
результатов
обладает
свойством
детерминированности. Условие поддержания детерминированности: для двух операций
a и b ( a предшествует b на линейном участке программы) b может начать выполняться
прежде чем a тогда и только тогда, когда входные данные b не требуют результата a и
результат b не изменит ни входных данных, ни результата a .
Один из методов, реализующий описанные ограничения и обладающий свойством
детерминированности, основан на таблицах резервирования. В этой таблице хранятся
текущие состояния всех узлов вычислительной системы (свободен или зарезервирован).
При поступлении новой инструкции в таблице просматриваются соответствующие
элементы. Если ни один из узлов не зарезервирован, то инструкция передается на
выполнение и все использующиеся узлы помечаются как зарезервированные. Если же
хотя бы один из регистров или функциональный блок заняты, то выполнение
приостанавливается до освобождения всех ресурсов.
Проведем моделирование работы части системы с помощью сети Петри. Пусть дан
функциональный блок u и регистры i, j , k . Поставим функциональному блоку и каждому
из регистров позицию, указывающую на занятость ресурса (данные позиции дублируют
элементы таблицы резервирования). Если в позиции есть фишка, то ресурс свободен,
иначе – занят. Для обеспечения связи с внешними воздействиями (декодирована очередная
инструкция, которая будет выполнена на блоке u и использующая регистры i, j , k ;
инструкция поступила на выполнение и необходимо декодировать следующую
инструкцию) введем две дополнительные позиции.
В результате получим следующее множество позиций:

p1 - декодирована инструкция, использующая блок u и регистры i, j , k .

p2 - блок u свободен.

p3 - регистр i свободен.

p4 - регистр j свободен.

p5 - регистр k свободен.

p 6 - инструкция поступила на выполнение, готовность декодировать
следующую инструкцию.

p 7 - инструкция поступила на выполнение, функциональный блок u работает
с регистрами i, j , k .
События:
 Выдача очередной инструкции на выполнение. Происходит при выполнении
условий: есть инструкция, использующая i, j , k и u ; блок u свободен;
регистр i свободен; регистр j свободен; регистр k свободен. Результатом
события являются: выборка инструкции и готовность декодирования
следующей; поступление инструкции на выполнение, которое влечет
резервирование i, j , k и u .
 Окончание выполнения инструкции. Естественно, для наступления данного
события необходимо поступление инструкции на выполнение в предыдущий
момент времени. Результатом события будет освобождение ранее
зарезервированных ресурсов.
Описанные события соответствуют переходам t1 и t 2 .
Опишем входные и выходные функции:
I (t1 )  { p1 , p2 , p3 , p4 , p5 }
O(t1 )  { p6 , p7 }
I (t 2 )  { p7 }
O(t 2 )  { p2 , p3 , p4 , p5 }
В начальный момент времени все ресурсы свободны, операции для выполнения еще
нет. Поэтому начальная маркировка будет следующая:  0  {0,1,1,1,1, 0, 0} . Граф
построенной сети Петри представлен ниже:
Данная схема проста и не учитывает таких факторов как:
 Одновременное
использование кратными функциональными блоками
входных регистров. Первая же инструкция забирает маркер. Вторая ожидает
выполнения первой и возвращения маркера. В результате невозможно
параллельное выполнение инструкций.
 Выбор ресурсов для выполнения инструкции может зависеть от значений в
других регистрах (например, регистр индексирования при операциях над
матрицами).
Эти проблемы приводят к появлению большого числа дополнительных состояний
(позиций) и событий (переходов). В результате сеть Петри для реального устройства
управления оказывается слишком большой и анализ ее становится затруднительным.
Практическое применение сетей Петри в области кратных функциональных блоков
заключается не только в анализе характеристик самой системы, но и в разработке
компилятора с оптимальной генерацией кода для конкретной вычислительной системы.
14.
Задачи достижимости и покрываемости сети Петри.
Задача достижимости. Для заданной сети Петри C с маркировкой  и маркировки
  определить, верно ли, что    R(C ,  ) .
Задача достижимости является одной из важнейших при анализе сетей Петри.
Многие другие задачи анализа можно сформулировать в ее терминах.
Для сети Петри с рис. 4.6 тупик может возникнуть, если достижимым является
состояние (0, 1, 0, 0, 0, 0, 1, 0).
Задача покрываемости. Для данной сети Петри C с начальной маркировкой  и
маркировки   определить, существует ли такая достижимая маркировка    R(C ,  ) ,
что      .
15.
Задача безопасности и ограниченности сети Петри.
Одно из важнейших свойств сети Петри, которая должна моделировать реальное
устройство, - безопасность. Позиция сети Петри является безопасной, если число фишек в
ней никогда не превышает 1.
pi  P сети Петри C   P, T , I , O  с начальной
Определение:
Позиция
маркировкой  '  pi   1 для любой  '  R  C,   . Сеть Петри безопасна, если безопасна ее
каждая позиция.
Безопасность – очень важное свойство для устройств аппаратного обеспечения.
Если позиция безопасна, то число фишек в ней равно 0 или 1. Следовательно, позицию
можно реализовать одним триггером.
В первоначальном определении сети Петри были безопасны, поскольку переход не
мог быть запущен, если не все из выходных позиций были пусты (а кратные дуги не были
разрешены). Это объяснялось интерпретацией позиции как условия. Условие, будучи
логическим высказыванием либо истинно (представляется фишкой в позиции), либо
ложно (представляется отсутствием фишки); кратные фишки не имеют никакой
интерпретации. Таким образом, если интерпретировать сети как условия и события,
маркировка каждой позиции должна быть безопасной.
Если позиция не является кратной входной или кратной выходной для перехода, ее
можно сделать безопасной. К позиции pi , которую необходимо сделать безопасной,
добавляется новая позиция pi ' . Переходы, в которых pi используется в качестве входной
или выходной, модифицируются следующим образом:
Если pi  I  t j  и pi  O  t j  , тогда добавить pi ' к O  t j  .
Если pi  O  t j  и pi  I  t j  , тогда добавить pi ' к I  t j  .
Цель введения этой новой позиции pi ' - представить условие « pi пуста».
Следовательно, pi и pi ' дополнительны; pi имеет фишку, только если pi ' не имеет фишки
и наоборот.
Любой переход, удаляющий фишку из pi , должен помещать фишку в pi ' и наоборот.
Рис.1. Сеть Петри, не являющаяся безопасной
Рис.2. Безопасная сеть Петри, эквивалентная сети
на Рис.1.
Начальная маркировка так же должна быть модифицирована для обеспечения того,
чтобы точно одна фишка была либо в pi , либо в pi ' . (Мы допускаем, что начальная
маркировка безопасна.) Заметим, что такая принудительная безопасность возможна
только для позиций, которые в начальной маркировке являются безопасными и входная и
выходная кратность которых равно 0 или 1 для всех переходов. Позиция, имеющая для
некоторого перехода выходную кратность 2, будет получать при его запуске 2 фишки и,
следовательно, не может быть безопасной.
Безопасность – частный случай ограниченности.
Некоторые соображения относительно реального ограничения на аппаратную
реализацию позиций позволяют прийти к заключению, что безопасность –
необязательное требование. Безопасность позволяет реализовать позицию триггером,
но в более общем случае можно использовать счетчик. Однако любой аппаратнореализованный счетчик ограничен по максимальному числу, которое он может
представить.
Позиция является k-безопасной или k-ограниченной, если количество фишек в ней не
может превышать целое число k.
Определение: Позиция pi  P сети Петри C   P, T , I , O  с начальной маркировкой
 является k-ограниченной, если  '  pi   k для всех  '  R  C,   .
Граница k’ по числу фишек, которые могут находиться в позиции, может быть
функцией от позиции (например, позиция p1 может быть 3-ораниченной, тогда как
позиция p2 - 8-ограниченной). Однако, если позиция p1 k-ограничена, то она так же и k’ограничена для всех k’ >k.
Моделирование сетями Петри задач синхронизации при
взаимодействии процессов в КС
Синхронизация.
Взаимосисключение – это метод создания таких программ, что одновременно не
более чем 1 ресурс имеет доступ к разделяемому объекту.
Для предотвращения проблем такого рода необходимо обеспечить механизм
взаимного исключения. Взаимное исключение это метод создания таких программ, что
одновременно не более чем один процесс имеет доступ к разделяемому объекту данных.
Участок кода, в котором осуществляется доступ к разделяемому объекту и который
требует защиты от вмешательства других процессов, называется критической секцией.
Идея состоит в том, что когда процесс готов выполнить свою критическую секцию, он
сначала ждет, пока другой процесс не выполнит свою собственную критическую секцию.
Затем он «блокирует» доступ к критической секции, не давая возможности никакому
другому процессу войти в свою критическую секцию. Он входит в критическую секцию,
выполняет ее и, выйдя из нее, освобождает ее для доступа со стороны других процессов.
Эта задача может быть решена сетью Петри, как показано на рис. 3.28. Позиция т
представляет собой разрешение для входа в критическую секцию. Для того чтобы какойлибо процесс вошел в критическую секцию, он должен иметь фишку в р1 или в р2
соответственно, свидетельствующую о желании попасть в критическую секцию, а также
должна существовать фишка в m, дающая раз- разрешение на вход. Если оба процесса
пытаются войти в критическую секцию одновременно, то переходы t1 и t2 вступят в
конфликт, и только один из них сможет запуститься. Запуск t1 запретит переход t2,
вынуждая процесс 2 ждать, пока первый процесс выйдет из своей критической секции и
возвратит фишку обратно в позицию m
.
В задаче о производителе/потребителе также присутствует совместно используемый
объект, но в этом случае разделяемый объект точно определен и является буфером.
Процесс-производитель cоздает объекты, которые помещаются в буфер. Потребитель
ждет, пока объект не будет помещен в буфер, удаляет его оттуда и использует. Такая
ситуация может быть промоделирована сетью Петри так, как показано на рис. 3.29.
Позиция В представляет буфер, каждая фишка соответствует элементу данных, который
произведен, но еще не использован. Один из вариантов этой задачи — это задача о
нескольких производителях/нескольких потребителях. В этом случае несколько
производителей порождают элементы данных, помещаемые в общий буфер, для
нескольких потребителей. На рис. 3.30 представлено решение этой задачи в виде сети
Петри. Эта сеть совпадает с сетью на рис. 3.29, Существует несколько вариантов задачи о
чтении/записи, однако основная структура их остается неизменной. Имеются процессы
двух типов: процессы чтения и процессы записи. Все процессы совместно используют
общий файл или переменную или элемент данных. Процессы чтения не изменяют объект
в отличие от процессов записи. Таким образом, процессы записи должны взаимно
исключать все другие процессы чтения и записи, в то время как несколько процессов
чтения могут иметь доступ к разделяемым данным одновременно. Задача состоит в
определении структуры управления, которая не приведет к тупику и не допустит
нарушения критерия взаимного исключения.
На рис. 3.33 иллюстрируется решение задачи в том случае, когда количество
процессов чтения ограничено величиной п. Если в системе количество процессов чтения
не ограничено, то только процессов могут выполняться в одно и то же время. Проблема
возникает в том случае, если количество процессов чтения не ограничено и мы хотим
предоставить возможность ограниченному количеству процессов читать одновременно. В
этом случае можно утверждать, что возникает необходимость хранения количества
читающих процессов. При инициализации каждого процесса чтения в счетчик
добавляется единица, а по окончании процесса единица вычитается. Это легко
моделируется позицией, в которой количество фишек равно количеству процессов чтения.
Однако, для того, чтобы предоставить процессу записи возможность приступить к записи,
необходимо, чтобы счетчик был нулевым, т. е. соответствующая позиция была бы пустой.
В сетях Петри нет механизма, который бы осуществлял проверку на нуль неограниченной
позиции1'. Таким образом, оказывается, что задача о чтении/записи с неограниченным
числом процессов чтения не может быть решена с помощью сетей Петри. Это первый
случай, когда мы столкнулись с тем, что сети Петри не способны моделировать все
системы.
18. Анализ сетей Петри матричным методом
Второй подход к анализу сетей Петри основан на матричном представлении сетей
Петри. Альтернативным по отношению к определению сети Петри в виде (Р, T, I, O)
является определение двух матриц D+ и D-, представляющих входную и выходную
функции. (Они эквивалентны функциям F и В определения Хэка сетей Пет- Петри, см.
разд. 2.6.) Каждая матрица имеет m строк (по одной на переход) и n столбцов (по одному
на позицию). Определим D-[j,i]= D [ j, i]  #( pi , I (t j )) , a D  [ j, i]  #( pi , O(t j )) , Dопределяет входы в переходы, D+ — выходы.
Матричная форма определения сети Петри (Р, T, D- , D+) эквивалентна стандартной
форме, используемой нами, но позволяет дать определения в терминах векторов и матриц.
Пусть e[j] — m-вектор, содержащий нули везде, за исключением j-й компоненты. Переход
tj представляется m-вектором e[j]2). Теперь переход tj в маркировке μ разрешен, если μ >
e[j] • D-, а результат запуска перехода tj в маркировке μ записывается как
 (  , t j )    e[ j ]  D   e[ j ]  D 
   e[ j ]( D   D  )    e[ j ]  D
D- составная матрица измененй, тогда для последовательности запусков   t j1 t j2 ...t jk
имеем
 ( ,  )   ( , t j t j ...t j )    e[ j1 ]  D  e[ j2 ]  D  .... 
1
2
k
e[ jk ]  D    (e[ j1 ]  e[ j2 ]  ...  e[ jk ])  D    f ( )  D
Вектор
f ( )  (e[ j1 ]  e[ j2 ]  ...  e[ jk ]) называется вектором за- запусков
последовательности t j1 t j2 ...t jk i-и элемент вектора f ( ) , f ( )i — это число запусков
перехода ti в последовательности t j1 t j2 ...t jk . Вектор запусков, следовательно, является
вектором с неотрицательными целыми компонентами.
19. Матричный метод анализа сетей Петри достоинства и
недостатки метода
Для того чтобы показать полезность такого матричного подхода к сетям Петри,
рассмотрим, например, задачу сохранения: является ли данная маркированная сеть Петри
сохраняющей? Для того чтобы показать сохранение, необходимо найти (ненулевой)
вектор взвешивания, для которого взвешенная сумма по всем достижимым маркировкам
постоянна. Пусть w  n 1 — вектор-столбец. Тогда, если  — начальная маркировка, а  '
— произвольная достижимая маркировка, необходимо, чтобы   w   ' w . Теперь,
поскольку  ' достижима, существует последовательность запусков переходов  а,
которая переводит сеть из  в  '. Поэтому  '   (  ,  )    f ( )  D Следовательно,
  w   ' w  (   f ( )  D)  w    w  f ( )  D  w , поэтому f ( )  D  w  0 .
Поскольку это должно быть верно для всех f ( ) , имеем D  w  0 . Таким образом,
сеть Петри является сохраняющей тогда и только тогда, когда существует такой
положительный вектор w, что D • w = 0. Это обеспечивает простой алгоритм проверки
сохранения, а также позволяет получать вектор взвешивания w. Развитая матричная
теория сетей Петри является инструментом для решения проблемы достижимости.
Предположим, что маркировка  ' достижима из маркировки  . Тогда существует
последовательность (возможно, пустая) запусков переходов а, которая приводит из  к
 '. Это означает, что f ( ) является неотрицательным целым решением следующего
матричного уравнения для х:  '    x  D . Следовательно, если  ' достижима из 
тогда уравнение  '    x  D имеет решение в неотрицательных целых; если уравнение
 '    x  D ) не имеет решения, тогда  ' недостижима из  .
20. Подклассы сетей Петри
Они расписаны в десятом вопросе.
21. Маркированные графы – подкласс сетей Петри
Маркированный граф – сеть Петри
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
Маркированный граф – граф, в котором рёбра и дуги несут в себе дополнительную
информацию. Если эта информация носит количественный характер (расстояние,
продолжительность, интенсивность, пропускная способность и т.п.), то граф называется
взвешенным, а информация – весом рёбер. Если информация не имеет количественного
смысла, то граф называют раскрашенным, а информацию – цветом рёбер. Пример
раскрашенного графа – схема метрополитена. Цвета рёбер определяют линию, на которой
находятся остановочные пункты. Количество изменений цвета рёбер в процессе движения
будет соответствовать количеству необходимых переходов.
22. P- и V- операции над семафорами, моделирование P/ V- систем
сетью Петри
P- и V-системы.
Большинство задач синхронизации не могут быть решены непосредственно сетями Петри,
но они разрешимы на основе известных механизмов синхронизации. В частности, одним
из самых популярных механизмов синхронизации являются P и V операции над
семафором. Семафор это элемент данных, который может принимать только
неотрицательное целое значение. V операция увеличивает значение семафора на единицу,
а P операция уменьшает. P операцию можно применять только в том случае, когда
значение семафора остается в результате неотрицательным. Если же значение семафора
равно нулю, то P операция должна ждать, пока другой процесс не выполнит V операцию.
P и V операции определены как примитивные, то есть никакая другая операция не может
изменять значение семафора одновременно с ними. P и V операции легко моделируются
сетью Петри. Это показано на рисунке:
P(S)
.
S
V(S)
Каждый семафор моделируется позицией. Количество фишек в семафоре показывает
значение семафора. Р операция использует позицию семафора в качестве входа, V – в
качестве выхода.
P и V операции являются основной связью между процессами.
Границы возможности моделирования с помощью сетей Петри
Дейкстра определил свои Р- и V-операции над семафорами для обеспечения
инхронизации и связи в системах взаимодействующих процессов [78]. Семафор может
рассматриваться как целочисленная переменная, которая принимает только
нтрицательные значения.
V-операция над семафором S увеличивает значение семафора на единицу: S = S + 1.
Р-операция, наоборот, уменьшает S на едиединицу до тех пор, пока результат не
становится равным нулю; при S = 0 процесс, прежде чем продолжать свою работу, должен
ждать
момента, когда S можно будет уменьшить. Связь между семафорами и сетями Петри
была выявлена в разд. 3.4.8.
Поскольку Р- и V-операции были предложены как механизм для решения всех задач
синхронизации программ, то естественно возникает вопрос о полноте, т. е. об их
способности к решению всех задач координации. Патил в 1971 г. [233] предложил
доказательство того, что Р- и V-операции недостаточно мощное средство для решения
всех задач координации. Его подход был весьма прост: он сформулировал задачу
синхронизации, которая не может быть решена с помощью Р- и V-операций, — это задача
о курильщиках сигарет.
Задача о курильщиках сигарет включает (по меньшей мере) четыре процесса,
которые моделируют агента и трех курильщиков. Каждый курильщик непрерывно
изготавливает сигарету и курит ее. Чтобы сделать сигарету, необходимы три составные
части: татабак, бумага и спички. Один из курильщиков всегда имеет бумагу, другой —
табак, а третий — спички. Агент обладает бесконечными запасами всех трех составных
частей. Агент кладет две составные части на стол. Курильщик, имеющий третий
недостающий, может сделать и закурить сигарету, сигнализируя об этом агенту. Тогда
агент помещает другие два из трех инградиентов, и цикл повторяется.
Если семафор поставить в соответствие каждой составной части, задача о
курильщиках формулируется в терминах семафоров. Семафоры первоначально равны
нулю. Агент увеличит два из трех семафоров с помощью V-операций, а затем ждет
семафора «сделано».
Соответствующий процесс курильщика уменьшает два семафора (с помощью Ропераций), а затем, произведя действия «сделать сигарету» и «закурить сигарету»,
увеличивает семафор, указывая «сделано». Задача заключается в том, чтобы разработать
программу процессов курильщиков для того, чтобы определить, какой из трех процессов
должен действовать в очередной момент. Действия агента фиксированны и не могут быть
изменены.
Рис. 7.3 иллюстрирует очевидное «решение». Предположим, агент кладет табак и
бумагу [V(t), V(p)]. Тогда курильщик с бумагой может взять табак [P(t)], а курильщик с
табаком может взять бумагу [Р(р)], что в результате приводит к тупику. Патил доказал,
что никакая последовательность Р- и V-операций не может корректно решить эту задачу.
Это было показано с помощью доказательства того, что все Р- и V-«peшeния» могут быть
промоделированы сетями Петри определенного вида (каждый переход имеет не более
двух входов), но что решением является сеть Петри другого вида, и нет способа
преобразовать сеть одного вида в сеть другого вида, не допуская возможности
возникновения тупика.
Более конкретно ограничение на моделирование с помощью сетей Петри состоит в
неспособности проверить на наличие точно определенной маркировки в некоторой
неограниченной позиции и осуществить действие в зависимости от результатов проверки.
Это ограничение общеизвестно как неспособность к проверке на нулевую маркировку в
некоторой позиции, и поэтому это свойство известно как проверка на нуль [150]. Сети
Петри не могут проверить неограниченную позицию на нуль. [Если позиция ограниченна,
то нуль может быть выявлен. Для ограниченной позиции pi с границей k мы можем
создать дополнительную позицию рi — такую, что сумма  ( pi )   ( pi ') является
константой, равной k для всех достижимых маркировок. Это позволяет нам проверить,
равняется ли  ( pi ) нулю, проверяя, равно ли  ( pi ') k (см. разд. 5.6).]
23. Сети Петри и их особенности
Def.Сеть Петри – четверка С=(P,T,I,O), где P – множество позиций, T –
множество переходов, I – является входной функцией (отображением из переходов в
комплекты позиций), O – выходная функция (отображения из переходов в позиции).
Сети Петри – инструмент исследования систем. Теория сетей Петри делает
возможным моделирование системы математическим представлением ее в виде сети
Петри. Предполагается, что анализ сети Петри поможет получить важную информацию о
структуре и динамическом поведении моделируемой системы.
Возможно несколько подходов к использованию сетей Петри при проектировании и
анализе ВС:
1. Сеть Петри можно рассматривать как вспомогательный инструмент, т.е. для
построения ВС используются общие принципы проектирования, затем построенная
система моделируется сетью Петри и производится анализ полученных
результатов. Любые нестыковки, встречающиеся при анализе сети Петри,
указывают на недоработки при проектировании. Для их исправления необходимо
модифицировать проект.
2. Весь процесс проектирования и определения параметров ВС проводится в
терминах сетей Петри. Задача сводится к представлению сетью Петри реальной
рабочей системы.
Ответы на вопросы №31,32,33 (для всех один и тот же рисунок)
Матрицы, представляющие входную и выходную функцию:
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



24. Покажите, используя матричный метод анализа сетей Петри,
что маркировка (0, 7, 0, 1) недостижима из маркировки (1, 0, 1, 0)
для сети Петри, изображенной на рисунке.
Решение:
Начальная маркировка:
   0 7 0 1 ,
  1 0 1 0 ,
тогда
должен
маркировка, которую нужно проверить на достижимость
существовать
такой
вектор
запусков
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, ñ должны быть неотрицательными целыми) Получим систему уравнений, которая не имеет решения
7
a 2b
  a  b  c  1
7


 x  0

b c  1
2


a, b, c  N
9
 , í î a, b, c  N
2
Маркировка недостижима.
25. Дана последовательность запусков переходов  = t3 t2 t3 t2 t1
сети Петри, изображенной на рисунке. Определите вектор запуска
и маркировку ’ сети Петри.
Решение:
Последовательность  = 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


26. Определите является ли маркировка (1, 8, 0, 1) достижимой из
маркировки (1, 0, 1, 0) для сети Петри, изображенной на рисунке.
Найдите последовательность запусков переходов .
Решение:
Начальная маркировка:
  1 8 0 1 ,
  1 0 1 0 ,
тогда
должен
маркировка, которую нужно проверить на достижимость
существовать
такой
вектор
запусков
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, ñ должны быть неотрицательными целыми) Получим систему уравнений:
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. Маркировка достижима.
Понятия множества и мультимножества и операции со
множествами и мультимножествами.
Множество – целое, состоящее из различных частей. Множество является понятием
категориальным и не поддается четкому определению. Отсутствие этого определения
компенсируется различного рода описаниями, целью которых является отражение
важнейших атрибутных свойств множества.
Атрибутными свойствами множества являются:
1. различимость всех частей множества
2. неупорядоченность частей множества
3. целостность множества
Различают 2 типа частей множества:
1. элементы – неделимые и непустые части множества
2. подмножества – остальные его части
Особенно выделяют ту часть множества, которую называют пустым множеством –
подмножество, не содержащее ни одного элемента. Каждое множество содержит в себе
пустое подмножество.
Отказ от различимости элементов приводит к понятию мультимножества или
комплекта.
Мультимножество – совокупность элементов, среди которых могут быть одинаковые
(неразличимые).
Всякое мультимножество можно представить:
1. его основанием, т е множеством всех его различимых элементов
2. кратностями – числами повторений каждого элемента основания этого
мультимножества.
В теории множетсв основным понятием является включение – это отношение
связывает элементы и мн-ва и определяет, какие эл-ты являются членами какого мн-ва.
Основным понятием мультимножеств является функция числа экземпляров. Эта
функция определяет число экземпляров элемента в комплекте.
Обозначим число экземпляров X в комплекте B как # ( X , B)  0
Над комплектами можно производить 4 операции:
1. A  B : max{# ( X , A), # ( X , B)}
2. A  B : min{# ( X , A), # ( X , B)}
3. A  B :# ( X , A) # ( X , B)
4. A  B :# ( X , A)# ( X , B)
Ниже перечислены основные операции над множествами:

пересечение:
A  B : {x | x  A  x  B}

объединение:
A  B : {x | x  A  x  B}
Если множества A и B не пересекаются: A  B  0 то их объединение обозначают
A B  A B
также:

дополнение:
A : {x | x  A}
Операция дополнения подразумевает некоторый универсум (множество U, которое
A U \ A
содержит A):
A \ B : A  B  {x | x  A  x  B}

разность:

симметрическая разность:
AB  A  B : ( A  B) \ ( A  B)  A  B  A  B  {x | ( x  A  x  B)  ( x  A  x  B)}

Декартово или прямое произведение:
A  B : {(a, b) | a  A, b  B}
27. Понятие о монотонной структуре.
Большинство систем имеет т.н. монотонную структуру. Функциональный смысл этого
понятия заключается в том, что повышение структурной надежности модулей системы не
ухудшает надежность исходной системы, например, исключение ребер графа из
топологической структуры не повышает вероятность связанности. В более строгих терм
инах структура называется монотонной, если:
1)  (1)  1;1  (1,1,...,1)
2)  (0)  0;0  (0, 0,..., 0)
3)  ( X )   (Y ) , если X > Y – совокупность n условий, что xi  yi , при i  1, n , причём хотя
бы одно неравенство выполняется строго.
Введем обозначения:
h  M( X )
ri  Mxi
h(r )  h(r1 ,..., rn ) условно будем называть функцией связности графа.
Если система состоит из идентичных модулей, то функция h(r), будем записывать h(r), где
r  ri , i  1, n
Функция связности h(r) так же обладает свойством монотонности:
h(r )  h(r*), r  r * причём строгое неравенство для векторов понимается в том смысле, что
для всех компонент этих векторов r  r * , причём хотя бы в одном из них имеется строгое
неравенство.
28. Понятие о топологическом анализе структур КС.
Развитие современных информационных и телекоммуникационных технологий приводит
к необходимости
фрактального моделирования и многокритериальной оптимизации КС [1,3,5].
КС традиционно описывается неориентированным графом без петель и кратных ребер,
узлам которого
соответствуют сетевые компьютеры, а ребрам – каналы связи [6]. При сравнительном
анализе и
многокритериальной оценке КС важную роль играет их топологическая структура, т.е.
топология узлов и
каналов связи, и критерии (признаки), отражающие наиболее важные аспекты
функционирования КС.
Наиболее существенными критериями (признаками) эффективности КС являются
– надежность;
– стоимость;
– пропускная способность.
Базовыми топологиями КС будем называть совокупность следующих пяти типовых
топологий:
– полноячеистая топология;
– кольцевая топология;
– топология «звезда»;
– линейная топология;
– смешанная топология.
Задача состоит в нахождении оптимальной топологической структуры проектируемой КС
с учетом
описанных выше критериев (признаков).
Возможно несколько подходов к использованию сетей Петри при проектировании и
анализе ВС:
3. Сеть Петри можно рассматривать как вспомогательный инструмент, т.е. для
построения ВС используются общие принципы проектирования, затем построенная
система моделируется сетью Петри и производится анализ полученных
результатов. Любые нестыковки, встречающиеся при анализе сети Петри,
указывают на недоработки при проектировании. Для их исправления необходимо
модифицировать проект.
4. Весь процесс проектирования и определения параметров ВС проводится в
терминах сетей Петри. Задача сводится к представлению сетью Петри реальной
рабочей системы.
Топологический анализ данных — новая область теоретических исследований для задач анализа
данных (Data mining) и компьютерного зрения.
Основные вопросы:
 Как из низкоразмерных представлений получать структуры высоких размерностей;
 Как дискретные единицы складываются в глобальные структуры.
Основной метод топологического анализа данных:
 Замена набора элементов данных некоторым семейством симплициальных комплексов в
соответствии с параметром близости.
 Анализ этих топологических комплексов с помощью алгебраической топологии, а
конкретно новой теорией устойчивых гомологий.
 Перекодировка устойчивой гомологии набора данных в параметризованную версию чисел
Бетти, далее называемую штрихкодом.
29. Разбиения чисел. Основные понятия и определения. Принцип
Дирихле.
Разбиение натурального числа 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
ðàí ã  a1  a2  ...  ar
Всякое разбиение можно представить в виде (1m1 , 2m2 ,..., nmn )‌— n , где mi - целое,
неотрицательное число, которое указывает сколько раз число i присутствует в этом
a
n
n
i 1
i 1
a
a
разбиении в виде части n   imi (  imi -ранг разбиения)
Разбиение можно изобразить графически, с помощью графа Ферре (Ферррер)
(1, 22 ,32 , 4) 
Принцип Дирихле.
Если n(k , r ) является наименьшим целым n, при котором в каждом разбиении этого n
на r частей, найдется часть не меньшая, чем k, то тогда n(k , r )  rk  1  r
Принцип Дирихле можно сформулировать в виде размещения (принцип ящика):
при любом размещении r+1 предметов по r ящикам, то найдется ящик с двумя
предметами.
30. Вложимость разбиений.
Основным соответствием между разбиениями чисел является их вложимость, т.е.
(k1 ,..., kt )
входит
в
разбиение
существует
отображение
(n1 ,..., nr ) , если
 : (1,..., t )  (1,..., r ) , при котором выполняется система неравенств:

j 1 ( i )
ki  ni
i  1, r ,
где  1 (i) - полный прообраз элемента i при отображении  .
Каждая часть k i входит в одну группу; пустые группы исключаются.
Если разбиение (k1 ,..., kt ) вложимо в (n1 ,..., nr ) , то будем записывать это, используя
обозначение включения множеств: 
Элементарные свойства разбиений:
каким наиб быстрым способом можно определить вложимость?
(k1 ,..., kt )‌– k ,
(n1 ,..., nr )‌– n
‌> n , то k не вложимо во второе. Это утверждение лежит в
Если выясняется, что k
основе экстремального подхода к построению быстрого способа проверки вложимости.
31. Ранговое условие вложимости; пример использования.
Иногда удается решить комбинаторную задачу распознавания вложимости
разбиений без алгоритмической проверки.Существуют теоремы для выяснения вопроса
вложимости некоторых фиксированных разбиений.
Теорема.
Пусть t является тем наименьшим t, при котором p  Pr (n), q  Pt (k ) : q  p ,
тогда t(n, k, r) = max{k -  n  +1,1} .
 r
Следствие:
если
t(n, k, r)
-
наименьшее
n,
при
котором
q  p , то t(n, k, r) = max{k -  n  +1,1}
 r
p  pr (n), q  pi (k ) :
32. Принцип полного размещения; пример использования.
Пусть k1  k2  ...  kt и дано r, все – натуральные числа. Наименьшее n(k1 ,..., kt ; r ) ,
при котором разбиение (k1 ,..., kt ) к вложимо в разбиение этого n на не более чем r частей.
i
n(k1 , k2, ..., kt ; r )  max( k j  (ki  1)(r  1))
1i t
j 1
Следствие: если для натуральных чисел 1  k1  k2  ...  kt выполнено условие
(k1 ,..., kt )‌– k  n и через r (k1 , k2, ..., kt ; n) обозначено наибольшее r, при котором каждое
разбиение
на
r
n
частей
вложимо
в
разбиение
k1 , k2, ..., kt ,
то
i
r (k1 , k2, ..., kt ; n)  min
(n   k j )
j 1
(ki  1)
Искомое r согласно принципу полного размещения есть необходимый целый корень
неравенства n  (k1 ,..., kt ; r )
1i t
33. Вложимость с ограничениями; пример использования.
Иногда требуется гарантировать вложимость разбиения (k1 ,..., kt ) не во все
разбиения чилс n на r частей, а только в некоторые. Экстремальный результат,
гарантирующий вложимость фиксированного разбиения уже не во все разбиения данного
ранга можно представить в виде следующего утверждения:
пусть n1 ,..., nr , k1  k2  ...  kt , n(k1 ,.., kt ; n1 ,.., nr ) - наименьшее n при котором каждое
разбиение p1 ,..., pr этого n на
свойством,
что
r
i
r
j 1
l 2
частей такое, что ( pi )  ni , i  2, r , обладает тем
(k1 ,..., kt )  ( p1 ,..., pr ) ,
тогда
n(k1 ,..., kt ; n2 ,..., nr )  max( k j   min(nl ; ki  1)) .
1i t
В отличие от принципов полного размещения, последнее утверждение обеспечивает
не только установление факта вложимости разбиений, но и для некоторых разбиений
может использоваться как условие невложимости.
34.Комбинаторные модели для исследования прцоесса
распределеняи памяти КС.
Исследования, связанные с поваышение эфф-ти методов управления, распределения
памяти КС в основном направлены на поиск эффективных методов распределения,
перераспределения и реорганизации памяти.
Распределение памяти представляет собой конечную последовательность отображений
множества информационных объектов или их наименований – множества физических
адресов распределяемой памяти.
Перераспределение памяти КС – это перенесения ряда информационных объектов из
адресного простарнства ОП на вспомогательную память с целью освобождения ОП и
размещения других информационных объектов, чтобы продолжать выч. Процесс.
Под реорганизацией памяти будем понимать перемещение информационных объектов в
адресном простарнстве памяти.
Статическое распределение памяти – такое распределение, при котором I ->F (инф
объекты – физич адреса) выбирается один раз до выполнения программы.
При динамическом распределении памяти каждое I ->F выбирается непосредственно в
ходе вычисления. Применение того или иного способа зависит от наличия информации о
ресурсах памятиЮ о свойствах ссылок, программ или последовательности испольнения
инф-ции.
Стат. Распре-е инф-ее может применяться тогда, когда сведения о ресурсах и св-х ссылок
программ имеются перед решением задачи(пр-мы). При использовании динамич
распределения – наоборот.
Эфф. Функционирование КС достигается лишь тогда, когда при удовлентворении заявок
на выделение ОП накладывается как можно меньше ограничений, освобождение
областей происходит как можно быстрее.
Доп. Выделяемая часть памяти не использ и именно она определяет величину потерть в
эфф-ти использования памяти в целом.
Страничаня организация памяти существенно упрощает решение задачи ее
распределения. Однако исследования пока-ют, что в прцоессе функции-я КС потери в
эфф-тти исп-ия памяти, обусловл влиянием внутр фрагментации, сказываются больше
внешних.
….т.е. сократив затраты проц. Времени на упр-е раср-ем памяти при сегментной
организации можо повысить эфф-ть.
Поэтому все дальнейшие рассуждения – о распределении памяти с сегментнйо орг-ей
программ и данных.
Сегментная орг-ия обладает следующими преимущствами перед страничной.
Существенно упрощается решение задачи организации внешних ссылок, т.к, в этом случае
от объединяющей программы не требуется работа с абс. Адресами.
Облегчается управление пр-ми.
Исключаются потери в эфф-ти использования памяти изза округления размера запроса до
принятого в система расзмера страницы.
Рассмотрим несколько общих комбинаторных моделей, позволяющих исследовать
процесс распределения памяти в КС с сегментной организацией.
==В любой момент времени фенцуионированя КС влияние внешней фрагментации на
процесс распределения памяти характеризцется слеюущими парамтрами?
1-количество свободных/занятых участков памяти
2-размер свободных участков
3-суммарный размер своб\занятой памяти
Запросы на выделение памяти достаточно полно характеризуются слеюущими
параметрами:
1-количество запросов в очереди на выделение памяти
2-тербования к размеру непрерывных участков адресного пространства
3-суммарный объем памяти
ПРИМЕР.. Q – р-р ОП КС. N – сумм р-р свободной памяти N принадлежит Z+, N<=Q, где Z+ множетсво целых неотрицательных чисел.
Изза влияния внешн. Фрагментации память р-ра N окажется раздробленной на R участков.
Такое состояние свободно памяти можно интерпретировать как вектор Z(N)=(n1,n2,….nR)
N=сумма от i=1 до R ni(n1>=n2>=…>=nR),
Где ni – размер итого свободного участка, принадлежащего Z+.
Два состояние свободной памяти: Z(N)=(n1…nR) Z’(n)=(n1’…nR’)
Будес считать различными, если они различны как векторы.
Аналогично любое состояние ханятой памяти характеризуется вектором g(D) = (d1….de)
Di – размер непрерывного итого участка занятой памяти. D=сумма di..
При моделировании запросов на выделение своб. Памяти из Z(N) предполагается, что они
могут поступать одновременно, т.е. группами g(K)=(k1…..kt)
Запросы поступают по одному или группами,Ю где Ki – треб р-р свободной памяти для i-го
запроса.
Группу запросов интерпр как в-р q(K).
Элементы ni di kj векторов Z(N),g(D), q(K) можно интепретировать как разбиение чисел
N,D,K,t.e.
P(N)=(n1…nR)
P(K)=(k1…kR)
P(D)=(d1…dR)
Интепретацией состояний свободной и занятой памяти неупорядоченными разбиениями
чисел позволяет адекватно моделировать внешн фрагментацию памяти без учета
состояний ее адресного пространства, что упрощает модель.
Представление групп запросов на выделение памяти неупор. Разбиениями числе также
не противоречит практическому смыслу иссл-го процесса.
Алгоритм мб любым, как ипорядок обслуживания.
Т.о. 1я модель является адекватной.
С помощью множества разбиений можно описать множество всех возможных состояний
фрагм-й свободной памяти.
Используя свойства множества разбиения числе, а именно
P(N1) объ P(N2) .. P(Nr)=0
Где P(Ni)-мн-во разб числа Ni<>Nj
Можно показать, что множество состояний фрагм-ой памяти кс р-ра Q опред множество
разбиений чисел.
Разбиение соотв одноми из состояний свободной памяти КС р-ром Q.
Исследование процессов распределения памяти КС включает еще и процесс
удовлетворения запроса в адресном простанстве свободной памяти КС.
…блабла про моедль 2 это в др вопросах.
35. Особенностью распределения памяти в КС с сегментной
организацией программ и данных (модель 2).
Приведите
пример.
Особенностью распределения памяти КС с сегментной организацией программ и данных
является неделимость поступающих запросов на выделение памяти. Т.е. для
удовлетворения каждого запроса требуется непрерывный участок адресного пространства
различной длины.
Такая организация распределения памяти применяется в системах телеобработки данных
при распределении ОП в многопроцессорных вычислительных комплексах.
Удовлетворение любого запроса на память реализуется последовательным выполнением 2
процессов:
- процесса поиска непрерывных участков адресного пространства не меньшего, чем
размер запроса;
- процесса выделения свободной памяти под запрос.
В соответствии с определением вложимости разбиения, (k1 ,..., kt ) вложимо в разбиение
(n1 ,..., nr ) , если части k i разбиения (k1 ,..., kt ) можно так сгруппировать в r-групп, что
после сложения всех частей k i в каждой группе получится r-чисел pi : pi  ni , i  1,..., r .
В процессе конкретной вложимости n j из разбиения (n1 ,..., nr ) используется не более
одного раза.
Понятие вложимости разбиений является интерпретацией процесса удовлетворения
запросов свободной памяти КС.
36. Комбинаторная модель для оценки необходимого размера
памяти КС (модель 4). Приведите пример.
Размер оперативной памяти оказывает влияние на функционирование КС.
Увеличение ОП повышает производительность КС без каких-либо изменений программ
обработки.
При проектировании КС вопросу оценки КС уделяется большое внимание на всех
этапах проектирования. Проведение таких исследований требует существенных затрат и
ресурсов, и увеличивает время создания системы.
При пиковых нагрузках КС должна оставаться работоспособной.
Эффективное функционирование КС невозможно без выполнения условия: в
результате проектирования ПО должно соответствовать аппаратуре. Оно должно быть
спроектировано так, чтобы не снижать производительность аппаратной части и всей
системы в целом. Используя подходы для решения задачи распределения памяти можно
получить такое решение этой задачи, которое проявится только на этапе
эксплуатирования системы. Для решения задачи управления распределением данных
используется ряд комбинаторных моделей. Последовательность представления таких
моделей можно выбрать в соответствии с количеством априорной информации о процессе
функционирования ОП КС.
Рассматривается функционирование КС, в которой запросы на выделение памяти
поступают группами. Пусть размеры запросов группы поступившей в произвольный
момент времени соответствуют (k1 ,,..., kt )‌– k . Свободная память рассматривается как r
участков с суммарным размером n. Тогда согласно принципу полного размещения
i
n(k1 , k2 ,..., kt ; r )  max( k j  (k j  1)*(r  1)) ,
1i t
k1  ...  kt . Следовательно, что для
j 1
решения подобной задачи не требуется информация по размерам свободных участков
памяти. Достаточно проверить: n  (k1 ,.., kt ; r ) , r – количество фрагментов свободной
памяти.
37. Комбинаторная модель, позволяющая произвести расчет
оценки сверху необходимого размера оперативной памяти КС.
Пусть имеется m групп запросов на выделение памяти. Размер j-ой группы
( j)
( j)
( j)
соответствует числу разбиений: {k1 , k2 ,..., kt j } ( j  1, m)
В соответствии с принципом полного размещения можно показать, что вычислимая
( j)
( j)
( j)
( j)
( j)
величина max{n(k1 , k2 ,..., kt j )} 1  j  m , при условии, что k1  ...  kt j
и
обеспечивает нахождение суммарного размера свободной памяти. Причем всякое
разбиение на не более, чем r участков обеспечит полное удовлетворение запросов на
память любой группы 1  j  m .
Совместное исследование параллельных КС и алгоритмов.
Адаптация КС к алгоритму(так звучит в лекциях)
Рассмотрим задачу отображения мн-ва программных модулей на мн-во процессоров
таким образом, чтобы связанные друг с другом модули размещались в максимально
близких процессорах.
Проблема отображения формулируется в терминах графов и сводится к проблеме
изоморфности графов. Эта задача близка к сужению полосы в разреженных матрицах.
Мат. формулировка задачи: вводится проблемный (программный) граф
Gp(Vp, Ep) , где узлы Vp – соответствуют программным модулям, а дуги Ep –
обозначают связи между модулями.
Вводится также Ga(Va,Ea), где Va – мн-во процессоров; Ea – связи между
процессорами.
Gp : Vp Vp  {0,1}
Gp( x, y )  Gp( y, x) ; Gp(x,x)=0 ; x, y  Vp
Gp( x, y )  1  между x и y дуга
Аналогично с Ga
Предполагается |Vp|=|Va| .
Если |Vp|<|Va| , то в мн-во Vp можно ввести число формальных вершин. Если
|Vp|>|Va|, то не рассматриваем.
Отображение мн-ва модулей алгоритма на мн-во процессоров записывается
11
f m : Vp 
Va
Качество отображения определяется количеством совпадений дуг программного и
процессорного графов. Это число называется кординальностью отображения и
обозначается как |fm|.
f m  1  G p ( x, y) Ga[ f m ( x)  f m ( y)]
2 xV p
yV p
Gp(x,y)=1, если x и y в программном графе связаны одной дугой.
fm(x) и fm(y) обозначают процессоры, на которые отображены алгоритмы x и y.
Ga [ f m ( x)  f m ( y)]  1  процессоры соответствуют алгоритмам x и y и связаны.
Таким образом выражение под знаком суммы равно 1 только когда дуга,
связывающая 2 модуля программы, совпадает с дугой, связывающей 2 процессора.
При суммировании каждый процессор считается дважды поэтому коэф ½.
Необходимо выбрать функцию fm с максимальной кординальностью среди (|Vp|)
возможных функций.
38.Влияние топологии на технические характеристики сетей.
Адаптация КС к алгоритмам для обеспечения максимальной
эффективности вычислительного процесса сводиться к задаче изоморфного
вложения сетей.
Будем использовать понятие КС как совокупность ресурсов, которые можно
использовать при реализации алгоритма. Ресурсом будем считать любой
программный или аппаратный компонент, которым можно манипулировать
независимо от остальных ресурсов.
Как сама КС, так и выполняемые ею задачи можно представить графом
ресурсов.
Граф ресурсов – граф G=(X,Y), Х (множество вершин) – ресурсы (включая
резервные), Y={yi} – связи между ними. Граф G является направленным, если
ребра ориентированы, и помеченным, если каждой вершине x i приписано число
ti – тип ресурса.
Будем говорить, что алгоритм А выполним
на КС с именем S, или что S содержит А, если
изоморфен некоторому подграфу S, то есть S
содержит все требуемые алгоритмом А ресурсы
и связи. Например, алгоритм G2 выполним на
КС с именем G1.
Переход к новому алгоритму А* требует поиска в S
нового подграфа, изоморфному графу A*. Как
следует из этого обработка изменившихся информационных структур требует,
чтобы КС имели возможность реконфигурировать (коммутировать) связи между
ресурсами путем адаптации. Установление требуемых связей между ресурсами
КС при реализации алгоритма, осуществляется с помощью коммутации. Часто
для выполнения этих функций используют специальные коммутирующие сети.
39. Классы характеристик КС.
1. Структурная сложность определяется как число элементов и связей, составляющих
структуру КС. В случае необходимости можно выделить элементы,
соответствующие изолированным, висящим и тупиковым вершинам графа
2. Адаптируемость КС – приспособленность КС к внешним и внутренним условиям,
позволяющая оптимальным образом достигать целей функционирования.
3. Диаметр структуры КС
4. Структурная связанность КС – способность противостоять разделению графа на
независимые части.
5. Надежность КС – способность структуры КС обеспечивать функционирование КС
в течение заданного промежутка времени.
6. Живучесть КС (отказоустойчивость) – оценивает сохранение частей структуры КС,
обеспечивающих выполнение поставленной задачи.
7. Стоимость КС – характеристика, оценивающая стоимость реализуемой структуры.
Абсолютно однородная сеть (определение, примеры).
Под [n,m]-сетью будем понимать связанный граф с числом вершин X  n и числом
ребер Y  m
Требование однородности позволяет ограничиться сетями без петель и кратных
ребер с минимальной валентностью (p) узлов, равной 2
1
n  m  n(n  1)
2
Если m=n, то [n,m]-сеть представляет собой кольцо: pi  2 для все n абсолютно
однородно.
1
1
Если m  n(n  1) , то получается [ n, n( n  1)] -сеть, является полным графом, у
2
2
которого pi  n  1 для любого i.
40. Проблемы адаптации структуры КС к алгоритмам решаемых
задач в терминах теории графов.
Основной задачей адаптация ВС к алгоритмам решаемых задач является обеспечение
максимальной эффективности вычислительного процесса. Адаптация сводится к задаче
изоморфного вложения сетей (Изоморфное вложение - граф G2 изоморфно вложим в
граф G1 , если в графе G1 существует подграф, изоморфный графу G2 ).
Как сама ВС так и выполняемые ею задачи можно представить графом ресурса.
Граф ресурсов – граф G – вершины ресурсы, ребра связи между ними.
Для максимального увеличение быстродействия желательна связь каждого входа с
каждым выходом. В этом случае минимизируется время необходимое для передачи
данных от одного вычислителя к другому. При большом количестве вычислителей граф
становится громоздким.
Определите d в узле КС и в КС (структура КС условно изображена
на рис).
1
1
1
2
Решение:
Диаметр – максимальное расстояние, определенное на множестве кратчайших путей
между парами вершин структуры КС: d  max{d ij } , где d ij - расстояние, т.е. минимальное
число ребер, образующих путь из вершины i в вершину j; i, j 1,..., N
d
1
  l  nl , где nl – мода узла – число вершин,
N  1 l 1
находящихся на расстоянии l от любой выделенной вершины. Средний диаметр в КС
1 N
d    di
N i 1
1
1 1
1 1
Итого: N=2, d=1, d1   11  1 , d 2   11  1 , d   1  1  1
2
1 l 1
1 l 1
Средний диаметр узла di 
40. Проблемы адаптации структуры КС к алгоритмам решаемых
задач в терминах теории графов. (Адаптация КС к алгоритму ←
так в лекциях называется).
Адаптация КС к алгоритмам для обеспечения максимальной эффективности
вычислительного процесса сводиться к задаче изоморфного вложения сетей.
Будем использовать понятие КС как совокупность ресурсов, которые можно
использовать при реализации алгоритма. Ресурсом будем считать любой программный
или аппаратный компонент, которым можно манипулировать независимо от остальных
ресурсов.
Как сама КС, так и выполняемые ею задачи можно представить графом ресурсов.
Граф ресурсов – граф G=(X,Y), Х (множество вершин) – ресурсы (включая
резервные), Y={yi} – связи между ними. Граф G является направленным, если ребра
ориентированы, и помеченным, если каждой вершине xi приписано число ti – тип
ресурса.
Будем говорить, что алгоритм А выполним на
КС с именем S, или что S содержит А, если
изоморфен некоторому подграфу S, то есть S
содержит все требуемые алгоритмом А ресурсы и
связи. Например, алгоритм G2 выполним на КС с
именем G1.
Переход к новому алгоритму А* требует поиска
в S нового подграфа, изоморфному графу A*. Как
следует из этого обработка изменившихся информационных структур требует, чтобы
КС имели возможность реконфигурировать (коммутировать) связи между ресурсами
путем адаптации. Установление требуемых связей между ресурсами КС при
реализации алгоритма, осуществляется с помощью коммутации. Часто для выполнения
этих функций используют специальные коммутирующие сети.
Управляющие сигналы U управляют так,
что x1, …, xn и yi взаимно коммутируются
требуемым способом.
Далее будем полагать, что xi и yi
подключаются в соответствии двунаправленным
каналом i-ого процесса.
Анализ
процесса
реконфигурации
топологии позволяют исследовать возможности
изменения связей между элементами КС.
Сети коммутации представляют собой набор связей между двумя наборами узлов
(вх. и вых.).
Наиболее эффективный способ реализации обобщенной
соединительной сети – создание полного коммутатора, где каждый
вход может быть коммутирован на любой выход.
Наиболее распространенной является сеть Клоса (построена на
основе двоичного n-куба).
41. Надежность сети КС.
Надежность – свойство КС выполнять любую функцию при определенных
условиях эксплуатации в течение заданного времени и с установленными
параметрами.
Отказ – событие, состоящее в полной или частичной утрате работоспособности КС.
Наступает, когда система не сохраняет свои параметры в заданных пределах.
Основная характеристика надежности вероятность того, что при заданных
условиях в течение заданного времени отказ в ней не возникнет.
P(t )  PT  t, где T – наработка на отказ, t – заданное время.
Аналогия с функцией надежности – функция ненадежности (вероятность отказа):
Q(t )  PT  t. Из определения функции P(t )  q(t )  1 или P(t )  1  q(t ) . Если
заданное время произвольное, то тогда P(t )  1  Q , следовательно мерой Р может
выступать значение Q, т.е. чем больше Q, тем меньше надежность.
Количественная надежность
сети
– вероятность разрушения
сети.(?/Дальше в лекциях пробел)
связей
42.Отказоустойчивость (живучесть) топологической структуры
КС.
Живучесть – свойство системы адаптироваться к новой ситуации и противостоять
разрушительному воздействию, выполняя при этом свою целевую функцию за счет
соответствующего изменения структуры (даже при отказе определенной части
входящего в него модуля).
Известны следующие подходы к исследованию отказоустойчивости:
1. Создание модели живучести на основании анализа взаимодействия ВС
(КС) и окружающей среды.
2. Определение предельной живучести и вероятностный анализ сохранения
системы своих функций.
3. Определение степени живучести КС по отношению к некоторому
стандартному возмущению, характерному для данного класса.
Свойство «живучесть» ВС может рассматриваться на различных уровнях
организации ВС, следовательно, нужны различные методы повышения живучести.
Используется:
 выбор базовой структуры ВС;
 повышению надежности элементов ВС;
 обеспечение адекватной реакции ВС на изменяющиеся условия
эксплуатации;
 создание средств перестройки структуры ВС и поведения.
При анализе живучести могут использоваться модели:
 модель внешней сети
 модель взаимодействия аппаратных средств ВС
 модель взаимодействия компонент ПО
 модель контроля и диагностики аппаратных и программных
средств
 модель вычислительного процесса при решении задачи
 модель надежности.
ВС, представляемая графом S, содержит все требуемые алгоритмом ресурсы и
связи, тогда k-кратной неисправностью F в КС считается удаление из графа S любых k
вершин и всех связанных с ними ребер.
Неисправности F соответствуют новому графу SF.
КС S является толерантной относительно алгоритма A и неисправности F, если А
выполним КС системой SF. …
КС S является толерантной относительно множества алгоритмов (А1, …, Аn) и
множества неисправностей (F1, … Fq), если Ai выполним в КСи этой КС соответствует
граф SFj, где j=1,…, q.
В данной модели исследования живучести неявно предполагается, что в КС
имеется некоторое заведомо исправное ядро, выполняющее функции обнаружения и
локализации неисправности, выполняется реконфигурация и восстановление системы,
поэтому при оценке толерантности системы S участвуют следующие два момента:
1. содержит ли SF все ресурсы для выполнения А.
2. достаточно связей между ресурсами.
43. Определение путей и разрезов на графе(пример).
Путем в ненаправленном(2хполюсном) графе называется такое подмножество его
ребер, которое позволяет, переходя от одного ребра к другому через инцидентные им
обоим вершины пройти от одного полюса графа к другому.
Путей в 2хполюсном графе м.б. в общей случае достаточно много, причем путь
может включать в себя петли, может больше одного раза проходить через одну и туже
вершину. Формально путь может включать и висячие ребра.
В параллельной системе путем является все множество ребер и любое непустое его
подмножество. При анализе связности в 2хполюсном графе удобнее всего использовать
понятие минимального пути. Мин путем 2хполюсного графа называется такое подмно-во
ребер, которое подволяет переходя от одного ребра к другому через инцидентные им
обоим вершины, пройти от входного полюса к выходжному (от истока к стоку), причем
исключение хотя бы одного ребра из этого подмн-ва приводит к тому, что оставшееся
подмн-во ребер не является путем.
Иначе говоря, мин путь – путь без петель(циклов) – без висячих ребер. Мин путь
также называется простым.
Мин путь представляет собой последовательно сосединение некоторых ребер
графа, причем крайние ребра инцидентны соотв-му входному и выходному полюсам,
следовательно, если через Аi обозначать подмн-во ребер, образующих j-ый мин путь,
структ-ю функция этого мин пути
 j( X ) 
xi
iAj
В частности в последовательной системе мин путем является мн-во всех ее ребер,
а в параллельной каждый мин путь состоит из 1 ребра, а число путей = число ребер в
системе.
Связность 2хполюсного графа обеспечивается наличием хотя бы 1 пути(или мин пути) в
графе системы. Структ. ф-ию 2хполюсного графа можно выразить через структ функцию
путей
где N-число мин путей в графе.
,
Окончательно :
Перечисление простых путей – сложный вопрос перечисл-ой комбинаторики.
Разрезом в ненаправленном 2хполюсном графе (НДГ) наз-ся такое подмн-во его
ребер, удаление которых из графа разрывает все пути этого графа. В этом случае
различных разрезов может быть много. Единственный разрез имеется только в
параллельной системе, причем подмн-во ребер, обр-х этот разрез совпадает со всем мнвом ребер графа.
При анализе свзяности удобнее всего использовать мин разрез.
Мин разрезом НДГ называется такое подмн-во его ребер, удаление которых разрывает все
пути графа от истока к стоку, причем введение хотя бы одного любого из ребер этого
подмн-ва приведет к образованию хотя одного пути. Следовательно, мин разрез есть
параллельное соединение некоторых ребер. Обозначим Вк подмн-во ребер образующих кый мин разрез. Тогда структ. функция
В параллельной системе мин разрезом является мно-во всех ее ребер, в
последовательной каждый мин разрез состоит из 1 ребра, число таких разрезов = число
ребер в системе. Из определения -> для нарушения связности НДГ достаточно
исключение рер принадлежащих хотя бы 1 мин разрезу. Иначе в графе не должно быть ни
одного разреза, чтобы он оставался связным. Структ функцию можно записать
М – число мин разрезов в НДГ. Мин разрезы могут быть зависимыми, если в их состав
входит одни и теже ребра. Перечисление мин разрезов представляет сложную задачу.
44. Граничные оценки показателей связности.
Вычисление различных значений показателей связности(вероятность связности
ребер в графе) на практике сталкивается со значительными вычислительными
трудностями, т.к. решение этой задачи сводится к простому перебору.
Однако, используя пути и разрезы, удается получить достаточно простые, по
сравнению с точными методами нахождение соответствующих характеристик, граничные
оценки (верхнего и нижнего) требуемого показателя. Первые разрезы были получены для
оценки вероятности связности НДГ(?) с ненадежными ребрами. Другими словами
рассматривается граф, ребра которого могут существовать или исключаются из графа с
определенными вероятностями (отказами). Отказы ребер предполагаются независимыми.
Введем понятие связанных случайных величин(ССВ). Впервые понятие ССВ ввели
Барлоу и Прошон. Случайные величины епс1,епс2,епс3 называются связанными, если
P(1  t1,  2  t 2,  n  tn)   P( i  ti), P(1  t1,... n  tn)   P( i  ti)
1i  n
1i  n
Или
P(min  i  ti)   P( i  ti), P(max  i  ti)   P( i  ti)
1i  n
1i  n
1i  n
1i  n
Связность случайных величин можно понимать как одну из форм положительной
корреляции. В рассматриваемых случаях имеем дело лишь с бинарными случайными
величинами. Упоминалось, что пути и разрезы, в т.ч. min, м.б. зависимыми из-за того, что
в их состав могут входить одни и те же ребра. В этом случае имеется связь
соответствующих структурных функций αi(x) и αj(x) ∀ i,j={1,N}и соответственно βi(X) и
βj(X) ∀ i,j= {1,M}. такая зависимость возникает, если все элементы какого-либо
устройства одновременно подвергаются одному и тому же внешнему воздействию,
при этом показатели всех элементов ухудшаются одновременно. Если xi и xj
связанные случайные величины, принимающие значение 1 с вероятностью
ri=P(xi=1)=1, rj=P(xj=1)=1, то структурная функция φ(xi,xj)=xi ∧ xj принимает
значение 1 с вероятностью R=P(φ(xi,xj)=1)=ri+rj+cov(xi,xj), где cov(xi,xj)ковариация случайных величин xi,xj. Ковариация xi,xj –неотрицательная величина
для положительных корреляционных чисел. Обобщим для полож величин
Для двух случайных величин ri=P(xi=1)=1 совпадает с мат.ожиданием этой
величины:
При рассматривании дизъюнкций связанных булевых переменных можно
записать
Окончательно
Используя дополнительные сведения и полученное выражение к оценке
граничных условий вероятности связности НДГ.
45. Двухсторонние граничные оценки Эзари-Прошана для
вероятности связанности двухполюсного графа
46-47. Структура магистрально-модульных КС, особенности
построения структур магистральных КС и их отличие от других
типов комп сетей.
В ряде случаев КС объединяют в сети с общей шиной или магистрали. Практически все
отечественные и зарубежные КС используют шинную (магистральную) структуру,
которая допускает одновременную передачу сообщений от одной КС к нескольким по
одному физическому каналу.
Этот способ особенно эффективен при создании распределенных сетей, содержащий
достаточно большое число (от нескольких десятков до нескольких сотен)
микропроцессоров. Топологии КС используются магистрали, представляют собой
соединение двух видов равноправных объектов: узлы (процессоры) и магистрали
(обычные шины). В рассматриваемых сетях ребра (каналы) могут быть инцидентны не
более чем двум узлам, а узел м.б. инцидентен любому числу ребер. В магистральных
сетях любой узел (магистраль) м.б. инцидентен любому числу магистралей (узлов).
Магистрально-модульная КС м.б. описана в виде реберного графа L(G) реберный граф L
(G) неориентированного графа G без петель и кратных ребер называется граф, множество
вершин которого поставлено во взаимно-однозначное соответствие множеству ребер
графа G`.
Две вершины графа L(G) смежны  соответствующие им ребра являются ребрами графа
G/
2 вершины L (G)  смежны соотв-е им ребра графа G.
Yij=xixj – ребро графа G, тогда степень вершин y в графе L (G) равна deg xi + deg xj-2
Если определен некоторый класс графов, то полезно знать оценку числа вершин и ребер в
каждом графе данного класса. Это легко сделать для реберных графов.
Если G-это (n,m) – граф , n –число вершин, m-число ребер с вершинами имеющими
степень di, то L(G) имеет m вершин и ml ребер, где
ml=-m + 0.5 (cумма от i=1 до n)di*di
По определению у реберного графа имеется M вершин, каждые di ребер инфиндентных
вершинам xi дают вклад в число ребер графа L(G): (di\2)=Сd*Cd
Связвнный граф G изоморфен своему реберном графу L(G)  G – простой цикл. Т.о. для
графа G: G=L (G)  G – регулярный граф степени 2. Если графы G1 b G2 изоморфны то
графы L(G1) b L(G2) также изоморфны. Т.о. магистральная сеть, состоящая из n узлов и m
магистралей моет быть описана матрицей инфиденций А n х m,Элемент этой матрицы aij
равен 1, если узлу с номером i=0,1,..,n-1 инфидентна на магистрали с номером j=0,1,…,m-
1.Иначе aij=0. Из определении матрицы инциденций следует, что магистральная сеть не
допускает кратных инциденций (петель) ни по магистралям, ни по узлам. Т.о. можем
записать определение магистральной сети: магистральной сетью называется пара
конечных сножеств (x,y), где |x|=n, |y|=m с между элементами этих множеств
инцидентными с помощью матрицы А. Если обозначить число магистралей,
иницидентных узлу i через Pi (валетность узла), а число узлов, инцидентных магистрали j
через qj, то запишем
В отличие от n x m сети в n x m магистралей сети с матрицей инциден-й А всегда
существует n x m магистральная сеть с трансп-й мат-й инценд-й
.
Такую сеть нзывают транспртной сетью [n, m]. Магистральные сети структурно
эквивалентны гиперграфам. Исследовать их можно с помощью аппаратов обычных
графов.
48. Приведите определение реберного графа и постойте граф
L(G) неориентированного графа
Если G – это (n, m) граф, n –число вершин, m – число ребер, с вершинами, имеющими
степень , то L (G) имеет m вершин и mL ребер, где
1 n 2
d i
2 i 1
По определению у реберного графа имеется m вершин, каждые
mL   m 
ребер инцидентных
вершинам дают вклад в число ребер графа L(G):
Таким образом, получается:
d
1
1
1
1
mL   ( i )   di (di  1)   d 2i   di   d 2i  m
2
2
2
2
2
49. Приведите общее выражение для переключающей матрицы.
Свойства матрицы переключения:
1. Матрица симметрична относительно главной диагонали.
2. Общее выражение для матриц подключения:
U M 2n12n1 UM 2n12n1 
U U 
M U1...U n  M 2n 2n  
 , где M U1  M 22  
.
UM 2n12n1 U M 2n12n1 
U U 
50. Дайте определение реберного графа и постойте граф L(G) ,
если граф G представляется как граф
По определению у реберного графа имеется m вершин, каждые
вершинам дают вклад в число ребер графа L(G):
Таким образом, получается:
d
1
1
1
1
mL   ( i )   di (di  1)   d 2i   di   d 2i  m
2
2
2
2
2
ребер инцидентных
Связывающий граф G изоморфен своему реберному графу L(G) <=> G – простой цикл.
G  L(G)( изоморфен)
Таким образом, для графа G:
<=> G – регулярный граф степени 2.
и
изоморфны, то => графы
и
также изоморфны. Таким образом,
Если
магистральная сеть, состоящая из n узлов и m магистралей может быть описана матрицей
инциденций А размерности n*m
51. Построить коммутатор по схеме сети косвенного двоичного
n-куба (сеть Клоса).
Рассмотрим один из примеров построения коммутатора по схеме двоичного куба.
Пусть А – коммутатор, у которого:
U принимает 2 значения:
Oo  I 0
U  0: 
; U  1:
O1  I1
O0  U I 0  UI1 ;
O1  UI0  U I1.
O0  I1
.

O1  I 0
– логика соединение входных и выходных полюсов.
U U 
 Oo  U U  I 0 
  , где M  

   

U U  – элементарная матрица переключений.
 O1  U U  I1 


51. Построить двухкаскадный коммутатор компьютерной
сети.
Построим двухкаскадный коммутатор:
Последовательность действий заключается в постановке этого элементарного
коммутатора:


O20  U 2 I 20  U 2 I 22  U 2 U 1I 0  U1I1  U 2 (U 1I 2  U1I3 )  U 2U 1I 0  U 2U1I1  U 2U 1I 2  U 2U1I3
Матричная запись уравнения:
O20  U 1U 2 U1U 2 U 1U 2 U1U 2   I o 
 
O  
U
U
U
U
U
U
2
1U 2
1U 2  I1
21
1
1
2

 
 
O22  U 1U 2 U1U 2 U 1U 2 U1U 2   I 2 
 
  
O23   U1U 2 U 1U 2 U1U 2 U 1U 2   I 3 
Матрица переключений двухкаскадного коммутатора:
M U1U 2
U 1U 2 U1U 2 U 1U 2 U1U 2 


U1U 2 U 1U 2 U1U 2 U 1U 2 


.
U 1U 2 U1U 2 U 1U 2 U1U 2 


 U1U 2 U 1U 2 U1U 2 U 1U 2 
Придавая управляющим сигналам 0 или 1 можно подключать любой входной
полюс к любому выходу.
Управляю
щие
сигналы
U1
0
1
0
1
Коммутац
ия вх. и
вых.
полюсов
U2
I
O
0
0
1
2
0
1
2
3
3
0
1
2
3
2
1
3
0
0
1
2
2
3
0
3
1
0
1
2
1
0
3
3
2
1
1
0
Матрица переключений
M
M
M
M
1
0

0

0
0
0

0

1
0
0

1

0
0
1

0

0
0 0 0
1 0 0
0 1 0

0 0 1
0 0 1
0 1 0
1 0 0

0 0 0
0 1 0
0 0 1
0 0 0

1 0 0
1 0 0
0 0 0
0 0 1

0 1 0
52. Совместное исследование параллельных КС и алгоритмов.
Адаптация КС к алгоритму(так звучит в лекциях)
Рассмотрим задачу отображения мн-ва программных модулей на мн-во процессоров
таким образом, чтобы связанные друг с другом модули размещались в максимально
близких процессорах.
Проблема отображения формулируется в терминах графов и сводится к проблеме
изоморфности графов. Эта задача близка к сужению полосы в разреженных матрицах.
Мат. формулировка задачи: вводится проблемный (программный) граф
Gp(Vp, Ep) , где узлы Vp – соответствуют программным модулям, а дуги Ep –
обозначают связи между модулями.
Вводится также Ga(Va,Ea), где Va – мн-во процессоров; Ea – связи между
процессорами.
Gp : Vp Vp  {0,1}
Gp( x, y )  Gp( y, x) ;
Gp(x,x)=0 ;
x, y  Vp
Gp( x, y )  1  между x и y дуга
Аналогично с Ga
Предполагается |Vp|=|Va| .
Если |Vp|<|Va| , то в мн-во Vp можно ввести число формальных вершин. Если
|Vp|>|Va|, то не рассматриваем.
Отображение мн-ва модулей алгоритма на мн-во процессоров записывается
11
f m : Vp 
Va
Качество отображения определяется количеством совпадений дуг программного и
процессорного графов. Это число называется кординальностью отображения и
обозначается как |fm|.
f m  1  G p ( x, y) Ga[ f m ( x)  f m ( y)]
2 xV p
yV p
Gp(x,y)=1, если x и y в программном графе связаны одной дугой.
fm(x) и fm(y) обозначают процессоры, на которые отображены алгоритмы x и y.
Ga [ f m ( x)  f m ( y)]  1  процессоры соответствуют алгоритмам x и y и связаны.
Таким образом выражение под знаком суммы равно 1 только когда дуга,
связывающая 2 модуля программы, совпадает с дугой, связывающей 2 процессора.
При суммировании каждый процессор считается дважды поэтому коэф ½.
Необходимо выбрать функцию fm с максимальной кординальностью среди (|Vp|)
возможных функций.
53. Диаграммы Ферре и инверсии в бинарных
последовательностях
Прямоугольник с α (строки) *β (столбцы) квадратами одинакового размера.
Разбиение N  d1  d 2  ...  d k
d1  d2  ...  dk
,
k 
,
d
,
1 i  k
  7,   11,
2.
n  22  8  6  6  1  1
Разбиению n, имеющему диаграмму Ферре α*β поставим во взаимное однозначное
соответствие последовательность, элементами которой являются 0 и 1. Для этого, из
правой верхней вершины прямоугольника построим траекторию – «огибающую
диаграммы Ферре». Она проходит по верхней стороне прямоугольника и затем движется
на заштрихованной части диаграммы Ферре. На каждом шаге, если траектория касается
горизонтальной стороны квадрата, то «0», а если вертикальной, то «1».
Бинарная последовательность имеет длину α+β. Будет α «0» и β «1». Число «0» правее «1»
называется числом инверсий.
Скачать