Loading
Пропустить Навигационные Ссылки.

Авторизоваться
Для зарегистрированных пользователей

Выбор оптимальных значений размеров блоков и кластеров

Рассмотрим вопрос выбора оптимального значения размера блока при обработке области данных площадью S. Фактически, мы должны минимизировать Tarea(S,a) , которое в общем случае представляется выражением:

   
 
где кроме описанных выше параметров еще фигурирует параметр N – число используемых вычислительных узлов.

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

В то же время при решении поставленной задачи могут быть сделаны некоторые упрощения, которые помогут проанализировать особенности ее решения. Одно из таких упрощений связано с отказом от учета ограничений возможностей вычислительной сети и использования предположения, что оптимальным числом вычислительных узлов для конкретного разбиения, которое определяется параметрами а и р, является такое, при котором имеется возможность одновременного запуска обработки всех кластеров блоков, на которые разбита область S. Для выполнения этого необходимо, чтобы выполнялось условие:

 
В этом случае выражение (4) может быть преобразовано в вид:

   
Конечно, это выражение имеет некоторые ограничения, связанные, в том числе с тем, что физически N должно быть целым числом, однако, на наш взгляд, это несущественно понижает точность оценки. Используя эту зависимость можно решить оптимизационную задачу и определить значения размера блока aopt и размера кластера popt, при которых суммарное время обработки области площадью S будет минимальным.

При этом при проведении оптимизации мы должны также учитывать различные ограничения, связанные, в частности, с возможностями используемой сетевой инфраструктуры. Поэтому мы должны минимизировать  Tarea(S,a)  с учетом интегрального пикового трафика, который может быть оценен путем умножения Vtget(a,p(a)), Vtupl(a,p(a)) (см.  выражения (2) и (3)) на число используемых вычислительных узлов.  В принципе, эта задача численно может решаться и в самом общем виде, поскольку для конкретной обработки используемой сетевой и вычислительной инфраструктуры, а также системы хранения и доступа к архивам спутниковых данных, как было показано выше, могут быть экспериментально получены все необходимые для решения данной задачи зависимости.

Выражение (6) позволяет нам также проанализировать динамику временных затрат как в предельных случаях малых, так и больших а, при условии, что мы не рассматриваем ограничения, связанные с возможностями вычислительной сети.  В этом случае, при больших а (в пределе, когда а равно размеру всей обрабатываемой области), p=1, поскольку в обрабатываемой области остается только один блок. Число вычислительных узлов, которые можно использовать в этом случает становится равным единице. Т.е. время обработки, которое в этом пределе необходимо для обработки всей области интереса становится равным времени обработки на одном вычислительном узле. При больших размерах обрабатываемой области это время может быть очень значительным. В то же время при малых а из-за того, что величина слагаемых, отвечающих за обработку данных при уменьшении а фактически стремится к 0 (это связано с тем, что скорость обработки малого объема данных на отдельном компьютере становится очень высокой), поэтому (6) фактически приобретает вид
 
  
Важно отметить, что удельная на единицу объема скорость выполнения практически всех операций с данными катастрофически падает при сильном уменьшении размера блока a. В результате, несмотря на рост выделяемых вычислительных узлов, происходит рост интегрального времени обработки. Это отражает тот факт, что система архивации, обслуживающая обработку, не справляется с обеспечением данными вычислительных узлов. При проведении потоковой обработки множества областей заданного размера это приводит к тому, что увеличение числа вычислительных узлов целесообразно до тех пор, пока время подготовки данных не станет сопоставимым с временем их обработки. Дальнейшее увеличение числа вычислительных узлов приведет к неоправданному расходу ресурсов, так как при уменьшении размера кластера растет доля «буферных» блоков данных, передаваемых по сети и используемых в обработке. Таким образом, мы можем сделать предположение, что должны существовать некоторые оптимальные значения а и р, при которых интегральное время обработки заданной области S будет минимально. Этот минимум должен находиться в области значений а и р, в которой скорость обработки данных будет равна скорости подготовки данных. Т.е. первый и второй члены в выражении (6) будут равны. Это соображение можно учитывать для оптимизации численного поиска оптимальных значений а и р
 
Следует также учитывать, что на практике мы в основном сталкиваемся с задачей, в которой требуется найти оптимальные значения а и р для решения задачи с помощью имеющихся ресурсов. Т.е.  необходимо найти оптимальное значение размера блока a при обработке заданной области S при фиксированном значении числа вычислительных узлов N, и в формулу (4) нужно подставить значения размера кластера p, вычисляемые по формуле:

   
В этом случае выражение (4) принимает вид:

   
Поскольку N в данном выражении является константой, то видно, что поиск минимального значения   фактически превращается в поиск минимума по единственному параметру а.  Это, безусловно, упрощает процедуру решения задачи.  Отметим, что после нахождения оптимального а оптимальное значение р вычисляется по формуле (8).