Автор работы: Пользователь скрыл имя, 07 Ноября 2013 в 18:56, реферат
Прогресс в этих областях предоставляет новые возможности в том, что касается управления данными и эффективности обработки данных. После определения того, что представляет из себя мультипроцессорная и мультимашинная архитектура, мы вводим основные понятия, на которых строятся возможности применения ресурсов нескольких машин:
- распределение или разделение;
- возможность взаимодействия;
- прозрачность;
- модель "клиент-сервер".
Введение 3
Мультипроцессоры 4
Мультимашинная организация 5
Что называют распределенной обработкой данных 6
Цели распределенной обработки данных 8
Распределение и параллелизм 9
Прозрачность 10
МОДЕЛЬ "КЛИЕНТ-СЕРВЕР" 11
Заключение 12
Список литературы 13
Реферат на тему:
«Распределенные системы обработки данных»
2013
Оглавление
Введение 3
Мультипроцессоры 4
Мультимашинная организация 5
Что называют распределенной обработкой данных 6
Цели распределенной обработки данных 8
Распределение и параллелизм 9
Прозрачность 10
МОДЕЛЬ "КЛИЕНТ-СЕРВЕР" 11
Заключение 12
Список литературы 13
Среди
всех изменений, происшедших в области
связанной с научными исследованиями
вычислительной техники, некоторые
в особенности повлияли на изменение
функций рабочих станций, а именно:
- рост мощи станций, оснащаемых все более
дружественными человеко-машинными интерфейсами
;
- появление процессоров, предназначенных
для специальных видов обработки данных
(изображения, текста и т.п.);
- расширение возможностей в области хранения
информации;
- появление средств, облегчающих доступ
к ресурсам, распределенным по сети.
Прогресс
в этих областях предоставляет новые
возможности в том, что касается
управления данными и эффективности
обработки данных. После определения
того, что представляет из себя мультипроцессорная
и мультимашинная архитектура, мы вводим
основные понятия, на которых строятся
возможности применения ресурсов нескольких
машин:
- распределение или разделение;
- возможность взаимодействия;
- прозрачность;
- модель "клиент-сервер".
В
целях увеличения вычислительных возможностей
и для достижения большего параллелизма
по сравнению с
- жестко связанные или жестко соединенные
мультипроцессоры (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.):
- пользователь обладает рабочей станцией;
- решение задач требует обращения к устройству
обработки данных (спецпроцессору, например)
и к серверу данных, и все это прозрачно
для пользователя.
Рис 2.4. Треугольная организация
вычислительного процесса
Целью
распределенной обработки данных является
оптимизация использования
-
Оптимизация использования
Термин ресурс, в данном случае используется в самом широком смысле: мощность обработки (процессоры), емкость накопителей (память или диски), графические возможности (2-х или 3-х мерный графический процессор, в сочетании с растровым дисплеем и общей памятью), периферийные устройства вывода на бумажный но- ситель (принтеры, плоттеры). Эти ресурсы редко бывают собраны на одной машине: ЭВМ Cray обладает мощными расчетными возможностями, но не имеет графических возможностей, а также возможностей эффективного управления данными. Отсюда принцип совместной работы различных систем, используя лучшие качества каждой из них, причем пользователь имеет их в распоряжении при выполнении только одной программы.
- Упрощение работы пользователя.
Действительно,
распределенная обработка данных позволяет:
- повысить эффективность посредством
распределения данных и видов обработки
между машинами, способными наилучшим
образом управлять ими;
- предложить новые возможности, вытекающие
из повышения эффективности;
- повысить удобство пользования. Пользователю
более нет необходимости разбираться
в различных системах и осуществлять перенос
файлов.
Основные недостатки этого подхода заключаются в следующем: - зависимость от характеристик и доступности сети. Программа не сможет работать, если сеть повреждена. Если сеть перегружена, эффективность уменьшается, а время реакции систем увеличивается. - проблемы безопасности. При использовании нескольких систем увеличивается риск, так как появляется зависимость от наименее надежной машины сети.
C
другой стороны, преимущества
весьма ощутимы:
- распределение и оптимизация использования
ресурсов. Это основная причина внедрения
распределенной обработки данных;
- новые функциональные возможности и
повышение эффективности при решении
задач;
- гибкость и доступность. В случае поломки
одной из машин, ее пытаются заменить другой,
способной выполнять те же функции.
Следует отметить, что распределение (или разделение) не является синонимом параллелизма. Распределение видов обработки состоит в том, чтобы поручить их машинам, наилучшим образом приспособленным к этому. Параллелизм подразумевает понятие одновременности обработки. Распределение позволяет иногда проводить параллельную обработку.
Прозрачностью
называется возможность доступа
к ресурсам или услугам, не зная их
местонахождения. С точки зрения
прикладного программиста, речь идет
о возможности использования одинаковых
примитивов доступа, независимо от местонахождения
службы или необходимого ресурса. У пользователя
имеется только один прикладной интерфейс
и он видит перед собой только один компьютер.
С более концептуальной точки зрения,
прозрачность определяется как возможность
видеть систему как единый организм, а
не как собрание независимых друг от друга
объектов. Различают несколько разновидностей
прозрачности, в частности:
- прозрачность доступа: к локальным или
удаленным объектам можно обращаться
посредством одинаковых операций;
- прозрачность местонахождения: объекты
должны быть доступны без необходимости
знать их физическое местоположение;
- прозрачность одновременности доступа:
несколько пользователей должны иметь
возможность одновременного доступа к
данным, без нежелательных последствий;
- прозрачность копирования: должна существовать
возможность копировать данные из файлов
или из других объектов в целях повышения
эффективности или обеспечения доступности
незаметно для пользователей;
- прозрачность при неисправностях: пользователи
или прикладные программы должны иметь
возможность завершить свои задания, даже
в случае неисправностей аппаратной или
программной части;
- прозрачность при динамических изменениях
конфигурации: система может динамически
менять свою конфигурацию, в целях повышения
эффективности и в зависимости от нагрузки.
Клиентом называется объект,запрашивающий доступ к службе или ресурсу. Сервер - это объект несущий службу или обладающий ресурсом.
Клиент и сервер могут находиться на одной и той же машине (использование локальных механизмов коммуникации) или на двух разных машинах (использование сетевых средств). В рамках нашего исследования, клиентом и сервером являются два процесса UNIX, связанные между собой через механизм IPC (Interprocess Communication), локальный или сетевой (рис.2.5.).
Рис2.5. Модель клиент-сервер
Клиент и сервер не играют симметричную роль. Процесс-сервер инициализируется и, затем, переходит в состояние ожидания запросов от возможных клиентов. Как правило, процесс-клиент запускается в интерактивном режиме и посылает запросы серверу. Сервер исполняет полученный запрос, причем это может подразумевать диалог с клиентом, а может и нет. Затем сервер вновь переходит в состояние ожидания других клиентов.
Различают
два типа процессов-серверов:
- итеративные серверы: процесс-сервер
сам обрабатывает ответ. Этот тип сервера
используется в случае, если время обработки
весьма непродолжительно или если сервер
используется единственным клиентом.
- параллельные серверы: процесс-сервер
вызывает для обработки вызова клиента
другой процесс . Этот процесс создается
системным вызовом fork (). Порождающий процесс
не блокируется по окончании выполнения
порожденного процесса и может, таким
образом, ждать другие запросы.
С каждым сервером связан служебный (сервисный) адрес. Клиент посылает запросы по этому адресу. В зависимости от вида осуществляемой обработки данных, раз- личают серверы без состояния (stateless) и серверы с состоянием (statefull). Сервер без состояния не сохраняет о своих клиентах никакой информации. Сервер с состоянием сохраняет информацию о состоянии своих клиентов после каждого запроса. В случае разрыва связи, повторный запуск проще у серверов без состояния, но иногда это может привести к случайным срабатываниям.
Целью
распределенной обработки данных является
выполнение обработки наиболее приспособленным
для этого процессором. Распределение
не подразумевает параллелизма, но
возможность "распараллелить" распределенную
обработку существует.
- распределенная, или разделенная, или
совместно выполняемая программа: выполнение
программы двумя и более машинами, объединенными
в сеть;
- пользователю безразлично местоположение
различных ресурсов, необходимых для успешного
выполнения программы, которую он выполняет
со своего рабочего места;
- модель "клиент-сервер" (initiator-responder
по терминологии OSI): клиентом является
процесс, запрашивающий услуги у сервера,
причем этот второй процесс может находиться
на том же компьютере, а может и нет.