Особенности организации блочной обработки данных по большим территориям
Как уже было отмечено выше, анализ данных по большим территориям может быть эффективно реализован только при организации параллельной обработки с использованием множества вычислительных узлов. В простейшем варианте, когда процедура обработки использует только операции с отдельными пикселами спутниковых изображений, для ее распараллеливания может быть использовано разбиение области интереса на непересекающиеся блоки данных. При этом оптимальное число блоков в их кластерах (набор блоков, передающихся для обработки на вычислительный узел) определяется в конечном итоге числом блоков заданного размера, которое конкретная процедура может обрабатывать в параллельном режиме на характерном вычислительном узле.
Однако во многих процедурах обработки используются не только данные в отдельных точках, но также и данные в соседних к ним областям. Например, такие данные необходимы для отсечения теней от облаков, улучшения калибровки, интерполяции данных и дополнительной привязки данных по наблюдениям более высокого пространственного разрешения. В результате возникает необходимость в предоставлении для обработки не только данных по области, по которой будет получен результат обработки конкретного кластера, но и данных по требуемой буферной зоне. Это приводит к тому, что часть данных используется многократно. Иллюстрация этого приведена на рисунке 3.1.2.1. На нем красными контурами показаны области, по которым получается результат конкретного блока, черными – граница области, по которой для этого должны быть представлены данные (включая буфер). Штриховкой показаны участки данных, которые при обработке полной области интереса используются два и более раз.
Рисунок 3.1.2.1 — Схема предоставления «буферных» данных для обработки.
Наиболее простым способом предоставления буферных данных является использование расширенных пересекающихся друг с другом блоков данных, т.е. блоков, включающих в себя необходимые «соседние» данные. Однако такой вариант приводит к дублированию подготовки и передачи по сети одних и тех же областей данных. В тех случаях, когда доля буферных данных значительна и необходимо получить данные из других информационных центров по каналам с ограниченной пропускной способностью, это может быть неприемлемым решением. Чтобы избежать этого, можно включать в состав кластера обработки дополнительные блоки, включающие в себя требуемую буферную зону. Далее при оценке оптимальных параметров разбиения мы будем рассматривать именно такой вариант. Пример формирования кластеров для обработки в таком случае приведен на рисунке 3.1.2.2. В то же время, следует учитывать, что в тех случаях, когда число блоков, которые покрывают буферную область, составляет значительную часть от числа блоков, входящих в кластер, передаваемый для обработки на вычислительный узел, возникают существенные накладные расходы, связанные с дублированием передачи данных из дискового буфера вычислительным узлам.
Рисунок 3.1.2.2 — Организации буферной зоны с использованием набора дополнительных блоков.