Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
4Третьякова_Архитектура_ИС / Теоретический материал / МЕТОДЫ РАСПРЕДЕЛЕННОЙ ОБРАБОТКИ ДАННЫХ.docx
Скачиваний:
32
Добавлен:
20.02.2016
Размер:
89.19 Кб
Скачать

МЕТОДЫ РАСПРЕДЕЛЕННОЙ ОБРАБОТКИ ДАННЫХ. ОСНОВНЫЕ ПОНЯТИЯ.

Введение

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

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

Мультипроцессоры и мультимашины

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

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

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

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

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

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

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

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

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

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

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

Терминология

Трудно провести различие между терминами "распределенный", "разделенный" и "совместный".

- данные и обработка являются "распределенными" или "разделенными", то есть, выполнение операции требует использования нескольких процессоров;

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

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

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

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

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

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

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

Рис 1.4. Треугольная организация вычислительного процесса