Определение оптимального числа дополнительных слоёв передаваемых данных схемы сокрытия сетевой латентности
Автор: Новиков А.Б., Евтушенко Г.И.
Журнал: Вестник Воронежского государственного университета инженерных технологий @vestnik-vsuet
Рубрика: Информационные технологии, моделирование и управление
Статья в выпуске: 1 (71), 2017 года.
Бесплатный доступ
Ключевым компонентом эффективности параллельных вычислений является организация обмена данными между вычислительными узлами. Для повышения эффективности параллельных вычислений необходимо сокращать задержки на обмен данными. Для этого был разработан алгоритм перекрытия задержек обмена данными B+2R. В отечественных и зарубежных работах не рассматривается способ выбора числа слоёв дополнительно передаваемых данных R. Для возможности применения математического аппарата оптимизации в работе вводятся модели всех систем, влияющих на время выполнения параллельного расчёта. Вводится модель сети передачи данных и модель параллельного расчётного приложения. Время вычисления ячейки считается постоянной величиной, зависящей от конкретного расчёта. Вводится оценка времени счёта в зависимости от количества слоёв дополнительно передаваемых данных. Далее, вводится производная зависимости времени счёта параллельного приложения от количества слоёв дополнительно передаваемых данных. Наименьший действительный положительный корень получившегося кубического уравнения является минимумом времени счёта параллельного приложения. Может оказаться так, что уравнение не будет иметь действительных положительных корней, это соответствует существенно большему времени локальной сетки с приграничными слоями по отношению к задержкам обмена данными, что делает не целесообразным применение рассматриваемого алгоритма. Для проверки полученных зависимостей был проведён вычислительный эксперимент, результаты которого согласуются с прогнозируемыми величинами. Стоит отметить, что целью проведения вычислительного эксперимента является не столько совпадение полученного времени счёта параллельного приложения с данным числом слоёв данных и времени счёта вычисляемого по предлагаемой модели, сколько совпадение минимумов этих зависимостей. Это объясняется тем, что цель разработанной модели - достижение минимального времени счёта, а не его прогнозирование. Результатом работы служит зависимость, позволяющая по ряду параметров вычислительного комплекса и задачи определить оптимальное количество слоёв дополнительно передаваемых данных.
Схемы сокрытия сетевой латентности, структурированные сетки
Короткий адрес: https://sciup.org/140229786
IDR: 140229786 | DOI: 10.20914/2310-1202-2017-1-95-98
Текст научной статьи Определение оптимального числа дополнительных слоёв передаваемых данных схемы сокрытия сетевой латентности
Одним из ключевых компонентов эффективности массивно-параллельных вычислений является организация обмена данными между вычислительными узлами. При передаче данных существенные временные задержки могут приходиться на сетевую латентность. Таким образом возникает необходимость в использовании алгоритмов перекрытия задержек передачи данных для повышения эффективности параллельных Для цитирования
вычислений. На данный момент практика применения программных методов перекрытия задержек обмена данными показала существенное повышение масштабируемости и производительности параллельных приложений [1, 2]. Большое количество работ посвящено аппаратным реализациям методов перекрытия задержек обмена данными [3-9]. Стоит отметить, что разработка программных методик является предпочтительным направлением, так как позволяет, с одной стороны, не закупать
дополнительное оборудование, а с другой, может применяться совместно с аппаратными методиками. В отечественных и зарубежных работах не рассматривается способ выбора числа слоёв дополнительно передаваемых данных R. Наша гипотеза состоит в том, что оптимальное число дополнительно передаваемых данных может быть выражено через параметры среды передачи данных и параметров параллельного приложения.
-
1.1 Модель сети
Для оценки времени передачи данных нами использовалась модель, предложенная Хокни:
И должно выполняться соотношение: Np
N ячеек
П \ V\(i) d ячеек
d e { x , y , z }
i = 0
m
Чд = Тл + —
B
где т пд - время передачи m бит данных с пропускной способностью сети B [бит/секунда].
-
1.2 Оценка размера сетки на процессе
В данной работе рассматривается простейший случай декомпозиции структурированной сетки по процессам:
NT =
N d - + 1
N dp
N d
I N d
P < N d % N d
, d e { x , y , z } PT > N d % N d
-
1.3 Оценка времени счёта
В отсутствие наложения счёта и передачи данных, время счёта можно представить суммой времени обмена данными и непосредственно вычислений.
т = N tt ( T c ( N Я ‘L ) + 2 т пд ( N Я ) )) (2)
Где количество граничных ячеек на i -ом процессе для двумерного случая без использования стратегии B+2R выражается как:
N (i) = 4 N и N и гя x y
Очевидно, что время счёта т С является функцией от числа ячеек, подвергающихся счёту на i -ом процессе N(^ ) , а время передачи данных - функцией от количества ячеек и объема памяти, занимаемой ими.
Рассмотрим случай использования стратегии B+2R. Под R будем понимать количество слоёв ячеек соседних процессов.
т =
N R 4
2 N n T „ d ( N r ( R ) ) + Утс ( N Я^
R r = 1
r = 1
+ N r ( r ) ) (3)
где N dd1 ) - количество ячеек по измерению d на i -ом процессе,. Nd - количество ячеек по заданному измерению в базовой сетке, Pd1 ) -номер i -го процесса по заданному измерению в сетке процессов. Таким образом, количество ячеек на одном процессе выражается как:
N(i)
ячеек
П N ()
d е { x , y , z }
где Nn - максимальное число соседей в сетке процессов. Для двумерного случая с использованием стратегии B+2R Nn = 8 , для трёхмерного - Nn = 26 , при условии, что R < Nd . Функция, определяющая количество ячеек передаваемых как R слоёв ячеек от соседа, будет определена как показано в уравнении 4 для двумерного случая.
N R = 2 N x i ) R + 2 N yi ) R + 4 R 2 = 2 R [ N Xi ) + 2 R + N yi ) ]
N т = 2 N т
R n 1
+ т N c ячеек
2 R (2 R - 1)( R - 1) R +--
A 4 NsN Bae R ( N + N + 2 R )
+ R ( R - 1)( N x + N y ) | + —--- y----L
V B
8т
8 R
8 i (N.
8 N. т I R 3 +1 - it -24 N s N Base
3 it С I О D С C
V V 3 в
+ 3 NltB y ( N + N - 2) R 2 - 2 NN т cx y n n
Взяв производную уравнения 5, мы получаем выражение 6, приравняв которое 0, получаем кубическое уравнение, решением которого является оптимальное для данного вычислительного комплекса и данной задачи R. Стоит отметить, что решение необходимо выбирать, следуя нескольким ограничениям. С одной стороны, R должно быть положительным вещественным числом. При определённых конфигурациях МВК может оказаться, что уравнение 6 не имеет решений в области вещественных чисел, это соответствует случаю, когда небольшая латентность сети позволяет пересылать данные существенно быстрее, чем считается ячейка.
T = N iL
R
NR = 2 R 4 r R 2 + NN + NXNZ + NN + 2 R ( N + N + Nz ))
xy xz yz xyz
2 N j n + T c I 2 R 2 ( R - 1 ) 2 + N c R + 3 R ( 2 R - 1 )( R - 1 ) ( N + N + N z ) +
R (R -1)( NN + NN + NN)) + xy xz yz
4 N' Ba vR 4R R 2 + NN + NN + NN + 2 R(N + N + N J cc xy xz yz xyz
— = ( 6 N t ) R 9 +1 NiL (- 24 Bt + 96 NB"eN s + 8 Bt (n. + N + N Ш R 8 +
d^ R it c 3 в c c c c x y z
N± (6 Bt + 24 N B^ N^N, + Nv + Nz ) - 6 Bt ( N + Nv + Nz ) + 3 Bt N^^ + + NXNZ + NN )) | R 7 + 3 B c ccxyz cxyz cxyxzyz
( - 2 N t N n T „ ) R 5
В выражении 8 представлена зависимость времени счёта от числа слоёв передаваемых соседями данных. Приравнивая производную выражения 8 нулю, мы находим минимум искомой функции (рисунок 1) . Данное выражение не учитывает времени, которое затрачивается на подготовку данных к пересылке, и обработки данных во время приёма. Тем не менее, выражение хорошо согласуется с результатами экспериментов. Для эксперимента использовалась конфигурация из 20 машин. Решатель содержал уравнение переноса для

Рисунок 1. Зависимость времени счёта от R
Figure 1. Dependence of calculation time on R
График производной зависимости времени счёта от числа слоёв передаваемых данных (рисунок 2) показывает пересечение близко к 5
Список литературы Определение оптимального числа дополнительных слоёв передаваемых данных схемы сокрытия сетевой латентности
- Brandon G.A., Kalyan S.P., Sudip K.S. Efficient Simulation of Agent-Based Modoels on Multi-GPU and Multi-Core Clusters. Proceedings of SIMUTools. 2010 March 15-19
- Калмыков В.В., Ибраев, Р.А. Алгоритм с перекрытиями для решения системы уравнений мелкой воды на параллельных компьютерах с распределённой памятью//Вестник УГАТУ. 2013. № 5. С. 252-259.
- Jaehyuk H. Hardware Techniques to Reduce Communication Costs in Multiprocessors. Doctoral dissertation, 2006.
- Cicotti P. Tarragon: a programming model for latency-hiding scientific computations. Doctoral dissertation, 2011.
- Alameldeen Alaa R. Using Compression to improve chip multiprocessor performance. Doctoral dissertation, 2006.
- Afsahi A. Design and Evaluation of Communication Latency Hiding/Reduction Techniques for Message-Passing Environments. Doctoral dissertation, 2000.
- Chen Li-li, Huang Jian-xin, Zhang Jing A Latency-Hiding Algorithm for ABMS on Parallel/Distributed Computing Environment. ACM/IEEE/SCS 26th Workshop on Principles of Advanced and Distributed Simulation, 2012.
- Yong Chen, Surendra Byna, Xian-He Sun, Rajeev Thakur et al. Hiding I/O latency with pre-execution prefetching for parallel applications. In Proceedings of the 2008 ACM/IEEE conference on Supercomputing (SC '08). IEEE Press, Piscataway, NJ, USA, 2008, Article 40, pp. 10.
- Hakan Grahn Comparative Evaluation of Latency-Tolerating and -Reducing Techniques for Hardware-Only and Software-Only Directory Protocols. Journal of Parallel and Distributed Computing 60, 2000, pp. 807-834.