Виртуальный суперкомпьютер (vSC) — это современная альтернатива использованию собственных суперкомпьютерных мощностей для наукоемкого бизнеса и научных групп при решении ресурсоемких задач. В процессе бурного развития облачных технологий клаудизация начала проникать в наиболее сложные IT-сферы — суперкомпьютинг и распределенные вычисления. Один из возможных подходов к задаче клаудизации HPC реализован компанией HPC HUB.

КДПВ


Введение


Высокопроизводительные вычислительные кластера (ВВК) применяются как в чистой науке, так и в наукоемком бизнесе в различных сферах:

  • биоинформатика (расшифровка и анализ геномов, системная биология, разработка новых лекарств, в т.ч. индивидуальных);
  • моделирование месторождений и обработка сейсмических данных в Oil&Gas и майнинге;
  • ресурсоемкая аналитика и BigData;
  • в промышленности для решения задач гидро- и аэродинамики, химической промышленности, разработки новых композитных материалов и т.д.

ВВК начали интенсивно развиваться в конце 90х как коммодити-альтернатива большим суперкомпьютерам (мэйнфреймам), поставляемых ведущими фирмами IT рынка, такими как IBM, SGI, DEC, Sun, HP, Cray, NEC, Hitachi, Siemens, Bull и т.д. Наиболее яркое отличие ВВК от традиционных суперкомпьютеров в конце 90х — это отсутствие единой ОС и, как следствие, другая структура организации вычислительной системы.

NSCC

Несмотря на относительную дешевизну ВВК (в среднем в десятки раз при прочих равных) по сравнению с традиционными суперкомпьютерами, эти системы являются очень дорогими в использовании:

  • Они требуют обслуживания командой высококвалифицированных специалистов, специальной площадки с охлаждением, бесперебойным питанием, высокоскоростным сетевым подключением.

  • Интеграция счетного ПО и установка сопровождающего софта (переключение окружения, компиляторы, библиотеки, планировщик и т.д.) на каждый конкретный ВВК — это отдельная непростая задача, которая часто оказывается намного сложнее, чем представлялось вначале (что вообще типично для интеграции).

  • Стоимость лицензий коммерческого кластерного ПО может многократно превышать стоимость самих кластеров (например, в геофизике стоимость лицензии на коммерческое ПО может начинаться с US$ 40 тыс. за 1 вычислительный узел на год).

Таким образом, даже относительно небольшие ВВК с десятком-другим узлов, сетью малой латентности и системой хранения данных являются крайне дорогими инструментами и доступны компаниям с солидными IT бюджетами (для примера типичный кластер на 1000 ядер может стоить порядка US$ 500 тыс. при годовом обслуживании в US$ 100-150 тыс.). Но даже в случае больших IT бюджетов покупка и запуск кластера занимают месяцы, а на ВВК общего пользования возникают проблемы настройки ПО и организации доступа к нему.

Современные облачные провайдеры ориентированы, как правило, на продажу одиночных виртуальных серверов, либо на небольшие их группы, но никак не на сдачу в аренду времени на ВВК или им подобных систем. В результате сложившихся тенденций, динамичные малые и средние компании практически лишены возможности краткосрочной аренды ВВК для своих нужд (например, апробации и пилотного внедрения вычислительных технологий, систем моделирования в свой бизнес, снятия пиковых нагрузок в случае наличия небольших собственных мощностей и т.п.).

logo

Виртуальный ВВК от HPC HUB


Мы в HPC HUB решили направить свои усилия на решение задач нишевого потребителя, которому нужен небольшой ВВК на 10-20 узлов с сетью малой латентности и системой хранения данных терабайтного класса в краткосрочную аренду (сутки, недели, месяцы) в монопольном режиме. Основной услугой компании является сдача в аренду виртуального ВВК (второе название: виртуальный суперкомпьютер — vSC). С точки зрения пользователя vSC представляет собой обычный кластер, состоящий из головного управляющего узла, нескольких оснащенных сетью малой латентности вычислительных узлов и хранилищем объемом от 50ГБ до 10ТБ, реализованным на GFS2. Узлы имеют доступ в Интернет через NAT, доступ на управляющий узел извне открыт по 22 порту, который перенаправляется на порт туннельной виртуальной машины.

scheme

Различные vSC изолированы друг от друга, таким образом пользователь имеет полный контроль над установленным ПО в vSС, т.е. может его настраивать и модифицировать по своему усмотрению. Базовые образы vSC построены на CentOS 7.1, используют драйвера IB OFED 3.3 и систему управления заданиями SGE 8.1.3. По окончании работы пользователь может сделать снапшот состояния управляющего узла и одного из вычислительных узлов. Данный снапшот может быть использован для запуска следующего экземпляра vSC пользователя. При этом снапшот vSC может масштабироваться на любое количество вычислительных узлов.

Реализация vSC построена на базе облачного ПО OpenStack и системы хранения данных Ceph. Виртуальные машины пользовательских узлов управляются гипервизором KVM. Для виртуализации сети малой латентности используется технология SR-IOV. В виртуальные машины счетных узлов импортируется одна из виртуальных функций Infiniband адаптера.

room

Такой подход позволяет добиться минимального роста латентности виртуализированного Infiniband – 1.09 мкс латентность IB VF против 0.85 мкс у Infiniband без виртуализации. Топология и характеристики процессоров виртуальных счетных узлов сделаны как можно более похожими на физические узлы, поддерживаются NUMA расширения. Типичные агрегированные для всех узлов экземпляра vSC скорости обмена c GFS2 составляют 1.5-2 Гб/сек для чтения, 350-450 Мб/сек на запись, 10,000-12,000 IOPS.

Аренда и развертывание vSC может быть осуществлена в течение нескольких минут с сайта hpchub.net. Минимальный период времени аренды сейчас составляет одни сутки, но мы планируем осуществить переход на более мелкие периоды тарификации в ближайшее время по мере роста нашего облака. Таким образом снимается неприятное ограничение связанное с большим временем организации доступа к суперкомпьютерным мощностям.

Выводы


Виртуальный вычислительный кластер HPC HUB предоставляет пользователям возможность доступа к ВВК терафлопного класса без существенных временных затрат и необходимости первоначальных инвестиций. При этом пользователь может настраивать ПО данного ВВК исключительно под свои задачи, что гораздо проще аналогичных процедур на системах общего пользования. Помимо своего прямого назначения – выполнения вычислений, наш виртуализированный ВВК открывает для ряд существенных, ранее отсутствовавших на рынке возможностей:

  • использование виртуализированного ВВК для разработки и тестирования приложений;
  • использования ВВК как быстрой и легко масштабируемой демо площадки;
  • использования ВВК для продажи кластерного ПО «в розницу» (краткосрочная аренда ПО).

areas Виртуальный суперкомпьютер будет особенно полезен для распространения и продаж кластерного ПО его производителями в ранее недоступном сегменте малых и средних предприятий. Такие возможности как:

  • гибкость,
  • легкое масштабирование,
  • предустановленное сложное кластерное ПО с возможностью аренды лицензий на данное ПО с малым квантом времени

Помогут охватить производителям кластерного ПО не только пользователей с большими ИТ бюджетами в пиковых нагрузках, но и различных пользователей с разовыми проектами, включая стартапы, венчурные предприятия и даже пользователей из академической среды и государственных учреждений.
Поделиться с друзьями
-->

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


  1. ncix
    30.09.2016 12:41

    Я правильно цены понял, за 960 рублей можно сутки гонять и в хвост и в гриву 20 ядер Xeon?


    1. HPCHub
      30.09.2016 14:48

      При определённом объеме и длительности цена будет такой.

      Если же речь идет, чтобы взять только на 1 сутки, то цена будет выше примерно в два раза.

      Либо это будет спотовый тариф как на амазоне.

      Но т.к. у нас сейчас открытая бета, мы довольно гибко откликаемся на запросы.


      1. ncix
        30.09.2016 14:52

        >>Либо это будет спотовый тариф как на амазоне.
        Можно для неспециалистов пояснить, что значит «спотовый тариф».



      1. HPCHub
        30.09.2016 15:14

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

        но в нашем случае мы конечно же скажем заранее, что планируем забрать.


        1. HPCHub
          30.09.2016 15:35

          про джаву — надо параллелить, но можно на кластере одновременно пускать несколько задач на разных узлах “в параллель”, хотя для этого Infiniband не особо нужен.


  1. ssh24
    30.09.2016 15:23

    А можете для неспециалистов пояснить «на пальцах», как например запустить задачу в кластере.

    Вот например есть у меня джава-приложение. На обычном сервере обрабатывает данные, скажем, за неделю.

    1. Как его запускать в вашем кластере? Что для этого нужно?
    2. Надо ли переписывать приложение?
    3. Приложение во время работы считает, что работает на одной ноде и про кластер ничего не знает?


    1. HPCHub
      30.09.2016 15:53

      Чтобы приложение параллельно считалось на нескольких узлах, его надо распараллелить (переписать приложение). Но можно на кластере одновременно запустить несколько независимых задач на разных узлах “в параллель”, хотя для этого Infiniband не особо нужен. Таким образом можно посчитать, скажем, восемь задач за одну неделю, а не за восемь.


  1. Gotto
    30.09.2016 15:27

    А как организован сторадж для виртуального кластера? Обычный NFS (по eth или ib)?
    У ceph вроде есть своя CephFS, почему GFS2 внутри кластера? Почему не Lustre?


    1. HPCHub
      30.09.2016 15:58

      Нет, NFS мы не используем, т.к. сторажд на счетном кластере на NFS работает медленно и может привести к непредсказуемым проблемам. Мы отдаем Ceph rbd кластеру как shared диск. Почему был выбран такой вариант конфигурации мы расскажем в будущей статье.


  1. Arahnid
    30.09.2016 16:39
    +1

    А кластеры с GPU планируете делать?


    1. HPCHub
      03.10.2016 17:33

      Да. Планируем.
      В будущем будет Tesla K80.
      Cейчас в частном порядке можем дать 1-2 Tesla K5000.


  1. SEVENID
    02.10.2016 15:45

    Может, я что-то не так понял, но есть/будут тарифы с нелимитированным временем/ресурсами? (сколько на самом деле пользуешься — столько и платишь, пусть даже немного дороже)
    Допустим, мне внезапно требуется что-то рассчитать, так внезапно, что я и сам не знаю, сколько времени это займёт — пару минут или месяцев. Сейчас для этого требуется купить установленное кол-во времени, даже если оно на 99% использоваться не будет, а потом, если не завершилось, продлевать. И ещё, и ещё.
    А по предложенной схеме проблема с квантованием времени решается — мы точно знаем, что секунда аренды стоит столько-то, а, скажем, при длительности сессии в неделю и больше — столько-то.


    1. HPCHub
      03.10.2016 18:24

      Скорее всего есть небольшое недопонимание.
      Наша цель — предоставлять как можно гибко суперкомпьютерные мощности. Желательно столь же гибко как оно бывает с VPS/VDS.

      На данный момент мы нащупываем ту модель коммерциализации, которая была бы интересна нашим потенциальным клиентам.

      На данный момент оно работает так.
      Клиент:

      • регистрируется в контрольной панели и закидывает на лицевой счет деньги
      • заказывает подписку (сторадж, vSC). во время заказа подписки указывает нужное количество выч. мощностей
      • подписка активируется и начинает щелкать время (минимальный квант пока — 1 сутки). округление идет до минимального кванта
      • списание денег с лицевого счета происходит каждый день пока активны подписки на выч. мощности

      Правильно ли я понял вопрос?
      Такой подход на Ваш взгляд удобный?


      1. SEVENID
        08.10.2016 22:03

        Теперь понял, спасибо. Да, так довольно удобно (день — это всё-таки, бывает, многовато).


  1. Anton_Menshov
    03.10.2016 17:50

    Планируются ли кластеры с Intel Xeon Phi?
    Плюс: для высокопроизводительных вычислений довольно важен «правильный компилятор» и библиотеки.
    Есть ли поддержка Intel MKL и компилятора в от Intel в целом?
    Или предполагается, что пользователь имеет свои лицензии на это?


    1. HPCHub
      03.10.2016 18:52

      У нас есть узлы с Intel Xeon Phi 7120P, но они пока предоставляются как bare-metal инфраструктура.

      В зависимости от спроса на такие узлы готовы рассмотреть вариант интеграции их в общую облачную инфраструктуру со всеми фичами (on-demand, pay-per-use, snapshotting, etc.).

      Касательно проприетарного софта. Мы стараемся это делегировать клиенту. Он сам устанавливает и заботится о лицензиях. Мы можем сохранить настроенное клиентское окружение, чтобы в следующий раз клиент не тратил на это время.

      Мы ведём переговоры с рядом вендоров коммерческого кластерного ПО и планируем предоставлять шаблоны vSC заранее + гибкую аренду лицензий.