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

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

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

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

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

При частоте выборки 44 100 Гц синхрониза­ция с другим аудиопотоком может теоретически производиться каждые 23 мс.Для получения высококачественного стереоэффекта оказывается, что синхрони­зация на этом уровне абсолютно необходима.Однако если мы рассмотрим синхронизацию между аудио- и видеопотокамидля синхронизации артикуляции, обнаружится, что в этом случае можно исполь­зовать значительно более грубую детализацию. Как мы говорили, видеокадрыпоказываются с частотой 25 Гц и выше.

Используя широко распространенныйстандарт NTSC с его частотой 30 Гц, мы можем сгруппировать аудиовыборкив логические блоки с временем воспроизведения, равным времени показа видео­кадра (33 мс. При частоте выборки звука 44 100 Гц блок аудиоданных будетсодержать 1470 отдельных выборок, или И 760 байт, из расчета 16-битных выбо-2.5. Связь на основе потоков данных157рок). На практике вполне удовлетворительное качество обеспечивается PI боль­шими блоками, по 40 или даже 80 мс [435].Механизмы синхронизацииНу вот, мы и подошли к вопросу о том, как на самом деле обеспечивается синхро­низация.

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

2.33. В сущности, здесь показан процесс, который осуществляетоперации чтения и записи в нескольких простых потоках данных, гарантируя приэтом обеспечение ограничений синхронизации.Машина получателяПроцедура, считывающаядва элемента аудиоданных Приложениена каждый элемент ^^^видеоданных>Входящий поток1о•^ОССетьРис.

2.33. Принцип явной синхронизации на уровне элементов данныхРассмотрим, например, фильм, представленный двумя входными потоками дан­ных. Видеопоток содержит несжатые изображения низкого качества с разреше­нием 320x240 пикселов. Каждый из пикселов при кодировании требует одногобайта, что в сумме приводит к элементам видеоданных размером в 76 800 байт.Предположим, что изображения демонстрируются с частотой 30 Гц, или по 33 мсна изображение. Считаем, что аудиопоток содержит аудиовыборки, сгруппиро­ванные в элементы длиной 11 760 байт, каждый из которых, как говорилосьранее, соответствует звуку длительностью 33 мс. Если процесс ввода можетобеспечить скорость 2,5 Мбайт/с, мы можем обеспечить синхронизацию, просточередуя чтение изображений и блоков аудиовыборок каждые 33 мс.Оборотная сторона подобного подхода состоит в том, что приложение можетполностью отвечать за синхронизацию только в том случае, еслР1 оно имеет дос­туп к механизмам низкого уровня.

Лучше будет предоставить приложенрпо ин­терфейс, который упростил бы ему управление потоками и устройствами. От­носительно нашего примера это будет означать, что видеодрюплей получитинтерфейс управления, с помощью которого сможет управлять частотой воспро­изведения изображений. Кроме того, интерфейс предоставит механизм регистра-158Глава 2. Связьции пользовательского обработчика, который будет вызываться каждый раз послеприема очередных k изображений.

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

Каждое устройство и поток данных имеют свои собственные интерфейсыверхнего уровня, в том числе и интерфейсы для уведомления приложенир! о на­ступлении некоторого события Последние часто используются при написанииобработчР1Ков, предназначенных для синхронизацирг потоков. Примеры подоб­ных интерфейсов можно найти в [65].Машина получателяСистема контролямультимедиа — это частьпромежуточного уровняПриложение сообщаетпромежуточномууровню, что делатьс входящим потокомПромежуточный уровеньпрограммного обеспечения"Входящий потокСетьРис. 2.34.

Принцип синхронизации, поддерживаемойвысокоуровневыми интерфейсамиРаспределение механизмов синхронизации было вторым вопросом, которыймы собирались обсудить. Прежде всего получатель комплексного потока дан­ных, состоящего из требующих синхронизации вложенных потоков, должен точ­но знать, что ему делать. Другими словами, он должен иметь исчерпывающуюлокальную спецификацию синхронизации. Обычно эта информация предоставля­ется в неявном виде, путем мультиплексирования нескольких потоков данныхв один, содержащий все элементы данных, в том числе и предназначенные длясинхронизации.Подобный подход к синхронизации используется в потоках MPEG. Стандар­ты MPEG {Motion Picture Experts Group) содержат набор алгоритмов сжатия ви­део- и аудиоданных. Существует несколько стандартов MPEG.

MPEG-2, напри­мер, был изначально предназначен для сжатия видеоизображения с качествомтипичного телесигнала на скоростях от 4 до 6 Мбайт/с. Согласно этому стандар­ту в единый поток данных может быть собрано неограниченное количество2.6. Итоги159непрерывных и дискретных потоков. Каждый входящий поток сначала преобра­зуется в поток пакетов, содержащих отметку времени, базирующуюся на 90-килогерцевых системных часах. Затем эти потоки мультиплексируются в программ­ный поток данных {program stream), состоящий из пакетов переменной длины,объединенных одинаковым базовым временем.

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

Ясно, что если задержкив каждом из вложенных потоков данных будут разными, синхронизация окажетсякрайне затруднительной. Значительно лучше объединить вложенные потоки наотправителе. Получившийся в результате поток будет содержать элементы дан­ных, состоящие из пар выборок, по одной на канал. В этом случае приемникудостаточно просто считать элемент данных и разделить его на выборки левогои правого каналов. Задержка для обоих каналов будет абсолютно одинаковой.2.6. ИтогиНаличие мощных и гибких механизмов взаимодействия между процессами явля­ется важным для всякой распределенной системы. В традиционных сетевых при­ложениях связь часто базируется на низкоуровневых примитивах передачи сооб­щений, предоставляемых транспортным уровнем. Важной особенностью системпромежуточного уровня является предоставляемая ими высокая степень абстрак­ции, благодаря которой описание взаимодействия между процессами на проме­жуточном уровне значительно проще, чем если бы мы ограничились только ин­терфейсами транспортного уровня.Одной из наиболее широко используемых абстракций является удаленныйвызов процедур (Remote Procedure Call, RPC).

Сущность RPC в том, что любаяслужба реализуется посредством вызова процедуры, тело которой выполняетсяна сервере. Клиент предоставляет только сигнатуру процедуры, то есть имя про­цедуры и ее параметры. Когда клиент вызывает процедуру, клиентская реализа­ция, называемая заглушкой, упаковывает значения параметров в сообщение и пе­ресылает его на сервер. Последний вызывает собственно процедуру и возвращаетрезультат, снова в виде сообщения.

Клиентская заглушка извлекает из этого со­общения значение результата и передает его приложению клиента, иницииро­вавшему вызов.Механизм RPC ориентирован на обеспечение прозрачности доступа. Однакоон относительно слабо поддерживает передачу ссылок. В этом смысле удаленные160Глава 2. Связьобъекты более прозрачны. Обращение к удаленным методам (Remote MethodInvocation, RMI) напоминает RPC, но отражает специфику удаленных объектов.Основная разница между ними состоит в том, что RMI позволяет использоватьв качестве параметров ссылки на объекты системы.RPC и RMI предоставляют механизмы синхронной связи, при которой кли­ент блокируется до получения ответа от сервера. Несмотря на вариации сущест­вующих механизмов, в которых жесткая синхронная модель смягчена, нередкоболее удобными оказываются универсальные высокоуровневые модели, ориен­тированные на передачу сообщений.В моделях передачи сообщений неважно, является ли связь сохранной, также как неважно и то, является ли она синхронной.

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

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

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