Научная статья на тему 'Метод обработки растровых изображений в рамках модели MapReduce'

Метод обработки растровых изображений в рамках модели MapReduce Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
68
12
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
MAPREDUCE / WPS / SVM / GEOTIFF / SPATIAL DATA / IMAGE PROCESSING

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Авраменко Юрий Владимирович, Шумилов Александр Сергеевич

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Авраменко Юрий Владимирович, Шумилов Александр Сергеевич

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

n this paper we propose a method within MapReduce model for processing raster images. Special components have been designed for Map and Reduce operations based on the specifications. Specification define the way input and output data should be processed. Map and Reduce operations are performed according to the designed specifications. Each of computational nodes is selected for processing specific part of input geospatial data that is called cell. Advantage of the proposed method within MapReduce model for processing raster images is to provide geospatial data processing within MapReduce modelfor web-services without extra programming.

Текст научной работы на тему «Метод обработки растровых изображений в рамках модели MapReduce»

УДК 004.75

МЕТОД ОБРАБОТКИ РАСТРОВЫХ ИЗОБРАЖЕНИЙ В РАМКАХ

МОДЕЛИ MAPREDUCE Авраменко Юрий Владимирович

Программист, e-mail: avramenko@icc.ru Шумилов Александр Сергеевич

Аспирант, e-mail: shumsan1011@gmail.com Институт динамики систем и теории управления имени В.М. Матросова СО РАН, 664033 г. Иркутск, ул. Лермонтова 134

Аннотация. В данной статье предлагается метод обработки растровых изображений, на основе использования модели распределенных вычислений MapReduce. Распределение растровых изображений между узлами вычислительной сети осуществляется разработанными обработчиками для операций Map и Reduce.Обработчики распределяют и собирают растровые изображения на основе спецификаций. Спецификации содержат в себе информацию о способе распределения и сборе данных. Предлагаемый метод позволяет использовать инструменты пространственного анализа растровых изображений в распределенной вычислительной среде без их модификации. Ключевые слова: MapReduce, WPS, SVM, GEOTIFF, spatial data, image processing.

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

Одним из наиболее популярных подходов к обработке данных является реализация вычислений на основе модели распределенных вычислений MapReduce [5]. Свободно доступная реализация MapReduce - ApacheHadoop [6] позволяет осуществлять контроль и управление вычислительными узлами, а так же предоставляет такие средства, как распределенная файловая система (единое файловое пространство для выполняемых сервисов), и собственная распределенная СУБД. Расширение Spaital Hadoop [7] ориентировано на работу с большими массивами данных. Особый интерес вызывает гибридный подход HadoopDB [3], включающий распределённую СУБД Postgres и Apache Hadoop. Суть HadoopDB состоит в связывании нескольких одноузловых систем баз данных с использованием ApacheHadoop в качестве координатора задач и сетевого коммуникационного слоя MapReduce.

В работе [1] авторы предлагают на основе Apache Hadoop и MapReduce систему обработки изображений с автоматическим распараллеливанием данных между вычислительными узлами. Система состоит из двух частей Apache Hadoop и реализованных

обработчиков изображений с аппаратно программным интерфейсом (API), встроенных в пакет Image Processing Library. Система ориентирована на обработку коллекции независимых изображений. В статье [4] авторы использовали Hadoop-GIS для обработки пространственных данных. Входные данные содержат множество полигональных, точечных или других объектов. Данные разделяются на блоки и распределяются между вычислительными узлами. При таком подходе возникает ситуация, когда один объект содержится в двух и более блоках одновременно и необходимо определить, к какому блоку его отнести. Для решения этой задачи авторы предлагают два способа. Первый - исключить эти объекты из обработки и потерять малую часть данных. Второй - выполнить дополнительные вычисления по обработке конфликтных ситуаций. В этом случае достигается точный результат, а общее время работы увеличивается незначительно. Основное отличие данной работы заключается в том, что в силу специфики распределенной системы нет возможности настроить общую распределенную систему хранения и передачи данных. Описанный подход по обработке конфликтных ситуаций в [6]является перспективным, он будет более подробно рассмотрен, улучшен и адаптирован для целей данной работы.

Существует широкий выбор программных систем геообработки, имеющихся на рынке. Однако, несмотря на обилие систем, реализующих программную модель MapReduce, остается открытым вопрос применения модели MapReduce для программных систем, ее не поддерживающих, для обработки пространственных данных. Все чаще эти программные системы реализуют в виде Web-сервисов, но не решается вопрос разделения и сборки пространственных данных и управления распределенным вычислением для применения этих систем без программирования. Также стоит отметить, что в большинстве реализаций программной модели MapReduce необходим контроль над вычислительными узлами, на которых будет развертываться система, в то время как при большом количестве сервисов, работающих на совершенно разных, как аппаратных, так и программных платформах, под управлением сторонних разработчиков осуществлять прямое управление и настройку узлов практически невозможно. Для решения данной проблемы предлагается метод обработки растровых изображений в рамках модели распределенных вычислений MapReduce, которая позволяет использовать инструменты пространственной обработки в распределенной вычислительной среде без их модификации. В ИДСТУ СО РАН был предложен оригинальный способ контроля выполнения сервисов [2] в виде функций на языке JavaScript, которые можно использовать в JavaScript сценариях наравне со стандартными конструкциями языка. Способ [2] позволяет выполнять сервисы в автоматическом режиме, а также поддерживает длительно выполняющиеся сервисы и передачу данных.

1. Постановка задачи. В ИДСТУ СО РАН ведётся разработка и развитие геопортала, одной из функций которого является предоставление инструментов пространственной обработки данных в виде WPS-сервисов (Web Processing Service). WPS — это стандарт интерфейса Web-сервисов, реализующих пространственную обработку растровых и векторных данных, а также доступ к пакетам геомоделирования, инструментам статистики и обработки через Интернет.

Приведем краткое описание некоторых из них. Сервис обработки данных радарной топографической съемки (Shuttle Radar Topography Mission, SRTM) применяется во многих задачах, в частности для вычисления уклона (анг. - slope) и экспозиции (анг. - aspect). Уклон

представляет скорость изменения высоты для каждой ячейки цифровой модели рельефа Digital Elevation Model (DEM). Экспозиция устанавливает направление уклона максимальной скорости изменения значений от каждой ячейки до соседних. Сервис вычислений вегетационного индекса (Normalized Difference Vegetation Index, NDVI), применяется для определения параметров растительности в данном пикселе снимка. Разработаны сервисы, реализующие операции картографической алгебры, выполняющие сложение/вычитание, умножение/деление растровых данных в формате GEOTIFF. Данные операции позволяют выполнять различные методики, в частности, получение изменений между двумя файлами с помощью операции вычитания, различные свертки набора файлов и т.д. Сервис классификации данных методом опорных векторов (Support Vector Machine, SVM) на основе прецедентов, хорошо зарекомендовал себя в области обработки пространственных данных.

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

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

2. Обработка растровых изображений в рамках модели распределенных вычислений MapReduce. Метод обработки растровых изображений основывается на реализованном в ИДСТУ СО РАН способе контролирования процесса выполнения сервисов[2]. Программно Map и Reduce обработчики представляют собой библиотеки, встраиваемые в модуль выполнения сценариев WPS-сервисов. При выполнении сценария модуль определяет, какому вызову сервиса сопоставляется спецификация. При наличии спецификации происходит анализ вычислительных узлов, поддерживающих выполнение данного сервиса. В зависимости от настроек распределения входных данных, определенных в спецификации, производится разделение входных данных с последующим вызовом копий сервисов на удаленных серверах. Модуль выполнения сценариев последовательно опрашивает выполняемые копии сервисов, и как только последняя копия сервиса завершает свою работу, все результаты работы копий скачиваются модулем и происходит процесс сборки результата в соответствии с правилами, определёнными в спецификации. Файлы, получающиеся в результате процесса сборки, передаются дальнейшим участникам сценария. На рис. 1 изображена схема работы метода обработки растровых изображений.

Рис. 1. Схема метода обработки растровых изображений в рамках модели MapReduce

Приведем описание некоторых элементов данного метода. Обработчик операцииMap включает реализованные функции чтения спецификаций, на их основе формируются параметры для распределения растровых данных между вычислительными узлами. Для разделения данных формируются параметры запуска утилиты GDAL TRANSLATE, предназначенной для конвертации растров. Обработчик операции Reduce включает реализованные функции чтения спецификаций и реализованные обработчики сбора данных. Обработчики данных реализуют стандартные функции обработки конфликтных ситуаций, возникающих в процессе сбора данных. Конфликтные ситуации возникают, например, при сборе частей мозаики растра в одно целое. К таким ситуациям можно отнести поступление повторяющихся или неоднозначных данных. В этом случае обработчик применяет к ним операцию, указанную в спецификации. В текущей версии доступны следующие операции: max - установить максимальное значение из двух перекрывающихся пикселей, min -установить минимальное значение из двух перекрывающихся пикселей, avg - вычислить среднее значение из двух перекрывающихся пикселей.

Спецификации написаны в формате JavaScript Object Notation (JSON). Настройки спецификаций позволяют указывать минимальные и максимальные размеры ячейки для обработки, позволяя операции Map самостоятельно определять размер ячеек для оптимальной загрузки вычислительных узлов вызываемыми сервисами (в этом случае в обработчик также сообщается число вычислительных узлов). Это позволяет произвести расчет ячейки на основе стратегии равномерной загрузки вычислительных узлов, то есть обработчик стремится занять как можно большее число узлов, при этом максимизируя размер ячейки и минимизируя число вызовов сервиса на каждом узле в целях минимизации расходов на соединение и передачу данных. Спецификации для операции Map содержат следующую информацию: ширину и высоту ячейки данных, ширину полосы перекрывающихся пикселей для соседних ячеек. Спецификации для операции Reduce содержат название метода, применяемого на шаге сбора полученных результатов, для обработки перекрывающихся пикселей.

Заключение. В данной статье предложен метод автоматизации параллельного применения инструментов пространственного анализа растровых изображений в рамках модели распределенных вычислений MapReduce. Отличительной чертой данного метода является возможность использования инструментов обработки пространственных данных в распределенной вычислительной среде без их модификации. Разработаны и реализованы обработчики для операций Map и Reduce, которые позволяют управлять процессом распределения и сбора обрабатываемых данных независимо от инструментов пространственной обработки. На основе спецификаций можно указать способ распределения и сбора обрабатываемых данных. Предлагаемый метод не требователен к вычислительным узлам.

Работа выполнена при поддержке центра коллективного пользования ИИВС ИРНОК и гранта РФФИ № 16-37-00110.

СПИСОК ЛИТЕРАТУРЫ

1. Созыкин А.В., Гольдштейн М.Л. Система обработки изображений с автоматическим распараллеливанием на основе MapReduce // Вестник Южно-Уральского государственного университета. 2012. No. 27 (286). С. 109 - 118.

2. Фёдоров Р.К., Шумилов А.С. WPS-сервисы пространственного анализа состояния окружающей среды и природных ресурсов // Инфраструктура научных информационных ресурсов и систем. 2014. Т. 2. С. 66 - 74.

3. Abouzeid A., Bajda-Pawlikowski K., Abadi D., Silberschatz A., Rasin A. HadoopDB: An Architectural Hybrid of MapReduce and DBMS Technologies for Analytical Workloads. // Proceedings of the 35th VLDB Conference. 2009.

4. Aji A., Wang F., Vo H., Lee R., Liu Q., Zhang X.,Saltz J. Hadoop: GIS: A High Performance Spatial Data Warehousing System over MapReduce // The 39th International Conference on Very Large Data Bases. 2013. Vol. 6. No. 11. pp. 1009-1020.

5. Dean J., Ghemawat S. MapReduce: Simplified Data Processing on Large Clusters // Sixth Symposium on Operating System Design and Implementation. 2004.

6. Hadoop. Режим доступа: http://hadoop.apache.org/ (дата обращения 18.04.2012).

7. Spatialhadoop. Режим доступа: http://spatialhadoop.cs.umn.edu/ (дата обращения 18.04.2012).

UDK 004.75

PROCESSING OF RASTER IMAGES BASED ON MAPREDUCE MODEL

Yuriy V. Avramenko

Programmer, e-mail: avramenko@icc.ru Alexander S. Shumilov

Graduate student, e-mail: shumsan1011@gmail.com Matrosov Institute for System Dynamics and Control Theory of Siberian Branch of Russian Academy of Sciences, 134, Lermontov Str., 664033, Irkutsk, Russia,

Abstract. In this paper we propose a method within MapReduce model for processing raster images. Special components have been designed for Map and Reduce operations based on the specifications. Specification define the way input and output data should be processed. Map and Reduce operations are performed according to the designed specifications. Each of computational nodes is selected for processing specific part of input geospatial data that is called cell. Advantage of the proposed method within MapReduce model for processing raster images is to provide geospatial data processing within MapReduce modelfor web-services without extra programming. Keywords:MapReduce, WPS, SVM, GEOTIFF, spatial data, image processing.

Actual work is completed with the help of the Center of collective use of the IICN ISSC and RFBR, grant number 16-37-00110.

References

1. Sozykin A.V., Gol'dshtejn M.L. Sistema obrabotki izobrazhenij s avtomaticheskim rasparallelivaniem na osnove MapReduce [Processing system of images with automatically distribution based on Mapreduce] // Vestnik Juzhno-Ural'skogo gosudarstvennogo universiteta. 2012. No. 27 (286). Pp. 109-118. (in Russian)

2. Fjodorov R.K., Shumilov A.S. WPS-servisy prostranstvennogo analiza sostojanija okruzhajushhej sredy i prirodnyh resursov [WPS-services of spatial analysis of the environment condition and natural resources] // Infrastruktura nauchnyh informacionnyh resursov i sistem. 2014. Т. 2. Pp. 66 - 74. (in Russian)

3. Abouzeid A., Bajda-Pawlikowski K., Abadi D., Silberschatz A., Rasin A. HadoopDB: An Architectural Hybrid of MapReduce and DBMS Technologies for Analytical Workloads // Proceedings of the 35th VLDB Conference. 2009.

4. Aji A., Wang F., Vo H., Lee R., Liu Q., Zhang X.,Saltz J. Hadoop: GIS: A High Performance Spatial Data Warehousing System over MapReduce // The 39th International Conference on Very Large Data Bases. 2013. Vol. 6. No. 11. Ppp. 1009-1020.

5. Dean J., GhemawatS. MapReduce: Simplified Data Processing on Large Clusters. //Sixth Symposium on Operating System Design and Implementation.2004.

6. Hadoop. Available at: http://hadoop.apache.org/, accessed20.02.2016.

7. Spatialhadoop. Available at: http://spatialhadoop.cs.umn.edu/, accessed20.02.2016.

i Надоели баннеры? Вы всегда можете отключить рекламу.