Структурно-процедурный способ организации мультиконвейерных вычислений


Исходный граф алгоритма G(Q,X) решения потоковой задачи разрезается на подграфы Gi(Qi,Xi) (i=1,2,...,F) согласно следующим требованиям:

  1. Число вершин в подграфе Gi(Qi,Xi) (i=1,2,...,F) должно быть по возможности равным (но не большим) числу процессоров в мультиконвейере.
  2. Число внутренних дуг подграфа Gi(Qi,Xi) (i=1,2,...,F) должно быть не больше, чем число связей, обеспечиваемых коммутатором мультиконвейерной структуры.
  3. Число входных и выходных дуг подграфа должно быть не больше числа каналов связи мультиконвейера с внешней памятью.
Затем формируется очередь подграфов, причём номер i подграфа Gi(Qi,Xi) в очереди должен быть выбран таким образом, чтобы подграфы, являющиеся предшествующими для подграфа Gi(Qi,Xi), имели меньший номер.

Подграфы Gi(Qi,Xi) (i=1,2,...,F) последовательно, согласно установленной очереди отображаются на поле ПЛИС. При этом на входы мультиконвейера из памяти выдаётся поток векторов данных, входных для подграфа Gi(Qi,Xi), а вектора выходных данных записываются обратно в память. Процесс продолжается до тех пор, пока в мультиконвейере не будут реализованы все подграфы Gi(Qi,Xi) (i=1,2,...,F), и через каждый из них не будет пропущен соответствующий поток векторов входных данных. После завершения процедуры прогона потока данных через последний подграф GF(QF,XF) в памяти будет накоплено множество векторов результирующих данных, которые далее выдаются на выход системы.


© Лаборатория Параллельных информационных технологий НИВЦ МГУ
Rambler's Top100