
- •О времени коммуникаций в системах с распределенной памятью
- •О времени коммуникаций в распределенных системах.
- •1. 4 Коммуникационная сеть с топологий сети типа «двумерная решетка» (mesh).
- •1. 5. Гиперкуб, (hypercube).
- •2. Алгоритмы маршрутизации.
- •3. Времена и методы передачи данных.
- •На базе таких моделей строятся теоретические оценки трудоемкости коммуникационных операций
- •Способ измерения латентности
- •PROGRAM Example10_Latency_Bandwidth include 'mpif.h'
- •СВывод результатов для очередной длины сообщения IF (rank .EQ. 0) THEN
- •Программирование в MPI
- •1.2 Разбиение коммуникатора
- •SUBROUTINE SPLIT_SLAVE_HOST include 'mpif.h'
- •PROGRAM Master-Slave include 'mpif.h‘

О времени коммуникаций в системах с распределенной памятью
Дополнительные возможности MPI

О времени коммуникаций в распределенных системах.
1. Топологии сети процессоров.
Диаметр сети d - максимальное расстояние между двумя произвольными узлами сети
1.1 Коммуникационная сеть с топологий сети типа «шина» (bus). d=1
1.2 Коммуникационная сеть с топологий сети типа «линейка» (linear array, farm). d= N-1
1. 3 Коммуникационная сеть с топологий сети типа «кольцо» (ring). D= N/2

1. 4 Коммуникационная сеть с топологий сети типа «двумерная решетка» (mesh).
Если соединить между собой граничные процессоры по горизонтали |
|
и по вертикали - тор. |
. |

1. 5. Гиперкуб, (hypercube).
d log2 N, N 2p p – количество измерений гиперкуба
Трехмерный гиперкуб, N=8
Вp-мерном гиперкубе каждый процессор непосредственно связан ровно с p соседями.
Процессоры в гиперкубе нумеруют с помощью бинарного отраженного кода Грея
Всети с топологий «гиперкуб» диаметр сети медленно растет
с ростом числа процессоров в системе

2. Алгоритмы маршрутизации.
Оптимальные (кратчайший путь) и неоптимальные.
Детерминированные и адаптивные.
Пример оптимального часто применяемого метода- покоординатная маршрутизация (dimension-ordered routing)
Для решетки – это метод XY- маршрутизации

3. Времена и методы передачи данных.
Tстарта ( )– время подготовки сообщения для передачи, поиск маршрута и пр. (время старта, задержка, латентность, latency)
Tпередачи-служ ( ) – время передачи служебных данных между соседними процессорами (с физической связью) – оболочка сообщения, блок для поиска ошибок с КС, кодами и тп.
Tпередачи-слова ( )– время передачи одного байта между соседними процессорами (с физической связью).
Метод передачи сообщений целиком (сообщение длины m по пути длины k)
Тсом ~ Tстарта + (m x Tпередачи-слова + Tпередачи-служ) * k (1)
Метод передачи сообщений пакетами (сообщение длины m по пути длину k)
Тсом ~ Tстарта + m x Tпередачи-слова + Tпередачи-служ * k
Реализует идею конвейера
Передача пакетами – обычно быстрее; требует дополнительных аппаратных возможностей, более сложные алгоритмы передачи (Tпередачи-служ возрастает )

Время передачи данных между двумя процессорами для разных топологий (k = диаметр сети)
Топология |
Передача |
Передача пакетов |
|
сообщений |
|||
|
|
||
Кольцо |
|
|
Решетка-тор
Гиперкуб
В методе передачи пакетов можно пренебречь Tпередачи-служ
Размер пакета (Vmax ) – Windows, сеть Fast Ethernet - 1500 байтов
Размер служебных данных (Vс ) - протокол TCP/IP, Windows, сеть Fast Ethernet – 76 байт

Уточнение оценок времен передачи данных между двумя процессорами для топологии “полный граф” (k=1) и метода пакетов
Исходная оценка (1) в случае k=1:
Тсом ~ Tстарта + m x Tпередачи-слова + Tпередачи-служ (Тсом = )
Tстарта зависит от объема передаваемых данных Tпередачи-служ зависит от количества передаваемых пакетов
Tстарта зависит от и
- аппаратной и программной составляющих
- время подготовки одного байта данных для передачи по сети
Обычно предполагается, что подготовка данных для передачи второго и всех последующих пакетов может быть совмещена с пересылкой по сети предшествующих пакетов и латентность, тем самым, не может превышать величины:
n – количество передаваемых пакетов Vmax – размер пакета
Vс – размер пакета

На базе таких моделей строятся теоретические оценки трудоемкости коммуникационных операций
Качественная характеристика : Tстарта >> Tпередачи-слова
На практике часто используется простая оценка:
Тсом ~ Tстарта + m x Tпередачи-слова
Это модель, предложенная Хокни (the Hockney model).
Измерение латентности (latency) и пропускной способности (bandwidth) коммуникационной сети
Пропускная способность сети - количество информации, передаваемой между узлами сети в единицу времени (MB/sec)
Латентность (задержка) - время, затрачиваемое программным обеспечением и устройствами сети на подготовку к передаче информации

Способ измерения латентности
Латентность измеряется как время, необходимое на передачу сигнала (сообщения нулевой длины).
Сигнал пересылается между двумя процессорами в прямом и обратном направлении.
Для снижения влияния погрешности и низкого разрешения системного таймера, операцию посылки сигнала и получения ответа повторяют N раз.
Таким образом, если время на N пересылок сообщений нулевой длины туда и обратно составляет T сек., то латентность измеряется как
Latency = T/(2N)