Файл: Определение и задачи распределенной системы (СУБД Oracle).pdf
Добавлен: 04.04.2023
Просмотров: 479
Скачиваний: 1
7. Повышение отношения производительности к затратам. В распределенной системе, любую задачу можно разделить между различными компьютерами. В этом случае будет обеспечиваться лучшее соотношение производительности к стоимости системы. Это особенно актуально для конфигурации «сеть рабочих станций» (NOW).
8. Модульность и дополнительная расширяемость. Используя промежуточный уровень, в распределенную систему можно добавить другие гетерогенные единицы без снижения производительности. Другими словами, существующие единицы могут быть легко заменены новыми. [30]
Применение децентрализованных алгоритмов придает распределенной системе следующие характерные черты:
- никто не обладает полной информацией о системе;
- решения принимаются на основе локальной информации;
- сбой в одном месте не вызывает нарушения работы алгоритма;
- существования единого времени не требуется.
Требование масштабируемости является существенным препятствием на пути распространения систем, реализованных на базе локальных сетей, на уровень сетей глобальных.
Распределенная система должна отвечать современным требованиям безопасности. Это значит, что необходимо обеспечить защиту ресурсов от атак со стороны враждебно настроенных пользователей. Из этого следует, что данные должны передаваться только по защищенным каналам передачи данных, а доступ к ресурсам системы разрешен только авторизованным пользователям. Также необходимо обеспечить чтение передаваемых данных только получателем. [25]
Распределенная система обладает следующими свойствами:
– отсутствие общей физической шины;
– отсутствие общей памяти;
– географическое распределение;
– автономность и гетерогенность.
Таким образом, распределенная информационная система представляет собой совокупность автономных компьютеров, которые взаимодействуют между собой через компьютерную сеть и промежуточную среду, которая, в свою очередь, позволяет компьютерам координировать свою деятельность, а также предоставлять доступ к ресурсам системы так, что пользователи видят систему единой и целостной. [30]
2. Примеры распределенных систем.
2.1 Электросети.
Электросеть состоит из линий электропередач различного напряжения и трансформаторных подстанций. Электросеть объединяет потребителей и «генерирующие объекты», которыми являются ГЭС, теплоэлектростанциями, АЭС. Все объекты взаимодействия, будь то трансформаторные подстанции, генерирующие объекты или потребители имеют географические координаты. Линии электропередач характеризуются плоскими кривыми (разница высот не имеет значения для электрического тока).
Управление электросетью подразумевает знание значений электрического напряжения в различных точках сети, падение напряжения в ЛЭП, значения потребляемого тока. По сети распределена не только данная информация, но и различные коммутаторы, переключатели, выключатели, то есть устройства управления участками сети. Задача управления сетью является одной из важнейших, и решается централизованно в целях оптимизации потоков электроэнергии, однако иногда она разбивается на подзадачи, которые решаются только в определенных секторах сети. Если говорить о совместной работе сетей разных стран, то в этом случае централизованный орган управления отсутствует, а значит задача решается как распределенная.
2.2 Сети связи.
Это, пожалуй, один из самых ярких примеров распределенных систем, особенно в тех случаях, когда сети связи используются для передачи компьютерной информации, т.е. в качестве компьютерных сетей.
Здесь каждый узел сети обладает своей скоростью обработки информации. В сетях связи – это скорость коммутации (переключения) каналов связи. В компьютерных сетях в узле сети может находиться сервер, который обрабатывает поступающие запросы. Дополнительной характеристикой узла и является время этого обслуживания.
Каналы связи, соединяющие узлы, различаются скоростью передачи информации, иными словами - своей пропускной способностью, а также иными техническими характеристиками (оптоволоконные, кабельные, спутниковые каналы, радиоканалы и др.). В связи с этим, процедуры обслуживания каналов связи могут существенно различаться.
Основной задачей сети связи является обеспечение передачи сообщения от одного узла к другому. При этом, не всегда такие узлы могут быть связаны непосредственно друг с другом каналом связи. В таком случае требуется проложить маршрут от одного узла к другому, проходящий через промежуточные узлы.
Это, так называемая, задача маршрутизации.
- Логистические системы.
Система перевозки грузов включает множество объектов. К таким объектам можно отнести транспортные средства (грузовики, поезда, самолеты, корабли), транспортные пути (автомобильные, железные дороги, морские и речные пути и др.), склады, порты, станции, погрузочно-разгрузочные механизмы и прочее.
Транспортировка груза от поставщика к получателю – это порой долговременный процесс. Такая логическая цепочка может включать довольно большое количество элементов системы, в том числе многочисленные перегрузки с одного вида транспорта на другой. Бывают такие ситуации, когда одно транспортное средство везет грузы от разных поставщиков разным получателям одним рейсом. Каждый элемент логистической системы можно охарактеризовать определенным набором параметров:
- грузоподъемность,
- скорость,
- размер грузов,
- объем складских помещений,
- количество причалов в порту и т.д.
А что, если чуть ли не каждый элемент имеет своего собственника? Тогда станет понятно, что централизованно решать задачу оптимизации доставки грузов (минимальное время при ограничении на стоимость или минимальная стоимость при ограничении на время) невозможно.
Это еще одна довольно задача распределенной системы, которая решается в отдельных элементах системы. В результате решения каждой такой задачи получается общее решение задачи управления всей логистической системой методом, похожим на самоорганизацию.
- Банковская система.
С одной стороны, в современном мире почти каждый банк самостоятелен, а банковские системы распределены по всему Земному шару. Но, с другой стороны, у всех банков есть общая задача – обслужить клиента в любой части Земного шара. Клиент должен в любом случае иметь возможность получить свои деньги даже там, где о его банке никогда не слышали. Или сделать банковский перевод в далекую страну. Чтобы осуществить такие операции, банки связаны между собой системой договоров и техническими средствами, поддерживающими эту систему.
Например, клиент, находящийся в городе N, желает провести платеж из своего банка, находящегося в городе M, в банк получателя, находящийся в городе Z. При этом получатель, находящийся в пункте X, должен получить уведомление. Это общая задача, которая разделяется банками на части, решаемые в разных местах, т.е. превращается в распределенную задачу. [9]
- Сеть рабочих станций в университете или отделе компании.
У каждого пользователя имеется персональная рабочая станция. Помимо этого, существует пул процессоров машинного зала, не назначенных заранее ни одному из пользователей, но динамически выделяемых им при необходимости. Эта распределенная система может обладать единой файловой системой, где все файлы одинаково доступны со всех машин. Когда пользователь посылает запрос распределенной системе, она может найти наилучшее место для выполнения запрашиваемого действия. Это может быть, как собственная рабочая станция пользователя, или простаивающая рабочая станция его коллеги, а может и вовсе, один из свободных процессоров машинного зала. Система считается распределенной, если она в целом выглядит и ведет себя как классическая однопроцессорная система с разделением времени (то есть многопользовательская).
- Информационная система, которая поддерживает автоматическую обработку заказов.
Такие информационные системы широко распространены в сфере продаж, и обычно используются сотрудниками разных отделов. Это очень удобно, если сотрудники разбросаны по географическому признаку. Так, сотрудники отдела продаж, делают заказ через переносной компьютер, соединяемый с системой при помощи телефонной сети, а возможно, и при помощи сотового телефона. Данный заказ получает отдел планирования в автоматическом режиме, и превращается там во внутренний заказ на поставку. Затем, в работу вступает отдел доставки, а заявка на оплату поступает в бухгалтерию. Система в автоматическом режиме пересылает определенные документы имеющимся на месте сотрудникам, отвечающим за обработку именно документов такого типа. Пользователь не уведомляется о том, какой путь проходит его заказ внутри распределенной системы. Для него весь процесс представляется так, будто вся работа происходит в централизованной базе данных.
- World Wide Web.
WWW представляет собой распределенную систему, или, иными словами, простую, целостную и единообразную модель, предоставляющую к связанным между собой документам. Для доступа к документу пользователю необходимо только нажать на ссылку, и ему не важно с какого сервера доставлен. После этого документ появляется на экране. Каждый опубликованный документ имеет уникальное имя в форме унифицированного указателя ресурса (URL), которое ссылается на локальный файл с содержимым документа. Если бы Всемирная паутина представлялась своим пользователям гигантской централизованной системой документооборота, она также могла бы считаться распределенной системой. [25]
3. Проблемы эксплуатации распределенных систем
3.1 Проблемы администрирования системы
Распределенные системы имеют как множество достоинств по сравнению с традиционными централизованными системами (как минимум – обеспечивают значительно меньшую стоимость развертывания и простоту реализации), так и ряд существенных недостатков. Как раз одной из главных проблем распределенных систем, по сравнению с традиционными системами, является проблема администрирования. [29]
Для уменьшения фрагментации ресурсов в распределенных системах необходимо создать гибкие настраиваемые средства администрирования. В глобальных распределенных системах предпочтительнее использовать автоматизированное администрирование. Но это, в свою очередь, и создает ряд проблем администрирования распределенных систем:
- соблюдение баланса нагрузки на узлы системы;
- откат к предыдущему состоянию системы (восстановление данных) в случае возникновения ошибки;
- сбор статистических данных с различных узлов системы;
- своевременное автоматическое обновление программного обеспечения на узлах системы.
Эти проблемы заслуживают особого внимания при проектировании распределенных систем, потому что именно они чаще всего встречаются на практике. Последние две проблемы хорошо изучены. Сейчас на рынке программного обеспечения распределенных систем существует множество разработанных программных средств, которые обеспечивают как обновление программного обеспечения, так и сбор статистики. Наибольший интерес представляют поиск методов осуществления баланса нагрузки на различные узлы системы, а также методы восстановления (отката к предыдущему состоянию системы) данных в случае возникновения ошибок. На данный момент не существует единого метода проектирования, который обеспечивал бы решение сразу всех этих проблем. Это связано как со спецификой распределенных систем, так и в виду гетерогенности оборудования и архитектуры распределенных систем. [24]
Поиск эффективного метода баланса нагрузки на различные узлы системы – важная проблема, которую необходимо решить при проектировании распределенных систем. Правильно выбранный метод балансировки нагрузки оказывает решающее влияние на общую эффективность и скорость работы распределенной системы. На сегодняшний момент существует множество подходов к решению данной проблемы.
В общем случае можно выделить обобщенную классификацию методов балансировки загрузки вычислительных узлов.
По характеру распределения нагрузки на вычислительные узлы различают:
- перераспределение (динамическая балансировка);
- статическую балансировку.
Статическая балансировка, зачастую, выполняется в результате априорного анализа. В данном случае, проводится анализ модели распределенной системы, чтобы выяснить, какой метод балансировки наилучший. При этом необходимо учитывать конфигурацию вычислительных узлов и структуру самой распределенной системы. У этого метода балансирования нагрузки есть один основной недостаток – необходимость ассоциации узлов с различной конфигурацией оборудования с вычислительной сложностью задачи, что не всегда представляется возможным. [29]