
Методы распределенной обработки данных. Основные понятия.
Введение
Среди всех изменений, происшедших в области связанной с научными исследованиями вычислительной техники, некоторые в особенности повлияли на изменение функций рабочих станций, а именно:
- рост мощи станций, оснащаемых все более дружественными человеко-машинными интерфейсами;
- появление процессоров, предназначенных для специальных видов обработки данных (изображения, текста и т.п.);
- расширение возможностей в области хранения информации;
- появление средств, облегчающих доступ к ресурсам, распределенным по сети.
Прогресс в этих областях предоставляет новые возможности в том, что касается управления данными и эффективности обработки данных. После определения того, что представляет из себя мультипроцессорная и мультимашинная архитектура, мы вводим основные понятия, на которых строятся возможности применения ресурсов нескольких машин:
- распределение или разделение;
- возможность взаимодействия;
- прозрачность;
- модель "клиент-сервер".
1.1 Мультипроцессоры и мультимашины
В данном разделе речь пойдет об аппаратной архитектуре, на базе которой функционируют методы распределенной обработки данных - архитектуре, которую мы называем мультимашинной, чтобы отличить ее от мультипроцессорной архитектуры. Мы увидим, что это отличие не всегда легко заметно, так как технический прогресс ведет к размыванию границ.
1.2 Мультипроцессоры
В целях увеличения вычислительных возможностей и для достижения большего параллелизма по сравнению с мультипрограммированием, предлагаемым операционными системами, на классические монопроцессорные машины с фоннеймановской архитектурой были установлены дополнительные процессоры. Подобная мультипроцессорная архитектура появилась в начале 1960 г.г. (Burroughs 6000 в 1963 г., IBM/360-67 в 1966 г. и т.д.), гораздо раньше, чем были разработаны вычислительные сети. Системы, разрабо-анные для мультипроцессорных машин, называются параллельными операционными системами (Parallel Operating Systems). Мультипроцессорные машины подразделяются на два семейства:
- жестко связанные или жестко соединенные мультипроцессоры (tightly coupled), в которых процессоры связаны через общую память (рис.1);
- слабо связанные или слабо соединенные мультипроцессоры (loosely coupled), в которых процессоры связаны через средство связи (как правило, шину), отличное от общей памяти (рис.2.).
Необходимо отметить, что эти виды архитектуры могут сочетаться между собой: каждый процессор может обладать локальной памятью и делить с остальными общую память. Кроме того, в настоящее время процессоры обладают одним или двумя уровнями кэширования...
Рис
1. Жестко связанные мультипроцессоры
Рис
2 Слабо связанные процессы
Мультимашинная организация
Появление сетей, предназначенных для взаимной связи различных компьютеров, привело к разработке средств, а затем и операционных систем, позволяющих осуществлять управление, так называемой, мультимашинной архитектурой (рис.3.), то есть совокупности полносоставных компьютеров (процессоры, память, вводы-выводы...), связанных в сеть. В этом случае речь идет о распределенных вычислительных системах.
Рис
3.Мультимашинная организация
Следует отметить большое сходство между мультимашинной организацией и архитектурой слабо связанных мультипроцессоров; в обоих структурах процессоры связаны через канал связи, а не через общую память. Различия заключаются в следующем:
- в случае распределенных систем (мультимашинная архитектура) связь между процессорами осуществляется относительно медленно (сеть), а системы независимы;
- в случае параллельных систем (мультипроцессорная архитектура) связь осуществляется быстро (шина), а системы относительно сильно связаны между собой.
Не существует точного определения этих типов архитектуры и этих систем, кроме того, между этими двумя понятиями наблюдается сходство. Распределенные операционные системы, такие как Mach и Chorus могут применяться как при мультимашинной, так и при мультипроцессорной организации. Впрочем, существует несколько вариантов UNIX для мультипроцессоров (на Cray, на Sun...), в которых сосуществуют совершенно различные средства управления распределением по сети и управления связью между процессорами через шину. В данной книге мы рассматриваем использование средств, преназначенных для применения ресурсов, распределенных между различными машинами, доступ к которым возможен через сеть. Мы не рассматриваем ни средства, направленные исключительно на использование мультипроцессорной архитектуры, ни средства, предназначенные для работы в режиме реального времени, так как целью нашего исследования является совместная работа нескольких машин.