Помимо уникальных физических характеристик на процессоре M7 заявлена возможность переноса части SQL-логики базы данных Oracle на специальные сопроцессоры DAX (технология “SQL in Silicon”). Таким образом, процессор M7 позиционируется как первый процессор в истории ИТ, оптимизированный под задачи Oracle Database.
В таблице 1 приведены основные характеристики процессора M7 в сравнении с процессором T5 (предыдущее поколение SPARC). В новом процессоре при частоте 4,13 гГц 32 ядра и до 256 потоков.
Табл. 1. Основные характеристики процессора M7 в сравнении с процессором T5
Характеристика процессора | T5 | M7 |
Количество ядер | 16 | 32 |
Максимальное количество потоков | 128 | 256 |
Частота (гГц) | 3,6 | 4,13 |
В начале 2016 года стало возможно тестирование серверов T-серии – наша компания одной из первых в России организовала такое тестирование в феврале-марте 2016 года. В тестировании были задействованы 2 сервера T7-2 (один из них – на территории заказчика) со следующими ресурсами:
- два процессора SPARC M7 (всего 64 ядра и до 512 потоков);
- до 1 Тб оперативной памяти;
- Solaris 11.3 в контрольном домене, различные версии Solaris в гостевых доменах, различные версии Oracle.
Тестирование было организовано в нескольких этапов:
- анализ производительности сервера T7-2;
- исследование новых возможностей виртуализации;
- использование Oracle In-Memory и изучение технологии SQL in Silicon.
Стоит отметить, что целый класс программного обеспечения разрабатывается с целью организовать синтетическое тестирование Hardware, в том числе под характерной нагрузкой со стороны базы данных. Тем не менее выбор средства тестирования является нетривиальной задачей – а зачастую именно этот выбор определяет результаты тестов и дальнейшие выводы.
При тестировании новых процессоров M7 от Oracle мы ставили перед собой задачу исследовать поведение сервера под нагрузками, близкими к максимальным. Для этого нам было необходимо свести к минимуму влияние на результаты тестов как системы ввода-вывода, так и внутренних механизмов базы данных (в данном случае Oracle Database).
Для решения этой задачи нами было значительно доработано ПО с открытым кодом – так чтобы фиксировать максимальные значения показателя Logical Reads Per Second (логическое чтение или чтение из памяти) экземпляра Oracle. Интенсивность логических чтений из памяти является важной характеристикой нового процессора, а само чтение данных из памяти является неотъемлемой частью функционирования Oracle Database.
На рис. 1 приведены сравнительные результаты, полученные на серверах T5-4 (предыдущее поколение серверов Oracle) и T7-2 (новые процессоры SPARC M7). Результаты зафиксированы в одинаковых по процессорной мощности доменах (32 ядра) при одинаковых настройках экземпляра Oracle и очень близких профилях нагрузки. На этом и последующих графиках по оси X отложено количество параллельных сессий, по оси Y – максимальное количество логических чтений в секунду согласно статистике AWR.
При одинаковом числе ядер домен сервера T7 оказался в 1,15–1,2 раза производительнее домена сервера T5. Это означает что новый процессор M7 (в котором ядер вдвое больше, чем в T5) в 2,3–2,4 раза производительнее процессоров предыдущего поколения от Oracle. Заметим, что этот результат зафиксирован на сервере T7 как в контрольном (control), так и в гостевом (guest) домене. При этом на большом количестве сессий (192 и более) в гостевом домене сервера T7 заметно влияние виртуализации: производительность оказывается на 3–5% ниже, чем в контрольном домене при тех же ресурсах.
Максимальное значение показателя Logical Reads Per Second было получено, когда контрольному домену было отдано 64 ядра (всего 512 потоков). В этом случае практически все ресурсы сервера T7-2 (ядра и память) были отданы экземпляру Oracle, и он показал 93,587,823 логических чтений в секунду. За все время тестирования серверов различной архитектуры под нагрузкой Oracle Database мы впервые зафиксировали такие высокие показатели.
Параллельно тестированию сервера T7-2 по той же методике были протестированы актуальные серверы архитектуры IBM Power и x86. На рис. 2 приведены сравнительные результаты, полученные в гостевых доменах серверов T5-4, T7-2, Power8 и E5-2660 (x86). В тестируемые домены было отдано по 16 ядер (следует отметить, что в архитектуре x86 на ядро приходится по 2 потока, при том что у SPARC и Power по 8 потоков). Максимальный результат, полученный в гостевом домене T7-2, – около 24 миллионов логических чтений в секунду – оказался лучшим. При этом на малых количествах сессий наиболее производительно показала себя архитектура x86.
Также следует отметить, что в ходе тестирования динамического перераспределения ресурсов на сервере T7-2 была обнаружена проблема так называемых «медленных тредов». Она проявляется в том, что некоторые потоки начинают работать в несколько раз медленнее при достаточно интенсивных изменениях ресурсов домена. По этой проблеме в службе поддержки Oracle был заведен Service Request с максимальным приоритетом, мы получили ответ: медленные потоки связаны с работой Power Management, который рекомендуется отключать. В ходе тестирования мы проверили этот Workaround, действительно, при отключении Power Management проблема «медленных тредов» не проявляется.
Таким образом, анализ производительности сервера T7-2 под характерной нагрузкой Oracle Database показал:
- В сравнении с T5 (процессор SPARC предыдущего поколения) производительность ядра M7 оказалась выше в 1,15–1,2 раза, а производительность всего процессора (в котором ядер вдвое больше) – в 2,3–2,4 раза соответственно. Это позволяет говорить о том, что при консолидации баз данных Oracle сервер T7-2 способен заменить более двух серверов T5-2.
- Абсолютный зафиксированный на сервере T7-2 результат в 93.587.823 логических чтений в секунду более чем в два раза превышает аналогичные результаты на других серверах (включая серверы архитектуры IBM Power и x86) – за все время тестирования под нагрузкой Oracle Database такие высокие показатели у нас получены впервые.
- Динамическое перераспределение процессорных ресурсов (ядра, потоки) и ресурсов памяти в большинстве случаев не требует остановки экземпляра Oracle, однако в ходе изучения управления ресурсами на серверах T7-2 была обнаружена проблема медленных потоков. Служба поддержки производителя предложила для нее эффективное решение.
- Результаты синтетических тестов позволяют сделать вывод о том, что даже без специальных возможностей SQL in Silicon сервер T7-2 показывает очень высокую производительность на задачах Oracle Database. С учетом достаточной гибкости управления ресурсами LDOM можно смело рекомендовать серверы на основе процессора M7 как платформу консолидации Oracle Database.
Мощности сервера T7-2 позволят минимизировать продолжительность технологических окон, во время которых производится расчет данных для аналитических систем. Тем самым обеспечивается доступность BI-системы, близкая к 24x7, что позволяет, например, обеспечить процесс оперативного формирования отчетности в финансовых и страховых организациях.
Можно привести пример высокой востребованности функционала по предоставлению актуальных данных для отчетной системы у одного из наших заказчиков. В «ЛИКАРДе» благодаря ему значительно ускоряется процесс сверки отчетных данных с информацией, получаемой от предприятий нефтепродуктообеспечения (НПО).
Итак, характеристики нового процессора M7 могут давать существенные конкурентные преимущества по производительности на задачах с большим количеством активных сессий Oracle Database. Это может быть либо консолидация баз данных Oracle, либо экземпляр базы данных Oracle с крайне высокой степенью параллелизма (например, при выполнении аналитических отчетов DWH).