Можно ли ожидать open source в «железе»?
Владимир Алексеев, IBM
В последние несколько лет на рынке аппаратного обеспечения идут активные дискуссии на тему гиперконвергентности, ухода в сторону горизонтально-масштабируемых систем и web-scale ИТ, программно-определяемых решений. Ниже мы постараемся разобраться, как все эти вещи связаны между собой, и какие подходы можно использовать для каких задач.
Разбираемся с терминологией
Scale-up и scale-out системы
Итак, начнем с разделения всех систем на два типа, в зависимости от обеспечения масштабируемости: scale-out и scale-up. Вертикально-масштабируемые системы (scale-up) появились на рынке раньше и были представлены изначально мейнфреймами, а затем уже и системами RISC-архитектуры процессора (системы IBM Power, Oracle SPARC и др.). Горизонтально-масштабируемые системы (scale-out) появились значительно позже, и их рассвет связан с распространением архитектуры х86. Scale-out архитектура характерна наличием большого числа небольших серверов, на которых распределена прикладная задача. Несмотря на кардинально противоположные идеи, scale-up и scale-out подходы очень часто комбинируют в рамках одной системы, к примеру база данных располагается на вертикально-масштабируемом аппаратном обеспечении, а сервер приложений – на горизонтально-масштабируемом.
Гиперконвергентность
Но все эти методы и подходы уже давно известны рынку и применяются практически повсеместно. Несмотря на продолжающееся развитие вертикально-масштабируемых систем, именно в рамках scale-out подхода появилось большое число различных направлений, куда входят и обсуждаемые, и используемые все больше и больше гиперконвергентные системы. Что же это за системы и какими свойствами они обладают?
В первую очередь, гиперконвергентность означает объединение или интеграцию всех аппаратных компонентов (серверов, систем хранения данных и сети) в один конструктив. Во-вторых, гиперконвергентность означает обязательное наличие программных компонентов в решении для реализации вопросов отказоустойчивости и надежности. Это программный слой называют также уровнем аппаратных абстракций или, в более простых терминах, это уровень виртуализации аппаратных ресурсов. Здесь с гиперконвергентностью тесно связана концепция «software-defined environment» или программно-определяемых сред. Концепция означает наличие виртуализированных ресурсов на каждом уровне (серверы, системы хранения данных, сеть), а функции управления полностью автоматизированы на программном уровне.
Таким образом, за счет использования подходов программно-определяемых сред, удается объединить физически разделенные гиперконвергентные системы в единый виртуальный пул ресурсов.
Не нужно считать, что программно-определяемую инфраструктуру можно построить только на основе гиперконвергентных систем – это не так. Наоборот, невозможно построить надежную ИТ инфраструктуру на базе гиперконвергентных решений без использования подходов программно-определяемых сред.
Список вендоров, выпускающих гиперконвергентные системы, широк, в него входят как и известные бренды, так и компании, сделавшие себе имя именно на таких решениях.
Для чего стоит использовать гиперконвергентные системы?
Одним из ключевых свойств ИТ инфраструктуры, построенной на гиперконвергентных системах, является унификация и стандартизация используемых компонентов. Получается, что инфраструктура построена на однотипных преконфигурируемых блоках, связанных друг с другом на уровне виртуализации ресурсов. Так как блоки универсальные, то их легко заменять в случае отказов или дополнять при увеличении рабочей нагрузки.
Получается, гиперконвергентные решения эффективно использовать для массы небольших некритичных для бизнеса задач, где не требуется глубокая оптимизация систем, но необходимо обеспечить отказоустойчивость. В этом случае удобно иметь унифицированную инфраструктуру, состоящую из одинаковых блоков.
Дезагрегация и варианты ее использования
Дезагрегация – прямое противопоставление гиперконвергенции. Если конвергенция означает интеграцию компонентов, то дезагрегация разделяет их. Для чего это делается? Гиперконвергентность не позволяет создать оптимальную инфраструктуру для каждой задачи в отдельности. Именно на решение этой задачи оптимизации и направлена дезагрегация. В рамках этой парадигмы создаются решения, где ресурсы хранения (память и диски), к примеру, могут быть конструктивно отделены от ресурсов вычисления (процессоры). В ряде задач, например, для вычислений в памяти (in-memory computing), этот подход может быть оправдан и дать больше преимуществ по сравнению с гиперконвергенцией.
Web-scale ИТ
Данный термин введен Gartner в 2014 году и означает новый подход к построению архитектуры ИТ-систем, позволяющий реализовывать возможности больших облачных провайдеров услуг в рамках классической организации1. Аналитики отмечают, что web-scale ИТ есть реализация подходов ведущих web-компаний к построению ИТ-инфраструктуры.
По факту подход должен включать в себя все те преимущества, которыми обладают указанные компании: низкое время вывода продуктов на рынок, возможность проведения большого числа изменений в сжатые сроки, использование открытого аппаратного и программного обеспечения, концепций Agile и DevOps.
Главным отличием от гиперконвергентных решений, к которым многие относят и web-scale, является реализация отказоустойчивости на уровне программного обеспечения. Подход web-scale также делает необходимым глубокую оптимизацию кода под аппаратное обеспечение. Это означает отказ от любых технологий виртуализации, так как это вносит дополнительный слой взаимодействия (и, потенциально, задержки) с «железом». Аппаратное обеспечение, в свою очередь, создается с учетом архитектуры ПО. Так как к web-scale относят, в первую очередь, компаний-гигантов web-индустрии (Google и Facebook), то их масштаб позволяет создавать специальные конструктивы серверов специально под них. К примеру, Google использует в своих серверах дополнительную двенадцативольтовую батарейку2.
Аппаратное обеспечение, используемое в рамках web-scale, может быть и интегрированным (как и в случае с гиперконвергентными системами), а может быть и разделенным на компоненты (идея дезагрегации) – все зависит от прикладной задачи. Важно, что использование интегрированных конструктивов не означает гиперконвергентную инфраструктуру в рамках web-scale. Причиной этому являются различия в обеспечении надежности: для гиперконвергентных систем это виртуализация, для web-scale – реализация на уровне программного обеспечения и отсутствие виртуализации.
Ускоренные ИТ – новый тренд индустрии
Если подходы к построению горизонтально-масштабируемых систем можно назвать третьей волной революции ИТ инфраструктуры (первая – мейнфреймы, затем клиент-серверная архитектура), то ускоренные вычисления по праву могут стать четвертой революцией на рынке. Смысл ускоренных ИТ (прямой перевод ”accelerated”) заключается в использовании аппаратных ускорителей (например, плат GPU или FPGA) для повышения производительности работы систем.
Почему стоит использовать ускорители? Во-первых, не все задачи можно распараллелить: к примеру, биржевые системы работают в один поток. И в большинстве случаев биржевые системы достигли потолка производительности текущих аппаратных комплексов. GPU-ускорители могут дать им новый уровень скорости вычислений, превышающий в разы текущие показатели. Во-вторых, существенная часть повышения производительности серверов от поколения к поколению лежит на процессоре. А технологический процесс производства процессоров имеет свои ограничения: сейчас используется 14 нм, компания IBM анонсировала возможность использования 7 нм3. Что будет дальше? Очевидно, что предел наступит не завтра, но в обозримом будущем.
Таким образом, компании лишаются стандартного прироста производительности на 20-30% с выходом нового поколения процессоров. А нагрузки на систему продолжают расти. И что делать дальше? Ответ – использовать ускорители.
Несмотря на то, что сейчас GPU используются, как правило, больше для задач из области HPC (High Performance Computing), есть ряд областей, где такие системы могут быть востребованы и коммерческими организациями уже сейчас. В первую очередь – аналитические системы, в особенности deep learning (глубокое обучение). Это задачи построения многоуровневых нейронных сетей, где их прикладным использованием может быть обработка изображений, распознавание речи и работа с текстом. Также GPU могут быть крайне эффективны для задач виртуализации рабочих мест (VDI).
Консорциум OpenPOWER
Стоит отметить, что создание аппаратных решений в области “accelerated” ИТ являлось одной из основных идей формирования консорциума OpenPOWER. Что это за организация? В 2013 году компании Google, IBM, NVIDIA, Mellanox, Tyan создали глобальный открытый консорциум разработчиков решений на базе архитектуры процессора Power Целью консорциума является создание открытой экосистемы с использованием архитектуры Power для обмена опытом, инвестициями и интеллектуальной собственностью в области построения серверных решений. Во многом эта идея похожа на концепцию открытого программного обеспечения – opensource software. На текущий момент в консорциум OpenPOWER входит более 200 организаций из более чем 20 стран мира, в том числе четыре российских участника.
Идея OpenPOWER создала некий парадокс современности: процессор Power становится открытым, Intel – наоборот, более закрытым. В чем это проявляется? OpenPOWER создает открытую экосистему партнеров, которые тесно работают друг с другом для создания специальных решений с использованием со-процессоров, графических ускорителей и средств интеграции с ними. Intel, напротив, приобрел компанию Altera, занимающуюся производством программируемых чипов (FPGA)4, Компания также выпустила свою технологию со-процессоров5, которая по факту является конкурентом технологии графических ускорителей от NVIDIA. Идея OpenPOWER кардинально противоположна – это совместная работа нескольких компаний. В рамках консорциума возможен выпуск процессоров Power на базе спецификаций, предоставляемых IBM. К примеру, китайская компания Suzhou PowerCore Technology уже планирует к выпуску процессор CP1, сделанный на основе IBM Power 86.
В любом случае, какой бы из этих подходов не оказался более эффективным, идея ускоренных вычислений (accelerated ИТ) реализуется в обоих случаях.
Куда идет индустрия? Выводы
Что можно сказать в завершение? Несмотря на большое число разговоров про web-scale ИТ, эта концепция не является революционно новой на рынке. Это уже настоящее: многие организации уже работают над тем, как совмещать в своей ИТ среде разные подходы: вертикально- и горизонтально- масштабируемые системы. Ускоренные ИТ – вот будущее индустрии, которое сейчас только-только начинает ощущать интерес со стороны корпоративного сектора.
Автор: IBM