Главная » Просмотр файлов » Э. Таненбаум, М. ван Стеен - Распределённые системы (принципы и парадигмы)

Э. Таненбаум, М. ван Стеен - Распределённые системы (принципы и парадигмы) (1162619), страница 41

Файл №1162619 Э. Таненбаум, М. ван Стеен - Распределённые системы (принципы и парадигмы) (Э. Таненбаум, М. ван Стеен - Распределённые системы (принципы и парадигмы)) 41 страницаЭ. Таненбаум, М. ван Стеен - Распределённые системы (принципы и парадигмы) (1162619) страница 412019-09-20СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

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

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

Часто бывает сложно описать, каки­ми должны быть временные взаимосвязи или чего мы ожидаем от базовой под­системы связи (в терминах качества обслуживания). При реализации мы такжесталкиваемся с затруднениями. Усложняющим фактором является роль дрожа­ния (максимальное PI минимальное значения параметров).

Даже если средняяпроизводительность достижима, серьезные колебания времени доставки могутпривести к неприемлемой производительности.Вопросы и задания1. Во многих протоколах модели OSI каждый уровень добавляет к сообщениюсвой заголовок. Несомненно, создавать в начале каждого сообщения единый2.6. Итоги161заголовок, содержащий всю контрольную информацию, было бы более эф­фективно, чем поддерживать все эти отдельные заголовки. Почему так не де­лается?2. Почему коммуникационные службы транспортного уровня обычно не подхо­дят для построения распределенных приложений?3. Надежная массовая рассылка требует от отправителя надежной посылки со­общений группе получателе^!. Может ли подобная служба находиться на про­межуточном уровне или должна быть частью нижнего уровня?4. Рассмотрим процедуру incr с двумя целыми параметрами.

Эта процедура до­бавляет к каждому из параметров единицу. Представим себе, что в качествеобоих параметров используется одна и та же переменная -- incrd . 1). Еслипеременная 1 изначально равна О, какое значение будет у нее при вызове поссылке? А при использовании механизма копирования/восстановления?5. В языке С существует конструкция, называемая объединением (union), в ко­торой поле записи — в С называемой структурой (struct) — может хранитьлюбое значение из нескольких вариантов. Во время исполнения надежногоспособа определить, что там находится, не существует. Должна ли эта особен­ность языка С как-то поддерживаться при удаленном вызове процедур? По­ясните свой ответ.6. Один из способов преобразования параметров в системах RPC — требоватьот каждой машины передачи параметров в их натуральном виде, с тем чтобыпреобразованием занимался получатель сообщения.

Базовая система пред­ставления параметров кодируется в первом байте. Однако будет ли работатьподобная система, если учесть, что нахождение первого байта в первом сло­ве — само по себе проблема?7. Рассмотрим клиент, посылающий на сервер асинхронный вызов RPC и ожи­дающий возвращения сервером результата, который также будет послан припомощи асинхронного вызова RPC. Будет ли это аналогично использованиюклиентом обычного вызова RPC? Что произойдет, если мы заменим асин­хронные вызовы RPC синхронными?8. Вместо регистрации некоего сервера с помощью демона, как это сделанов DCE, мы могли бы навсегда закрепить его за одной из конечных точек.Конечная точка затем может использоваться в качестве ссылки на объектв адресном пространстве сервера.

Каково основное неудобство подобной схемы?9. Приведите пример реализации ссылки на объект, которая позволила бы кли­енту выполнить привязку к нерезидентному удаленному объекту.10. Java и другие языки поддерживают обработку исключений, которые возбуж­даются при возникновении ошибки. Каким образом можно применить ис­ключения в RPC и RMI?И. Можно ли использовать механизм исключений также и для того, чтобы отли­чать статические вызовы RPC от динамических?162Глава 2.

Связь12. Некоторые реализации систем промежуточного уровня на базе распределен­ных объектов целиком базируются на динамическом обращении к методам.СтатическР1е обращения при компиляции преобразуются в динамические.В чем преимущества подобного подхода?13. Опишите, как реализуется связь без образования соединения между клиен­том и сервером при использовании сокетов.14. Объясните разницу между примитивами MPI_bsend и MPI_isend в MPI.15.

Предположим, что мы в состоянии использовать только примитивы нерези­дентной асинхронной связи, причем исключительно примитивы асинхронногоприема. Как в таком случае реализовать примитивы для нерезидентной сипхроппой связи?16. Теперь предположим, что мы в состоянии использовать только примитивыдля нерезидентной синхронной связи. Как при этом реализовать примитивыдля нерезидентной асинхронной связи?17.

Имеет ли смысл реализовывать сохранную асинхронную связь средствамиRPC?18. В тексте мы упоминали, что для автоматического запуска процесса, извле­кающего сообщения из входной очереди, часто используется демон, которыйследит за ее состоянием. Опишите альтернативную реализацию, не требую­щую использования демона.19. Таблицы маршрутизации в системе MQSeries фирмы IBM и множестве дру­гих систем очередей сообщений настраиваются вручную. Опишите простойспособ автоматизации этой работы.20.

Как встроить сохранную асинхронную связь в коммуникационную модель набазе удаленных объектов RMI?21. В случае сохранной связи получатель обычно имеет свой собственный буфер,в котором в период его пассивности хранятся сообщения. Чтобы создать по­добный буфер, нам может понадобиться информация о его размере. Приведи­те аргументы за и против указания размера.22. Опишите, почему нерезидентная синхронная связь имеет «врожденные» про­блемы с масштабируемостью, и как эти проблемы могут решаться.23. Приведите пример, когда групповая рассылка может быть полезной для дис­кретных потоков данных.24.

Как можно было бы гарантировать максимальную сквозную задержку пере­даче! при организации группы компьютеров в кольцо (физическое или логи­ческое)?25. Как можно было бы гарантировать минимальную сквозную задержку переда­чи при организации группы компьютеров в кольцо (физическое или логиче­ское)?26. Представьте, что у вас есть спецификация корзины элементарных пакетов смаксимальным размером элемента данных — 1000 байт, скоростью работы2.6. Итоги163корзины — 10 Мбайт/с, емкостью корзины — 1 Мбайт и максимальной скоро­стью передачи — 50 Мбайт/с. Как долго она сможет работать на максималь­ной скорости?27.

В этом упражнении вам следует реализовать простую систему клиент-серверна базе RPC. Сервер предоставляет одну процедуру next, которая в качествевходного параметра получает целое число и возвравдает следующее за нимчисло. Напишите процедуру-заглушку next для использования на сторонеклиента. Она должна будет пересылать параметры на сервер, используя про­токол UDP, и ожидать ответа, причем следует рассчитывать на очень дли­тельное время ожидания. Серверная процедура должна следить за соответст­вующим портом, принимать запрос, выполнять его и возвращать результатклиенту.Глава 3Процессы3.1.

Потоки выполнения3.2. Клиенты3.3. Серверы3.4. Перенос кода3.5. Программные агенты3.6. ИтогиВ предыдущей главе мы обсуждали взаимодействие в распределенных системах.Взаимодействие происходит между процессами, и в этой главе мы поближе рас­смотрим то, какую роль играют в распределенных системах различные типы про­цессов. Концепция процесса зародилась в операционных системах, где этимпонятием обычно обозначают выполняемую программу. С точки зрения операци­онных систем наиболее важные для обсуждения вопросы — это управление про­цессами и планирование процессов. Однако при переходе к распределенным сис­темам другие вопросы становятся столь же или еще более важными.Так, например, для эффективной организации систем клиент-сервер частобывает удобно использовать многопоточные технологии.

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

Мы также уделим внимание общим вопросам по­строения серверов. Кроме того, мы обсудим общедоступные серверы объектов,которые предоставляют базовые средства для построения распределенных объ­ектов.Серьезной проблемой, особенно в глобальных системах, является переноспроцессов между различными машинами. Миграция процессов, или, более точно,миграция кода, может помочь повысить масштабируемость и, кроме того, помо­гает динамически конфигурировать клиенты и серверы. Что на самом деле под-3.1. Потоки выполнения165разумевается под миграцией кода и как она реализуется, также будет рассмотре­но в этой главе.Последняя наша тема связана с относительно новым явле1Н1ем — программ­ными агентами. В отличие от асимметричной программной модели клиентсервер, мультиагентные системы в основном состоят из набора одршакововажных агентов, совместная работа которых приводит к достижению общейцели.

Программные агенты — это еще один тип процессов, которые могутсуществовать в различных формах. В последнем разделе рассказывается, чтотакое агенты с точки зрения распределенных систем и каковы принципы ихсовместной работы.3 . 1 . Потоки выполненияХотя процессы являются строительными блоками распределенных систем, прак­тика показывает, что дробления на процессы, предоставляемого операционны­ми системами, на базе которых строятся распределенные системы, недостаточно.Вместо этого оказывается, что наличие более тонкого дробления в форме не­скольких потоков выполнения {threads) на процесс значительно упрощает по­строение распределенных приложений и позволяет добиться лучшей производи­тельности.

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

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

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