НИВЦ МГУ
имени М. В. Ломоносова
  • Research
    Computing Center
    Lomonosov Moscow
    State University

    Исследование потенциала процессоров Kunpeng на наборе бенчмарков из научных приложений

  • В Научно-исследовательском вычислительном центре Московского государственного университета имени М. В. Ломоносова выполняется совместный проект с компанией Huawei по портированию и оптимизации некоторых HPC приложений для работы на серверах TaiShan 200 компании Huawei с процессорами Kunpeng 920 на базе архитектуры ARM. Проект направлен на создание единой программно-аппаратной экосистемы вокруг процессоров Kunpeng в рамках области высокопроизводительных вычислений.

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

    На данный момент в рамках проекта была детально исследована производительность бенчмарков на 64-ядерных процессорах Kunpeng 920 в сравнении с 18-ядерными процессорами Intel Xeon 6140 архитектуры Skylake и 64-ядерными процессорами AMD EPYC 7763 архитектуры Milan. Проведенный в ходе данного проекта анализ показал, что данные процессоры обладают относительно сравнимыми аппаратными характеристиками, такими как пиковая производительность, пропускная способность памяти, размер и латентность кэш-памяти, и др., вследствие чего крайне актуально проведение сравнительного анализа их потенциала для решения различных классов прикладных задач.

    В ходе выполнения проекта была реализована экосистема бенчмарков, позволяющая проводить автоматизированное тестирование различных типовых фрагментов программ и алгоритмов путем сбора информации о времени их выполнения, используемой пропускной способности памяти, достигаемой производительности, а также различных динамических характеристиках их выполнения, таких как: процент промахов и попаданий в кэш-память, число выполняемых за такт инструкций, число обращений к памяти удаленного сокета, и многих других. Реализованная экосистема дополнительно предоставляет возможности автоматизированной генерации Top-down1 и Roofline2 моделей анализа производительности для процессоров Kunpeng на основе собираемых значений динамических характеристик работы бенчмарков, что значительно упрощает процесс анализа производительности и узких мест исследуемых архитектур.

    В список реализованных на основе предложенной экосистемы бенчмарков вошли фрагменты программ и алгоритмов, основанные на различных вариантах stencil-ядер (одномерных, двумерных, трехмерных с различной формой и радиусом окрестности), операциях с плотными векторами, плотными и разреженными матрицами, графовых алгоритмах. Кроме того, были реализованы различные бенчмарки, нацеленные на исследование производительности различных шаблонов доступа к памяти, OpenMP конструкций и шаблонов коммуникации MPI процессов. Дополнительно было проведено детальное исследование производительности различных существующих бенчмарков, таких как STREAM, HPL, LMbenchmark, EPCC OpenMP, и других.

    Можно выделить следующие несколько примеров найденных узких мест процессоров Kunpeng 920. Во-первых, при MPI коммуникациях типа точка-точка на Kunpeng 920 пропускная способность передачи данных снижается в 2.5 раза при увеличении размера сообщения больше 131 КБ, что не является характерным поведением и вероятно может быть оптимизировано за счет изменения реализации MPI библиотеки для Kunpeng. Во-вторых, мы наблюдали от 1.3 до 2 раз меньшую эффективность (вычисляемую как отношение используемой пропускной способности памяти к пиковой теоретической) процессоров Kunpeng 920 при шаблоне доступа к памяти с фиксированным шагом, имеющим размер больше 64 байт. Кроме того, дополнительно наблюдается 2-кратное снижение производительности Kunpeng 920 в случае, когда размер шага становился больше 16 КБ. Наиболее вероятной причиной данного узкого места является менее эффективно реализованный в Kunpeng механизм предварительной выборки данных по сравнению с другими исследуемыми архитектурами.

    На основе проведенного анализа было предварительно показано, что процессоры Kunpeng 920 по сравнению с Intel Xeon 6140 демонстрируют более высокую производительность на stencil ядрах с малым и средним размером окрестностей (до двух раз), вычислительно интенсивных невекторизуемых задачах (до четырех раз), операциях с плотными векторами и матрицами (до двух раз). В тоже время процессоры Kunpeng 920 на текущем этапе исследования показывают более низкую производительность на операциях с разреженными матрицами и графовыми алгоритмами в силу менее эффективной работы L3 кэша с косвенными адресациями. Одновременно с этим процессоры AMD EPYC 7763 демонстрируют более высокую производительность по сравнению как с Intel Xeon 6140, так и Kunpeng 920 на большинстве реализованных бенчмарков, однако данные результаты очень предварительны.

     

    О компании Huawei

    Компания Huawei, основанная в 1987 году, — ведущий мировой поставщик интеллектуальных устройств и инфраструктурных решений в области информационно-коммуникационных технологий. В нашей компании работают более 194 тысяч сотрудников. Мы имеем представительства более чем в 170 странах и регионах и обслуживаем свыше трех миллиардов человек по всему миру.

    Видение и миссия Huawei — предоставить всем людям доступ к цифровым технологиям, внедрить их в каждый дом и каждую организацию, создав таким образом мир интеллектуальных устройств, объединенных в единую сеть. Мы стремимся обеспечить повсеместную связь и равный доступ к сетям; реализовать облачные технологии и искусственный интеллект во всех уголках мира, чтобы предоставлять вычислительные мощности повсеместно и в любое время; создать цифровые платформы, способные помочь всем отраслям и организациям стать более гибкими, эффективными и динамичными; повысить качество обслуживания с помощью ИИ, чтобы люди могли пользоваться решениями на основе этой технологии в любой сфере своей жизни — дома, в офисе и в дороге.

     

    1 https://software.intel.com/content/www/us/en/develop/documentation/vtune-cookbook/top/methodologies/top-down-microarchitecture-analysis-method.html

    2 Williams, Samuel, Andrew Waterman, and David Patterson. "Roofline: an insightful visual performance model for multicore architectures." Communications of the ACM 52.4 (2009): 65-76.