Приветствую всех!

Сегодня я расскажу о возможностях платформы FlyElephant для ученых и инженеров, которые в своей работе проводят различные вычисления на C++, R, Python или Octave. Это могут быть научные расчеты, анализ данных, моделирование или другие задачи. 22 января я буду проводить вебинар “Введение в FlyElephant”, на котором детально расскажу о платформе FlyElephant, а сегодня в общих чертах познакомлю вас с ней и покажу процесс проведения расчетов.

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

В качестве вычислительного ресурса мы пока используем облако Azure. Но наша команда продолжает работу над постройкой собственного вычислительного кластера, подключением облака Amazon, ряда суперкомпьютеров и GRID систем, что позволит значительно расширить наши вычислительные мощности. Отвечу на один часто задаваемый вопрос: “А чем вы лучше облаков?”. Конечно, каждый пользователь может взять облако, самостоятельно развернуть инфраструктуру, настроить ее, поддерживать систему и изменять при необходимости. В варианте использования FlyElephant обо всех этих времязатратных аспектах позаботимся мы! Вы же получаете готовую инфраструктуру заданных параметров с необходимым программным обеспечением. Кроме того, в будущем вы не только сможете проводить расчеты в облаке, но использовать для них суперкомпьютеры и другие специализированные вычислительные ресурсы, которые не всегда находятся в открытом доступе. Также при наличии собственных вычислительных мощностей, кластера или облака, вы сможете интегрироваться с платформой и при необходимости расширять ваши мощности или, наоборот, сдавать в аренду те ресурсы, которые не используются.

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

Какие языки и инструменты уже доступны?


Пользователи могут запускать вычислительные задачи, написанные при помощи С++ (с поддержкой OpenMP), R, Python (v2 & v3), Octave и Scilab на серверах с количеством ядер от 1 до 32 и оперативной памятью до 448 ГБ. Кроме этого, участники программы бета-тестирования сейчас помогают нам отладить работоспособность следующих инструментов: Java (v7 & v8), Julia, OpenFOAM, GROMACS, Blender и Public API. Следующие на очереди — инструменты для визуализации результатов расчетов, а также базы данных для сбора и хранения больших объемов информации. Мы активно работаем над расширением нашего каталога, поэтому, если у вас есть необходимость в каких-то инструментах, сообщите, и мы постараемся их быстро интегрировать в платформу.

Как запустить задачу?


На примере программ, написанных с использованием C++, R, Python или Octave, мы сейчас рассмотрим весь процесс работы в FlyElephant. Для начала работы нам необходимы три вещи.
Первое — необходимо зарегистрироваться.
Если вы этого еще не сделали, то регистрация здесь. После регистрации на вашем счету будет 10$; воспользовавшись промо-кодом 127575063277 и, введя его в Личном кабинете, вы можете пополнить счет еще на 100$.
Второе — необходим репозиторий с кодом вашей программы.
Мы подготовили несколько тестовых репозитория, которые можно брать за основу:

Репозиторий должен содержать файлы с кодом вашей программы, а также два обязательных файла build.sh и run.sh. В первом необходимо прописать команды, которые должны быть выполнены на сервере перед запуском вычисления (это может быть какая-то донастройка окружения, загрузка данных или еще что-то). Во втором файле прописываются команды запуска самой вычислительной программы.
Третье — загрузить данные.
Если для вашего вычисления необходимо работать с какими-то данными, которые не находятся в репозитории или во внешнем источнике, то вам нужно загрузить их в разделе Хранилище.

Когда все подготовлено, можно запускать вычисление. Для этого необходимо зайти в систему и выполнить следующие шаги:
  • Переходим в раздел “Вычисления” и выбираем нужный для нас язык или инструмент.
  • Перейдя в него, нажимаем кнопку “Запуск задачи”.
  • Появляется форма, в которой необходимо заполнить поля следующим образом:
    • Название задачи — даем задаче название.
    • Выберите файл данных — если необходимо, указываем файл, который необходимо загрузить на сервер для выполнения задачи. Вы можете выполнить задачу без загрузки дополнительного файла; выбрать файл, который был загружен в «Хранилище»; выбрать файл, который является результатом выполнения другой задачи. Файл будет загружен на сервере в корневую директорию вашего репозитория.
    • Название файла результата — указываем название файла, в который будет сохранен программой результат. Этот файл будет загружен в “Хранилище” и доступен в нем, а также в деталях задачи.
    • Репозиторий — указываем адрес репозитория, в котором находится ваша программа. Сейчас доступна работа только с публичными репозиториями, но в ближайшем обновлении можно будет работать и с закрытыми.
    • Параметры сервера — выбираем конфигурацию сервера, на котором будет запущена программа для выполнения. Возможно запустить задачу на сервере с количеством ядер от 1 до 32 и оперативной памятью до 448 ГБ. В ближайших релизах здесь также будут обновления, связанные с возможностью более гибкого конфигурировая вычислительной инфраструктуры и возможностью запуска задачи не только в облаке, но и на HPC кластере или в GRID.
  • Нажимаем кнопку “Запустить задачу”. Задача стартует, автоматически выполняется и становится доступной в разделе “Задачи”. Здесь можно посмотреть детали выполнения, результат и логи.

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

Мы продолжаем трудиться над улучшением схемы работы и в ближайшем будущем расширим список поддерживаемых инструментов и вычислительных ресурсов. А чтобы этот список пополнился нужными для вас инструментами, приглашаем принять участие в опросе.

Наша команда открыта для сотрудничества. Будем рады сотрудничеству с владельцами вычислительных ресурсов и производителями специализированного программного обеспечения. Мы активно поддерживаем ученых и готовы бесплатно предоставлять необходимое количество ресурсов для проведения ваших открытых научных исследований. Если вы заинтересованы в использовании FlyElephant, мы с удовольствием проведем DEMO презентацию работы платформы.

Присоединяйтесь к нашим страницам в соц. сетях (Facebook, Twitter, LinkedIn) и следите за последними новостями команды FlyElephant.

Для нас очень важны любые замечания, предложения и отзывы. Мы ответим на них в комментариях к этому посту или на почте: support@flyelephant.net.

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


  1. iagsav
    20.01.2016 17:23

    Здравствуйте! Отличный проект! Хотел попробовать его для обработки изображений. Но их у меня много, как можно загрузить много файлов в систему Fly Elephant?


    1. m31
      20.01.2016 17:29

      Спасибо за хороший отзыв. Напиши мне на почту пожалуйста, созвонимся по скайпу и придумаем решение для этой задачи.


      1. iagsav
        20.01.2016 17:48
        +1

        Написал на support@flyelephant.net


    1. Kwent
      20.01.2016 20:38

      Думаю, можно использовать атласы изображений


      1. iagsav
        20.01.2016 20:52

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


  1. iagsav
    23.01.2016 16:58

    В файле LR.r, который выложен на гитхаб есть такая строчка:
    data < — read.csv('~/workdir/rosn.txt', sep='\t')

    Значит ли это, что после развёртывания, всё, что есть в репозитории на гитхаб, попадает в папку "~/workdir/"?


    1. m31
      23.01.2016 23:28

      да, на данный момент это рабочая директория, где все происходит.


  1. iagsav
    23.01.2016 17:04

    И ещё один вопрос: как попасть в ваш slack чат?


    1. m31
      23.01.2016 23:27

      Регистрация здесь — slack.flyelephant.net Дальше на почту придет приглашение. Для удобства можно поставить клиент, чтобы не сидеть из под браузера — slack.com/downloads