Архитектура Azul Systems Евгений Кузаков Руководитель направления ЦОД ekuzakov@amt.ru JAVA – бизнес-платформа №1 2 JAVA – бизнес-платформа №1 Параллельная обработка Производительность данных Большие объемы данных Ограничения по памяти Невозможность гарантировать SLA Надежность Ресурсоемкость, Коммерческая ориентированность раздутие архитектуры ПлатформонезависимостьСложная настройка 3 Azul Compute appliance - NAP Единственный в индустрии аппаратный Pauseless Garbage Collector, позволяющий работать со структурами данных >2ГБ Моментальное перераспределение ресурсов дает возможность предоставлять гарантированный SLA Прозрачная синхронная выгрузка с Linux, Solaris, HP/UX, IBM AIX и Windows Одновременная работа приложений на Java 1.4, 1.5 и 1.6 Технологии, позволяющие сочетать мощность, небольшие размеры и низкое энергопотребление 4 AZUL – JVM в кремнии • 54-х ядерный процессор • До 16-ти процессоров • Управление распределенной памятью • До 864 ядер и 768 Гб ОЗУ в одном устройстве • Поддержка на аппаратном уровне: – Garbage collector – Управление памятью – Optimistic thread locking («оптимистичный алгоритм блокировки») 5 Аппаратные компоненты Azul ОЗУ ECC Транзакционная память Chipkill Scrubbing Processing Complex • ECC caches • ECC interconnects Power Supplies • N+1 • Hot Pluggable Fat Assemblies • N+1 • Hot Pluggable Network Processors • Redundant system monitoring • Predictive fault notification • Dynamic reconfiguration around failure До 16 процессоров и 864 ядер 15 перекрестных связей между процессорами Сетевой процессор Двойной гигабитный Ethernet-канал 7 Сетевой процессор Двойной гигабитный Ethernet-канал Уровень представления данных Вычислительный App Server уровень Hosts Azul VM Software Суперкомпьютер Azul 8 Уровень хранения данных Классическая архитектура Главный компьютер Java Application Classes Application Server Classes J2SE Classes (Java API) JVM Network I/O File OS I/O calls Native Libraries “mylib.so” Operating System 192.168.0.43 Storage Config.xml NFS Web Server 9 TCP/IP Networking Database Использование Azul Суперкомпьютер Azul Главный компьютер Java Application Classes Application Server Classes J2SE Classes (Java API) Virtual Machine Engine JNI calls File, Network I/O calls OS calls Azul VM Virtual Machine Proxy Engine Network Interface I/O Proxy Interface Operating System 192.168.0.44 192.168.0.43 Сеть Web сервер 10 File OS I/O calls Native Libraries “mylib.so” Хранилище Config.xml NFS (Сетевая файловая система) База данных Возможности Azul: Pauseless Garbage Collection Performance Impact Complexity Impact Java Pause Time Comparison Derivatives Trading Application Native Configuration -Xms2g -Xmx2g -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:TargetSurvivorRatio=80 -XX:CMSInitiatingOccupancyFraction=85 -XX:SurvivorRatio=8 -XX:MaxNewSize=320m -XX:NewSize=320m -XX:MaxTenuringThreshold=10 Azul Configuration -Xms3g –Xmx3g 29 33 31 37 35 41 39 45 43 49 47 53 51 57 55 61 59 65 63 69 67 73 71 77 75 81 79 85 83 89 87 93 91 97 95 101 99 103 105 109 107 113 111 117 115 119 121 125 123 127 Возможности Azul: Оптимистичная конкуренция «нитей» optimistic thread concurrency (OTC) • • • Предполагается, что конкуренции за разделённый сегмент памяти никогда не происходит Если таковое случается, то происходит откат (происходит аппаратно – «бесплатный» rollback) Это возможно за счёт использования транзакционной памяти Возможности Azul: Azul Virtual Machine (AVM) • Большой объём памяти • • 32Bit AVM: 6Гб 64Bit AVM: 600Гб До 600Гб на приложение! Возможности Azul: Compute Pool Manager(CPM) CPM: Эффективное управление ресурсами VM Engine Application Hosts VM Proxy VM Proxy VM Proxy VM Proxy CPM Policy Server* CPM Console Server VM Engine Compute Pool Domain VM VM Engine Engine Аппаратное разделение приложений Гарантированные резервные ресурсы для приложений Обеспечение «совместных» ресурсов (память и ядер) при высокой нагрузке Управление политиками QOS 14 Возможности Azul: Compute Pool Manager(CPM) • Управление Azul Compute Appliances • • • • Мониторинг производительности • • • Активация и деактивация аппаратных ресурсов Мониторинг жизнедеятельности системы Внешняя интеграция (SNMP, LDAP) Утилизация ресурсов Azul Applicance Ресурсы приложений Управление выделением ресурсов • • • Создание политик по размещению ресурсов Динамическое изменение политик OutOfMemoryException? Возможности Azul: DirectPath – уменьшение сетевых «хопов» Before: After: Servers Serversonly busy route routing external packets packets Proxy servers Web Tier VM VM Proxy Proxy VM Proxy Database Tier After: 0-1latency hop network Before: of 2-3 network hops per message latency App App Instance Instance A B App Instance C Azul Compute Appliances Возможности Azul: DirectPath “Initiate” Proxy servers Web Tier VM VM Proxy Proxy App App Instance Instance A B VM Proxy App Instance C Azul Compute Appliances Database Tier • Base TCP/IP communication mechanism • Type 4 jdbc drivers • Oracle, etc. • Java based messaging products • TIBCO EMS • AMQP Возможности Azul: VM to VM I/O With Aztek DirectPath JVM Proxy 2 JVM Proxy 1 Proxy Host 2 Proxy Host 1 Single Appliance AVM 2 AVM 1 Client side Server side • Connect • Accept • Write/Read (shared mem) • Read/Write (shared mem) 150Гбит! Возможности Azul: High Availability Heartbeats Возможности Azul: REALTime Performance Monitor Информация о потоках Имя класса Статус потока I/O статистика Вызовы прокси Информация о кеше Критические сессии Имя монитора Время ожидания Мониторинг ОЗУ Статистика загруженности Информация о выделенных объектах 20 Приложения, идеально подходящие для Azul • • Приложения, обеспечивающие сервисы для большого количества пользователей Большинство приложений, работающих на WebLogic, WebSphere, JBoss, etc. • • Многопоточные Java-приложения с высоким уровнем параллельности Критичные времени отклика приложения • Приложения, требующие больших размеров памяти(heap size) • Приложения, часто вызывающие паузы garbage collector’а • Шаги по большей оптимизации приложений • • Увеличение heap size для лучшего кэширования,ёмкости,производительности Модификация приложений для увеличения многопоточности Business/Economic/Ecological Value Before Azul 70 x 2-socket dual core x86 24 Sun V440 Servers After Azul Performance Benefit Power Saving s Cost Saving 55% 35% 50% 35% 45% 30% 40% higher throughput 3.5X faster response time 5x Higher throughput 18X faster response time 18.75X higher 16 Sun T2000 22 throughput 6.83x faster response time Крупная западная медиа-компания Результаты масштабирования портала 23 Sun Fire v440 Azul Количество серверов Максимальная нагрузка Время отклика Энергопотребление 30 6 200 растет с количеством пользователей > 17 кВт 6 8 000 Константа < 4,5 кВт Модернизация Неэффективное добавление дополнительных серверов. Полная замена оборудования на более мощное и значительно более дорогое Добавление дополнительных прокси-серверов Внедрения у Заказчиков 24 Подход Azul Systems: Proof of Concept Почему? • Даст Azul эффект или нет – зависит от конкретного приложения • Пилот покажет реальные результаты • «Sizing» Итоги • Гарантированное время отклика/производительность приложений – Беспаузный Garbage Collector – Optimistic thread concurrency – Compute Pool Manager • Консолидация • Сокращение операционных расходов – экономия на энергопотреблении – не требует резервного копирования – обслуживание многих серверов существенно дороже • Колоссальные возможности разработки сложных приложений – большой объём ОЗУ, доступный Java-приложениям – эффективные инструменты диагностики приложений • Простое внедрение Вопросы? Ответы Спасибо за внимание! Евгений Кузаков Руководитель направления ЦОД ekuzakov@amt.ru