Успехи в области геномного секвенирования нового поколения (Next Generation Genome Sequencing, NGS) вызвали значительный рост объемов данных, результаты обработки и анализа которых должны быть доступны специалистам по биоинформатике, работающим в разных точках мира. Одной из актуальных задач в данной области является анализ ДНК, получаемой из мумий, застывших в янтаре древних организмов, найденных в захоронениях растений и т. п. Для этой цели используются специальные пакеты программ, включающие программные компоненты для быстрой обработки данных NGS. Существует несколько таких программных пакетов — например, PALEOMIX, R/Bioconductor, STAR, TopHat2 и др. Пакет PALEOMIX — один из наиболее популярных программных конвейеров с открытым кодом, однако его использование сопряжено с рядом неудобств: проходится выполнять много ручной работы с привлечением программистов — экспертов по пакету; процесс расчетов предполагает прохождение множества отдельных разрозненных этапов; необходима специализированная вычислительная инфраструктура (в частности, большой объем оперативной памяти); высока продолжительность расчетов — например, для анализа древней ДНК может потребоваться несколько месяцев.

В крупных научных центрах сегодня имеются вычислительные ресурсы, которые могут быть привлечены для выполнения пакетов типа PALEOMIX, что позволит значительно увеличить эффективность научных исследований, однако для этого нужно организовать распределенные вычисления и автоматизировать процессы управления данными. При этом можно использовать методы, зарекомендовавшие себя в других областях. Например, при обработке данных эксперимента ATLAS, проводимого на Большом адронном коллайдере, были задействованы десятки ЦОД и хранилищ по всему миру, а система управления потоком заданий PanDA [1] позволила объединить гетерогенные вычислительные мощности, входящие в грид-инфраструктуру WLCG [2] для предоставления унифицированного доступа к вычислительным ресурсам. Опыт организации распределенных вычислений на основе системы PanDA, полученный при решении задач физики высоких энергий, может быть применим и для выполнения расчетов в других научных областях, в том числе и NGS.

На базе вычислительных мощностей НИУ «Курчатовский институт» была создана система управления данными и заданиями в среде федеративных гетерогенных ресурсов, которая используется для обработки данных геномного секвенирования. Система позволяет запускать задачи на распределенной гетерогенной вычислительной инфраструктуре, включающей суперкомпьютеры, рабочие станции и обычные ПК, обеспечивая в автоматическом режиме контроль, управление данными и задачами. Для работы с системой была развернута система управления федеративными гетерогенными ресурсами (см. рисунок), объединяющая различные вычислительные инфраструктуры, в том числе суперкомпьютер с пиковой производительностью 122 TFLOPS и облачную платформу.

Система управления федеративными гетерогенными ресурсами: 1 — балансировщик ресурсов; 2 — запуск задачи; 3 — балансировка ресурсов
Система управления федеративными гетерогенными ресурсами: 1 — балансировщик ресурсов; 2 — запуск задачи; 3 — балансировка ресурсов

 

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

Следующий компонент — вычислительная инфраструктура, включающая суперкомпьютер НИЦ «Курчатовский институт» и облачную платформу. Суперкомпьютер состоит из 1280 двухпроцессорных узлов, объединенных сетью InfiniBand DDR, имеет суммарную оперативную память 20,5 Тбайт и систему хранения на 144 Тбайт. Расчетные узлы суперкомпьютера работают под управлением ОС Linux (CentOS), а система хранения построена на параллельной файловой системе Lustre 2.0. Для управления распределением ресурсов и выполнением счетных заданий используется менеджер ресурсов SLURM (Simple Linux Utility for Resource Management). Облачная инфраструктура состоит из 16 узлов и дополнительного хранилища на 60 Тбайт.

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

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

Перемещением пользовательских и системных файлов между распределенными вычислительными узлами занимается система транспортировки, поддерживающая механизм репликации и согласованности реплик. Все файлы, задействованные в работе, их реплики и правила доступа к ним описываются в специальном файловом каталоге. Совместное использование системы транспортировки файлов и файлового каталога обеспечивает возможность быстрого подключения внешних систем хранения, например Dropbox, Google Drive и т. д., что позволяет одновременно работать с файлами, находящимися в разных системах хранения.

Вычислительные задачи, определенные пользователями с помощью графического пользовательского интерфейса, передаются на сервер PanDA Server. Программный сценарий Local pilot scheduler инициирует запуск пилота Pilot на виртуальных машинах, играющих роль шлюза для суперкомпьютера и облачной инфраструктуры. Пилот выполняет https-запрос к серверу и получает на обработку вычислительную задачу, а затем средствами SLURM ставит ее в очередь на выполнение. При этом система управления данными выполняет перемещение из хранилища в файловую систему вычислительного ресурса (Shared File System, NFS) входных файлов, необходимых задаче. Компонент Resource Balancer управляет динамическим изменением состава выделенных виртуальных машин в облаке в зависимости от загруженности системы.

С помощью системы проведен анализ данных геномного секвенирования шерстистого сибирского мамонта, жившего примерно 20 тыс. лет назад. С учетом того, что компоненты PALEOMIX могут обрабатывать отдельные фрагменты входных данных независимо от остальных фрагментов, удалось распараллелить работу путем разбиения входных данных на множество файлов меньшего размера с последующей сборкой результатов. Этот подход к обработке больших файлов данных принят в физике высоких энергий: исходный файл разрезается на множество файлов меньшего размера, каждый из полученных файлов обрабатывается как независимое вычислительное задание на разных узлах суперкомпьютера, затем результаты выполнения всех заданий объединяются в один выходной файл. Все это позволило сократить общее время, необходимое на обработку данных геномного секвенирования, с нескольких недель до трех-четырех дней. Для сравнения: на одном 80-ядерном сервере с 512 Гбайт оперативной памяти для решения задачи при объеме исходных данных в 350 Гбайт, содержащих более 900 млн парных чтений, потребовалось около двух месяцев.

***

В исходном виде задача анализа ДНК не решается на отдельном суперкомпьютере из-за высоких требований к объему оперативной памяти на ядро, однако на базе системы PanDA можно развернуть инфраструктуру, аккумулирующую все доступные гетерогенные ресурсы, обеспечивая при этом прозрачное управления и мониторинг хода выполнения всех задач. Полученный опыт может быть использован не только для задач биоинформатики, но и при обработке спутниковых данных, моделировании молекулярной динамики и т. п.

Литература

  1. Мария Григорьева, Марина Голосова, Евгений Рябинкин, Алексей Климентов. Экзабайтное хранилище научных данных // Открытые системы.СУБД. — 2015. — № 4. — С. 14–17. URL: https://www.osp.ru/os/2015/04/13047963 (дата обращения: 18.05.2017).
  2. Владимир Кореньков, Александр Ужинский. Архитектура сервиса передачи данных в grid // Открытые системы.СУБД. — 2008. — № 2. — С. 52–56. URL: www.osp.ru/os/2008/02/4926522 (дата обращения: 18.05.2017).

Алексей Климентов (alexei.klimentov@cern.ch), Руслан Машинистов (rmashinistov@gmail.com), Алексей Пойда (poyda@wdcb.ru ) — сотрудники Национального исследовательского центра «Курчатовский институт» (Москва). Работа выполнена в рамках гранта правительства РФ (контракт No 14.Z50.31.0024) и при поддержке РФФИ (№ 16-37-00249 мол_а).