Можно ли ожидать open source в «железе»?


Владимир Алексеев, IBM

image

В последние несколько лет на рынке аппаратного обеспечения идут активные дискуссии на тему гиперконвергентности, ухода в сторону горизонтально-масштабируемых систем и 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 ИТ, эта концепция не является революционно новой на рынке. Это уже настоящее: многие организации уже работают над тем, как совмещать в своей ИТ среде разные подходы: вертикально- и горизонтально- масштабируемые системы. Ускоренные ИТ – вот будущее индустрии, которое сейчас только-только начинает ощущать интерес со стороны корпоративного сектора.
Поделиться с друзьями
-->

Комментарии (10)


  1. keydon2
    18.12.2016 04:12
    +4

    «Почему стоит использовать ускорители? Во-первых, не все задачи можно распараллелить: к примеру, биржевые системы работают в один поток. И в большинстве случаев биржевые системы достигли потолка производительности текущих аппаратных комплексов. GPU-ускорители могут дать им новый уровень скорости вычислений, превышающий в разы текущие показатели. Во-вторых, существенная часть повышения производительности серверов от поколения к поколению лежит на процессоре. А технологический процесс производства процессоров имеет свои ограничения: сейчас используется 14 нм, компания IBM анонсировала возможность использования 7 нм3. Что будет дальше? Очевидно, что предел наступит не завтра, но в обозримом будущем.»
    Но если я что-то понимаю, то на GPU много ядер как раз и работают параллельно. И многие задачи как параллелят для GPU. Т.е. если задачу по каким то причинам не распараллелить, то гораздо лучше использовать CPU, т.к. у него частота больше, кэш, да еще и предсказатель переходов.
    Да и техпроцесс у последних GPU вроде пока 22нм, а не 14, как у CPU.
    Т.е. весь абзац в моих понятиях полностью противоположен.
    Или тут какой то совсем уж скрытый замысел? Что-нить вроде «теперь каждое ядро CUDA будет простеньким процессором, мы нашли способ переносить гигантский поток информации по сети прямо в ядра, поэтому данные и команды будут поступать прямо из облака в память видеокарты и все меньше, чем за такт!»


  1. Shishka
    18.12.2016 10:24
    -1

    С такими трендами как описанны выше уже недалеко до кибернауки, вернее киберинфраструктуры.


  1. PapaPadlo
    18.12.2016 14:40
    +4

    Каждые 2 года одно и то же.
    (Парсер не подведи!)



    1. shapa
      18.12.2016 19:28
      -2

      Я вообще удивляюсь как IBM что-то еще продавать может. Уровень компетенций просто зашкаливающе низок… Данная статья — реально же стыдно в блоге компании такое писать.


  1. shapa
    18.12.2016 19:21
    -1

    Коллеги, вы что курили и где _это_ продают? :))

    Статья шедевральна, право. Становится куда более понятно почему IBM так активно теряет рынок и массово увольняет сотрудников…



    «Подход web-scale также делает необходимым глубокую оптимизацию кода под аппаратное обеспечение. Это означает отказ от любых технологий виртуализации, так как это вносит дополнительный слой взаимодействия (и, потенциально, задержки) с «железом». „


    PCI passthrough я так понимаю вы в своем дремучем сне мимо пропустили?

    Про задержки — вы лучше расскажите как вы на традиционной архитектуре обеспечите data locality (ответ: никак), чтобы задержки уменьшить?

    “Гиперконвергентность не позволяет создать оптимальную инфраструктуру для каждой задачи в отдельности»


    Да вы что? Вам руки связывают выбирать конкретную конфигурацию (скажем на Нутаникс есть боле 5000 тысяч (!) конфигураций оборудования доступных) под конкретные задачи?

    «гиперконвергентные решения эффективно использовать для массы небольших некритичных для бизнеса задач, где не требуется глубокая оптимизация систем, но необходимо обеспечить отказоустойчивость. „


    Вот ведь как оно оказывается… Пентаногам да ФБР — все ОК, а IBM сказки рассказывает “про надежность».

    Задуматься о том что единственная компания из крупных онлайнов, кто использует традиционный 3-tier подход, это Yahoo (банкрот, сидят на Netapp), а остальные (google, facebook, amazon, apple, ms azure и прочие) как раз на webscale… Нет, видимо не судьба.

    Архитектуры построенные правильно по webscale принципам — практически неубиваемы, в отличии от традиционных подходов предлагаемых IBM в том числе.


    1. PapaPadlo
      19.12.2016 11:50

      5 миллионов или 5 тысяч конфигураций?


      1. shapa
        19.12.2016 19:29

        Описался, спасибо :)

        5 тысяч.


    1. vn_aleks
      25.12.2016 23:12
      +2

      Речь ни в коей мере не идет о том, что системы стоит строить только по принципу трехзвенной архитектуры и использовать только вертикально-масштабируемые системы. Другими словами, принцип «используйте только их» — неправильный. Конечно, они используются и будут использоваться, но все больше компаний выбирает горизонтально-масштабируемые системы, и количество таких компаний только растет. И идея создания OpenPower, посвящена именно этому — сделать scale-out системы с возможностью ускорения.
      Далее, я принципиально разделяю гиперковергентные системы и web-scale IT. Первое — это заранее сконфигурированные блоки, которые обеспечивают должную отказоустойчивость и масштабируемость.
      Второе — технологии и подходы, которыми первыми начали использовать именно web-компании, а именно упоминавшиеся Google и Facebook. Их инфраструктура строится на принципе создания кастомизированного железа с оптимизацией под прикладную задачу.

      Про конфигурации:
      ни в коей мере не буду спорить, что количество конфигураций велико. Вопрос в другом: одно дело вставлять процессоры разной частоты и поколений, другое — создать систему на 48+ ядер и объемом хранения, скажем, 40 Тб? Это вполне реальные показатели критичной системы крупной организации. Очевидно, что для решения этой задачи для процессоров необходимо разделить систему на части, а для хранения — добавить еще один модуль. Удобно ли это? не всегда. Особенно, если делить существующую систему на части. Именно поэтому я придерживаюсь точки зрения, что более эффективно переложить системы меньшего объема и загруженности на блоки инфраструктуры на базе гиперконвергентных систем.


  1. shapa
    18.12.2016 20:36
    +1

    Владимир Алексеев из IBM — я предлагаю провести публичный круглый стол.

    Например между IBM и лидером мирового webscale рынка Nutanix (на котором IBM фактически вообще не представлена).

    Ответственно заявляю, что ваша данная статья — это позор компании IBM, и в целом предлагаю пригласить на дискуссию адекватных специалистов (не маркетологов как вы).


  1. NoOn3
    25.12.2016 23:12
    +2

    Open source в «железе» понемногу развивается, вот уже новые open source микроконтроллеры на архитектуре RISC-V начинают появлятся(Open-V, HiFive1), а там глядишь и помощнее чего появиться…