Магнитогорск – май 2008
Sun Microsystems.
Построение
масштабируемой среды
Дмитрий Романов
архитектор решений
Взгляд с двух точек
зрения:
• эффект масштабируемости
Sun и свободное ПО для
•
сетецентричной
вычислительной среды
Определение:
• Сетецентричная среда – такая среда развертывания сетевых
сервисов, когда на вопрос: «где ( на каком сервере) работает
приложение, к которому клиент или другое приложение
обращается?», - следует ответ:
• в сети …
Первый результат «освобождения»
пользователя – масштабируемость
• Пользователь получает свободу перемещения по сети и
доступа к различным системам.
• Если что-либо размещается на сети, то в большинстве
случаев это делается в расчете на привлечение
максимального числа читателей, посетителей,
пользователей, заказчиков.
• Нельзя предсказать, какой при из участков системы будет в
этих условиях испытывать максимальную нагрузку.
• Но возможно работать на платформе, которая обеспечит
требуемую (максимальную) степень масштабируемости.
Оценка линейности и предельной
емкости системы
Время выполнения
• Количество одновременно работающих задач
Выбор рабочей точки (1)
• Количество одновременно работающих задач при коэфициенте
загрузки 0,4
Выбор рабочей точки (2)
• Количество одновременно работающих задач при коэфициенте
загрузки 0,833
Выбор рабочей точки (3)
8,00E+001
7,00E+001
6,00E+001
5,00E+001
4,00E+001
3,00E+001
2,00E+001
1,00E+001
0,00E+000
0,00E+000 2,00E-001 4,00E-001 6,00E-001 8,00E-001 1,00E+000
• Кривая выбора рабочей точки при вероятности невыхода из режима
линейности 99,9%
Выбор рабочей точки (4)
• Если для четырехроцессорного сервера при работе с
некоторым приложением Nmax = 7,6 и уровень загрузки
равен, соответственно 35%, то для 64-процессорной
системы мы можем экспериментально или иным образом
определить Nmax. Предположим, что он равен 76 (что
заведомо меньше 7,6 * 16). Тогда по этому значению Nmax
мы можем определить предельно возможный уровень
загрузки для 64х процессорного сервера: 0,92. Это
означает, что данный сервер не только обеспечит в
среднем 16-кратное увеличение скорости выполнения
заданий, но и позволит увеличить плотность потока
заданий в 0,92 / 0,35 раз. Это эквивалентно росту уровня
производительности системы в 42 раза.
Эффективная операционная система
120 Линейное масштабирование
даже на 100% загрузке!
Linear Scaling
100 SCM App 88x on 104
SpecJBB 99x on 104
80 DSS Query
Cmplx DSS Long Scaling History
Speedup
Linpeak 102x on 104
64-way Starfire
60 Sun's Examples:
HR Batch
Amdocs OLTP 62.0x
Oracle DSS 61.8x
40
SAP App serv 60.9x
Neovista 59.2x
20 DB2 DSS 56.7x
0
0 10 20 30 40 50 60 70 80 90 100 110
# Processors
Сегодняшние тенденции
Стоимость сервера
$/yr
Сегодня
Стоимость энергии
Time
Низкая загрузка – пустая трата энергии
160 на 10% загрузки
в 5 раз менее Watts
140 эффективно! Watt/perf
Ватты и ватты/произв.
120
100
Реальная
80 на 30% загрузки
в 2 раза менее эффективность
60 эффективно! при загрузке
выше 60%!
40
20 Консолидация
поднимает уровень
0
0 10 20 30
загрузки 60
40 50 70 80 90 100
%Загрузка
Что такое
КПД компьютера?
Space, Watts and Performance (SWaP)
Новая метрика эффективности для серверов
“SWaP is an objective three-
dimensional metric that
provides a more
comprehensive and realistic
way to assess today’s
servers.”
Performance
“Benchmarking the energy
efficiency of IT systems can help
Space*Watts customers make better
purchasing decisions....need for
greater performance and the
rising cost of energy and real
www.sun.com/swap estate.”
К чему приводит модель 1/1/1?
N приложений
Приложение требуют
N копий ОС
ОС и
N серверов
в вашем ВЦ
Сервер
НЕ СЧИТАЯ СЕРВЕРОВ ДЛЯ РАЗРАБОТКИ И ТЕСТИРОВАНИЯ!
Нужна ли консолидация?
Development servers Test servers Production servers
FreeBSD
Infrastructure servers
FreeBSD
Не всегда удобно запустить несколько
приложений на сервере:
• Приложения будут конкурировать за ресурсы
сервера: процессор, память, ввод/вывод
• Приложения будут конкурировать за ресурсы ОС
> файлы: журналы, временные, конфигурационные
etc.
> устройства: сетевые порты и т.п.
• Проблемы безопасности, совместимости?
• Изоляция аппаратных сбоев?
• Разные требования к ОС: патчи, версии и т.п.
Различные методы виртуализации решают различные проблемы
Dynamic System Domains: виртуализация
в системах Sun с 1997 г.
Динамические системные домены
• Плюсы
> 100% аппаратная изолированность
> Динамическая реконфигурация
> Нулевые накладные расходы
• Минусы
> Возможно потребуется перенастройка
приложений при изменении размеров
домена
• Рекомендуется
> Для крупного деления систем
> Для физической (и электрической)
изоляции разделов
Категории виртуализации серверов
Аппаратные Виртуальные Виртуализация ОС Управление ресурсами
разделы машины
App
OS
Server
Несколько ОС Одна ОС
Больше гибкости Больше изоляции
> Высокая готовность > Миграция на лету > Масштабируемость и > Маштабируемость и
> Масштабируемость > Разные типы и низкие накладные низкие накладные
> Проверенная технология версии ОС расходы расходы
> Разные версии ОС > Разделение > Один образ ОС > Один образ ОС
программного и > Миграция на лету > Уапрвление ресурсами
аппаратного > Разделение управления
уровней приложениями и ОС
> Управление ресурсами
Логические домены
Solaris или
Linux в File Web Mail
качестве Server Server Server Application
гостевых ОС
Solaris или OS
Linux как
управляющий
домен
“Ультралегкий” Server
Hypervisor
встроен в
микрокод Sun Fire CoolThreads Servers
Контейнеры Solaris
Изолированные операционные среды: файлы,
пользователи, процессы, сеть
Администри- Calendar Database Web
Application
рование Server Server
системы
изолировано
от
приложений
OS
Виртуализация
встроена в
ядро
Server
Очень
низкие
накладные
расходы
Контейнеры Solaris 10
Пример
global zone (v1280-room3-rack12-2;
129.76.4.24)
global zone root: / web zone app_server zone database zone
zone root: /zone/web zone root: /zone/app zone root: /zone/mysql
Environment
Application
system services 15 web service project 60 jes project 70 mysql project
(patrol) (Apache 1.3.22) (j2se) (mysqld)
audit services 10 crypto project 0 app users proj 20 dba users proj
(auditd) (ssl) (sh, bash, prstat) (sh, bash, prstat)
security services 5 proxy project 20 system project 10 system project
(login, BSM) (proxy) (inetd, sshd) (inetd, sshd)
console
hme0:3
hme0:1
hme0:2
zcons
zcons
zcons
Platform
ce0:3
ce0:1
ce0:2
ce1
/usr
ce0
/usr
/usr
/usr
Virtual
10 60
zoneadmd zoneadmd zoneadmd
default pool
(1 CPU; 4GB) pool1 (7 CPU; 3GB), FSS pool2 (4 CPU; 5GB), FSS
zone management (zonecfg(1M), zoneadm(1M), zlogin(1), ...)
core services remote admin/monitoring platform administration
(inetd, rpcbind, sshd, ...) (SNMP, SunMC, WBEM) (syseventd, devfsadm, ifconfig, metadb,...)
storage complex
network device network device network device
(hme0) (ce0) (ce1)
Пулы ресурсов в Solaris
• Приложениям может быть определенное число
процессоров
• Гранулярность:
> 1 процессорное ядро для UltraSPARC IV+ или x64
> 1 виртуальный процессор (hardware thread) для
UltraSPARC T1 и T2, до 64
• Администратор может определять правила
> например, мин. 2 процессора, макс. 8 процессоров
> процессоры могут назначаться динамически в
зависимости от нагрузки
> сумма максимумов может быть больше общего числа
процессоров
Solaris Containers на UltraSPARC T1
8 Cores = 32 Hardware threads
Apache 1.3 Apache 2.0
Mail
Эффективный процессор
Single Threaded
Загрузка процессора UltraSPARC T1
Performance Многопотоковая
(Niagara-I): до 85% производительность
Поток 4 C M C M C M
Поток 3 C M C M C M
Поток 2 C M C M C M
Поток 1 C M C M C M
Время
Доступ к памяти Вычисления
64 Hardware Threads
Dual- Dual- Dual- Dual-
channel channel channel channel
До 8 восьмипотоковых ядер FB-DIMM FB-DIMM FB-DIMM FB-DIMM
•
SPARC V9
• 4 контроллера памяти
Memory Memory Memory Memory
Контроллер PCI-Express controller controller controller controller
•
L2$ Bank
L2$ L2$
L2$ Bank
L2$ L2$
L2$ Bank
L2$ L2$ L2$ Bank
L2$ L2$
Bank Bank Bank Bank Bank Bank Bank Bank
• 2 контроллера 10 Гбит Crossbar
Crossbar
Ethernet 16
KB
8I$
KB
16
KB
8I$
KB
16
KB
8I$
KB
16
KB
8I$
KB
16
KB
8I$
KB
16
KB
8I$
KB
16
KB
8I$
KB
16
KB
8I$
KB
Мощность: Отладка и оптимизация в реальном • x64
времени
• Predictive self-healing Поддержка
> Автоматическая диагностика и производителей
восстановление
• Sun
Containers (Zones), Logical Domains,
IBM
•
Sun xVM •
> Консолидация, изоляция, управление • HP
ресурсами
• Dell
• ZFS
> Практически неограниченная Открытый код
масштабируемость
> Практически гарантированная • OpenSolaris
сохранность структуры данных
Двухуровневая модель релизов
One Solaris Platform, Two Delivery Mechanisms
• Уровень предприятий • Web - экономика
• Высочайшее качество • Последние инновации в
поддержки Solaris
• Жизненный цикл из • Частый выпуск релизов
расчета 3 – 5 лет, с
ежеквартальными
обновлениями
Solaris для разработчиков
OpenSolaris как дистрибутив:
Проект Indiana
• Основные черты Preview
> Упрощенная инсталляция Available
> Пакет сетевого управления
> ZFS по умолчанию
• Предварительный релиз для
разработчиков
> 10000 скачиваний за первую неделю
• Полный дистрибутив – лето 2008
opensolaris.org
Sun и открытые коды
Два типа лицензий
Коммерческий Открытые
дистрибутив коды Сообщества
Соглашение с Sun Лицензионное
соглашение:
(GPL, CDDL, LGPL)
Solaris 10 OpenSolaris opensolaris.org
StarOfficeTM OpenOfficeTM openoffice.orgTM
Java ME OpenJDKTM java.net
Бизнес-модель Sun
Свободное и Что продает Sun?
открытое
• Исходные коды • Подписка
• Исполняемые коды > Поддержка
> Обучение
• Основы обучения > База знаний
• Поддержка систем > Обновления и патчи
безопасности • Коммерческая лицензия
• Программы • Серверы, системы
разработчиков хранения, сервис
TM
GlassFish Application Server
Для web-экономики
http://beta.glassfish.java.net:81/maps/
• 4 миллиона загрузок с
июля 2006 до января
2008
• Десятки сообществ
• Более 7000 участников
• Используется для
обеспечения работы с
критическими
приложениями
Sun Application Server
• Коммерческая реализация Надежное, быстрое, и
GlassFish эффективное
• Application Server развертывание
> Снижение расходов
> Открытая разработка Peerflix заменил .NET Web
> Миграция BEA/IBM платформу
• Поддержка цепочек продуктов •Запуск сайта с улучшенными
> IdM/CAPS – JES – GlassFish характеристиками
• Телекоммуникации •Повышение качества взаимодействия с
> Стандартный app. server заказчиками
> Mobile Enterprise Platform •Нет внеплановых простоев
• Безопасный/быстрый •Снижение стоимости
• Связь с открытыми кодами
> AMP + Java + Solaris
NetBeans для web-экономики
• 4,5 миллиона загрузок
за год
• Более 500000
активных
разработчиков
• Многоплатформенная,
много-языковая,
много-скриптовая,
включая Ruby и JRuby
• Создает быстрый
код как для Intel, так и
для SPARC
• HPC
Где встречаются разработчики
Sun Developer Network Project KenaiTM
• 3 миллиона участников • Социальная сеть для
> 1000000 новых членов за 2007
разработчиков
Бесплатное средства разработки
Среда для «обитания»
•
•
Скидки на обучение, поддержку,
приложений
•
книги, оборудование
• Доступ к технической • Полный набор услуг
информации SunTech Days и систем хранения
JavaOneTM Online
• Участие в форумах
> http://developers.sun.com
> http://java.net
MySQL
• 11 лет развития
• 400 сотрудников
• 750 партнеров
• 50000 загрузок в день
• Заказчики - везде
Leadership, innovation, market acceptance
MySQL — икона Open-Source
• MySQL это...
> Литера “M” в LAMP
(Linux, Apache, MySQL, and
PHP)
> Самая распространенная и
быстрорастущая СУБД
> Работает на Windows, Linux,
Solaris™, и Mac OS
> Принята на HP, Dell, IBM, Sun,
и Fujitsu
> Развернута практически на
всех предприятиях!
World's most popular open-source database
MySQL и Sun: наши заказчики
Web 2.0 Системы
Хостинг предприятий
Встроенные Телеком
системы Финансы
HPC
Правительства
Различия и симбиоз
Sun:
Обеспечение
•
масштабируемости
Взаимодействие и вклад в
•
сообщества свободного ПО с
целью создания
востребованной платформы
для сетецентричной
вычислительной среды