Краткие сведения о реализации технологии
Представленная технология реализует новый подход для организации эффективной параллельной обработки разнородных спутниковых данных по большим территориям на основе использования механизма динамического блочного доступа. Особенно актуально применение этого подхода, когда в рамках одной процедуры необходимо совместно анализировать различные типы спутниковой информации. Разработанная технология позволяет предоставлять вычислительным узлам только ту информацию, которая необходима для получения результатов по заданному для него набору блоков данных (кластеру данных), причем в таком представлении (проекция, разрешение, набор каналов), которое было бы оптимальным для проведения конкретной процедуры обработки. При этом динамическое формирование данных по блокам позволяет избежать дорогостоящей процедуры предобработки архивов.
Реализация технологии базируется на использовании технической и программной инфраструктуры ЦКП «ИКИ-Мониторинг». Архивы центра разработаны и поддерживаются на основе технологии построения сверхбольших распределенных архивов разнородных спутниковых данных UNISAT. Подсистемы обработки данных реализованы на базе технологии распределенной многопотоковой обработки спутниковых данных, которая позволяет в полностью автоматическом режиме вести обработку на практически неограниченном числе вычислительных узлов. В рамках этой технологии за управление процессом обработки отвечают выделенные серверы диспетчеризации, на которых формируются задания для обработки на вычислительных узлах. При этом на самих вычислительных узлах устанавливается стандартное программное обеспечение, разработанное в ИКИ РАН или являющееся свободно распространяемым, позволяющее выполнять широкий спектр различных типов обработки. Каждое задание содержит описание действий, которые необходимо произвести над набором данных и информацию о местонахождении обрабатываемых файлов данных. Освободившиеся вычислительные узлы в соответствии с централизованно определяемыми приоритетами получают на сервере диспетчеризации очередное задание на обработку, выполняют его, а результаты передают на серверы архивации спутниковых данных, указанные в задании на обработку. Для управления и контроля за всеми автоматически выполняемыми процедурами также используются разработанные в ИКИ РАН программные решения.
Обработка больших массивов спутниковых данных требует весьма значительных вычислительных ресурсов, высокопроизводительных систем хранения и каналов передачи данных. Поэтому задачи минимизации накладных расходов и повышения эффективности при реализации механизма динамического блочного доступа выходят на первый план. Поэтому основным принципом построения таких сервисов является реализация процедур выборки конкретных данных с помощью вычислительных ресурсов, «максимально близких» (в сетевом смысле) к конкретным системам хранения данных. При этом для минимизации сетевого трафика может также быть предусмотрена возможность работы с различными буферами, обеспечивающими кеширование информации. Также при подготовке данных по блокам предпочтительнее использовать прямой доступ к файлам, позволяющий вычитывать только необходимое подмножество данных из них.
На рисунке 3.1.1.1 приведена принципиальная схема организации обработки с использованием динамического блочного доступа к данным. Сервера диспетчеризации отвечают за формирование заданий на обработку данных. В рамках этой операции сначала в соответствии с конфигурацией конкретной процедуры обработки запрашивается информация о данных (в общем случае различных типов), которые должны быть обработаны. Затем формируются запросы к сервису подготовки данных по блокам заданного разбиения, в которых содержится вся необходимая информация о местонахождении данных. После этого сами запросы в многопоточном режиме направляются на сервер переадресации запросов и балансировки нагрузки. На этом сервере устанавливается специально разработанный демон, позволяющий переадресовать запросы на соответствующие локальные или удаленные сервера подготовки данных.
Рисунок 3.1.1.1 — Принципиальная схема организации обработки на основе динамического блочного доступа к данным.
На каждом из серверов подготовки данных устанавливается стандартный сервис подготовки данных по заданной области (блоку или кластеру блоков). Реализованный демон позволяет гибко настраивать правила балансировки нагрузки на серверы подготовки данных. В частности, при распределении запросов они в приоритетном порядке направляются на серверы, на которых непосредственно располагаются требуемые данные. Также для каждого из серверов может быть указан его вес, в конечном итоге определяющий количество направляемых на него запросов. После получения всех требуемых данных в дисковый буфер производится формирование заданий для серверов обработки. Вычислительные узлы получают сформированные задания от сервера диспетчеризации, скачивают данные по заданным блокам разбиения из дискового буфера и приступают к выполнению процедуры обработки. После завершения обработки результаты и описывающие их метаданные передаются на серверы архивации для занесения их в архивы центра.
Реализованная технология позволяет предоставлять для выполнения обработки в блочном виде любые, имеющиеся в архивах ЦКП «ИКИ-Мониторинг», спутниковые данные, для которых могут быть заданы следующие основные параметры: разбиение на блоки, проекция, разрешение, набор каналов. Гибкая система конфигурации позволяет легко задать набор необходимых для проведения обработки данных по заданной области интереса. Реализованный механизм кэширования позволяет при необходимости использовать подготовленные по блокам данные многократно.