Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Введение в распределенные системы. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
06.09.2026
Размер:
1 Мб
Скачать
описанная выше, имеет место вследствие того, что хроноло­гический порядок событий был нарушен: s1, s3, s2.
Пусть эти процессы исполняются на различных ком­пьютерах. При параллельном протекании логических процес­сов могут наблюдаться различия в скорости изменения ло­кального модельного времени в разных процессах. Такая си­туация объяснима: число событий на одном отрезке модель­ного времени может быть разным, либо на выполнение собы­тий требуется различный объем процессорного времени, и др. Возможно, что при получении сообщения одним логическим процессом от другого логического процесса локальное мо­дельное время процесса отправителя оказывается меньше ло­кального модельного времени процесса получателя. Иначе говоря, логический процесс «изменил свое прошлое». Это яв­ление называют «парадоксом времени». Оно свойственно распределенному имитационному моделированию (РИМ) и приводит к неправильному выполнению процессов. При по­следовательном РИМ подобные трудности обычно не возни­кают. Нарушение хронологии может быть вызвано тем, что при РИМ время скорость движения процессов различна. До­пустим, процесс, отображающий работу предприятия, выпол­няется на процессоре, перегруженном задачами. В этом слу­чае сообщение о некачественной продукции к заказчику по­ступит с опозданием. Процесс, отображающий поведение по­купателя, выполняется на процессоре, который простаивает. Если исходить из реализации модели, то получается, что по­купатель успеет приобрести некачественный товар. Алгоритм РИМ должен быть разработан так, чтобы не возникали нару­шения хронологии событий. Для корректной работы со вре­менем разрабатывается специальное достаточно сложное программное обеспечение, реализующее синхронизацию ло­кального модельного времени логических процессов.
Алгоритмы синхронизации РИМ разделяются на кон- сервативные и оптимистические. Чтобы понять их разли­чия, рассмотрим последовательность событий из первого
31
примера. Если консервативный алгоритм не получит под­тверждения о выполнении события с временной меткой, меньшей 6, то не допустит обработку события с временной отметкой 6. Оптимистический алгоритм допускает обработку очередного события без проверки временных меток планиру­емых событий. В состав оптимистического алгоритма всегда входит блок, отвечающий за обнаружение хронологических ошибок и последующего восстановление работы системы.
Консервативные алгоритмы, как правило, базируются на нахождении нижней границы временных меток сообще­ний, получаемых логическим процессом. Такой подход пред­определяет и выделяет безопасные для системы события из списка планируемых, а также организует выполнение собы­тий в порядке неубывания их временных меток.
Таким образом, консервативные алгоритмы отлича­ются задержкой выполнения ряда логических процессов и от­сутствием парадоксов времени. Оптимистические алго- ритмы базируются на отрицании парадоксов времени – можно вернуться и все исправить. Если при РИМ имеют ме­сто нарушения хронологического порядка событий, то опти­мистические алгоритмы осуществляют "возврат" логического процесса до значения модельного времени отправки сообще­ния, вызвавшего нарушение хронологии. Эффективность ис­пользования и быстродействие рассмотренных выше алго­ритмов зависят от ситуации.
Рассмотренные выше технологии широко используют­ся для моделирования различных производственных систем.
32
5. ОСНОВНЫЕ ТРЕБОВАНИЯ К РАСПРЕДЕЛЕННЫМ ИНФОРМАЦИОННЫМ СИСТЕМАМ
5.1. Перечень основных требований к распределенным информационным системам
Успешное решение задачи доступа к удаленным ре­сурсам и контроля совместного использования этих ресурсов (компьютеров, файлов, данных в БД) возможно, если харак­теристики распределенной информационной системы (РИС) соответствуют следующим основным требованиям:
гибкость;
прозрачность;
открытость;
масштабируемость (расширяемость).
5.2. Гибкость
Гибкость – это характеристика системы, отражающая ее возможности приспосабливаться к различным потребно­стям (задачам).
Гибкая производственная система (ГПС) – это сово­купность технологического оборудования и системы обеспе­чения функционирования этого оборудования в автоматиче­ском режиме в течение заданного интервала времени. ГПС отличается способностью быстрой автоматизированной пере­настройки с целью изготовления различных изделий данного производства в установленных пределах их характеристик.
Например, ГПС является автоматизированная линия по формовке творожных сырков, которую можно перенастра­ивать на формовку конфет и других кондитерских изделий.
Линии по выпуску макаронных изделий также являют­ся ГПС, поскольку они достаточно легко переконфигуриру-
33
ются под выпуск разнообразных по форме изделий: пёрышек, рожек, ракушек и др.
В ГПС могут объединяться различные станки, прессы, установки для сварки, роботы и другое необходимое для про­изводства оборудование. Управление ГПС обычно осуществ­ляется с применением компьютеров и промышленных кон­троллеров.
Системы автоматизированного управления предпри-
ятием (ERP) имеют модульный принцип построения, что
позволяет достаточно гибко их перенастраивать под потреб­ности различных предприятий и организаций. К минималь­ному стандартному набору модулей ERP относятся следую­щие подсистемы: «Производство», «Финансы», «Сбыт», «Cнабжение», «Cклады», «Транспорт» и «Информационная система руководителя». Стандарт MRPIIStandard System включает описание 16 групп функций системы, которые и компонуются в зависимости от потребностей предприятия. Примерами ERP являются системы 1С, Oracle, SAP.
5.3. Прозрачность
Некоторый аспект распределения называется про­зрачным, если он невидим для пользователей, прикладных
программистов или администраторов. Прозрачными назы­ваются РС, они представляются пользователям и приложени­ям как единая система. О прозрачности говорят, если сущест­вование РС пользователи не замечают.
О прозрачности доступа говорят, если сокрыты раз­личия в способах представления и передачи данных между разными типами компьютеров и операционных систем (ОС), в способах представления имен файлов и др. Например, в разных файловых системах файлы храняться по-разному, но пользователь этого не замечает, и даже не задумывается об этом.
34
Прозрачность местоположения направлена на скры­тие реального физического размещения ресурса. Очень часто для этой цели используется именование. Пользователь обра-
щается к ресурсу по имени, и при этом не имеет информации об его физическом местоположении.
Прозрачность переноса означает скрытие факта фи­зического перемещения ресурса. В то же время изменение местоположения не оказывает влияния на доступ к ресурсу.
Например, сетевой диск можно «переместить» с одного ком­пьютера на другой, но пользователь будет обращаться к нему, как к обычному локальному диску и не заметит переноса.
Прозрачность смены местоположения отличается от рассмотренных выше аспектов тем, что местоположение ресурса изменяется или потенциально может измениться при пользовании им. Например, работа со смартфоном или дру­гим мобильным устройством является проявлением этого требования.
Прозрачность реплекации (дублирования) означает скрытие факта наличия копий ресурса. В РС, как правило,
происходит обращение к наиболее близкой реплике.
Прозрачность параллельного доступа нацелена на скрытие от пользователя факта совместного использования ресурса. Совместно используемый ресурс должен сохранять целостность и непротиворечивость. Для этого можно исполь­зовать механизмы блокировки. При массовом использовании ресурса происходят задержки в работе.
Требование прозрачности отказов используется, чтобы констатировать протекание нормальной и привычной работы, несмотря на наличие отказов (или чтобы скрыть от пользователя факт отказа: пользователь «не видит» отказ – «он прозрачен»). Прозрачность отказов реализуется при ра­боте пользователя с перегруженным ресурсом РС, например, сервером. В этом случае выдерживается некоторое время, а потом пользователю посылается сообщение о невозможности использования.
35
Прозрачность сохранности указывает на скрытие ре­ального хранения ресурса. К примеру, информация может пе­ремещаться из одного вида памяти в другой вид памяти так, чтобы пользователи этого не замечали, или вообще об этом не знали.
Не все из рассмотренных выше аспектов должны пол­ностью реализовываться в РС, поскольку обеспечение про­зрачности влияет на производительность системы.
5.4. Открытость
Открытость системы означает, что систему можно легко расширять и модифицировать. Эта характеристика тре­бует наличия четко определенных и хорошо документиро­ванных интерфейсов.
В интерфейсах обычно объявляются услуги, которые требуются объекту. Под услугой понимают операцию, кото­рую компонент выполняет для пользователя или другого компонента.
5.5. Масштабируемость
Масштабируемость (возможность расширения) – это способность системы, используемая для увеличения про­изводительности при добавлении ресурсов.
Показатели, позволяющие измерить масштабируе- мость:
размер указывает на легкость подключения к ней новых пользователей и ресурсов;
территориальность – пользователи и ресурсы мо- гут быть разнесены в пространстве;
администрируемость указывает на простоту управления системой, что позволяет использовать систему при работе во многих административно независимых органи­заций.
36
Также под масштабируемостью понимается возмож­ность увеличить дополнительные ресурсы центрального узла системы без структурных изменений.
В системах, отличающихся плохой масштабируемо­стью, добавление ресурсов позволяет лишь незначительно повысить производительность, а с некоторого критического момента добавление ресурсов не дает положительного ре­зультата.
Ограничение роста производительности вычислитель­ной системы в зависимости от увеличения числа вычислите­лей исследовалось американским ученым, проектировщиком компьютерных систем Джином Амдалом. Им был сформули­рован закон, суть которого в следующем. Если задачу можно разделить на несколько фрагментов, то суммарное время вы­полнения этой задачи на параллельной системе не может быть меньше продолжительности выполнения самого длин­ного из ее фрагментов. Установлено, что за счёт распаралле­ливания инструкций на множестве вычислителей можно ускорить выполнения программы, однако общее время ее вы­полнения ограничено временем выполнения её последова­тельных инструкций.
К тому же, время, требуемое для передачи данных от одного узла к другому, увеличивает зависимость продолжи­тельности вычислений от числа узлов. С некоторого критиче­ского момента добавление узлов в систему приводит к более продолжительному времени выполнения задачи. На такую характеристику вычислительной системы, как распараллели­вание процессов, всегда накладываются ограничения.
Для реализации масштабирования используются сле­дующие технологии: сокрытие времени ожидания связи, рас­пределение и реплекация.
Первая из этих технологий используются в случае тер­риториального масштабирования. Цель применения сокры- тие времени ожидания связи состоит в том, чтобы по воз-
37
можности избежать ожидания ответа на запрос от удаленого сервера.
Под реплекацией понимается процесс копирования данных (например, информационных файлов) из одного ис­точника в другой. При использовании этой технологии изме­нения, внесенные в одну копию данных на некотором объек­те, могут быть распространены в копии данных на других объектах. Таким способом осуществляется синхронизация содержимого нескольких копий.
Реплекация успешно применяется на объектах, имею­щих сложную распределенную структуру, но работающих в едином информационном пространстве. Такая технология по­вышает надежность РС – в случае выхода со строя канала связи объекты одной системы могут продолжать функциони­ровать независимо. Этот подход позволяет снизить требова­ния к каналам связи между подсистемами объекта.
Распределение – это разделение компонентов на мел­кие составляющие с последующим размещением этих частей по системе. В настоящее время архитектуры РС предполага­ют многозвенность.
Если логически различные компоненты размещают на разных ЭВМ, то подобное распределение называется верти- кальным.
Для современных распределенных архитектур харак­терно использование принципов горизонтального распреде- ления, т.е. клиент и сервер могут содержать физически раз­деленные части логически однородного модуля. При этом ра­бота каждой такой части происходит независимо от других частей. Такая технология применяется, чтобы выравнять нагрузки.
Например, объектом, разработанным с использовани­ем технологий горизонтального распределения, является веб­сайт, реплецированный на несколько локальных ЭВМ. Сер­веры такой РС содержат одинаковые веб-страницы. Если ка­кая-то веб-страница обновляется, то ее копии тут же репле-
38
цируются на другие серверы. Для выбора сервера, которому нужно передать запрос, применяется правило «карусели». В этом случае технологии горизонтального распределения ис­пользованы для того, чтобы выравнять нагрузку на серверы широко востребованных веб-сайтов (рис. 3).
Ещё одним примером использования горизонтального распределения являются системы, использующие технологии облачных вычислений.
Прием и обработка
запросов
Реплецированные веб-сайты, cодер-
жащие одинаковые веб-страницы
Сервер
распреде-
ления
Интернет
Рис. 3. Функционирование реплецированного веб-сервера
39
6. МОДЕЛИ ВЗАИМОДЕЙСТВИЯ КОМПОНЕНТОВ РАСПРЕДЕЛЕННОЙ СИСТЕМЫ
6.1. Модель взаимодействия «клиент-сервер»
Любую РС принято рассматривать с позиций ее внут­реннего устройства. В РС всегда есть компьютер, который распоряжается ресурсами системы – процессорами, файловой системой, почтовой службой, БД и др. Остальные компьюте­ры РС также могут использовать эти ресурсы. В РС, всегда можно выделить сервер и клиентов. Сервер выполняет сер­висные задачи без непосредственного участия человека. Уча­стие обслуживающего персонала требуется только при пер­вичной настройке сервера, при его обслуживании и управле­нии в незапланированных случаях. Клиент – это аппаратный или программный компонент РС, посылающий запросы сер­веру.
Сервер можно охарактеризовать видом ресурса, нахо­дящимся в его распоряжении. Если ресурс – БД, то говорят о сервере баз данных, предназначенном для обслуживания за­просов, связанных с обработкой информации из БД. Если ре­сурс представляет собой файловую систему, то говорят о
файловом сервере (в литературе используется синоним ­файл-сервер) и т. д. Поэтому же правилу классифицируется
взаимодействие процессов. Процесс является сервером, если он предназначен для реализации функций обслуживания дру­гих процессов. Процессы, пользующиеся этими услугами, называюся клиентами.
Структурно модель клиент-сервер представлена на рис. 4. Предполагается, что обмен информацией может быть синхронным или асинхронным. В случае, когда клиент ожи­дает завершения обработки своего запроса серверной сторо­ной, имеем синхронное взаимодействие. Асинхронное вза- имодействие предполагает, что после посылки сообщения с запросом клиент не ожидает ответа сервера и продолжает свою работу.
40
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]