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