Академический Документы
Профессиональный Документы
Культура Документы
Оглавление:
П. Осика, В. Пантюхин
горизонтальные
Горизонтальная и вертикальная архитектуры компьютеров... 5
Вертикальная архитектура ....................................................... 6
Горизонтальная архитектура ................................................... 6
Сравнение вертикальной и горизонтальной архитектур ... 8
архитектуры
Диагональная архитектура ..................................................... 11
Производительность ......................................................................... 11
Процессоры и интерконнект ................................................... 12
Система ввода-вывода ............................................................. 12
Операционная система ............................................................. 13
Доступность системы................................................................ 13
Оптимизация приложений ...................................................... 13
Сайзинг приложений ........................................................................ 14
Уровень базы данных. .............................................................. 15
Уровень приложений................................................................ 18
Уровень представлений. .......................................................... 19
TCO приложений в горизонтальных и вертикальных системах.
............................................................................................................... 20
Пример 1: ................................................................................ 22
Пример 2: ................................................................................ 23
Сравнение уровня доступности вертикальных и
горизонтальных систем.................................................................... 25
Пример 3: ................................................................................ 27
Консолидация..................................................................................... 28
Варианты многоуровневой реализации........................................ 30
Приведи свои мозги в порядок …
Rev. 0.9
Санкт-Петербург 2005
2
Введение
Вертикальная 2-уровневая ...................................................... 30 На протяжении нескольких последних лет в центрах обработки
Вертикальная 3-уровневая ...................................................... 31 данных (ЦОД) развивается тенденция появления комплексов,
Горизонтальная 3-уровневая .................................................. 32 состоящих из малых горизонтально-масштабируемых серверов.
Сравнение TCA горизонтальной и вертикальной 3- Стало модно рассуждать о простоте реализации, неограниченной
уровневых реализаций.......................................................... 33 масштабируемости и низкой стоимости внедрения и обслуживания
Диагональная 3-уровневая ...................................................... 34 таких систем. С точки зрения многих администраторов ЦОД,
Сравнение TCA диагональной и горизонтальной 3- позиции классических вертикально-масштабируемых средних и
уровневых реализаций.......................................................... 35 «тяжелых» систем заметно пошатнулись. В тоже время, рынок
Выводы. ............................................................................................... 36 таких систем говорит об обратном. Например, по данным IDC,
продажи серверов среднего уровня (от 25.000$ до 250.000$) только
за вторую половину 2005 года выросли на 15,6%, а продажи
серверов класса hi-end (стоимостью выше 500.000$) выросли на
19,2%.
Многоуровневая архитектура
Большинство современных приложений, используемых в центрах
обработки данных, в той или иной мере реализуются в рамках, так
называемой, многоуровневой архитектуры (multi-tiers
architecture). Модель разделения на несколько уровней
обеспечивает эффективный способ организации распределенных
задач и методологию их реализации в соответствием с
необходимым уровнем сервиса и выполняемой роли в ЦОД.
3 4
Вертикальная архитектура
Вертикальная архитектура обычно реализуется с использованием
многопроцессорных (больше 4 CPU) SMP серверов. В них только
один экземпляр операционной системы и единые подсистемы
памяти и ввода-вывода (см. рис. 2). Обычно все эти компоненты
размещены внутри одного корпуса. Общий интерконнект обладает
низкой латентностью и высокой пропускной способностью.
Ресурсы добавляются с помощью увеличения количества плат в
сервере.
Рисунок 1
7 8
Правда стоит заметить, что широко
распространяются архитектуры, использующие более одной Серверы приложений
ОС в сервере, например доменная архитектура или системы Распараллеливаемые
виртуальных контейнеров. (partitionable)
высокопроизводительные
• Большая часть компонентов вертикальных систем являются
системы инженерно-
стандартными и широко распространены, но некоторые
технических расчетов (HPTC)
ключевые для производительности и надежности
Таблица 2
компонентs, такие как интерконнект, являются
проприетарными. На рынке систем высокопроизводительных инженерно-
• Вертикальная система может масштабироваться технических расчетов (High Performance Technical Computing,
добавлением памяти, процессоров, плат ввода-вывода, а HPTC) существует много приложений, имеющих большое
горизонтальная система расширяется только за счет количество взаимозависимых потоков которые постоянно
добавления узлов. взаимодействуют друг с другом. Также существуют задачи,
• Современные вертикальные системы, как правило, 64 требующие огромное количество разделяемой памяти.
разрядные, тогда как горизонтальные системы могут быть Приложения, которые обрабатывают большие объемы данных
как 32 так и 64 разрядные. множества пользователей и требуют эффективного
масштабирования на уровне внутреннего взаимодействия больше
Для вертикальных и горизонтальных систем можно выделить подходят для вертикальных серверов (см. рис. 3).
приложения, которые наилучшим образом подходят для этих
архитектур. Они приведены в таблице 2.
11 12
может быть причиной снижения производительности Сайзинг приложений
даже при быстрых интерконнекте и процессорах. Как уже было сказано, большие SMP системы имеют быстрый
интерконнект и, как следствие, более высокую комплексную
Операционная система производительность. В горизонтальных системах также можно
Даже замечательный по своим аппаратным характеристикам сервер получить приемлемую производительность. Для этого приложения
может понизить свою производительность из-за плохо на узлах кластера должны работать независимо (или слабо
масштабируемой операционной системы. С тех пор как в 1993 году взаимодействуют друг с другом) и минимально использовать
технологии Cray Research сервера CS6400 были приобретены Sun и высоколатентный, достаточно медленный интерконнект.
портированы на популярный 64-процессорный сервер E10K,
операционная система Solaris является бессменным лидером На рисунке 5 представлена горизонтальная архитектура с 4-х
масштабируемости. процессорными узлами. Каждый узел имеет свою независимую
память и систему ввода-вывода. Интерконнект реализован на
Доступность системы интерфейсах GBE.
Доступность (availability) системы зависит от выбранной
архитектуры. В системах с вертикальной архитектурой, функции
повышения доступности обеспечивается внутри самой системы.
Большие SMP серверы гарантируют работоспособность при 2-4
аппаратных сбоях. В комплексах с горизонтальной архитектурой
каждый сервер может иметь небольшой уровень доступности, но,
при этом, общая доступность всей системы увеличивается, так как
отказоустойчивость всего кластера пропорциональна количеству
его узлов.
Оптимизация приложений
Приложения, которые используют вертикальные и горизонтальные Рисунок 5
архитектуры серверов должны быть специально спроектированы
Слабая нагрузка (красная) может распределяться внутри одного
или настроены. Без того, эффект от применения соответствующих
узла. Значительная нагрузка (сиреневая и зеленая) требует
систем может не дать ожидаемого результата. Большинство
распределения по нескольким узлам. В этом случае ключевую роль
основных коммерческих приложений уже адаптировано под
играет интерконнект, который будет заметно влиять на
вертикальные архитектуры серверов. Этим объясняется
производительность. Следовательно, идеальной нагрузкой для
доминирование SMP серверов в последнее десятилетие и большой
горизонтальной системы будет та, которую сможет выдержать
потенциал их использования в ближайшем будущем. Адаптация
один узел.
приложений под кластерные горизонтальные архитектуры имеет
значительные трудности.
13 14
На рисунке 6 представлена вертикальная SMP Относительная производительность (speedup)
архитектура с большим количеством CPU, объемом разделяемой приложения на многопроцессорном SMP сервере определяется тем,
памяти и высокоскоростным интерконнектом. во сколько раз оно работает быстрее, утилизируя все процессоры
сервера по сравнению с аналогичной однопроцессорной системой.
Если на 40 процессорах приложение работает в 40 раз быстрее, чем
на одном, то мы наблюдаем линейную относительную
производительность. Speedup не всегда зависит от количества
процессоров, например, когда скорость работы приложения на 24
процессорах такая же как и на 48. Термин кластерная
относительная производительность (cluster speedup) является
характеристикой комплексной производительности кластерного
приложения и зависит от количества узлов.
Рисунок 6 Коэффициент масштабируемости (scaling efficiency) обычно
определяется способностью приложения использовать все
Эта архитектура прекрасно работает как с малой, так и с большой
имеющиеся процессоры или узлы кластера. Коэффициент
нагрузкой. Каждый процессор имеет доступ к разделяемой памяти,
масштабируемости SMP сервера определяется как отношение
любому диску и сети.
speedup к количеству процессоров. Соответственно, в случае
Можно ли использовать эту архитектуру для большого количества
кластера, scaling efficiency определяется как отношение cluster
приложений с небольшой нагрузкой? Конечно да. Но позже мы
speedup к количеству узлов. Стоит отметить, что значение
увидим, что стоимость такой SMP системы в пересчете на 1
коэффициента масштабируемости зависит от общего количества
процессор гораздо выше, чем у небольших систем. Поэтому такие
его узлов, т. е. этот параметр имеет различные значения, например,
системы целесообразнее использовать для «тяжелых» критичных
для 2-узлового и 4-узлового кластеров.
приложений.
Графики, изображенные на рисунке 7 показывают, что существует
Далее рассмотрим производительность 3-х уровневой архитектуры
вполне конкретный предел масштабируемости. Объединение
приложений.
большого количества маленьких серверов не обеспечивает
масштабируемости, необходимой для «тяжелых» приложений.
Уровень базы данных.
Причинами такого поведения являются ограничения по пропускной
Что же все-таки лучше использовать для БД, один большой SMP
способности интерконнекта, накладные расходы базы данных на
сервер или кластер из нескольких небольших серверов? Сначала
управление кластером и сложности разработки эффективного для
определимся с основными терминами.
горизонтальных архитектур ПО.
В тоже время, этот параметр в тестах с Oracle9i RAC уже при двух
4-процессорных узлах равен 90% (1.8 speedup / 2 узла), а при 18 где
узлах снижается до 30% (6 speedup / 18 узла. Также стоит “se” - коэффициент масштабируемости
учитывать, что в качестве примера взяты лучшие показатели тестов “n” - количество узлов
RAC.
Соответственно, решения на базе Oracle9i (не RAC) для SMP
серверов с количеством процессоров больше 24 является более
предпочтительным по сравнению с кластерами RAC. Для такой же
относительной производительности как у одного 24-процессорного
сервера SMP потребовалось бы тринадцать 4-процессорных
серверов.
Уровень приложений
Характеристики уровня приложений в центрах обработки
существенно отличаются от уровня баз данных. Как правило,
приложения этого уровня не отслеживают сессии взаимодействия с
Рисунок 7 пользователем (stateless) и, соответственно, сохраняют меньше
данных на сервере. Транзакции, которые приходят с уровня
Результаты тестов полностью соответствуют известному закону представлений обрабатываются в соответствии с бизнес-логикой и
Амдала (Amdahl's Law). Этот закон может использоваться для перенаправляются на уровень баз данных. Сервер приложений
экстраполяции параметра speedup при большом количестве обычно объединяет несколько запросов к базе в одну транзакцию,
процессоров. что существенно снижает накладные расходы.
На основании того, что относительная стоимость приобретения Наиболее часто используемой кластерной базой данных для Solaris
($/CPU) у горизонтальных систем заметно ниже чем у является Oracle 9i RAC. Использование RAC нуждается в
вертикальных, можно говорить, что горизонтальная архитектура соответствующих лицензиях. Для всех систем независимо от
для этого уровня более предпочтительна. Но, учитывая размера стоимость основной лицензии базы данных составляет
дополнительную стоимость управления и обслуживания большого 40000$/CPU (цены U. S. на апрель 2003 г.). Опция RAC стоит
количества серверов и экземпляров операционной системы, 20000$/CPU. Кроме того, часто требуется дополнительная опция
тонкости лицензионной политики производителей ПО серверов базы partition, которая значительно ускоряет работу с большими
приложений, а также сложность резервного копирования и объемами данными. Итого, стоимость Oracle RAC равна
восстановления горизонтальных систем, делает преимущества 70000$/CPU против 40000$/CPU для базы Oracle на SMP сервере.
стоимости неочевидными. Поэтому наиболее эффективно
производить сравнительный анализ возможных вариантов в Существует простой инструмент для подсчета и сравнения цен
каждом конкретном случае. TCA Oracle для SMP серверов и Oracle RAC одинаковой
относительной производительности. Он называется RAC Calculator.
Уровень представлений. Для подсчета требуются следующие параметры:
Уровень представлений – это точка доступа для сервисов уровня • название/модель SMP сервера
приложений. На этом уровне доминируют такие сервисы, как web, • количество процессоров SMP сервера
proxy, VPN, файерволы. Эти приложения масштабируются слабо. • цена по прайсу SMP сервера
Они не отслеживают сессии взаимодействия с пользователем • название/модель узлов кластера
(stateless) и обычно просто передают запросы на уровень
19 20
• количество узлов кластера стоимости SAN, но в стандартных расчетах она
• отношение производительностей процессоров, приравнивается к нулю. Рассмотрим несколько примеров:
используемых в кластерных узлах и SMP сервере
• цена/CPU Oracle 9i Пример 1:
• цена/CPU опции RAC В этом примере серверы Sun Fire 4800 и 6800 сравниваются c
• цена/CPU опции partitioning кластером, узлами которого является серверы Sun Fire v480 (см.
• процент скидки для SMP сервера таб. 3).
• процент скидки для узла кластера
• процент скидки для Oracle Сервер Процессоры Память Параметры расчета
Sun Fire v480 4 x 900MHz 8GB RAM 90% scaling
• процент масштабирования (scalability percentage) UltraSPARC-III 10% decay
• процент уменьшения производительности (decay), 50% скидка Oracle
связанный с добавлением каждого нового узла 20% скидка сервера
Sun Fire 4800 12 x 900Mhz 20GB RAM 90% scaling
UltraSPARC-III 10% decay
Формула вычислений: 50% скидка Oracle
40% скидка сервера
Sun Fire 6800 20 x 900Mhz 32GB RAM 90% scaling
UltraSPARC-III 10% decay
где: 50% скидка Oracle
sp – процент масштабирования 40% скидка сервера
de – процент уменьшения производительности Таблица 3
n – количество узлов
Результат вычислений показан в таблице 4.
Отметим, что, так как параметр de не зависит от количества узлов,
то слагаемое sp-(n-2)de стремится к нулю и каждый новый / SF4800 SF480 SF6800 SF480
добавленный узел вносит все меньший вклад в общую CPU 12 16 20 32
производительность. Количество узлов, которые вносят вклад в Кол-во узлов 1 4 1 8
Стоимость
увеличение производительности, определяется как n=sp/de. аппаратной 229.680$ 172.000$ 346.360$ 345.600
Соответственно, чем больше sp и/или меньше de, тем больше части
эффективных узлов может быть в кластере. Стоимость
программного 240.000$ 560.000$ 480.000$ 1.120.000$
После подсчета количества узлов и процессоров RAC Calculator обеспечения
Общая
подсчитывает TCA, используя прайс-лист и скидки. Эту величину стоимость
469.680$ 732.000$ 826.360$ 1.465.600$
он рассчитывает для обоих вариантов (SMP и кластер) с учетом Таблица 4
стоимости железа, софта и интерконнекта. Существует опция учета
21 22
На рисунке 8 показана гистограмма распределения Xeon 4x 1.5GHz и SF480 показывают приблизительно
стоимости SMP системs SF4800 и 4-узлового кластера на SF480. одинаковую производительность. В качестве операционной
Для SMP сервера характерна высокая цена аппаратной части и системы платформы x86 используется Linux.
приемлемая цена лицензий Oracle. К тому же, в этом варианте Ниже приводятся параметры серверов Dell 6600:
отсутствуют затраты на интерконнект. Для кластерной
архитектуры характерны низкая стоимость аппаратной части и Сервер Процессоры Память Параметры расчета
высокая стоимость лицензий Oracle RAC. Dell 6600 4 x 1.5GHz Xeon 8GB RAM 90% scaling
10% decay
50% Oracle discount
20% Dell 6600 discount
Sun Fire 4800 12 x 900Mhz 20GB RAM 90% scaling
UltraSPARC-III 10% decay
50% скидка Oracle
40% скидка сервера
Sun Fire 6800 20 x 900Mhz 32GB RAM 90% scaling
UltraSPARC-III 10% decay
50% скидка Oracle
40% скидка сервера
Таблица 5
23 24
Сравнение уровня доступности При увеличении уровня доступности решения
вертикальных и горизонтальных систем. увеличивается его цена и сложность, поэтому люди, принимающие
Доступность является одной из наиболее важных характеристик решения о выборе реализации той или иной схемы, должны
современных центров обработки данных. Многие важные сервисы, проанализировать все аспекты решения и цену каждого из них.
предоставляемые приложениями, должны быть доступны
пользователям в режиме 7x24x365. Существуют различные схемы На рисунке 9 видно, что доступность кластерных систем выше, чем
обеспечения высокой доступности в центрах обработки данных. у многопроцессорных серверов. Но стоит понимать, что зачастую
Выбор той или иной схемы зависит от требований к конкретным для центров обработки данных вполне достаточно уровня
сервисам (плановое и неплановое максимальные времена простоя) доступности 99.95% (около 4 часов простоя в год). Такой уровень
и цены решения. Рисунок 9 показывает зависимость уровня доступности могут обеспечить многие современные SMP серверы,
доступности от времени простоя для различных вариантов обладающие высоким показателем RAS.
решений: Повысить уровень доступности вертикально масштабируемого
комплекса до 99.975% можно при помощи использования кластера
высокой готовности (high availability, HA). Это решение, как
правило, построено на двух серверах, один из которых является
продуктивным, а второй находится в режиме постоянной
готовности (hot standby). При выходе из строя продуктивного
сервера приложение перезапускается на резервном сервере. Время
переключения зависит от используемого приложения. Для баз
данных оно обычно составляет несколько минут, так как для них
необходимо дополнительное время на «накатку» пропущенных
транзакции на резервном сервере. Статистика показывает, что
около ¾ всех кластеров в мире составляют кластеры HA.
27 28
Solaris 10. Совместно с возможностью динамической
реконфигурации (Dynamic Reconfiguration, DR) системных
доменов эти функции обеспечивают необходимый уровень
автономности, а соответственно безопасности и надежности, при
эффективной утилизации общих ресурсов.
Вертикальная 2-уровневая
Рисунок 11 Реализация вертикальной 2-уровневой архитектуры подразумевает
установку базы данных и сервера приложений на одном сервере
Однако, возможность эффективно запускать несколько или системном домене (см. рис. 12). При этом, используется только
экземпляров приложений на одном сервере требует наличия один экземпляр ОС, что приводит к низким затратам на
специальных функций распределения ресурсов в оперативной администрирование.
системе. Примерами такого функционала являются Resource
Manager в Solaris 9 (S9RM) и контейнеры (Grid Containers) в
29 30
Рисунок 12
31 32
Рисунок 14
33 34
Рисунок 16
35 36
Рисунок 18
37 38
Vasily.Pantyukhin@lynx.ru
Санкт-Петербург 2005
39 40