Э. Таненбаум - Архитектура компьютера (1127755), страница 175
Текст из файла (страница 175)
Это не только делает возможной подмену на случай внезапного наводнения или землетрясения. При обращении к адресу вптв.дооо1е.сов анализируется 1Р-адрес отправителя запроса, и далее браузер общается уже только с ближайшим к нему информационным центром. Каждый информационный центр подключается к Интернету как минимум одной оптоволоконной линией ОС-48 (2,488 Гбит/с), по которой поступают запросы и отправляются обратно ответы. Кроме того, имеется дополнительная линия ОС-12 (622 Мбит/с) к резервному поставщику услуг на случай перерыва в работе основного. Чтобы шоу могло продолжаться и при перебоях в электроснабжении, во всех центрах имеются источники бесперебойного питания и аварийные дизельные генераторы. Таким образом, во время природных катаклизмов работа Ооой!е не нарушится, хотя производительность и снизится. Чтобы лучше понять, почему архитектура Ооой!е стала такой, какая она есть, полезно познакомиться с механизмом обработки запроса, пришедшего в один из информационных центров.
Прибыв в центр (шаг 1 на рис. 8.36), запрос переправляется выравнивателем нагрузки к одному из многочисленных обработчиков запросов (2), а также, параллельно, в систему проверки правописания (3) и сервер контекстной рекламы (4). Параллельно выполняется поиск запрошен- ного слова на индексных серверах (5), на которых хранятся записи о каждом слове в Сети.
веры нтов Рис. 8.38. Обработка запроса в Ооод!е 684 Глава 8. Параллельные компьютерные архитектуры В каждой такой записи перечислены все содержащие это слово документы (это могут быть веб-страницы, РРР-файлы, презентации РотчегРо)пт и т, д.), Ссылки в этих списках расположены в соответствии с рейтингом страницы— параметром, который вычисляется по сложной формуле.
Принцип вычисления рейтинга держится в тайне, но известно, что большое значение имеет количество ссылок на страницу и рейтинги ссылающихся на нее страниц. Для повышения производительности индекс разбит на фрагменты, поиск в которых ведется параллельно.
Согласно этой идее, фрагмент 1 содержит все слова из индекса, и каждому слову сопоставлены идентификаторы и первых по рейтингу страниц. Фрагмент 2 содержит все слова и идентификаторы и следующих по рейтингу страниц и т. д. По мере роста Сети, каждый из этих фрагментов можно дополнительно разделить на несколько частей так, что в первой части будут первые л слов, во второй — следующие я и т.
д. Это позволяет достигать еще большего параллелизма при поиске. Индексные серверы возвращают наборы идентификаторов документов (6), которые затем комбинируются в соответствии с логикой запроса. Например: +Ь1шта «Кащэага +вапсе При таком запросе на следующий шаг попадут идентификаторы только тех документов, которые имеются во всех трех наборах. На этом шаге Ооой!е обращается к самим документам (7), извлекая из них названия, ссылки, а также фрагменты текста, окружающие запрошенные слова. Копии многих документов Сети хранятся на серверах документов всех информационных центров, на настоящее время их объем достигает сотен терабайтов. Для ускорения параллельного поиска документы также поделены на фрагменты.
В итоге, хотя для обработки запроса не требуется считывать все содержимое Сети (и обрабатывать десятки терабайтов индексов), при обслуживании рядового запроса все же приходится «переворошитьь не менее 100 Мбайт данных. После того как результаты возвращаются обработчику запроса (8), они объединяются в соответствии с рейтингом страниц. Добавляется информация о возможных ошибках правописания, если они обнаружены (9), и контекстная реклама (10). Включение в результаты запроса тех или иных ключевых слов, купленных рекламодателями (например, «гостиница», или «сашсопегэ), — это то, за счет чего бооя1е зарабатывает деньги. Наконец, результаты оформляются в формате НТМБ (НурегТехг Магкпр Гапяпайе — язык разметки гипертекста) и передаются пользователю в виде обычной веб-страницы.
Теперь, опираясь на полученные знания, мы можем изучить архитектуру Ооой!е. Большинство компаний, сталкиваясь с необходимостью поддерживать громадную и высоконадежную базу данных с колоссальным количеством транзакций, приобретают самое быстрое и надежное оборудование, имеющееся на рынке. В Соо81е поступили прямо наоборот.
Они купили дешевые персональные компьютеры со средней производительностью. Много компьютеров. Объединив эти машины, они построили самый большой в мире кластер из обычных компонентов. Главный принцип, лежащий в основе этого решения, прост — оптимизация отношения цена/производительность. Корни принятого решения лежат в экономике: обычные персональные компьютеры достаточно дешевы. Для высококлассных серверов это не так, а для больших Ьхультикомпьютеры 685 мультипроцессоров — вдвойне не так. К примеру, производительность мощного сервера может в 2 — 3 раза превышать производительность среднего ПК, а вот стоит он дороже обычно не в 2 — 3, а в 5 — 10 раз.
Конечно же, дешевый персональный компьютер гораздо менее надежен, чем лучшие модели серверов, но ведь и серверы иногда «пэдаютгь Поэтому программное обеспечение Ооой?е написано так, чтобы надежно работать на ненадежном аппаратном обеспечении. Имея в своем распоряжении отказоустойчивое программное обеспечение, уже не имеет большого значения, какова интенсивность отказов, 0,5 или 2;4 в год.
Опыт Ооой?е показывает, что за год ломаются 2 74 всех компьютеров. Более половины отказов вызваны жесткими дисками, следующей причиной являются блоки питания, а за ними следуют микросхемы памяти. ??роцессоры, после обкатки, вообще не ломаются. В действительности, основной причиной сбоев является не аппаратное, а программное обеспечение. Поэтому первой реакцией на ошибку является перезагрузка, которая в большинстве случаев решает проблему (это можно назвать электронным аналогом рецепта «две таблетки аспирина на ночь»).
В типичном современном ПК, используемом в Ооой?е, установлен процессор Репг!пш с тактовой частотой 2 ГГц, 512 Мбайт оперативной и 80 Гбайт дисковой памяти. Возможно, примерно на такой же машине ваша бабушка изредка просматривает электронную почту. Особого внимания заслуживает только микросхема Е?Ьегпег. Ее нельзя назвать произведением искусства, зато она очень дешево стоит. Компьютеры размещаются в корпусах высотой 1п (это около 5 см) и устанавливаются в вертикальные стойки, по 40 штук с передней и задней сторон. В одной стойке, таким образом, устанавливаются 80 машин, которые подключаются к Ег Ьегпет при помощи коммутатора внутри стойки.
Все стойки в одном информационном центре также подключены к Е?Ьегпег через коммутатор, а для живучести при сбоях имеются 2 избыточных коммутатора. Структура типичного информационного центра Ооой!е показана на рис. 8.37. Данные с высокоскоростной оптоволоконной линии ОС-48 поступают на два 128-портовых Е?Ьегпег-коммутатора. Аналогично к ним подключена и резервная линия ОС-12. Для подключения входных каналов применяется специальная плата, поэтому они не занимают порты ЕгЬегпег-коммутаторов. Из каждой стойки выходит четыре Е?Ьегпег-линии, две к коммутатору, показанному на рисунке слева, и две к правому. Благодаря этому система может пережить отказ любого из двух коммутаторов.
Благодаря наличию четырех линий, для потери связи со стойкой необходимо, чтобы либо вышли из строя все четыре линии, либо чтобы вышли из строя две линии и коммутатор. Имея пару коммутаторов на 128 портов и стойки с четырьмя линиями, можно соединить в сеть 64 стойки. Если считать, что в стойке 80 компьютеров, это дает суммарно 5120 машин, хотя, конечно же, никто не требует, чтобы в стойке было именно 80 машин, да и у коммутаторов может быть больше 128 портов.
Просто это — весьма характерные для кластера Ооой?е значения. Большое значение имеет также удельное энергопотребление на единицу площади. Типичный персональный компьютер потребляет около 120 Вт, что дает 10 КВт на стойку. Чтобы обслуживающий персонал мог устанавливать в стойку и извлекать из стойки компьютеры, для нее требуется не менее 3 мз пространства. 686 Глава 8.
Параллельные компьютерные архитектуры Таким образом, удельное энергопотребление составляет 3000 Вт/мз. Обычно информационные центры проектируются в расчете на энергопотребление от 600 до 1200 Вт/мз, поэтому требуется предпринимать специальные меры для охлаждения. Оптоволоконная Оптоволоконная ве линии связи для сети ОщаЬ|1 Шпекпе1 Стойка на 80 ПК Рис. 8.37. Типичный кластер Овод!е В Соей!е хорошо усвоили три правила создания и использования крупных веб-серверов, которые неплохо здесь воспроизвести. 1. Любые компоненты ломаются, и это надо учитывать. 2. Для повышения пропускной способности и доступности все должно дублиро- ваться. 3.
Необходимо оптимизировать соотношение цена/производительность. Первый пункт гласит, что программное обеспечение должно быть отказоустойчивым. Даже лучшее оборудование рано или поздно сломается, если его достаточно много, и надо программно учитывать эту возможность. Система такого размера должна переживать отказы, даже если происходят они несколько раз в неделю. глупьтикомпьютеры 687 Второй пункт указывает на то, что и программное, и аппаратное обеспечение должны обладать избыточностью. Это не только делает систему отказоустойчивой, но и повышает пропускную способность.
В случае Опоя!е сами компьютеры, их диски, кабели, блоки питания и коммутаторы многократно дублируются. Более того, дублируются в пределах одного центра фрагменты индексов и документов. Дублируются и сами информационные центры. Третий пункт является следствием первых двух. Если система должным образом реагирует на сбои, глупо покупать дорогие компоненты, такие как ЕАП)-массивы или ЯСЯ!-диски. Даже они ломаются, а тратить в десть раз больше, чтобы вдвое снизить интенсивность отказов — плохая идея. Лучше купить в десять раз больше оборудования и предусмотреть возможность отказов.