30
Разработка распределенных алгоритмов и высокопроизводительной программной системы для облачного хранения, потоковой обработки и сбора в реальном времени сверхбольших наборов научных данных М.Н.Жижин, А.Н.Поляков, А.А.Пойда, Д.П.Медведев НИЦ «Курчатовский институт» Государственный контракт № 07.514.11.4045 Выполняется в рамках федеральной целевой программы «Исследования и разработки по приоритетным направлениям развития научно-технологического комплекса России на 2007-2013 годы»

М.Н.Жижин , А.Н.Поляков , А.А.Пойда , Д.П.Медведев НИЦ « Курчатовский институт »

  • Upload
    twyla

  • View
    63

  • Download
    0

Embed Size (px)

DESCRIPTION

Разработка распределенных алгоритмов и высокопроизводительной программной системы для облачного хранения , потоковой обработки и сбора в реальном времени сверхбольших наборов научных данных. М.Н.Жижин , А.Н.Поляков , А.А.Пойда , Д.П.Медведев НИЦ « Курчатовский институт ». - PowerPoint PPT Presentation

Citation preview

Page 1: М.Н.Жижин ,  А.Н.Поляков ,  А.А.Пойда ,  Д.П.Медведев НИЦ « Курчатовский институт »

Разработка распределенных алгоритмов и

высокопроизводительной программной системы для

облачного хранения, потоковой обработки и сбора в реальном

времени сверхбольших наборов научных данных

М.Н.Жижин, А.Н.Поляков, А.А.Пойда, Д.П.Медведев

НИЦ «Курчатовский институт»

Государственный контракт № 07.514.11.4045 Выполняется в рамках федеральной целевой программы «Исследования и разработки

по приоритетным направлениям развития научно-технологического комплекса России на 2007-2013 годы»

Page 2: М.Н.Жижин ,  А.Н.Поляков ,  А.А.Пойда ,  Д.П.Медведев НИЦ « Курчатовский институт »

Сверхбольшие наборы данных в научных областях

• Физика высоких энергий (LHC)• Астрофизика (SDSS, численные модели

Вселенной)• Геофизика и глобальные изменения

климата (Архив метеонаблюдений WMO, климатологические и прогноз NCEP/NCAR и ECMWF, сейсмика, космическая погода SPIDR)

• Дистанционное зондирование (архивы изображений MODIS, DMSP, GOES)

• Биоинформатика и нанотехнологии (геном, архивы изображений с микроскопов, томографов)

Page 3: М.Н.Жижин ,  А.Н.Поляков ,  А.А.Пойда ,  Д.П.Медведев НИЦ « Курчатовский институт »

Необходимость исследований• Нарастание объемов собираемых

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

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

Page 4: М.Н.Жижин ,  А.Н.Поляков ,  А.А.Пойда ,  Д.П.Медведев НИЦ « Курчатовский институт »

Перспективные технологии хранения и управления

данными• Объектные облачные хранилища данных

Amazon S3, MS DataMarket, OpenStack Swift, Cassandra, DropBox

• Специализированные системы хранения адаптированные для хранения научных данных, такие как RasDaMan и SciDB

• Гибридные системы хранения (специализированную модель данных поверх хранилища более общего назначения) ActiveStorage

• Распределенная потоковая обработка Twitter Storm, Yahoo S7, IBM Streams, Hadoop.

Page 5: М.Н.Жижин ,  А.Н.Поляков ,  А.А.Пойда ,  Д.П.Медведев НИЦ « Курчатовский институт »

Недостатки существующих систем

• Разнообразие форматов данных и типов их представления

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

• Отсутствие масштабируемой, распределенной, открытой платформы для облачного хранения научных данных

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

Page 6: М.Н.Жижин ,  А.Н.Поляков ,  А.А.Пойда ,  Д.П.Медведев НИЦ « Курчатовский институт »

Цель проводимых исследований• Разработка программных систем,

объединяющих высокопроизводительные технологии и параллельные алгоритмы управления сверхбольшими наборами научных данных

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

Page 7: М.Н.Жижин ,  А.Н.Поляков ,  А.А.Пойда ,  Д.П.Медведев НИЦ « Курчатовский институт »

Особенности предлагаемого решения

• Распределенные потоковые вычисления в облаке

• Распределенные облачные хранилища• Общий язык запросов для

распределенного выполнения и управления рабочим потоком

• Интеграция и проведение совместного анализа в различных областях

Page 8: М.Н.Жижин ,  А.Н.Поляков ,  А.А.Пойда ,  Д.П.Медведев НИЦ « Курчатовский институт »

Архитектура системы

Page 9: М.Н.Жижин ,  А.Н.Поляков ,  А.А.Пойда ,  Д.П.Медведев НИЦ « Курчатовский институт »

OpenStack SwiftВысокоотказоустойчивое, распределенное хранилище объектов или блобов с длительной поддержкой целостности.• Хранение образов узлов• Работа в качестве

самостоятельного контейнера данных

• Обеспечение отказоустойчивости и резервирования данных

• Создание резервный копий и архивирование данных

• Масштабируемость• RESTful S3-like интерфейс• поддержка системы

авторизации и аутентификации пользователей (swauth, keystone)

Page 10: М.Н.Жижин ,  А.Н.Поляков ,  А.А.Пойда ,  Д.П.Медведев НИЦ « Курчатовский институт »

Облачное хранилище многомерных массивов Active

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

разнородные данные в единой системе хранения.• Эффективное индексирование больших объемов данных (десятки и сотни терабайт).• Возможность базовой обработки данных непосредственно на узлах хранилища (арифметические операции, статистическая обработка, линейная свертка).• Интегрированные метаданные; описания данных неотделимо от самих данных.• Возможность автоматического распределения данных (а также распараллеливания обработки) по нескольким узлам.• Возможность использования в инфраструктуре Грид через сервисы• OGSA-DAI.

Page 11: М.Н.Жижин ,  А.Н.Поляков ,  А.А.Пойда ,  Д.П.Медведев НИЦ « Курчатовский институт »

Схема базы данных

Page 12: М.Н.Жижин ,  А.Н.Поляков ,  А.А.Пойда ,  Д.П.Медведев НИЦ « Курчатовский институт »

Разбиение массивов на чанки

1 поисковый запрос 8 поисковых запросов 4 поисковых запроса 4 поисковых запроса

Массив разбитый на чанкиМассив не разбитый на чанки

• Чанки хранятся в таблице базы данных как объекты

• Чанки могут быть различных размеров

chunk_key

chunk

0 <Chunk0>

1 <Chunk1>

2 <Chunk2>

3 <Chunk3>

Page 13: М.Н.Жижин ,  А.Н.Поляков ,  А.А.Пойда ,  Д.П.Медведев НИЦ « Курчатовский институт »

Реанализ погоды NCEP/NCAR• Постоянно обновляемый набор данных

• Включает вывод наблюдений и глобальной климатической модели

• 74 погодных параметра• 5000 netCDF файлов, 30 – 500 MB каждый

Временной интервал: • 1948 – 2008 гг.• 4-х часовые

значения

Покрытие:• Регулярная сетка, 2.5 x 2.5 градуса

• T62 Гауссовская сетка, 192 x 94 точек.

Page 14: М.Н.Жижин ,  А.Н.Поляков ,  А.А.Пойда ,  Д.П.Медведев НИЦ « Курчатовский институт »

Сервис доступа к распределенным системам хранения VOSpace

Интерфейс доступа к данным• подключаться к точкам входа

нескольких распределённых хранилищ.

• добавлять и удалять объекты данных и контейнеры хранения

• управлять метаданными объектов• получать уникальные ссылки (URI)

на объекты данных для доступа к ним

• создавать серверные задачи для перемещения данных между различными хранилищами или точками входа.

Особенности VOSpace• VOSpace не накладывает

ограничений на способы хранения и передачи данных. Может работать с локальной файловой системой и OpenStack Swift.

• Контролирует доступ и управление данными, метаданными и задачами синхронизации.

• Позволяет подключать различные схемы авторизации (openID, oAuth и другие системы)

• RESTfull интерфейс

Page 15: М.Н.Жижин ,  А.Н.Поляков ,  А.А.Пойда ,  Д.П.Медведев НИЦ « Курчатовский институт »

Сервис OPeNDAP для доступа к многомерным массивам

• Для реализации OPeNDAP сервиса был использован сервер данных THREDDS (Thematic Real-time Environmental Distributed Data Services), цель которого – обслуживать запросы пользователя, учитывая содержимое наборов данных наряду с их метаописанием. Сервер данных THREDDS использует модель данных Common Data Model для представления данных из различных источников, которые потом могут быть переданы пользователю несколькими путями: по протоколу OPeNDAP, через сервис OGC Web Coverage Service, как NetCDF подвыборку, по HTTP-протоколу

• THREDDS работает только с локально хранящимися данными. В ходе проекта, THREDDS был дооснащен возможностью сервировать данные, находящиеся в хранилище SWIFT.

Page 16: М.Н.Жижин ,  А.Н.Поляков ,  А.А.Пойда ,  Д.П.Медведев НИЦ « Курчатовский институт »

Страница формирования OPeNDAP запроса из файла, находящегося в объектном

хранилище SWIFT

Page 17: М.Н.Жижин ,  А.Н.Поляков ,  А.А.Пойда ,  Д.П.Медведев НИЦ « Курчатовский институт »

Потоковая обработка данных Twitter STORM

Storm – распределенная система реального времени для обработки данных. Аналогично тому, как Hadoop, поддерживает ряд примитивов для организации пакетной обработки, Storm поддерживает примитивы для организации обработки данных в реальном времени.• Простая модель программирования (Clojure, Java, Ruby,

Python ). • Отказоустойчивость• Горизонтально расширяемая система (вычисления идут

параллельно с использованием многопоточности многопроцессности и на нескольких серверах).

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

• В качестве базового слоя для организации очереди сообщений используется ØMQ.

• Запуск рабочих потоков как на кластере, так и в локальном режиме на одной машине.

Page 18: М.Н.Жижин ,  А.Н.Поляков ,  А.А.Пойда ,  Д.П.Медведев НИЦ « Курчатовский институт »

Архитектура STORM

Page 19: М.Н.Жижин ,  А.Н.Поляков ,  А.А.Пойда ,  Д.П.Медведев НИЦ « Курчатовский институт »

Развертывание Twitter Storm в системе облачных вычислений

Виртуальная машина

Виртуальная машина

Виртуальная машина (головной узел кластера)

Zookeeper Кластер(на него устанавливается 0MQ И STORM)

Виртуальная машина

Виртуальная машина

Виртуальная машина

На ряде виртуальных машин системы облачных вычислений разворачивается Zookeeper-кластер. Одна из машин назначается головным узлом кластера. На машины кластера устанавливаются приложения 0MQ (используемый Twitter Storm как базовый слой для организации очереди сообщений) и пакеты Twitter Storm.

Page 20: М.Н.Жижин ,  А.Н.Поляков ,  А.А.Пойда ,  Д.П.Медведев НИЦ « Курчатовский институт »

Неудобства работы с системой STORM и методы их решения

Неудобства запуска рабочего потока в STORM:• Запуск скрипта производится локально на головной машине кластера либо через скрипты (Leiningen или Maven), при этом каждый раз на удаленную машину надо закачивать библиотеки для выполнения программы.• При запуске на кластере, состоящим из нескольких машин, сложен процесс сбора результирующих данных.

Для преодоления этих неудобств была разработана инфраструктура развертывания и запуска рабочего потока в системе облачных вычислений:• На головном узле разворачивается HTTP-сервлет, реализующий RESTful

интерфейс управления рабочим потоком. Пользователю не надо взаимодействовать с локальной машиной.• Используется дополнительное звено в цепочке запуска программы - развертывание (deploy): процесс передачи всех необходимых библиотек в систему STORM. После этого пользователь может повторно запускать этот же рабочий поток без необходимости повторной загрузки кода.• Для сбора результатов реализован специальный обработчик, который передает данные на HTTP-сервлет, который в свою очередь возвращает их в потоке пользователю в ответ на его запрос запуска рабочего потока.

Page 21: М.Н.Жижин ,  А.Н.Поляков ,  А.А.Пойда ,  Д.П.Медведев НИЦ « Курчатовский институт »

Инфраструктура создания и запуска рабочего потока

HTTP Сервлет

POST (deploy)

POST (put results)

GET (run)

пользователь

Jar + нужные коды

Параметры запуска

Распространение задания

(делает STORM)

Распространение задания

(делает STORM)

результаты

результаты

результаты

Локальный

запуск,

присваивается ID

ActiveStorageЗапрос данных

Запрос данных

Запрос данных

Page 22: М.Н.Жижин ,  А.Н.Поляков ,  А.А.Пойда ,  Д.П.Медведев НИЦ « Курчатовский институт »

Пример схемы рабочего потокаTopologyBuilder builder = new TopologyBuilder(); builder.setSpout("spout1", new GetData(), 10);builder.setSpout("spout2", new GetData(), 10); Fields tsr = new Fields("lat", "lon");builder.setBolt("proc", new Processing(), 4).fieldsGrouping("spout1",

tsr).fieldsGrouping("spout2", tsr);builder.setBolt("output", new OutputBolt(backUrl, taskId)).shuffleGrouping("proc");

Вычисление скорости ветра по U- и V- компонентам:

Spout 1 (10 экземпляров)(Класс GetData)

Spout 2 (10 экземпляров)(Класс GetData)

Proc(4 экземпляра)

(Класс Processing)

Output(1 экземпляр)

(Класс OutputBolt)

Все элементы потока с одинаковыми Lat и Lon попадают на один и тот

же обработчик

Page 23: М.Н.Жижин ,  А.Н.Поляков ,  А.А.Пойда ,  Д.П.Медведев НИЦ « Курчатовский институт »

Научные приложения • Анализ трендов и распознование объектов, например газовых факелов в базе данных ночных огней

• Поиск событий и анализ эффективности энергетических систем с учетом климатических факторов

• Экологический мониторинг с помощью сенсорных сетей

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

• Комплексный анализ естественных и искусственных полей и геодинамических моделей в задачах зондирования литосферы и верхней мантии

Page 24: М.Н.Жижин ,  А.Н.Поляков ,  А.А.Пойда ,  Д.П.Медведев НИЦ « Курчатовский институт »

Экспериментальные наборы данных

• Космическая физика (временные ряды SPIDR, включая геомагнитные, ионосферные, солнечные вариации) 100 Гб

• Климат (кубы данных реанализа и прогноза погоды) 200 Тб

• Дистанционное зондирование (продукты спутников DMSP в первую очередь ежегодные карты стабильных ночных огней) 400 Тб

• Геофизика (кубы данных сейсмической томографии, геомагнитного поля в коре и мантии Земли, временные ряды сейсмических и GPS наблюдений) 1 Тб

Page 25: М.Н.Жижин ,  А.Н.Поляков ,  А.А.Пойда ,  Д.П.Медведев НИЦ « Курчатовский институт »

Тайл сервер для визуализации и сравнения многоспектральных гигапиксельных изображений

геологического керна

Page 26: М.Н.Жижин ,  А.Н.Поляков ,  А.А.Пойда ,  Д.П.Медведев НИЦ « Курчатовский институт »

Тайл сервер для визуализации и межгодового сравнения

изображений ночных огней Земли

Page 27: М.Н.Жижин ,  А.Н.Поляков ,  А.А.Пойда ,  Д.П.Медведев НИЦ « Курчатовский институт »

Визуализация и сравнения геофизических полей Земли

Page 28: М.Н.Жижин ,  А.Н.Поляков ,  А.А.Пойда ,  Д.П.Медведев НИЦ « Курчатовский институт »

Виртуальная Обсерватория

Data Access & Processing

Information Search & Support

Metadata

Ordering Extention

MetaRecord

Guide

Transform to common format

Update

Order form

Documents & WIKI

User forum

News & Presentation

Data Resource

Data Query

Data Object

ObjectDescription

Visualisation

Convertion

Принципиальная схема работы с метаданными и данными в ВО• Получение метаданных от

источника• Создание записи

метаданных• Сопровождение записи об

источнике сопутствующей документацией и информацией

• Заказ данных из источника с помощью OE-формы

• Получение объекта данных

• Работа с данными

Программное обеспечение для управления метаданными с функциями преобразования и отображения на многообразии схем (стандартов) метаданных из различных предметных областей — метеорологии, солнечно-земной физики, сейсмологии.

Page 29: М.Н.Жижин ,  А.Н.Поляков ,  А.А.Пойда ,  Д.П.Медведев НИЦ « Курчатовский институт »

Пример работы с метаданными

Page 30: М.Н.Жижин ,  А.Н.Поляков ,  А.А.Пойда ,  Д.П.Медведев НИЦ « Курчатовский институт »

ВыводыВ результате работы над проектом были получены следующие результаты:•Разработана масштабируемая,

распределенная, открытая платформа для облачного хранения научных данных. •Создан фреймворк, обеспечивающий распределенную параллельную обработку потоков научных данных.•На базе платформы развернуты сервисы визуализации данных.•Создана система управления метаданными.•Разработано прикладное программное обеспечение Active Storage для облачного хранения, обработки и доступа к сверхбольшим многомерным научным массивам научных данных.