Шаг 18.
Параллельные алгоритмы.
Общая характеристика механизмов передачи данных. Методы передачи данных

    На этом шаге мы рассмотрим некоторые методы передачи данных.

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

    К числу наиболее распространенных методов передачи данных относятся два основных способа коммуникации. Первый из них ориентирован на передачу сообщений (метод передачи сообщений или МПС) как неделимых (атомарных) блоков информации (store-and-forward routing или SFR). При таком подходе процессор, содержащий сообщение для передачи, готовит весь объем данных для передачи, определяет процессор, которому следует направить данные, и запускает операцию пересылки данных. Процессор, которому направлено сообщение, в первую очередь осуществляет прием полностью всех пересылаемых данных и только затем приступает к пересылке принятого сообщения далее по маршруту. Время пересылки данных tпд для метода передачи сообщения размером m байт по маршруту длиной l определяется выражением:

tпд = tн + (mtк + tc)l.

    При достаточно длинных сообщениях временем передачи служебных данных можно пренебречь и выражение для времени передачи данных может быть записано в более простом виде:

tпд = tн + mtкl.

    Второй способ коммуникации основывается на представлении пересылаемых сообщений в виде блоков информации меньшего размера - пакетов, в результате чего передача данных может быть сведена к передаче пакетов (метод передачи пакетов или МПП). При таком методе коммуникации (cut-through routing или CTR) принимающий процессор может осуществлять пересылку данных по дальнейшему маршруту непосредственно сразу после приема очередного пакета, не дожидаясь завершения приема данных всего сообщения. Время пересылки данных при использовании метода передачи пакетов определяется выражением:

tпд = tн + mtк + tcl.

    Сравнивая полученные выражения, можно заметить, что в большинстве случаев метод передачи пакетов приводит к более быстрой пересылке данных; кроме того, данный подход снижает потребность в памяти для хранения пересылаемых данных при организации приема-передачи сообщений, а для передачи пакетов могут использоваться одновременно разные коммуникационные каналы. С другой стороны, реализация пакетного метода требует разработки более сложного аппаратного и программного обеспечения сети, может увеличить накладные расходы (время подготовки и время передачи служебных данных). Кроме того, при передаче пакетов возможно возникновение конфликтных ситуаций.

    В таблице 1 для сравнения приведено время передачи данных между двумя процессорами для различных топологий и различных методов передачи данных.

Таблица 1. Время передачи данных между двумя процессорами
Топология Передача сообщений Передача пакетов
Кольцо tн + mtк[p/2] tн + mtк + tc[p/2]
Решетка-тор tн + 2mtк[квадратный_корень(p)/2] tн + mtк + 2tc[квадратный_корень(p)/2]
Гиперкуб tн + mtкlog2p tн + mtк + tclog2p

    На следующем шаге мы рассмотрим особенности организации передачи данных от одного процессора остальным процессорам сети.




Предыдущий шаг Содержание Следующий шаг