Исследование потенциала векторной обработки данных для вычислительных систем и приложений с предельными характеристикамиНИР

Theory and Practice of Vector Data Processing at Extreme Scale: Back to the Future

Соисполнители НИР

университет Тохоку Соисполнитель

Источник финансирования НИР

грант РФФИ

Этапы НИР

# Сроки Название
1 1 января 2018 г.-8 февраля 2019 г. Исследование потенциала векторной обработки данных для вычислительных систем и приложений с предельными характеристиками
Результаты этапа: В ходе исследований был проведен критический анализ существующих подходов к реализации идей векторной обработки данных на современных архитектурах. Были выделены как сильные стороны реализаций, их конкурентные преимуществ над представителями смежных классов вычислительных систем, так и проблемные места, вызывающие падение производительности, определяющие узкие места для классов алгоритмов или же для архитектуры в целом. Так же был проведен сравнительный анализ основных критически важных характеристик, сопровождающих векторную обработку, таких как латентность, длина конвейера, расположение элементов вектора в памяти, параметры работы с памятью и ряда других характеристик. Помимо этого был приведен обзор существующих методов, средств и инструментов повышения эффективности, таких как FTrace, Intel Parallel Studio и NVProf. По результатам первичного анализа был сформирован набор графовых алгоритмов (поиска в ширину, поиска минимального сточного дерева, поиска кратчайших путей и поиска сильно связанных компонент), для которых былы выполнены эталонные реализации. Данные реализации были разработаны на основе принципов суперкомпьютерного кодизайна, учитывающих характеристики алгоритмов и особенности архитектуры векторных платформ с учетом ориентации на обработку входных графов предельно большого размера. Кроме того, были исследованы взаимосвязи между векторной обработкой данных и методами обработки данных, характерными для графических процессоров.
2 9 февраля 2019 г.-8 июня 2020 г. Исследование потенциала векторной обработки данных для вычислительных систем и приложений с предельными характеристиками
Результаты этапа: В ходе исследования был уточнен список графовых задач и алгоритмов, которые могут быть эффективно реализованы на векторных архитектурах: были реализованы алгоритмы решения задач поиска в ширину, поиска кратчайших путей, ранжирования вершин в графе (page rank), поиска связанных компонент и поиска самого широкого пути в графе. Основной акцент при реализации был сделан на новейшую архитектуру SX-Aurora TSUBASA, позволяющую, за счет сочетания быстрейшей в мире пропускной способности памяти, а так же принципов векторной обработки данных, достигнуть существенного ускорения по сравнению с референсными библиотечными реализациями для современных процессоров архитектуры Intel Skylake (10-20 раз), а так же для графических ускорителей NVIDIA V100 GPU (2-5 раз). Эффективность реализованных графовых алгоритмов для векторной архитектуры SX-Aurora TSUBASA была исследована на основе ряда метрик, включающих в себя среднюю длину вектора, используемую пропускную способность памяти, количества промахов в LLC кэш. Данные метрики были собраны с использованием средств профилирвоки (ftrace) для архитектуры SX-Aurora TSUBASA, что позволило продемонстрировать эффективность выполнения созданных реализаций на данной архитектуре: для рада синтетических и графов реального мира разработанные алгоритмы позволяют использовать больше половины пиковой пропускной способности памяти, а так же имеют максимально возможную среднюю длину векторных инструкций. Аналогичным образом с использования средств мониторинга и профилировки (nvprof, vtune) были собраны аналогичные динамические характеристики для архитектур Intel Skylake и NVIDIA GPU, с которыми было произведено сравнение. Так же в ходе исследования была проанализирована взаимосвязь основных принципов и архитектурных особенностей, присущих классической векторной обработке, а так же обработки данных на графических ускорителях NVIDIA GPU. Было продемонстрировано, что, несмотря на наличие ряда общих свойств (SIMD обработка данных, использование быстрой HBM2 памяти, построения систем на основе сопроцессоров), оба класса архитектур так же имеют ряд фундаментальных отличий (в структуре иерархии памяти, подходах к маскированию вычислений, подходов к синхронизациям и обменов данными между различными ядрами и элементами векторной инструкции), что не всегда позволяет реализовывать различные программы и алгоритмы схожим образом с одинаковой степенью эффективности. Так, принципиально различную эффективность для данных классов архитектур будут иметь операции редукции, вычисления преффиксной суммы, ряда графовых алгоритмов, в то время как схожую эффективность будут иметь многие операции линейной алгебры, а так же ряд сеточных задач. Кроме того, были рассмотрены вопросы переноса простейших приложений между архитектурами NVIDIA GPU и SX-Aurora TSUBASA, реализованных на основе параллельных технологий OpenACC и OpenMP соотвественно. В ходе исследования была так же комплексно исследована взаимосвязь между структурой алгоритмов и эффективностью их выполнения на компьютерных системах, опирающихся на векторную обработку. Было показано, что основной причиной падения производительности на векторных архитектурах являются зависимости по данным, нерегулярность структур данных, а так же работы с сильно разреженными структурами данных. Так же были приведены примеры различных графовых алгоритмов, которые не могут быть эффективно реализованы на векторных архитектурах (например подсчет числа треугольников в графе). По результатам работы был сформирован подробный отчет, отвечающий всем заявленным требованиям.

Прикрепленные к НИР результаты

Для прикрепления результата сначала выберете тип результата (статьи, книги, ...). После чего введите несколько символов в поле поиска прикрепляемого результата, затем выберете один из предложенных и нажмите кнопку "Добавить".