Э. Таненбаум - Компьютерные сети. (4-е издание) (DJVU) (1130092), страница 214
Текст из файла (страница 214)
К счастью, опыт работы с пунктамн видеопроката, библиотеками и другими подобными организациями показывает, что не все фильмы (книги) одинаково популярны. Экспериментально доказано, что если в пункте проката есть М фильмов, то доля заявок на конкретный фильм, стоящий на Й-м месте в списке популярности, примерно равна С4е. Здесь С вЂ” это число, дополняющее сумму долей до 1, а именно: С = 1У(1 + 1/2 + 1/3 е 1(4 + 1(5 + .
е 1,АУ) Таким образом, например, самый популярный фильм берут примерно в семь раз чаще, чем седьмой в списке популярности. Такая зависимость называется законом Ципфа (21р(, 1949). Тот факт, что одни фильмы значительно популярнее других, наводит на идею иерархической организации хранилища фильмов, показанной на рис. 7А5. В изображенной пирамиде производительность возрастает при движении вверх. Рис. 7.45. Иерархия хранилища видеосервера Фильмы можно хранить и на компакт-дисках.
Современные диски РуР позволяют хранить 4,7 Гбайт данных, чего вполне достаточно для записи одного фильма, однако следующее поколение дисков будет иметь примерно удвоенную емкость. Хотя по сравнению с жесткими магнитными дисками время поиска на оптическом диске на порядок выше (50 мс вместо 5 мс), их низкая цена и высокая надежность делает автомат с тысячами сменных РЪ'Р хорошей альтернативой магнитной ленте для более часто используемых фильмов.
На следующем уровне в этой иерархии находятся жесткие магнитные диски. Оии обладают малым временем доступа (5 мс), высокой скоростью передачи 798 Глава 7. Прикладной уровень (320 Мбайт/с для 5СБ1 320) и значительной емкостью (свыше 100 Гбайт), что делает их вполне подходящими для хранения фильмов, которые действительно смотрят зрители (в отличие от тех, что хранятся на тот случай, если кто-либо захочет их посмотреть). Основной недостаток накопителей на жестких дисках заключается в их слишком высокой цене, чтобы хранить на них редко просматриваемые фильмы.
На вершине пирамиды, показаннои на рис. 7.45, находится ОЗУ. Оперативная память является самым быстрым запоминающим устройством, но в то же время и самым дорогим. Оперативная память лучше всего подходит для хранения фильмов, посылаемых в данный момент различным получателям одновременно (например, настоящее видео по заказу 100 пользователям, начавшим просмотр в различное время). Когда цены на микросхемы памяти упадут до 50 долларов за гигабайт, 4 Гбайт ОЗУ, необходимые для хранения одною фильма, будут стоить 200 долларов, а 100 фильмов, находящихся в памяти, потребуют ОЗУ на 20 000 долларов (400 Гбайт). Та есть видеосервер, имеющий в наличии 100 фильмов, скоро сможет позволить себе хранить их все в ОЗУ.
А если у видеосервера всего 100 клиентов, которые день за днем смотрят одни и те же 20 фильмов, это уже не только реальное, но и выгодное решение. Поскольку видеосервер представляет собой в действительности просто огромное устройство ввода-вывода, работающее в режиме реального времени, его аппаратная и программная архитектура должна отличаться от используемой в РС или рабочей станции ()Х1Х. Аппаратная архитектура типичного видеосервера показана на рис. 7А6. Сервер состоит из одного или нескольких высокопроизводительных процессоров, у каждого из которых есть своя локальная память, память общего доступа, большой кэш ОЗУ для хранения популярных фильмов, множества различных накопителей для хранения фильмов, а также сетевое оборудование, например, оптического интерфейса с магистралью ВОЙДЕТ или АТМ с каналом ОС-12 или выше.
Все эти подсистемы соединены сверхскоростной шиной (по меньшей мере 1 Гбайт/с). Познакомимся теперь с программным обеспечением видеосервера. Процессоры пРинимают запросы пользователей, находят нужные фильмы, перемещают данные между устройствами, выписывают счета клиентам, а также выполняют множество других операций.
Для некоторых из этих функций фактор времени не является критичным, но для большинства он критичен, поэтому на некоторых (если не на всех) центральных процессорах должна работать операционная система реального времени, такая как микроядро реального времени. Такие системы обычно Разбивают задание на отдельные небольшие задачи, для каждой из которых известен срок ее окончания. Затем программа, следящая за расписанием выполнения задач, может запустить, например, алгоритм выполнения задач в порядке сроков выполнения или алгоритм монотонной скорости (Е)ц и Еау!апд, 1973). Программное обеспечение, работающее в центральных процессорах, также опРеделяет тип интерфейса, предоставляемого сервером своим клиентам (серверам подкачки и телевизионным приставкам). Наиболее популярными являются два интерфейса.
Один из них представляет собой традиционную файловую систему, в которой клиент может открывать, читать, писать и закрывать файлы. Помимо Мультимедиа 799 сложностей, связанных с иерархией хранения и с соображениями реального вре- мени, в таком интерфейсе клиенту придется еще заниматься и вопросами фатйло- вой системы, например, У)ч11Х. Набор сменных оптических дисков Архив магнитных лент Жесткие диски ЯА!0 Рис. 7.46.
Аппаратная архитектура типичного видеосервера В основе второго типа интерфейса лежит модель видеомагнитофона. Сервер получает команды открытия, начала или приостановки воспроизведения, а также команды быстрой перемотки в обе стороны. Основное отличие этого интерфейса от модели 1)й11Х состоит в том, что, получив команду Р~АУ г',воспроизведение), сервер начинает выдавать данные с постоянной скоростью без необходимости передачи новых команд. Центральной частью программного обеспечения видеосервера является программа управления дисками. Она выполняет две основные задачи: копирование фильмов на жесткий диск с оптического диска и обработка дисковых запросов для нескольких выходных потоков.
Вопрос размещения фильма очень важен, так как он сильно влияет на производительность. Возможны два способа организации дискового хранения: дисковая ферма и дисковый массив. Дисковая ферма подразумевает хранение на каждом диске нескольких фильмов целиком. Каждый фильм должен дублироваться на двух или даже более дисках, чтобы обеспечить высокую надежность и производительность.
Дисковый массив, или набор ВА1Р (Кег)цпг)апг Аггау о1 1пг)ерепдепт Ийз — матрица независимых дисковых накопителей с избыточностью), является формой организации хранения, в которой фильм хранится сразу на нескольких дисках, например, блок 0 на диске О, блок 1 на диске 1 и так далее циклически. Такая организация хранения называется разбиением на полосы.
Разбитый на полосы массив диска обладает рядом преимуществ перед дисковой фермой. Во-первых, все и дисков могут работать параллельно, увеличивая 300 Глава 7, Прикладной уроввнь производительность системы в и раз. Во-вторых, такой набор можно сделать отказоустойчивым, если к каждой группе дисков добавить еще один диск, на котором хранить поблочную сумму по модулю два всех данных набора.
Наконец, такой способ автоматически решает вопрос балансировки нагрузки. (Все популярные фильмы не смогут оказаться на одном диске). С другой стороны, организация дисковых массивов является более сложной, чем дисковая ферма, и чрезвычайно чувствительной к множественным отказам. Она также плохо подходит для таких операций видеомагнитофона как быстрая перемотка назад или вперед. Другая задача дискового программного обеспечения состоит в обслуживании выходных потоков реа.льного времени и удовлетворении соответствующих временных требований. Еще несколько лет назад это было связано с необходимостью реализации сложных алгоритмов планирования, однако по мере снижения цен на модули памяти стал возможен более простой подход.
Для передачи каждого видеопотока необходимо хранить в буфере ОЗУ отрезок фильма длиной, скажем, 10 с (5 Мбайт). Буфер заполняется путем выполнения дисковой операции и освобождается сетевым процессом, Имея 500 Мбайт оперативной памяти, мы сможем одновременно буферизировать 100 потоков. Конечно, дисковая подсистема должна обладать устойчивой скоростью передачи данных 50 Мбайт/с для нормального заполнения буферов, однако матрица КА1Р, составленная из высокопроизводительных дисков типа 5С51, запросто может справиться с этой задачей.
Распределительная сеть Распределительная сеть представляет собой набор коммутаторов и линий связи между источником данных и пх получателями. Как было показано на рис. 7А4, она состоит из магистрали, соединенной с локальными распределительными сетями. Обычно магистраль является коммутируемой, а локальная распределительная сеть — нет. Основным требованием, предъявляемым к магистрали, является высокая пропускная способность. Раньше вторым требованием был низкий уровень флуктуации (джиттера), то есть неравномерности графика, однако теперь, когда даже самые дешевые ПК получили возможность буферизировать 10 с высококачественного видео в формате МРЕО-2, зто требование перестало быть актуальным.