- •1. Введение в распределенные вычислительные системы
- •1.1 Определение распределенной вычислительной системы
- •1.2 Промежуточное программное обеспечение
- •1.3 Терминология рвс
- •1.4 Классификация рвс
- •1.5 Связь в рвс
- •2. История развития распределенных вычислений
- •2.1 Первое поколение систем распределенных вычислений
- •2.1.1 Проект fafner
- •2.1.2 Проект I-way
- •2.2 Второе поколение систем распределенных вычислений
- •2.2.2 Проект Legion
- •2.2.3 Распределенные объектные системы
- •2.3 Современные рвс
- •2.3.1 Одноранговые (peer-to-peer) сети
- •2.3.2 Сервис-ориентированная архитектура
- •2.3.3 Агенты
- •2.3.4 Облачные вычисления
- •2.4 Заключение
- •Архитектура клиент-сервер
- •4.1 Разделение приложений по уровням
- •4.1.1 Уровень представления
- •4.1.2 Уровень бизнес-логики
- •4.1.3 Уровень данных
- •4.2 Типы клиент-серверной архитектуры
- •4.2.1 Методы горизонтального распределения
- •3.1 Классическая двухуровневая архитектура «Клиент – сервер»
- •3.3 Различные модели технологии «Клиент – сервер»
- •5. Объектные распределенные системы
- •5.1 Вызов удаленных процедур.
- •5.1.1 Базовые операции rpc
- •5.2 Организация связи с использованием удаленных объектов
- •5.3 Corba
- •5.3.1 Основные понятия corba
- •5.3.2 Технология corba
- •5.3.3 Разработка на основе corba
- •3.2 Трехуровневая модель
- •3.6 Технология "Клиент-сервер" применительно к Internet
- •3.7 Технология «Клиент-сервер» применительно к Intranet
- •6. Агентные технологии
- •6.1 Понятие программного агента
- •6.2 Мультиагентные системы
- •6.2.1 Агентные платформы
- •6.3 Безопасность в системах мобильных агентов
- •10. Технологии одноранговых сетей
- •10.1 Основы технологии одноранговых сетей
- •10.1.1 Сравнение p2p и клиент-серверной технологий
- •10.1.2 Задачи p2p сетей
- •10.1.3 Основные элементы p2p сетей
- •10.2 Алгоритмы работы p2p сетей
- •10.2.1 Структура p2p сети
- •10.2.2 Алгоритмы работы p2p сетей
- •10.3 Применение технологий p2p
- •10.3.1 Распределенные вычисления
- •10.3.2 Файлообменные сети
- •10.3.3 Приложения для совместной работы
- •10.4 Достоинства и недостатки p2p
1.5 Связь в рвс
Понятие «распределенная вычислительная система» подразумевает, что компоненты такой системы распределены, т.е. удалены друг от друга. Очевид- но, что функционирование подобных систем невозможно без эффективной свя- зи между ее компонентами.
Задачи организации обмена между распределенными (территориально, ад- министративно и т.д.) компонентами давно и в значительной мере успешно ре- шаются в вычислительных сетях, и, естественно, что РВС используют нарабо- танный опыт. Взаимодействие в вычислительных сетях базируется на протоколах. Про- токол – это набор правил и соглашений, описывающих процедуру взаимодей- ствия между компонентами системы (в том числе и вычислительной).
Если система поддерживает определённый протокол, она, с большой долей вероятности, окажется способна взаимодействовать с другой системой, которая так же поддерживает данный протокол. В области вычислительных коммуни- каций уже длительное время существует общепринятая система протоколов – сетевая модель OSI (англ. Open Systems Interconnection basic reference model – базовая эталонная модель взаимодействия открытых систем).
Эта модель пред- ставляет собой стек протоколов разного уровня, которые позволяют описать практически все аспекты взаимодействия компонентов РВС. Детальное рассмотрение стека протоколов OSI и особенностей его различ- ных уровней лежит за рамками данной дисциплины.
2. История развития распределенных вычислений
Проблема выбора между централизованной и распределенной моделями предоставления вычислительных ресурсов является одной из ключевых проблем организации вычислительных систем. Примером этого может являться статья «Централизованные и децентрализованные вычислительные системы: организационные соображения и варианты управления», опубликованная еще 1983 г. [43].
С того момента, как появилась возможность соединять компьютеры между собой, многие группы исследователей занялись изучением возможностей, предоставляемых системами распределенных вычислений, создавая множество библиотек и промежуточного программного обеспечения.
Разработанное ППО предназначалось для того, чтобы обеспечить организацию и управление гео- графически-распределенными ресурсами таким образом, чтобы они представ- ляли собой единую виртуальную параллельную вычислительную машину.
До середины 70-х годов прошлого века по причине высокой стоимости те- лекоммуникационного оборудования и относительно слабой мощности вычис- лительных систем доминировала централизованная модель.
В конце 70-х годов появление систем разделения времени и удаленных терминалов, явилось предпосылкой возникновения клиент-серверной архитектуры, обеспечивающей предоставление ресурсов мейнфреймов (больших вычислительных машин) конечным пользователям посредством удаленного соединения.
Дальнейшее развитие телекоммуникационных систем и появление персональных компьютеров дало толчок развитию клиент-серверной парадигмы обработки данных. На по- следующих этапах произошло уточнение и переосмысление задачи распреде- ленных вычислений.
В 2000-м году Ян Фостер определил задачу распределенных вычислительных систем как «гибкое, безопасное, координированное распределение ре- сурсов среди динамических наборов пользователей, организаций и ресурсов» [31].
Он предложил называть такие распределенные вычислительные системы термином грид.
Коммерческие разработчики, развивая идею грид, в 2007-2008 годах представили концепцию «облачных вычислений», в основе ко торой было предоставление высокомасштабируемых виртуальных вычисли- тельных ресурсов конечному пользователю через интернет в виде услуг. На текущий момент, использование распределенных вычислений в виде технологий грид и облачных вычислений набирает обороты. Они применяются для решения различных задач, их использование становится все проще. Распре- деленные вычисления становятся неотъемлемой частью научных и коммерческих высокопроизводительных вычислений.
1 Ян Фостер – директор института вычислений, старший научный сотрудник Арагонской национальной лаборатории (США). Является автором множества научных работ, посвященных параллельным и распределен- ным вычислениям. Руководил разработкой нескольких международных распределенных вычислительных си- стем. Автор концепции грид.
