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

Автор работы: Пользователь скрыл имя, 07 Ноября 2013 в 18:56, реферат

Краткое описание

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

Содержание

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

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

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

— 88.13 Кб (Скачать файл)

 

 

 

 

 

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

«Распределенные системы обработки данных»

 

 

 

 

 

 

 

 

 

 

2013

 

Оглавление

Введение 3

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

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

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

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

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

Прозрачность 10

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

Заключение 12

Список литературы 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.):  
- пользователь обладает рабочей станцией;  
- решение задач требует обращения к устройству обработки данных (спецпроцессору, например) и к серверу данных, и все это прозрачно для пользователя.

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

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

- Оптимизация использования ресурсов.

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

- Упрощение работы пользователя.

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

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

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

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

Следует отметить, что распределение (или разделение) не является синонимом параллелизма. Распределение видов обработки состоит в том, чтобы поручить их машинам, наилучшим образом приспособленным к этому. Параллелизм подразумевает понятие одновременности обработки. Распределение позволяет иногда проводить параллельную обработку.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Прозрачность

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

 

 

 

 

 

 

 

 

 

 

 

 

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

Клиентом  называется объект,запрашивающий доступ к службе или ресурсу. Сервер - это объект несущий службу или обладающий ресурсом.

Клиент  и сервер могут находиться на одной  и той же машине (использование  локальных механизмов коммуникации) или на двух разных машинах (использование  сетевых средств). В рамках нашего исследования, клиентом и сервером являются два процесса UNIX, связанные  между собой через механизм IPC (Interprocess Communication), локальный или сетевой (рис.2.5.).

 
Рис2.5. Модель клиент-сервер

Клиент  и сервер не играют симметричную роль. Процесс-сервер инициализируется и, затем, переходит в состояние ожидания запросов от возможных клиентов. Как правило, процесс-клиент запускается в интерактивном режиме и посылает запросы серверу. Сервер исполняет полученный запрос, причем это может подразумевать диалог с клиентом, а может и нет. Затем сервер вновь переходит в состояние ожидания других клиентов.

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

С каждым сервером связан служебный (сервисный) адрес. Клиент посылает запросы по этому  адресу. В зависимости от вида осуществляемой обработки данных, раз- личают серверы без состояния (stateless) и серверы с состоянием (statefull). Сервер без состояния не сохраняет о своих клиентах никакой информации. Сервер с состоянием сохраняет информацию о состоянии своих клиентов после каждого запроса. В случае разрыва связи, повторный запуск проще у серверов без состояния, но иногда это может привести к случайным срабатываниям.

 

Заключение

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

Информация о работе Распределенные системы обработки данных