1 / 30

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

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

twyla
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

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

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

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

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

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

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

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

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

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

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

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

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

  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.

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

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

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

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

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

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

  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- компонентам:

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

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

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

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

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

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

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

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

More Related