ИНСТИТУТ ПРОБЛЕМ ПРОЕКТИРОВАНИЯ В МИКРОЭЛЕКТРОНИКЕ РАН (ИППМ) Исследование принципов работы блока ввода данных для параллельной потоковой вычислительной системы Д.Н. Змеев, Н.Н. Левченко, А.С. Окунев, А.Л. Стемпковский
Признаки токена КлючДанное Токен Пакет Признаки пакетаNзNз Данное 1 Данное 2 Ключ Контекст Аузл Структура данных системы + * аb cdn ** - + / результат Вычисление формулы ((a+b)*(c+n))/(b*c-(a+b)*d) узлы Потоковый граф программы 2
3 x4–> M1.b{9,4}x2–> M1.b{7,6} x3–>M2.c{8,6} x1–>M1.a{7,6} M1(x1,x2){7,6} Программа на DFL = набор узлов … node M1(a,b) {i,j} begin … a*b –> M2.c{i+1,j}; … end … i j пакет токены входы узла заголовок узла программа узла Ассоциативная память Сопоставление токенов (при одинаковом контексте) Сопоставление токенов (при одинаковом контексте) формирование пакета ожидание «парного» токена ожидание «парного» токена формирование и посылка токена формирование и посылка токена поступает на вход узла node M1(a,b){i,j} контекст узла имя узла M1(x1,x2){7,6} пакет
4... коммутатор токенов пакет токен... ПС k-1 ИУ 0 внутренний коммутатор пакетов ПС 0 токен пакет токен пакет ЯДРО ВЫЧИСЛИТЕЛЬНЫЙ МОДУЛЬ внутренний коммутатор токенов... пакет токен пакет токен пакет ЯДРО ВЫЧИСЛИТЕЛЬНЫЙ МОДУЛЬ ИУ m-r ПС n-k ПС n-1 ИУ m-1 внутренний коммутатор пакетов внутренний коммутатор токенов ИУ r-1 Блок ввода данных
5 Память данных данные с ХОСТа Входной регистр токенов Память токенов Узел анализа алгоритма ввода токенов Узел анализа режима ввода токенов Узел ввода токенов токены в КМТ Регистр выдачи токенов Узел формирования полей токенов Узел генерации токенов Узел формирования ядра Узел формирования этапа Формирователь токенов
- последовательный ввод по строкам;- последовательный ввод по столбцам;- по блочно-квадратный ввод;- по блочно-квадратный половинчатый ввод;- ввод колонками;- ввод планками;- блочно-точечный ввод;- диагональный ввод;- ввод векторов для БПФ. 6
7 Суммарная загрузка памяти ключей в процессоре сопоставления В два раза уменьшен требуемый объем памяти ключей! на задаче БПФ для разных алгоритмов ввода данных последовательный ввод данных вектора чередование полу векторов
8 Суммарная загрузка памяти ключей в процессоре сопоставления Максимальный объем памяти ключей меньше в 80 раз! на задаче перемножение матриц для разных алгоритмов ввода Последовательно и чередованием
9 Суммарная загрузка памяти ключей в процессоре сопоставления Максимальный объем памяти ключей меньше в раз! Зависит от размерности вектора на задаче сложение векторов для разных алгоритмов ввода (последовательно и чередованием) последовательный ввод данных вектора чередование векторов
10 Задача «Сложение векторов» тактов Ускорение на 16% Задача «Быстрое преобразование Фурье» тактов Ускорение на 18%
ИНСТИТУТ ПРОБЛЕМ ПРОЕКТИРОВАНИЯ В МИКРОЭЛЕКТРОНИКЕ РАН (ИППМ) Спасибо за внимание!