Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save anonymous/da7ea8d7fd078c142f82e30c9021660d to your computer and use it in GitHub Desktop.
Save anonymous/da7ea8d7fd078c142f82e30c9021660d to your computer and use it in GitHub Desktop.
Состав распределенных систем

Состав распределенных систем



Ссылка на файл: >>>>>> http://file-portal.ru/Состав распределенных систем/


Распределенные системы автоматизации
Будь умным!
Вычислительные сети - частный случай распределенных систем
























Под системой понимается множество элементов и связей между ними. Обозначим V — множество элементов системы. Порядок элементов в паре важен, так как связи могут быть направленными, несимметричными. В системе могут быть не только попарные связи, но и связи троек элементов. Здесь n — количество элементов в системе. Иначе говоря, вместо отношений или вместе с отношениями удобно рассматривать соответствующие предикаты P 2 , P 3 , P 4 ,…, P n. В дополнение к перечисленным рассматривают и предикаты P 1 , которые можно интерпретировать как выражение свойств элементов множества V. Подчеркнем, что бинарных отношений в системе может быть несколько. Например, в цилиндре двигателя автомобиля газ бензино-воздушная смесь , загораясь, толкает поршень и, одновременно, нагревает его. Ясно, что в зависимости от целей исследования системы одни отношения рассматриваются как существенные, а другие — как второстепенные. Множественность касается не только бинарных, но и тернарных и других отношений. Некоторые из предикатов P 1, j могут характеризовать местоположение элемента системы. Например, его географические координаты, пространственные координаты спутник связи , нахождение в определенном помещении компьютер локальной сети и т. Подмножества элементов, имеющих одно и то же в пределах некоторого допуска, приближения местоположение, мы будем называть сайтами. Аналогично, некоторые из предикатов P 2, j могут характеризовать взаимное расположение элементов, например, расстояние, время передачи сигнала, стоимость переноса информации или вещества от одного элемента системы к другому. Взаимное расположение может быть существенным и для троек элементов, и для четверок и т. Распределенными системами будем называть такие системы, для которых предикаты местоположения элементов или групп элементов играют существенную роль с точки зрения функционирования системы, а, следовательно, и с точки зрения анализа и синтеза системы. Распределенные системы могут быть непрерывными и дискретными. Непрерывные распределенные системы характеризуются бесконечным количеством элементов, а также тем, что в любой малой окрестности любого элемента в смысле предикатов местоположения находится, по крайней мере, еще один элемент. Примером непрерывной распределенной системы является стальной лист, нагреваемый в одной точке газовой горелкой. Каждая точка в некоторый момент времени характеризуется значением температуры, а весь лист описывается некоторым температурным полем. Температуры близко расположенных точек имеют мало отличающиеся друг от друга значения, зависящие от удаленности этих точек от источника тепла. С течением времени значения температур увеличиваются до некоторых пределов, зависящих от температуры горелки, координат точек, величины теплоотдачи листа в окружающее пространство. Сеть газопроводов состоит из газоперекачивающих станций, газораспределительных узлов, трубопроводов. Трубопроводы соединяют между собой станции и узлы. Трубопроводы проложены также к источникам месторождениям газа и к потребителям газа. Основное отношение в системе — это соединение направленное элементов: Важными параметрами элементов являются их местоположения в географическом смысле. Для трубопровода местоположение задается более сложным образом, чем для станций и узлов: Для эксплуатации сети газопроводов должны постоянно решаться задачи измерения давления в различных точках сети, определения объемов пропущенного газа, регулирования потоков газа. Характерно, что эти задачи, с одной стороны, распределены в сети то есть ставятся и решаются в различных точках системы , с другой стороны, являются частями общей задачи управления сетью, связывающей источники газа с потребителями. Электросеть включает линии электропередач различного напряжения и трансформаторные подстанции. Трансформаторные подстанции, генерирующие объекты, потребители имеют географические координаты. Линии электропередач характеризуются плоскими кривыми разница высот не имеет значения для электрического тока. Для управления сетью необходимо знать значения электрического напряжения в различных точках сети, падение напряжения в ЛЭП, значения потребляемого тока. Вся эта информация распределена по сети. По сети распределены также устройства управления участками сети — различные коммутаторы, переключатели, выключатели. Задача управления сетью с точки зрения оптимизации потоков электроэнергии решается централизованно, но иногда она разбивается на подзадачи, решаемые в определенных секторах сети. Кроме этого решаются задачи для совместной работы сетей разных стран. В этом случае орган, принимающий централизованные решения, отсутствует, и задача решается как распределенная. Это один из ярких примеров распределенных систем, особенно в тех случаях, когда сети связи используются для передачи компьютерной информации, то есть в качестве компьютерных сетей. Каждый узел сети характеризуется скоростью обработки информации. В сетях связи — это скорость коммутации переключения каналов связи. В компьютерных сетях в узле сети может находиться сервер, который выполняет определенное обслуживание по поступающим запросам. Время этого обслуживания — дополнительная характеристика узла сети. Каналы связи, соединяющие узлы, различаются своей пропускной способностью — скоростью передачи информации и иными техническими характеристиками оптоволоконные, кабельные, спутниковые каналы, радиоканалы и др. В зависимости от этого они могут требовать различных процедур обслуживания. В целом сеть связи должна обеспечить передачу сообщения от одного узла к другому. Причем эти узлы могут быть не связаны непосредственно друг с другом каналом связи. Тогда требуется проложить маршрут от одного узла к другому, проходящий через промежуточные узлы. Задача маршрутизации — типичная распределенная задача оптимизационного характера. Она имеет многообразные постановки. Простейший вариант — статическое решение. По заданной топологии сети, известным пропускным способностям каналов и средним задержкам в узлах можно для каждой пары узлов v i и v j найти оптимальный маршрут и всегда им пользоваться. Но интенсивность запросов к разным узлам различна и может изменяться в течение суток или еще быстрее. В результате перед некоторыми узлами образуются большие очереди запросов, увеличивающие время прохождения сообщения по маршруту. Или, при заполнении буфера очередей сообщения могут получать отказ в обслуживании. В этом случае оптимальным может оказаться другой маршрут. Такие ситуации приводят к необходимости динамической маршрутизации, то есть определении маршрута сообщения уже во время его перемещения по сети. Задача маршрутизации входит как составная часть в более общую задачу управления сетью связи. Система перевозки грузов включает транспортные средства грузовики, поезда, самолеты, корабли , транспортные пути автомобильные, железные дороги, морские и речные пути и др. При транспортировке конкретного груза от поставщика к получателю логистическая цепочка может включать довольно большое количество элементов системы, в том числе многочисленные перегрузки с одного вида транспорта на другой. При этом транспортное средство зачастую везет одним рейсом грузы от разных поставщиков разным получателям. Каждый элемент логистической системы характеризуется определенным набором параметров — грузоподъемностью, скоростью, размером грузов, объемом складских помещений, количеством причалов в порту и т. Если к этому добавить то, что чуть ли не каждый элемент имеет своего собственника, то станет понятно, что централизованно решать задачу оптимизации доставки грузов минимальное время при ограничении на стоимость или минимальная стоимость при ограничении на время невозможно. Это типичная распределенная задача, решаемая в отдельных элементах системы. Почти каждый банк самостоятелен. Банковская система распределена по всему Земному шару. Но у всех банков есть общая задача — обслужить клиента, где бы он ни был. Клиент должен иметь возможность получить свои деньги даже там, где о его банке никогда не слышали. Или сделать банковский перевод в далекую страну. Для осуществления этих операций банки связаны между собой системой договоров и поддерживающими эту систему техническими средствами. Клиент, находящийся в пункте A , ставит задачу проводки платежа из своего банка, находящегося в пункте B , в банк получателя, находящийся в пункте C. При этом получатель, находящийся в пункте D , должен получить уведомление. Это общая задача, которая разделяется банками на части, решаемые в разных местах, то есть превращается в распределенную задачу. Крупные фирмы и даже не очень крупные имеют офисы и производства, рассредоточенные в пределах города, страны и даже всей планеты, а в будущем с освоением полезных ископаемых на Луне или Марсе, заберутся и туда. Может быть, это отсутствие достаточных помещений в одном месте или другие подобные факторы. Но есть и совершенно объективные причины создания удаленных подразделений отделений корпораций. Прежде всего, это приближение к рынку сбыта продукции. Рынок, по определению, является рассредоточенной системой по большим территориям. Для того чтобы эффективно работать на рынке, корпорация создает региональные отделения. Например, транснациональные корпорации обычно открывают отделения по Западной Европе, Восточной Европе, Африке и Ближнему Востоку, Азии, Америке. При большом рынке происходит еще большее географическое дробление. Вторая причина создания удаленных подразделений — вынесение производств в другие страны. Штаб-квартира корпорации, как правило, находится в высокоразвитой стране, в которой законодательно закреплена довольно высокая заработная плата наемных работников. Производства же выносятся в те страны, где работники довольствуются весьма скромной оплатой. Соответственно, прибыли корпорации растут. Это касается и высокотехнологичных областей. Например, в некоторых американских исследованиях утверждается, что в США профессия программиста в ближайшие десятилетия будет неперспективной: Он будет отставать даже от среднего по всем специальностям роста потребности в специалистах. Причина простая — работа по программированию будет заказываться работникам в других странах. В настоящее время Индия стала одной из таких стран. Наличие отделений у корпорации приводит к необходимости создания распределенных информационных систем. Государственное и муниципальное управление. Такими же естественными, как и газовые и электросети. Управление, выработанное в столице, может достигать своих целей только при помощи своих уполномоченных на местах. Равно, как и сбор информации, необходимой для выработки управления, также производится на местах. Сосредоточенные и распределенные системы. Так бывает, когда существуют или могут существовать системы, решающие одинаковые задачи, системы, функционально эквивалентные, но конструктивно различные. Обозначим две такие системы S d и S sa от английских терминов distributed и stand - alone. Множества, обозначенные буквой U , состоят из сосредоточенных элементов, занимающих относительно небольшой объем пространства и реализующих некоторую функцию преобразования. Множества, обозначенные буквой W , состоят из элементов, связывающих некоторые сосредоточенные элементы между собой. Их основная задача не преобразование, а передача чего-либо в системе от одного элемента к другому. Например, сосредоточенными элементами могут быть два компьютера, осуществляющих вычисления по некоторым алгоритмам. Связывающим элементом может быть кабель, один конец которого подсоединен к первому компьютеру, а второй конец — ко второму компьютеру. Величина этого параметра существенным образом влияет на функционирование системы. Примером является передача сигналов посредством радиосвязи на сверхвысоких частотах. При этом эфир становится элементом системы. Поскольку радиоволны распространяются во всех направлениях, то эфир характеризуется тремя пространственными координатами x , y и z. В этих же координатах нужно рассматривать и местоположения сосредоточенных элементов системы, между которыми осуществляется связь. В пространстве могут находиться предметы, непрозрачные для радиоволн дома, горы и проч. Как следствие — не все сосредоточенные объекты могут обмениваться сигналами между собой. Дополнительное усложнение элемента связи происходит, если возможности передачи сигналов меняются с течением времени, как, например, при мобильной связи или при использовании спутников, не находящихся на геостационарной орбите. Таким образом, элементы из множества W d могут быть весьма разнообразными, с большим количеством характеристик. Напротив, в сосредоточенных системах элементы из множества W sa описываются просто, а часто вообще исключаются из рассмотрения как несущественные для анализа свойств системы. Таким элементом, например, в компьютере является набор проводников, соединяющих процессор с микросхемами памяти. При малом расстоянии между процессором и памятью время распространения электрических сигналов по проводам является относительно небольшим, и в математической модели системы им можно пренебречь. Соответственно, элемент связи можно вообще не включать в модель, а считать процессор и память связанными непосредственно, то есть находящимися в некотором отношении. Множества сосредоточенных элементов U sa и U d сосредоточенной и распределенной систем также могут отличаться. В сосредоточенной системе функционирование элементов из U sa инвариантно их местоположению. В распределенной системе функционирование элементов из U d в общем случае зависит от их местоположения. Эта зависимость может быть нескольких видов:. Рассмотрим две системы, S 1 и S 2. Первая система функционирует для достижения некоторой цели G 1. При этом в любой момент времени имеется некоторая степень достижения этой цели. Вторая система функционирует для того, чтобы ускорить достижение цели первой системой или увеличить степень достижения цели первой системой. Таким образом, система S 1 является основной, а система S 2 — вспомогательной. Например, S 1 — коммерческая организация фирма. Ее цель G 1 — поддержание прибыли не менее определенного уровня. Величина прибыли зависит от многих факторов, в том числе от степени информированности руководителей о положении дел. Корпоративная информационная система S 2 обеспечивает руководителей актуальной и детальной информацией о фирме, тем самым, позволяя вырабатывать правильные решения, приводящие к увеличению прибыли. Если система S 1 является распределенной, имеет подразделения в разных городах и странах, то и систему S 2 целесообразно строить как распределенную. При этом выбор структуры S 2 остается достаточно свободным. От полного повторения структуры системы S 1 до почти полностью централизованной почти полностью сосредоточенной системы. Отдельные предикаты P 1, j характеризуют местоположение элементов системы. Некоторые из предикатов P 2, j характеризуют взаимное расположение элементов. Здесь отдельные предикаты Q 1, j характеризуют местоположение элементов системы, отдельные предикаты Q 2, j характеризуют взаимное расположение элементов системы S 2. В частности, сайты системы S 2 формируются, как правило, на основе сайтов системы S 1. Это важно с точки зрения технологии передачи данных. А вот насколько далеко — не имеет значения. Отношение с точки зрения технологии может быть и трехзначным: С точки зрения работников системы S 1 — конечных пользователей информационной системы S 2 отношение расстояния может вообще отсутствовать: При прозрачной реализации пользователь не знает, где находятся данные. Он работает так, как будто бы все необходимые ему данные находятся на его локальном сайте. Распределенные задачи и алгоритмы. С системой S связана цель G , ради которой система функционирует. Эта цель ставится самой системой если система — активная , или поставлена извне. Для достижения цели в системе должна решаться задача — некоторая математическая формализация цели с четко определенным набором исходных данных и требуемых результатов. Решение задачи предполагается получать с помощью алгоритма , то есть предписания с указанием исполнителя исполнителей и последовательности элементарных шагов, которые должны быть сделаны исполнителями. Распределенная система порождает распределенную задачу , поскольку исходные данные для задачи возникают в различных точках пространства. Также в различных точках требуются те или иные результаты решения задачи. Зачастую, задачу можно разбить в совокупность подзадач, некоторые из них могут быть сосредоточенными: Распределенная задача решается распределенным алгоритмом , собирающим исходные данные из разных точек и посылающим результаты расчетов в разные точки. Дополнительным фактором распределенности алгоритма может быть наличие нескольких исполнителей, находящихся в разных точках пространства распределенный исполнитель. Известно, что алгоритм оперирует кроме исходных данных, еще и промежуточными данными, а в больших системах работает с базами данных. Для распределенного алгоритма закономерно встает вопрос: Один из видов распределенных алгоритмов — протоколы. Протокол характеризуется тем, что имеется как минимум две стороны, разделенные каналом связи. На каждой из сторон выполняется локальный сосредоточенный алгоритм A k. Локальный алгоритм A 1 выполняется до некоторого момента времени, когда для продолжения работы ему требуются данные от другого локального алгоритма A 2. Он посылает через линию связи запрос на данные локальному алгоритму A 2. Алгоритм A 2 отвечает, пересылая сообщение по линии связи. После этого локальный алгоритм A 1 продолжает свою работу. В вычислительном отношении локальные алгоритмы — части протокола — не являются сложными. Особый вид распределенных алгоритмов — криптографические протоколы. Они предназначены для доказательства одной или обеими сторонами, что они именно те, за кого себя выдают, для обмена конфиденциальной информацией и других подобных целей. Рассмотрим один из простейших криптографических протоколов — распределенных алгоритмов. В разных точках пространства находятся два объекта, O 1 и O 2 , каждый из которых решает свою часть P 1 или P 2 общей задачи P. Вместе с тем, кроме стремления решить общую задачу, объекты имеют и свои частные задачи, Q 1 и Q 2. Таким образом, объект O 1 решает одновременно задачи P 1 и Q 1 , а объект O 2 — задачи P 2 и Q 2. И, если задачи P 1 и P 2 совместимы и взаимно дополняют друг друга, то задачи Q 1 и Q 2 — противоречат друг другу. Следовательно, объекты O 1 и O 2 сотрудничают, но, одновременно, и конкурируют. А можно сказать и, что объекты конкурируют, но вынуждены сотрудничать. Смотря как расставить акценты, какая из задач, P i или Q i , важнее для объекта O i. Описанная ситуация встречается очень часто. Университеты заинтересованы в решении задачи совершенствования подготовки специалистов и в этой задаче они сотрудничают. В то же время ежегодно вузы конкурируют из-за способных абитуриентов. Научные организации часто проводят совместные исследования на стыке их интересов на стыке наук. Но они же конкурируют при распределении финансов. Два различных подразделения фирмы работают для достижения общих целей фирмы, но каждое из них хочет получить в рамках фирмы большее развитие, чем другое подразделение. В нашей задаче объекты O 1 и O 2 должны прийти к общему компромиссному решению в интересах решения задачи P. Предположим, что имеется два равноценных с точки зрения задачи P решения. Одно из них также устраивает объект O 1 , а другое — устраивает объект O 2. Тогда объекты O 1 и O 2 решают бросить жребий. Это и будет компромиссное решение. Сложность состоит в том, что объекты O 1 и O 2 находятся на большом расстоянии друг от друга, и не могут провести процедуру с лототроном. Процедура с лототроном выполняется в одном месте, она возможна для сосредоточенной системы. Наша система — распределенная. Процедуру с лототроном мог бы выполнить объект O 1 и сообщить результат объекту O 2. Однако объект O 2 не вполне доверяет объекту O 1. Даже телевизионная трансляция выполнения процедуры не является убедительным доказательством — это может быть искусно смонтированная запись. Выход состоит в следующем. Обозначим одно из решений числом 0, другое — числом 1. Каждый из объектов независимо от другого должен назвать какое-нибудь целое число n i в пределах, например, от 0 до Это и будет решение, то есть число 0 или 1. Абсолютно одновременно переслать друг другу числа n i объекты не могут. Кто-то пришлет свое число первым и окажется в невыигрышном положении. Решение уравнения практически не требует времени: Эта несправедливость должна быть устранена. При этом ясно, что все равно какая-то из сторон обмена сообщениями первой пришлет свое число. Более того, желательно, чтобы не было известно никаких математических методов для решения этого уравнения, кроме полного перебора или подобного ему по сложности. Конечно, область определения функции f x должна быть при этом очень большой, чтобы сделать практически невозможным полный перебор. Область из двух элементов, 0 и 1, мала, область от 0 до 99 тоже недостаточна. Целые числа, с которыми приходится оперировать, должны иметь в десятичной записи не менее цифр или не менее бит в двоичной записи. Пусть f x и h z , v , w — две таких трудно обращаемых функции. В функции h z , v , w первые два аргумента — длинные числа, а третий — битовый. Функции f и h известны объектам O 1 и O 2 , и они владеют алгоритмами быстрого вычисления значений этих функций при заданных значениях аргументов, но не умеют быстро обращать эти функции, то есть решать уравнения. Распределенный алгоритм бросания жребия состоит из следующих шагов. Объект O 2 выбирает случайным образом число x из большого интервала [0, q — 1]. Объект O 2 пересылает число y объекту O 1. Объект O 1 не сможет восстановить число x. Объект O 1 выбирает случайным образом число z из большого интервала [0, q — 1]. Объект O 1 выбирает случайный бит w. Эти действия могут выполняться одновременно с п. Объект O 1 пересылает число s объекту O 2. Объект O 2 не сможет восстановить этот бит. Объект O 2 не сможет восстановить и число z. Объект O 2 выбирает случайный бит c. Объект O 2 отправляет бит c объекту O 1. Объект O 1 пересылает число z и бит w объекту O 2. Объект O 1 уже может определить результат бросания жребия: Здесь z и w только что получены от O 1 , а y было вычислено в п. Объект O 2 сравнивает t и s , ранее полученное от объекта O 1. Функции f и h могут быть различными. В частности, используются функции:. Константы p , q , g должны быть известны тому и другому объектам. Число p — длинное простое число. Число q — также длинное простое число, являющееся делителем числа p — 1. Распределенные алгоритмы, решающие сосредоточенные задачи. Одно из направлений в разработке распределенных алгоритмов — высокопроизводительные вычисления. Распределенная компьютерная система в этом случае используется как один мощный вычислитель, решающий одну задачу. Дешифровка текста не представляет трудностей, если известен ключ шифрования. Если ключ не известен, то дешифровку можно попытаться выполнить путем полного перебора. Но метод полного перебора требует очень большого времени даже для самых быстрых однопроцессорных ЭВМ. Решение задачи можно ускорить, используя многопроцессорную ЭВМ. В этом случае вычисления распараллеливаются , то есть все процессоры одновременно, выполняя одинаковые или различные команды, участвуют в решении задачи. Как именно происходит распараллеливание — зависит от архитектуры многопроцессорной ЭВМ. При наличии в ее составе n процессоров в идеальной ситуации ускорение вычислений может достигать величины, близкой к n раз. Реально, алгоритмы не полностью распараллеливаются, часть процессоров может простаивать в отдельные периоды времени, и производительность увеличивается менее чем в n раз. Современные многопроцессорные машины имеют десятки и сотни процессоров, отдельные — тысячи процессоров. Но такие уникальные машины очень дороги, установлены в специальных суперкомпьютерных центрах или в военных организациях и не всегда доступны рядовым пользователям. Альтернативой является использование отдельных компьютеров, соединенных глобальными сетями связи и принадлежащих частным лицам и различным организациям. Компьютеры могут иметь относительно невысокую производительность, но использование в сети сразу нескольких десятков или сотен тысяч компьютеров для решения одной задачи создает эффект того же суперкомпьютера, но, может быть, еще более мощного. Именно такая распределенная компьютерная система использовалась для упомянутой задачи дешифрования. Но точно также и новые компьютеры могли присоединяться к уже работающим. Идея и соответствующая технология использования глобальной сети компьютеров для решения сложной задачи получила название Grid. Если Web обеспечивает доступ к глобальным информационным ресурсам, то Grid должен обеспечить доступ к глобальным вычислительным обрабатывающим ресурсам. Основные проекты использования Grid в настоящее время связаны с обработкой большого числа терабайты, петабайты экспериментальных данных в физике элементарных частиц, наблюдений в астрономии, расшифровкой генома человека в биологии. Надежность и безопасность распределенных систем. Сравним сосредоточенную и распределенную системы с точки зрения надежности и безопасности. Под надежностью понимается в соответствии с ГОСТ Многие системы не являются абсолютно надежными, то есть свойство надежности системы имеет место на конечном интервале времени, по истечении которого происходит отказ в работе. Длительность интервала безотказной работы зависит от очень большого числа факторов, предсказать которые нереально, поэтому, отказ обычно считают случайным событием. Надежность принято характеризовать вероятностью отказа в работе или вероятностью безотказной работы в течение определенного отрезка времени. Другой характеристикой надежности системы является среднее время наработки на отказ. Под безопасностью понимается состояние защищенности системы от потенциально и реально существующих угроз, или отсутствие таких угроз. Система находится в состоянии безопасности, если действие внешних и внутренних факторов не приводит к ухудшению или невозможности ее функционирования. Угрозы могут быть различного рода, в том числе угроза физического разрушения. В контексте нашей темы интересны угрозы информационные. К ним относятся угрозы получения системой недостоверной входной информации, искажения внутрисистемной информации, а также утечка информации о функционировании системы. Информационная безопасность — состояние защищенности информационной среды общества, обеспечивающее ее формирование, использование и развитие в интересах граждан, организаций, государства. В качестве стандартной модели безопасности часто приводят модель CIA:. Под конфиденциальностью понимается доступность информации только определённому кругу лиц, под целостностью — гарантия существования информации в исходном виде, под доступностью — возможность получение информации авторизованным пользователем в нужное для него время. Выделяют и другие категории:. Все физические элементы любой системы являются потенциально ненадежными и уязвимыми с точки зрения безопасности. Ненадежность элементов системы, осуществляющих переработку информации, может заключаться в полном отказе от переработки, в изменении функции стабильном получении неверных результатов , в сбоях периодическом возникновении ошибок. Ненадежность элементов, осуществляющих передачу информации, может заключаться в полном прекращении передачи, в одностороннем прекращении передачи для двунаправленных каналов , в возникновении случайных ошибок при передаче помех. Нарушение безопасности элементов системы, осуществляющих обработку информации, может состоять как в преднамеренных действиях злоумышленников, вызывающих отказ в работе, изменение функций постоянное или единичное , так и в несанкционированном доступе к информации НСД. Нарушение безопасности элементов системы, осуществляющих передачу информации, может заключаться во вмешательстве, приводящем к полному прекращению передачи, к одностороннему прекращению передачи для двунаправленных каналов , к замене одних сообщений на другие. Также может иметь место НСД. Таким образом, проблемы надежности и безопасности во многом родственны. Они связаны с вмешательством в функционирование системы. Различие заключается в том, что ненадежность определяется физическими, природными факторами и не связана с чьими-то целями. Но одна из проблем безопасности — утечка информации при несанкционированном доступе — не имеет аналога среди проблем надежности. Сравним две системы, S d и S sa , предназначенные для решения одних и тех же задач для одного и того же множества объектов. Объекты представляют собой элементы системы, расположенные в различных точках пространства. Формально, обе системы являются распределенными, но, поскольку, в системе на рис. В распределенной системе количество элементов больше, чем в сосредоточенной: S d включает дополнительные серверы Serv a , Serv b , Serv c и дополнительные элементы линии связи L j. Количество линий связи l i объектов с серверами в сосредоточенной и распределенной системах одинаково — оно определяется количеством объектов. Каждый фактор с точки зрения надежности, если его рассматривать изолированно, играет положительную или отрицательную роль. Например, увеличение количества ненадежных элементов в системе при прочих равных условиях играет отрицательную роль. Под прочими равными условиями здесь понимается неизменность архитектуры соединений и распределения функций системы, неизменность параметров элементов и проч. Если же архитектуру изменить, например, использовать дополнительные элементы для дублирования резервирования , то надежность, напротив, повышается. Линии связи с объектами в сосредоточенной системе имеют большую, чем в распределенной системе, длину. Это, несомненно, отрицательный фактор. Обычно с увеличением длины линии увеличивается количество помех, увеличивается стоимость передачи, увеличиваются возможности злоумышленников по съему информации или по ее искажению. Этот общий вывод не зависит от природы линии связи — проводная, оптоволоконная, радиосвязь, связь с использованием спутников и т. Конструкция линии связи определяет только вид зависимости и числовые характеристики параметров надежности и безопасности. С точки зрения надежности при обработке информации распределенная система имеет преимущества перед сосредоточенной. Выход из строя сервера Serv в сосредоточенной системе приводит к полному прекращению функционирования всей системы. В распределенной системе, такой как на рис. Serv , Serv a , Serv b , Serv c. Выход из строя сервера Serv не мешает серверам Serv a , Serv b , Serv c решать локальные задачи по обработке информации в отдельных подразделениях организации при условии, что для расчетов не нужна оперативная информация из других подразделений или с главного сервера. Сервер верхнего уровня Serv перестает получать информацию от сервера Serv a , поэтому часть функций распределенной системы перестают работать. В ряде случаев довольно легко создать программы резервной обработки на функционирующих серверах при выходе из строя одного из серверов, перенаправляя потоки информации. При проектировании системы всегда приходится искать компромисс между различными факторами, с математической точки зрения — решать оптимизационную задачу. Ее существо в том, что, вообще говоря, можно обеспечить любую требуемую надежность системы, но увеличение надежности сопровождается увеличением ее стоимости. Причем, увеличивается как стоимость проектирования и реализации, так и стоимость эксплуатации функционирования. То же можно сказать и о безопасности. Мероприятия по безопасности имеют еще одну отрицательную черту: Наряду с архитектурой технических средств для отказоустойчивости распределенной системы играет большую роль методика построения алгоритмов. Она должна быть рассчитана на возможные сбои или рассогласования в работе узлов системы при программировании в сосредоточенных системах возможность сбоя обычно не учитывается. В настоящее время существует два подхода к разработке распределенных алгоритмов: В устойчивых алгоритмах каждый шаг каждого процесса предпринимается с достаточной осторожностью, чтобы гарантировать, что, несмотря на сбои, правильные процессы выполняют только правильные шаги. В стабилизирующих алгоритмах правильные процессы могу быть подвержены сбоям, но алгоритм в целом гарантирует исправление ошибок. Устойчивые алгоритмы разработаны так, чтобы учитывать возможность сбоев в некоторых процессах относительно небольшом их количестве и гарантировать при этом правильность выполнения тех процессов, в которых не произошло сбоев. Эти алгоритмы используют такие стратегии как голосование, вследствие чего процесс воспримет только такую информацию извне, о получении которой объявит достаточно много других процессов. Однако процесс никогда не должен ждать получения информации от всех процессов, потому что может возникнуть тупик, если при выполнении какого-либо процесса произойдет сбой. Устойчивые алгоритмы защищают систему против отказов ограниченного числа узлов. Остающиеся работоспособными узлы поддерживают правильное хотя возможно менее эффективное поведение во время восстановления и реконфигурации системы. Следовательно, устойчивые алгоритмы должны использоваться, когда невозможно временное прерывание работы. Стабилизирующие алгоритмы предлагают защиту против временных сбоев , то есть, временного аномального поведения компонент системы. Эти сбои могут происходить в больших частях распределенной системы, когда физические условия временно достигают критических значений, стимулируя ошибочное поведение памяти и процессоров. Примером может быть система управления космической станцией, когда станция подвергается сильному космическому излучению, а также системы, в которых на многие компоненты одновременно воздействуют неблагоприятные природные условия. Когда воздействие этих условий исчезает, процессы восстанавливают свою работоспособность и функционируют на основе программ. Однако из-за их временного аномального поведения глобальное результирующее состояние системы может быть непредвиденным. Свойство стабилизации гарантирует сходимость к требуемому поведению. Исследование распределенных систем — трудная задача. Прежде всего, распределенная система должна быть описана, то есть должна быть построена модель системы. Для этой цели можно использовать различные языки: Unified Modeling Language UML , Very large scale Hardware Description Language VHDL и др. Здесь мы рассмотрим средства языка Triad. Распределенная система характеризуется распределенной структурой, то есть набором дискретных отделенных друг от друга элементов или подсистем и связями между этими элементами. В соответствии с распределением элементов распределены и функции алгоритмы работы системы. Распределенные элементы обмениваются сообщениями сигналами , также распределенными в пространстве. Язык Triad предполагает самостоятельное описание структуры Str , алгоритмов Rout и сообщений Mes. Эти описания называются слоями. Основным слоем является слой структуры, именно он отражает распределение и связи элементов. Описание структуры основывается на теоретико-графовых средствах. Структура системы System , изображенной на рис. Структура распределенной системы, изображенной на рис. Первая звезда имеет центральную вершину Server и три периферийных вершин Serv [ j ], где j — переменная типа перечисления с множеством значений a , b , c. Вершины Serv [ j ], в свою очередь, являются центрами трех звезд, содержащих периферийные вершины Node [ Этой формуле должно быть придано необходимое языковое оформление для того, чтобы она стала описанием модели системы. Полное описание имеет вид. Оно задает модели имя System 2 и определяет, что модель зависит от трех целочисленных параметров k , m , n. Таким образом, эта запись определяет целое семейство однородных моделей. В частности, изображенная на рис. Заметим, что в этом описании пока нет никакой информации о том, как функционируют центральные и периферийные узлы системы. Описание алгоритмов функционирования является предметом второго слоя, слоя рутин routine. В этом слое, в свою очередь, нет описания связей между узлами, то есть описания структуры. Рутина должна быть задана для каждого узла системы вершины графа. Если все периферийные узлы функционируют подобным друг другу образом, то для них достаточно описать только одну рутину, прикрепив ее экземпляры к каждой вершине в Triad используется термин наложение рутины на вершину. При описании работы узлов системы важно не только, что происходит, но и когда это происходит. Поэтому описание рутин является событийно-ориентированным. Описание рутины состоит из одной или нескольких секций описания событий event. Считается, что все действия, описанные в событийной секции, выполняются мгновенно. При этом отдельные события состоят в причинно-следственной связи. Одно событие может повлечь за собой через некоторое время другое событие в Triad используется термин планирование события e j событием e i. Если в системе два узла связаны между собой, то возможно, что событие в первом узле повлечет за собой событие во втором узле. Исходя из раздельного описания слоев структуры и рутин, нельзя описать связь этих событий непосредственно с помощью оператора планирования schedule. Вместо этого вводится понятие входного события , которое должно происходить в рутине при поступлении любого сообщения в вершину, на которую наложена эта рутина. Входное событие также описывается отдельной секцией рутины. Рутина может инициировать входные события в других рутинах путем исполнения оператора out. Простейшая рутина узла может выглядеть так: Здесь Generator — имя рутины , Repeat — имя события , 2. Часть initial определяет начальные условия в том числе, начальные действия. В данном тексте — это планирование события Repeat через 0. В момент совершения события Repeat рутина выдает выходное сообщение, которое при наличии структуры попадет в рутины смежных вершин, став для них входным сообщением. Оно может быть определено позже, в слое сообщений. Оно может остаться и неопределенным: В этот же момент вновь планируется событие Repeat через 2. Таким образом, рутина Generator будет, начиная с момента времени 0. Этот процесс неограничен и прекратится только с окончанием сеанса моделирования. Можно задать семейство рутин, зависящих от параметра T: В данном примере нет входного события, то есть узел с рутиной Generator не реагирует ни на какие приходящие к нему сообщения. В более сложных случаях входное событие в рутине может присутствовать. По правилам языка Triad входное событие в рутине может быть только одно. Оно не имеет имени и не может планироваться внутри данной рутины. Следующий пример управляемого генератора ControlledGenerator показывает использование входного события. Поэтому генератор не работает. При поступлении следующего сообщения опять не важно какого вновь срабатывает входное событие. Третье сообщение вновь включает генератор, четвертое — вновь выключает и т. Как видно из приведенных примеров, значения сообщений иногда не нужны, а, следовательно, можно обойтись без описания слоя сообщений. В других случаях достаточно предопределенных типов данных integer , real , Boolean. Специального описания слоя сообщений также не требуется. В сложных случаях моделирования при построении многоуровневых иерархических моделей требуется и построение структурных типов сообщений. Не останавливаясь здесь на этом, отметим, что оно производится подобно тому, как это делается в универсальных языках программирования за исключением синтаксиса. После описания структуры и рутин необходимо произвести наложение рутин на вершины графа, описывающего структуру. Делается это специальными операторами наложения, имеющими вид. В нашем примере можно произвести наложение одной и той же рутины на все периферийные узлы: При этом создается n экземпляров рутины Generator. Для каждого экземпляра рутины создается свой комплект локальных переменных. Программный код дублировать не обязательно. Дублирование программного кода может быть целесообразным в том случае, когда моделирование распределенной системы производится также в распределенном режиме. В том случае, если имитационная модель распределена по компьютерам кластера или в Grid , для балансировки нагрузки желательно сгенерировать несколько экземпляров программного кода, физически располагающихся на разных узлах кластера. Важной особенностью языка Triad является возможность выполнения операций над моделями систем и, следовательно, возможность разработки алгоритмов, как исследования, так и синтеза моделей. Одна из операций над структурой модели продемонстрирована, в частности, выше при описании структуры System 2. Могут использоваться операции добавления и удаления вершин, добавления и удаления ребер ненаправленных связей между вершинами , добавления и удаления дуг направленных связей между вершинами. Например, соединение всех периферийных узлов модели System в кольцо осуществляется следующими операторами. В цикле к системе добавляются ребра между первым и вторым узлами, между вторым и третьим узлами, …, между предпоследним и последним узлами. Затем добавляется ребро между последним и первым узлами. Точно такого же результата можно добиться более короткой записью: Здесь cycle — графовая константа простой цикл. После выполнения операции получается объединение звезды с простым циклом. Возможны операции и над рутинами. Поскольку рутина представляет собой множество событий событийных секций , в которых производится планирование других событий из этого же множества, рутина может быть представлена графом. В этом графе вершины — события, а дуги — операторы планирования событий. Следовательно, добавление и удаление событий — добавление и удаление вершин; введение и исключение планирования — добавление и удаление дуг. Поэтому, система операций над структурами графами пригодна и для обозначения операций над рутинами. Например, удаление события можно записать так: Это, опять же, подобно тому, что происходит в графе при удалении вершины: На рисунке 3 графически изображена связь между событиями e i некоторой рутины. Около дуг, соответствующих операторам указано значение — второй параметр оператора, задающий период времени, через который должно произойти планируемое событие. На рисунке 4 изображена та же рутина после удаления из нее события e 2. Home Common information Postgraduate studies Master programs Research projects Publications Employees of the department Subjects of department Graduates Department of Computing Официальные документы Важные даты Курсовые работы Проект по программе стратегического развития Студенческие группы Проект ICARUS Проект РФФИ Распределенное моделирование There are no translations available. Authorization Username Password Forgot your password? There are no translations available. Основные понятия Системы Под системой понимается множество элементов и связей между ними. Распределенные системы Распределенными системами будем называть такие системы, для которых предикаты местоположения элементов или групп элементов играют существенную роль с точки зрения функционирования системы, а, следовательно, и с точки зрения анализа и синтеза системы. Дискретные распределенные системы Примеры распределенных систем. Эта зависимость может быть нескольких видов: Тандемы распределенных систем Рассмотрим две системы, S 1 и S 2. Распределенные задачи и алгоритмы С системой S связана цель G , ради которой система функционирует. Протоколы Один из видов распределенных алгоритмов — протоколы. В частности, используются функции: Надежность и безопасность распределенных систем Сравним сосредоточенную и распределенную системы с точки зрения надежности и безопасности. В качестве стандартной модели безопасности часто приводят модель CIA: Выделяют и другие категории: Распределенная система В распределенной системе количество элементов больше, чем в сосредоточенной: Моделирование распределенных систем Исследование распределенных систем — трудная задача. Делается это специальными операторами наложения, имеющими вид routine Node [ i ]: Например, соединение всех периферийных узлов модели System в кольцо осуществляется следующими операторами for i: Node[1] В цикле к системе добавляются ребра между первым и вторым узлами, между вторым и третьим узлами, …, между предпоследним и последним узлами.


Сип 16 квадратов сколько киловатт
Квелли каталог одежды 2016 официальный сайт
Msi cx700 характеристики
Введение в распределенные системы
Примыкание рулонной кровли к парапету
История театра гальперина
График движения поезда калининград адлерна 2017
25. Порядок симметрирования нч-х и вч-х кабелей связи.
Касса дальнего следования электросталь график работы
Киа спектра какой бензин заливать
Развитие распределенных технологий и систем
Структура уголовно исполнительной системы россии
Какое масло залито в двигатель прадо
Чертеж курятника на 10 кур с размерами
Разновидности распределенных систем
Как сделать приору
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment