Основные проблемы проектирования и использования распределенных систем реферат

Обновлено: 07.07.2024

Прогресс в этих областях предоставляет новые возможности в том, что касается управления данными и эффективности обработки данных. После определения того, что представляет из себя мультипроцессорная и мультимашинная архитектура, мы вводим основные понятия, на которых строятся возможности применения ресурсов нескольких машин:
- распределение или разделение;
- возможность взаимодействия;
- прозрачность;
- модель "клиент-сервер".

Содержание

Введение 3
Мультипроцессоры 4
Мультимашинная организация 5
Что называют распределенной обработкой данных 6
Цели распределенной обработки данных 8
Распределение и параллелизм 9
Прозрачность 10
МОДЕЛЬ "КЛИЕНТ-СЕРВЕР" 11
Заключение 12
Список литературы 13

Вложенные файлы: 1 файл

распределение системы обработки данных.docx

Реферат на тему:

Мультимашинная организация 5

Что называют распределенной обработкой данных 6

Цели распределенной обработки данных 8

Распределение и параллелизм 9

МОДЕЛЬ "КЛИЕНТ-СЕРВЕР" 11

Список литературы 13

Введение

Среди всех изменений, происшедших в области связанной с научными исследованиями вычислительной техники, некоторые в особенности повлияли на изменение функций рабочих станций, а именно:
- рост мощи станций, оснащаемых все более дружественными человеко-машинными интерфейсами ;
- появление процессоров, предназначенных для специальных видов обработки данных (изображения, текста и т.п.);
- расширение возможностей в области хранения информации;
- появление средств, облегчающих доступ к ресурсам, распределенным по сети.

Прогресс в этих областях предоставляет новые возможности в том, что касается управления данными и эффективности обработки данных. После определения того, что представляет из себя мультипроцессорная и мультимашинная архитектура, мы вводим основные понятия, на которых строятся возможности применения ресурсов нескольких машин:
- распределение или разделение;
- возможность взаимодействия;
- прозрачность;
- модель "клиент-сервер".

Мультипроцессоры

В целях увеличения вычислительных возможностей и для достижения большего параллелизма по сравнению с мультипрограммированием, предлагаемым операционными системами, на классические монопроцессорные машины с фоннеймановской архитектурой были установлены дополнительные процессоры. Подобная мультипроцессорная архитектура появилась в начале 1960 г.г. (Burroughs 6000 в 1963 г., IBM/360-67 в 1966 г., . ), гораздо раньше, чем были разработаны вычислительные сети. Системы, разработанные для мультипроцессорных машин, называются параллельными операционными системами (Parallel Operating Systems). Мультипроцессорные машины подразделяются на два семейства:
- жестко связанные или жестко соединенные мультипроцессоры (tightly coupled), в которых процессоры связаны через общую память (рис.2.1.);
- слабо связанные или слабо соединенные мультипроцессоры (loosely coupled), в которых процессоры связаны через средство связи (как правило, шину), отличное от общей памяти (рис.2.2.).

Необходимо отметить, что эти виды архитектуры могут сочетаться между собой: каждый процессор может обладать локальной памятью и делить с остальными общую память. Кроме того, в настоящее время процессоры обладают одним или двумя уровнями кэширования.


Рис2.1. Жестко связанные мультипроцессоры


Рис 2.2.Слабо связанные процессы

Мультимашинная организация

Появление сетей, предназначенных для взаимной связи различных компьютеров, привело к разработке средств, а затем и операционных систем, позволяющих осуществлять управление, так называемой, мультимашинной архитектурой (рис.2.3.), то есть совокупности полносоставных компьютеров (процессоры, память, вводы-выводы. ), связанных в сеть. В этом случае речь идет о распределенных вычислительных системах.


Рис 2.3.Мультимашинная организация

Следует отметить большое сходство между мультимашинной организацией и архитектурой слабо связанных мультипроцессоров; в обоих структурах процессоры связаны через канал связи, а не через общую память. Различия заключаются в следующем:
- в случае распределенных систем (мультимашинная архитектура) связь между процессорами осуществляется относительно медленно (сеть), а системы независимы;
- в случае параллельных систем (мультипроцессорная архитектура) связь осуществляется быстро (шина), а системы относительно сильно связаны между собой.

Не существует точного определения этих типов архитектуры и этих систем, кроме того, между этими двумя понятиями наблюдается сходство. Распределенные операционные системы, такие как Mach и Chorus могут применяться как при мультимашинной, так и при мультипроцессорной организации. Впрочем, существует несколько вариантов UNIX для мультипроцессоров (на Cray, на Sun. ), в которых сосуществуют совершенно различные средства управления распределением по сети и управления связью между процессорами через шину. В данной книге мы рассматриваем использование средств, преназначенных для применения ресурсов, распределенных между различными машинами, доступ к которым возможен через сеть. Мы не рассматриваем ни средства, направленные исключительно на использование мультипроцессорной архитектуры, ни средства, предназначенные для работы в режиме реального времени, так как целью нашего исследования является совместная работа нескольких машин.

Что называют распределенной обработкой данных

Рассмотрим пример, иллюстрирующий эту эволюцию. Речь пойдет о проектировании в области механики; традиционный подход заключается в следующем:
- построение "проволочной модели" (maillage) (графического представления геометрии физической модели) на рабочей станции;
- перенос на ЭВМ Cray файла модели, вводящего код вычислений;
- результаты расчетов, выполненных на ЭВМ Cray переносятся на рабочую станцию и обрабатываются графическим постпроцессором.

Этот способ обладает следующими недостатками:
- обмен данными производится посредством переноса файлов с одной машины на другую;
- обработка файлов осуществляется последовательно, в то время как расчеты на ЭВМ Cray только выиграли бы, если было бы возможно обеспечить взаимодействие с пользователем, используя графические и эргономические возможности рабочей станции, а некоторые расчеты, осуществляемые на последней, лучше было бы выполнить на машине Cray.

Для того, чтобы избавиться от этих неудобств, необходимо перейти от вышеназванных вариантов решения задач к применению методики совместной работы, на основе понятия "прозрачности". Пользователь будет видеть только одну машину (свою станцию) и только одну прикладную программу. Распределенная обработка данных, таким образом, представляет собой программу, выполнение которой осуществляется несколькими системами, объединенными в сеть. Как правило, расчетная часть программы выполняется на мощном процессоре, а визуальное отображение выводится на рабочей станции с улучшенной эргономичностью. Разделение опирается на модель "клиент-сервер", к которой мы еще вернемся. Этот вид обработки данных организуется по принципу треугольника (рис.2.4.):
- пользователь обладает рабочей станцией;
- решение задач требует обращения к устройству обработки данных (спецпроцессору, например) и к серверу данных, и все это прозрачно для пользователя.

Что такое распределенные системы

Изучение

В свете последних технологических изменений и достижений распределенные системы становятся все более популярными. Многие ведущие компании создали сложные распределенные системы для обработки миллиардов запросов и обновления без простоев.

Распределенные проекты могут показаться сложными и сложными для создания, но в 2021 году они становятся все более важными для обеспечения экспоненциального масштабирования. Начиная сборку, важно оставить место для базовой, высокодоступной и масштабируемой распределенной системы.

Когда дело доходит до распределенных систем, есть много чего. Итак, сегодня мы просто познакомим вас с распределенными системами. Мы объясним различные категории, проблемы дизайна и соображения, которые необходимо учесть.

Что такое распределенная система?

На базовом уровне распределенная система — это совокупность компьютеров, которые работают вместе, образуя единый компьютер для конечного пользователя. Все эти распределенные машины имеют одно общее состояние и работают одновременно.

Они могут выходить из строя независимо, не повреждая всю систему, как и микросервисы. Эти взаимозависимые автономные компьютеры связаны сетью, чтобы легко обмениваться информацией, общаться и обмениваться информацией.

Примечание. Распределенные системы должны иметь общую сеть для подключения своих компонентов, которые могут быть подключены с помощью IP-адреса или даже физических кабелей.

В отличие от традиционных баз данных, которые хранятся на одной машине, в распределенной системе пользователь должен иметь возможность связываться с любой машиной, не зная, что это только одна машина. Большинство приложений сегодня используют ту или иную форму распределенной базы данных и должны учитывать их однородный или неоднородный характер.

В однородной распределенной базе данных каждая система использует модель данных, а также систему управления базой данных и модель данных. Как правило, ими легче управлять, добавляя узлы. С другой стороны, гетерогенные базы данных позволяют иметь несколько моделей данных или различные системы управления базами данных, использующие шлюзы для трансляции данных между узлами.

Как правило, существует три типа распределенных вычислительных систем со следующими целями:

Примечание. Важной частью распределенных систем является теорема CAP, которая утверждает, что распределенное хранилище данных не может одновременно быть согласованным, доступным и устойчивым к разделам.

Децентрализованные и распределенные

Существует довольно много споров о разнице между децентрализованными и распределенными системами. Децентрализованная система по существу распределена на техническом уровне, но обычно децентрализованная система не принадлежит одному источнику.

Управлять децентрализованной системой сложнее, поскольку вы не можете управлять всеми участниками, в отличие от распределенного единого курса, где все узлы принадлежат одной команде / компании.

Преимущества распределенной системы

Распределенные системы могут быть сложными в развертывании и обслуживании, но такая конструкция дает много преимуществ. Давайте рассмотрим некоторые из этих льгот.

  • Масштабирование: распределенная система позволяет масштабироваться по горизонтали, чтобы вы могли учитывать больший трафик.
  • Модульный рост: практически нет ограничений на масштабирование.
  • Отказоустойчивость: распределенные системы более отказоустойчивы, чем отдельная машина.
  • Рентабельность: начальная стоимость выше, чем у традиционной системы, но благодаря своей масштабируемости они быстро становятся более рентабельными.
  • Низкая задержка: пользователи могут иметь узел в нескольких местах, поэтому трафик попадет в узел в шкафу.
  • Эффективность: распределенные системы разбивают сложные данные на более мелкие части.
  • Параллелизм: распределенные системы могут быть разработаны для параллелизма, когда несколько процессоров разделяют сложную задачу на части.

Масштабируемость — самое большое преимущество распределенных систем

Масштабируемость — самое большое преимущество распределенных систем. Горизонтальное масштабирование означает добавление дополнительных серверов в пул ресурсов. Вертикальное масштабирование означает масштабирование за счет увеличения мощности (ЦП, ОЗУ, хранилища и т. Д.) На ваших существующих серверах.

Горизонтальное масштабирование легче динамически масштабировать, а вертикальное масштабирование ограничено мощностью одного сервера.

Хорошими примерами горизонтального масштабирования являются Cassandra и MongoDB. Они упрощают горизонтальное масштабирование за счет добавления дополнительных машин. Примером вертикального масштабирования является MySQL, когда вы масштабируете, переключаясь с меньших компьютеров на большие.

Проблемы проектирования с распределенными системами

Несмотря на то, что распределенные системы имеют много преимуществ, важно также отметить проблемы проектирования, которые могут возникнуть. Ниже мы кратко изложили основные соображения по поводу дизайна.

  • Обработка сбоев: Обработка сбоев может быть затруднена в распределенных системах, потому что некоторые компоненты выходят из строя, а другие продолжают работать. Это часто может служить преимуществом для предотвращения крупномасштабных сбоев, но также приводит к усложнению устранения неполадок и отладки.
  • Параллелизм: распространенная проблема возникает, когда несколько клиентов одновременно пытаются получить доступ к общему ресурсу. Вы должны убедиться, что все ресурсы безопасны в параллельной среде.
  • Проблемы безопасности: безопасность данных и совместное использование увеличивают риски в распределенных компьютерных системах. Сеть должна быть защищена, и пользователи должны иметь возможность безопасно получать доступ к реплицированным данным в нескольких местах.
  • Более высокие начальные затраты на инфраструктуру: начальные затраты на развертывание распределенной системы могут быть выше, чем для одиночной системы. Эта цена включает основные проблемы настройки сети, такие как передача, высокая нагрузка и потеря информации.

Точно так же ошибки труднее обнаружить в системах, которые разбросаны по разным местам.

Облако против распределенных систем

Облачные вычисления и распределенные системы разные, но в них используются похожие концепции. Распределенные вычисления используют распределенные системы, распределяя задачи по множеству машин. С другой стороны, облачные вычисления используют серверы, размещенные в сети, для хранения, обработки и управления данными.

Распределенные вычисления направлены на создание совместного использования ресурсов и обеспечение размера и географической масштабируемости. Облачные вычисления — это предоставление среды по запросу с использованием прозрачности, мониторинга и безопасности.

По сравнению с распределенными системами облачные вычисления имеют следующие преимущества:

  • Экономически эффективным
  • Доступ к мировому рынку
  • Инкапсулированное управление изменениями
  • Доступ к хранилищу, серверам и базам данных в Интернете

Однако облачные вычисления, возможно, менее гибки, чем распределенные вычисления, поскольку для построения системы вы полагаетесь на другие сервисы и технологии. Это дает вам меньше контроля.

Такие приоритеты, как балансировка нагрузки, репликация, автоматическое масштабирование и автоматическое резервное копирование. Могут быть упрощены с помощью облачных вычислений. Инструменты создания облака, такие как Docker, Amazon Web Services (AWS), Google Cloud Services или Azure, позволяют быстро создавать такие системы, и многие команды предпочитают создавать распределенные системы вместе с этими технологиями.

Примеры распределенных систем

Распределенные системы используются во всех сферах, от электронных банковских систем до сенсорных сетей и многопользовательских онлайн-игр. Многие организации используют распределенные системы для поддержки сетевых служб доставки контента.

В сфере здравоохранения распределенные системы используются для хранения и доступа, а также для телемедицины. В сфере финансов и торговли многие сайты онлайн-покупок используют распределенные системы для онлайн-платежей или системы распространения информации в финансовой торговле.

Распределенные системы также используются для транспорта в таких технологиях, как GPS, системы поиска маршрутов и системы управления дорожным движением. Сотовые сети также являются примерами распределенных сетевых систем из-за их базовой станции.

Google использует сложную и изощренную инфраструктуру распределенной системы для своих возможностей поиска. Некоторые говорят, что это самая сложная распределенная система на сегодняшний день.

К началу 80-х гг. XX в. сложилась схема проектирования (рис. 9.1), которую сейчас называют каскадной. Каскадная схема предполагает переход к следующему этапу после полного окончания работ по предыдущему этапу.

Этапы проектирования распределенных систем

Процесс проектирования систем распределенной обработки данных (СРОД) включает следующие этапы:

1) выявление информационных потребностей конечных пользователей;

2) концептуальное проектирование;

3) разработка архитектуры СРОД;

4) логическое проектирование;

5) отладка и тестирование прикладных программ;

На первом этапе на основе анализа ПО строится функциональный граф, связывающий функции будущей системы с входными и выходными данными. Выходные данные одной функции могут служить входными для других.

Большинство универсальных компьютеров имеют архитектуру фон Неймана, предполагающую разделение процессов и данных. Это вынуждает разработчиков систем уже после первого этапа проектирования отделять данные от функций. Далее работы по проектированию схем данных и процессов (задач) выполняются как бы параллельно, что является источником многих противоречий.

На втором этапе данные структурируются в КС БД, а функции объединяются в задачи будущей системы. При разработке КС БД проектировщик руководствуется следующими абстракциями: агрегацией, обобщением, ассоциацией. Концептуальная схема БД изображается ERD-диаграммами (диаграммы Чена или Баркера). На этом этапе также разрабатываются спецификации будущей системы, т.е. определяются входные и выходные данные и алгоритмы связей между ними. Концептуальный проект не зависит от реализации и отражает содержательную сторону будущей системы.

На этапе разработки архитектуры СРОД решаются следующие задачи:


Рис. 9.1.Этапы проектирования распределенной системы

• осуществляется выбор структуры комплекса технических средств
(КТС);

• определяется состав общесистемных пакетов (ОС, СУБД и др.);

• выполняется распределение задач по машинам СРОД.

На этапе логического проектирования выполняется отображение КС БД и спецификаций прикладных задач в СУБД-ориентированную среду. При этом КС БД преобразуется в логическую схему БД, а спецификации задач – в ПП на конкретном языке. Проектирование систем распределенной обработки данных по рассмотренной схеме довольно часто приводило к неутешительным результатам: сразу после внедрения они признавались морально устаревшими.

Кризис проектирования

В начале 80-х гг. XX в. Дж. Мартином были проведены исследования причин кризисной ситуации, которая сложилась к этому моменту в области проектирования ИС. Им было проанализировано большое число разработок и построены диаграммы распределения ошибок по этапам цикла проектирования систем и затрат на их устранение. Это показало, что больше всего ошибок (56%) допускается при выявлении информационных потребностей пользователей и на этапе концептуального проектирования, т.е. еще до реализации проекта. На их устранение требуется 82% затрат от общего объема издержек на устранение ошибок проектирования. Эта тенденция носила довольно устойчивый характер.

На основании этих результатов Дж. Мартин сформулировал принцип неопределенности в информатике: процесс автоматизации задач, которые пользователь хочет решать с помощью системы обработки данных, изменяет его представление об этих задачах. Другими словами, процесс внедрения информационной системы корректирует требования к этой системе. Этот принцип указывает на обратное влияние информационных технологий (Information Technology – IT) на реконструкцию бизнес-процессов (Business Process Reengineering – BPR), т.е. средствами вычислительной техники пользователь решает свои задачи иначе, чем без их использования. В 1995 г. В.П. Меллинг сформулировал выводы о взаимосвязи IT и BPR, которые, по существу, являются обобщением принципа неопределенности Мартина:

1) существует двунаправленное воздействие бизнес- и ИТ-платформы предприятия;

2) если бизнес- или ИТ-платформа меняется, то маловероятно, что соответствующая наследуемая ИТ-архитектура предприятия сохранится;

3) соответствие между бизнес- и ИТ-архитектурой является решающим фактором успеха, но это требует значительного времени.

В середине 90-х г. XX в. была разработана новая схема (модель) проектирования СРОД, учитывающая выводы Меллинга, – спиральная.

Макетирование системы

На разработку новой модели проектирования СРОД повлияли следующие три феномена.

Феномен персональных вычислений, основанный на постоянной доступности сотрудников к персональным компьютерам. Феномен состоит в том, что во многих видах информационных, проектных и управленческих работ исчезла необходимость в работниках-исполнителях (машинистках, чертежниках, делопроизводителях и др.), являющихся посредниками между постановкой задачи и ее решением.

Феномен кооперативных технологий,состоящий в компьютерной поддержке совместной согласованной работы группы разработчиков над одним проектом. Этот феномен возник на основе совокупности методов, обеспечивающих управление доступом членов группы к разным частям проекта, управление версиями и редакциями проектной документации и согласованным выполнением работ в последовательной процедуре работ, управление параллельным конструированием и др.

Влияние первого феномена проявилось в широком использовании текстовых и графических редакторов, электронных таблиц, СУБД для настольных систем и других специализированных пакетов. При решении задач проектирования систем распределенной обработки данных (СРОД) стали использовать CASE-продукты, для работы с которыми не требуются навыки в программировании. При этом следует соблюдать следующие правила.

1. Важно с самого начала правильно выбрать общесистемное программное обеспечение (ОС, СУБД, CASE-продукты и др.). Использование на предприятии единой платформы общесистемных средств существенно облегчает модификацию и стыковку приложений на следующих этапах разработки.

2. Нельзя затягивать процесс выявления информационных потребностей по следующим причинам:

• часто пользователь видит только свою ПО и многие подразделения пытаются обособиться (мой сервер, моя сеть, мне больше ничего не надо),

• многие сотрудники инертны, не инициативны и пытаются использовать только простые средства (текстовый редактор).

3. После выявления информационных потребностей доработка проекта должна вестись централизованно профессиональными разработчиками в контакте с конечными пользователями.

Влияние второго феномена при проектировании СРОД проявляется в параллельной разработке нескольких подсистем. Причем разработка каждой подсистемы носит спиралевидный характер (рис. 9.2). Следует отметить, что здесь разделение работ на этапы 1–6 (см. рис. 9.1) является условным. Схема организации работ должна планироваться как адаптивная, а не как каскадная, т.е. все работы могут входить в глобальные проектные итерации, а также выполняться параллельно.


Рис. 9.2.Спиральная параллельная модель разработки информационной системы

Контрольные вопросы

1. Назовите основные этапы проектирования распределенных систем и охарактеризуйте их.

2. Какие задачи решаются на этапе разработки архитектуры СРОД?

3. Какие правила должны соблюдаться при проектировании с использованием CASE-продуктов?

Романтизм как литературное направление: В России романтизм, как литературное направление, впервые появился .

Функция "чтения" служит для ознакомления с работой. Разметка, таблицы и картинки документа могут отображаться неверно или не в полном объёме!

1.ПОНЯТИЕ РАСПРЕДЕЛЕННЫХ ИС6

1.1. Предпосылки создания распределенных ИС6

1.2. Понятие распределенных информационных систем8

1.3. Средства работы с распределенными данными11

2. РАСПРЕДЕЛЕННЫЕ БАЗЫ ДАННЫХ13

2.1. Основные принципы13

2.2 Типы распределенных БД15

2.3. Назначение и принцип работы распределенной БД16

3. ПРИМЕРЫ РАСПРЕДЕЛЕННЫХ СИСТЕМ21

ВВЕДЕНИЕ Актуальность данной темы реферата состоит в том, что в мировой экономике происходят процесса глобализации и информационной интеграции. Они затронули и нашу страну, которая в силу географического положения и размеров вынуждена применять распределенные информационные системы (ИС). Распределенные ИС обеспечивают работу с данными, расположенными на разных серверах, различных аппаратно-программных платформах и хранящимися в различных форматах. Они легко расширяются, основаны на открытых стандартах и протоколах, обеспечивают интеграцию своих ресурсов с другими ИС, предоставляют пользователям простые интерфейсы.

В мире существует громадное количество готовых к использованию информационно-вычислительных ресурсов. Они создавались в разное время, для их разработки использовались разные подходы. Почти всегда при разработке новой информационной системы можно найти подходящие по своим функциям уже работающие готовые компоненты. Проблема состоит в том, что при их создании не учитывались требования несовместимости. Эти компоненты не понимают один другого, они не могут работать совместно. Желательно иметь механизм или набор механизмов, которые позволят сделать такие независимо разработанные информационно-вычислительные ресурсы совместимыми.

В данной работе рассмотрены основные сведения о распределенной информационной системе: описаны предпосылки ее развития, средства работы с данными, введено понятие распределенной базы данных, а также ее типов и основных принципов. В третьей главе представлены примеры распределенных информационных систем, такие как: - Informix On-Line фирмы Informix Software;- Ingres Intelligent Database фирмы Ingres Corp;- Oracle (version 7) фирмы Oracle Corp;- Sybase System 10 фирмы Sybase Inc.

Целью исследования является изучение теоретических основ о распределенных информационных системах, а также формирование знаний о принципах ее работы.

Такое распределение данных позволяет, например, хранить в узле сети те данные, которые наиболее часто используются в этом узле. Такой подход облегчает и ускоряет работу с этими данными и оставляет возможность работать с остальными данными БД.

1.ПОНЯТИЕ РАСПРЕДЕЛЕННЫХ ИС

1.1. Предпосылки создания распределенных ИС

C самого начала развития вычислительной техники образовались два основных направления ее использования. Первое направление - применение вычислительной техники для выполнения численных расчетов, которые слишком долго или вообще невозможно производить вручную. Становление этого направления способствовало интенсификации методов численного решения сложных математических задач, развитию класса языков программирования, ориентированных на удобную запись численных алгоритмов, становлению обратной связи с разработчиками новых архитектур ЭВМ.

Читайте также: