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

Презентация:



Advertisements
Похожие презентации
Распределенное хранение и визуализация массивов научных данных и изображений Дмитрий Медведев, Александр Новиков ГЦ РАН, ИКИ РАН.
Advertisements

Распределенная обработка информации Разработано: Е.Г. Лаврушиной.
Различия и особенности распространенных протоколов. Принципы работы протоколов разных уровней. Предоставление сетевых услуг. Борисов В.А. КАСК – филиал.
Администрирование информационных систем Лекция 4. Система управления базами данных.
Григорюк А.П., Брагинская Л.П. Лаборатория Геофизической Информатики Институт Вычислительной Математики и Математической Геофизики СО РАН 2009 г. ИНФОРМАЦИОННОЕ.
Использование технологий WMS и WFS при разработке океанологических ГИС Олейников И. С. ДВГУ.
Организация распределенных прикладных систем. Попытаемся ответить на вопросы Как устроены распределенные прикладные системы? Каковы наиболее важные их.
Локальная сеть Типы локальных сетей Топология сетей.
Big Data пришли в Россию Объем данных в компаниях.
1 Современные системы программирования. Часть 2. Системное и прикладное программное обеспечение Малышенко Владислав Викторович.
Технические спецификации и программные комплексы E2EDM Белов С.В., Сухоносов С.В., Булгакова К.В ЦОД ВНИИГМИ-МЦД,2006.
Сетевой интерактивный ресурс данных по космической физике Space Physics Interactive Data Resource (SPIDR II) Михаил Жижин, ИФЗ РАН
Конфигурация ЛВС (локальные сети одноранговые и с выделенным сервером) По административным отношениям между узлами можно выделить сети с централизованным.
Лекция 22 Лекция 22 Локальные, сетевые и распределенные базы данных. Архитектура «файл- сервер». Двух и трехуровневая архитектура «клиент-сервер». Модель.
Мартин Фаулер « Архитектура корпоративных программных приложений » Подготовила Ст. ПС - 41 Лукиных Н. А.
Разработка модели и реализация системы администрирования web-сайта Магистрант математического факультета Антоник Денис Владимирович руководитель Переверзева.
Сетевой интерактивный ресурс данных по физике космоса Space Physics Interactive Data Resource (SPIDR) Михаил Жижин, ИФЗ РАН
Инструментальная система разработки распределенных приложений «SiTex»
Создание программно- аппаратного комплекса архива научных космических данных Назиров Р.Р., Боярский М.Н., Шевченко М.И. Институт космических исследований.
Применение распределенных вычислительных систем при определении параметров сейсмической анизотропии коры и верхней мантии к.т.н. Мишин Дмитрий Юрьевич.
Транксрипт:

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

Сверхбольшие наборы данных в научных областях Физика высоких энергий (LHC) Астрофизика (SDSS, численные модели Вселенной) Геофизика и глобальные изменения климата (Архив метеонаблюдений WMO, климатологические и прогноз NCEP/NCAR и ECMWF, сейсмика, космическая погода SPIDR) Дистанционное зондирование (архивы изображений MODIS, DMSP, GOES) Биоинформатика и нанотехнологии (геном, архивы изображений с микроскопов, томографов)

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

Перспективные технологии хранения и управления данными Объектные облачные хранилища данных Amazon S3, MS DataMarket, OpenStack Swift, Cassandra, DropBox Специализированные системы хранения адаптированные для хранения научных данных, такие как RasDaMan и SciDB Гибридные системы хранения (специализированную модель данных поверх хранилища более общего назначения) ActiveStorage Распределенная потоковая обработка Twitter Storm, Yahoo S7, IBM Streams, Hadoop.

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

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

Особенности предлагаемого решения Распределенные потоковые вычисления в облаке Распределенные облачные хранилища Общий язык запросов для распределенного выполнения и управления рабочим потоком Интеграция и проведение совместного анализа в различных областях

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

OpenStack Swift Высокоотказоустойчивое, распределенное хранилище объектов или блобов с длительной поддержкой целостности. Хранение образов узлов Работа в качестве самостоятельного контейнера данных Обеспечение отказоустойчивости и резервирования данных Создание резервный копий и архивирование данных Масштабируемость RESTful S3-like интерфейс поддержка системы авторизации и аутентификации пользователей (swauth, keystone)

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

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

Разбиение массивов на чанки 1 поисковый запрос8 поисковых запросов 4 поисковых запроса Массив разбитый на чанкиМассив не разбитый на чанки Чанки хранятся в таблице базы данных как объекты Чанки могут быть различных размеров chunk_keychunk

Реанализ погоды NCEP/NCAR Постоянно обновляемый набор данных Включает вывод наблюдений и глобальной климатической модели 74 погодных параметра 5000 netCDF файлов, 30 – 500 MB каждый Временной интервал: 1948 – 2008 гг. 4-х часовые значения Покрытие: Регулярная сетка, 2.5 x 2.5 градуса T62 Гауссовская сетка, 192 x 94 точек.

Сервис доступа к распределенным системам хранения VOSpace Интерфейс доступа к данным подключаться к точкам входа нескольких распределённых хранилищ. добавлять и удалять объекты данных и контейнеры хранения управлять метаданными объектов получать уникальные ссылки (URI) на объекты данных для доступа к ним создавать серверные задачи для перемещения данных между различными хранилищами или точками входа. Особенности VOSpace VOSpace не накладывает ограничений на способы хранения и передачи данных. Может работать с локальной файловой системой и OpenStack Swift. Контролирует доступ и управление данными, метаданными и задачами синхронизации. Позволяет подключать различные схемы авторизации (openID, oAuth и другие системы) RESTfull интерфейс

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

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

Потоковая обработка данных Twitter STORM Storm – распределенная система реального времени для обработки данных. Аналогично тому, как Hadoop, поддерживает ряд примитивов для организации пакетной обработки, Storm поддерживает примитивы для организации обработки данных в реальном времени. Простая модель программирования (Clojure, Java, Ruby, Python ). Отказоустойчивость Горизонтально расширяемая система (вычисления идут параллельно с использованием многопоточности многопроцессности и на нескольких серверах). Storm гарантирует, что каждое сообщение в потоках будет полностью обработано как минимум один раз. Storm самостоятельно инициирует повторную отправку сообщений в случае ошибок при их обработке. В качестве базового слоя для организации очереди сообщений используется ØMQ. Запуск рабочих потоков как на кластере, так и в локальном режиме на одной машине.

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

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

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

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

Пример схемы рабочего потока 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- компонентам:

Научные приложения Анализ трендов и распознование объектов, например газовых факелов в базе данных ночных огней Поиск событий и анализ эффективности энергетических систем с учетом климатических факторов Экологический мониторинг с помощью сенсорных сетей Совместная интерпретация многопараметрических геофизических рядов, мультиспектральных изображений каменного материала (керна) Комплексный анализ естественных и искусственных полей и геодинамических моделей в задачах зондирования литосферы и верхней мантии

Экспериментальные наборы данных Космическая физика (временные ряды SPIDR, включая геомагнитные, ионосферные, солнечные вариации) 100 Гб Климат (кубы данных реанализа и прогноза погоды) 200 Тб Дистанционное зондирование (продукты спутников DMSP в первую очередь ежегодные карты стабильных ночных огней) 400 Тб Геофизика (кубы данных сейсмической томографии, геомагнитного поля в коре и мантии Земли, временные ряды сейсмических и GPS наблюдений) 1 Тб

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

Тайл сервер для визуализации и межгодового сравнения изображений ночных огней Земли

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

Виртуальная Обсерватория Принципиальная схема работы с метаданными и данными в ВО Получение метаданных от источника Создание записи метаданных Сопровождение записи об источнике сопутствующей документацией и информацией Заказ данных из источника с помощью OE-формы Получение объекта данных Работа с данными Программное обеспечение для управления метаданными с функциями преобразования и отображения на многообразии схем (стандартов) метаданных из различных предметных областей метеорологии, солнечно-земной физики, сейсмологии.

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

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