Главная » Просмотр файлов » Введение в распределённые алгоритмы. Ж. Тель (2009) (не распознанно)

Введение в распределённые алгоритмы. Ж. Тель (2009) (не распознанно) (1185664), страница 11

Файл №1185664 Введение в распределённые алгоритмы. Ж. Тель (2009) (не распознанно) (Введение в распределённые алгоритмы. Ж. Тель (2009) (не распознанно).pdf) 11 страницаВведение в распределённые алгоритмы. Ж. Тель (2009) (не распознанно) (1185664) страница 112020-08-25СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 11)

В любом языке, предназначенном для создания распределенных прикладных программ, должны быть средства для представления параллельного выполнения, взаимодействия процессов и недетерминизма. Средства представления параллельных вычислений, безусловно, нужныдля того, чтобы программа для различных узлов позволяла работать этим узламодновременно. В языке программирования должны быть также средства для организации взаимосвязи между узлами. Недетерминизм также необходим, потомучто в некоторые узлы могут поступать сообщения сразу из нескольких различных узлов; иногда бывает нужно сделать так, чтобы узел имел альтернативнуювозможность принять сообщение или отправить сообщение.Параллелизм.

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

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

Столь женеобходима и синхронизация, потому что выполнение такого процесса должнобыть приостановлено, до тех пор пока не будут получены ожидаемые результаты. Коммуникация посредством обмена сообщениями позволяет обеспечитькак коммуникацию, так и синхронизацию. А вот совместно используемая память годится только для коммуникации: чтобы синхронизовать работу процессов, которые связаны посредством совместно используемой памяти, требуетсяаккуратно применять дополнительные средства.1.2. Архитектура и языки39В тех языках, в которых коммуникация обеспечивается путем обмена сообщениями, имеются операторы отправления сообщений send и приема сообщений receive. Связь происходит при выполнении оператора отправления сообщения в одном из процессов (этот процесс называется отправителем) и оператора приемасообщения в другом процессе (этот процесс называется получателем).

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

Иначе говоря,отправитель остается заблокированным, до тех пор пока не будет принято сообщение, и благодаря этому достигается двухсторонняя синхронизация.Сообщения могут отправляться по двухточечной связи, т. е. одному получателю от одного отправителя, или широковещательно, и в этом случае одно и то жесообщение будет доставлено всем получателям. В последнем случае для сообщения, которое отправляется целому множеству получателей (хотя и не обязательно всем процессам), используется термин «широковещательное сообщение».Несколько более структурированным базовым средством связи является вызовудаленной процедуры (RPC 16) ).

Чтобы установить соединение с процессом b,процесс a вызывает процедуру, входящую в состав процесса b, путем отправления сообщения, содержащего параметры этой процедуры; при этом процесс aприостанавливает свое выполнение, до тех пор пока результат вычисления этойпроцедуры не будет возвращен ему с другим сообщением.Альтернативу обмену сообщениями как средству связи составляет совместноиспользуемая память; один из процессов присваивает значение некоторой переменной, а другой процесс считывает это значение. В этом случае труднее добитьсясинхронизации процессов, потому что считывание нужного значения может произойти до того, как оно будет присвоено переменной.

Применяя такие средствасинхронизации, как семафоры [60] или мониторы [107] , можно реализоватьпередачу сообщений через совместно используемое окружение. И наоборот, припомощи механизма обмена сообщениями можно реализовать виртуальную модельсовместно используемой памяти, хотя это крайне неэффективный способ.Недетерминизм. При выполнении процесса есть много точек, в которых этовыполнение может быть продолжено по разным направлениям. Операция приема сообщения часто оказывается недетерминированной, потому что сообщение16) RemoteProcedure Call.

— Прим. перев.40Гл. 1. Введение: распределенные системыможет быть получено от многих разных отправителей. Недетерминизм можно выразить, например, при помощи охраняемых команд, или команд с предохранителями. В самом общем виде охраняемая команда представляет собой списокоператоров, каждому из которых предшествует булево выражение (его предохранитель). Процесс может продолжить свое выполнение, выбрав любой из техоператоров, предохранитель которого принимает значение true. В состав предохранителя может входить операция приема сообщения; в этом случае предохранитель принимает истинное значение, если имеется сообщение, которое можетбыть получено.1.3.

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

Распределенные и централизованные системы отличаются в целом ряде аспектов, которые мы обсудим в § 1.3.1; в качестве иллюстрации в § 1.3.2 мы приведем несколько примеров. Поэтому изучение распределенных алгоритмов — это отдельная область научных исследований (см. § 1.3.3),введением в которую может служить эта книга. В § 1.4 говорится о том, какиецели ставил перед собой автор книги, и приводится перечень результатов, включенных в эту книгу.1.3.1. Сравнение распределенных и централизованныхалгоритмовРаспределенные системы отличаются от централизованных (однопроцессорных) вычислительных систем тремя наиболее существенными качествами, которые мы здесь обсудим.1. Отсутствие сведений о глобальном состоянии.

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

Характеристики

Тип файла
PDF-файл
Размер
2,78 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6510
Авторов
на СтудИзбе
302
Средний доход
с одного платного файла
Обучение Подробнее