Два новых расширения RISC-V ISA позволяют процессору Snitch работать до 6,45 раз быстрее и эффективнее, чем сопоставимые процессоры.

Команда ученых из ETH Zurich представила новую версию процессора RISC-V. Она получила название Snitch. По словам разработчиков, новый ЦПУ обладает впечатляющими показателями скорости и способен обеспечить 6-кратный выигрыш в производительности и почти 4-кратный — в энергоэффективности для многоядерных рабочих нагрузок. Но не спешите с выводами: все не так однозначно, как кажется на первый взгляд. Под катом — разбор основных особенностей нового процессора, реальные «цифры» его производительности и информация о разработчиках.

Пополнение рядов RISC-V

Кратко о RISC-V: под этим названием «скрываются» свободные система команд и процессорная архитектура на основе концепции RISC.

Несколько интересных фактов:

  • В описании RISC-V содержится порядка 50 стандартных инструкций (за счет расширений доступны еще 53 инструкции, а форматом C определены 34 дополнительные команды).

  • Первые микроконтроллеры и процессоры на базе RISC-V начали выпускаться в 2017 году.

  • Штаб-квартира RISC-V находится в Цюрихе (основана в 2015 году), а с 2018-го RISC-V Foundation активно сотрудничает с The Linux Foundation.

Snitch также построен на RISC-V, в которую добавлено (цитируем разработчиков) «2 крошечных и совсем не навязчивых расширения». К ним относятся компактное управляющее ядро и FPU двойной точности. Первое расширение избавляет процессор от некоторых явных инструкций работы с памятью. Второе позволяет не загружать управляющее ядро при производстве вычислений с плавающей запятой, а поручить ему выполнение ряда других задач.

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

Поддержание максимальной утилизации вычислительных ресурсов и увеличение энергоэффективности

Проблема поддержания высокого уровня использования мощностей компьютера и FPU в частности и ранее была предметом множества архитектурных исследований. Наиболее известные и/или широко используемые примеры — суперскалярные архитектуры, векторные архитектуры (например, Cray) и так называемые универсальные вычисления с использованием графических процессоров. Но несмотря на впечатляющие результаты в части достижения высокой производительности, энергоэффективность отнюдь не является основной целью их создателей.

Специалисты из ETH Zurich приняли решение распараллелить ядра, чтобы равномерно распределить работу каждому из них. Синхронизация между ядрами достигается с помощью атомарного расширения RISC-V и поддержки атомарного режима на TCDM и AXI с использованием атомарного расширения AXI5 и атомарного адаптера.

В зависимости от бенчмарка, распараллеливание обеспечивает увеличение производительности от 3 до 6 раз. Измерения проводились на специальном восьмиядерном кластере, полученные результаты сравнивались с одноядерной версией. Наибольшая скорость компьютера на базе многоядерного процессора может быть достигнута для таких задач как умножение матриц, двумерная свертка, kNN и вычисления по методам Монте-Карло.

Snitch и встроенный FPU способны выполнять фактически двойную работу при минимальных «накладных» затратах в 3,2%. При этом он существенно гибче, чем прочие представители современных линеек векторных процессоров, и вдвое более энергоэффективен. Чтобы получить представление об абсолютной энергоэффективности, разработчики оценили достижимую пиковую энергоэффективность на 22-нм техпроцессе. По результатам теста Snitch достигает 79% от теоретической пиковой эффективности.

Итоговое полевое тестирование, для которого был построен ранее упомянутый специальный восьмиядерный кластер Snitch на 22-нм техпроцессе, показало чрезвычайно впечатляющие цифры: процессор оказался в 6,45 раз быстрее и в 3,5 раза эффективнее одноядерного «конкурента».

Разработчики нового процессора и их планы на будущее

В заключение статьи мы хотели бы сказать пару слов о каждом из участников команды разработки проекта Snitch.

Флориан Заруба получил степень бакалавра, а затем магистра в Швейцарском федеральном технологическом институте в 2017 году. В настоящее время он получает степень доктора наук в Лаборатории интегрированных систем. Его исследовательские интересы сосредоточены преимущественно в сфере проектирования высокопроизводительных компьютерных архитектур.

Фабиан Шуйки получил степень бакалавра наук в области электротехники и магистерскую степень в 2014 и 2016 годах соответственно. В настоящее время он продолжает работу над написание докторской диссертации по цифровым схемам и системам под руководством Луки Бенини, который также является соавтором Snitch. Среди его научных интересов — изучение компьютерных архитектур, высокоточные вычисления, а также вопросы обработки данных в памяти.

Торстен Хёфлер, профессор компьютерных наук в ETH Zürich, Швейцария. Также является одним из ключевых членов Форума Message Passing Interface (MPI), где возглавляет направление «Коллективные операции и топологии». Его исследовательские интересы сосредоточены преимущественно вокруг одной центральной темы, проектирования систем, ориентированных на производительность, и включают в себя вопросы, касающиеся масштабируемых сетей, методов параллельного программирования и моделирования производительности. Торстен был удостоен премий за лучшую опубликованную работу на конференциях ACM/IEEE Supercomputing SC10, SC13, SC14, EuroMPI’13, HPDC’15, HPDC’16, IPDPS’15 и прочих подобных мероприятиях. Также Хёфлер подготовил множество активно рецензируемых научных публикаций для ряда крупных отраслевых конференций и журналов.

Лука Бенини возглавляет кафедру цифровых схем и систем в ETH Zürich, по совместительству является профессором Университета Болоньи. Исследования Бенини преимущественно касаются сферы проектирования энергоэффективных вычислительных систем. Перу автора принадлежат более 1000 рецензируемых статей и пять полноформатных книг. Бенини является членом ACM и Academia Europaea, а также лауреат Премии IEEE CAS Mac Van Valkenburg 2016 года.

Что касается планов на будущее — Флориан Заруба в интервью и пресс-релизах говорит преимущественно о том, что разработка ПО для нового процессора будет чуть сложнее, однако программисты непременно оценят универсальность, скорость и эффективность нового CPU. В специальном интервью для IEEE он также обмолвился, что проекты на Snitch можно будет масштабировать до тысяч ядер с распределением задач по нескольким чиплетам.

Исходный код проекта был опубликован в репозитории PULP Platform на GitHub и доступен всем желающим под лицензией Apache 2.0.

Комментарии (19)


  1. Sap_ru
    01.11.2021 21:13
    +10

    Совершенно ничего непонятно.


    1. Serge78rus
      01.11.2021 21:57
      +11

      Еще более непонятно наличие ушанки со звездой на заглавной картинке и упоминание Байконура


      1. fedorro
        01.11.2021 22:14
        +1

        У ETH Zürich есть такой чип. Вот тут и полные версии изображений, и пояснение при чем тут Байконур. Как относится к обсуждаемому чипу — наверное никак, просто автор оригинала рандомное изображение взял с их сайта, могу ошибаться.


  1. victor_1212
    01.11.2021 21:50

    ETH Zurich это сильная школа, именно там Вирт (Wirth) работал, когда среди прочего создал Pascal (1970) и Modula-2 (1981), так что ничего удивительного, что RISC-V серьезно занимаются


    1. checkpoint
      01.11.2021 23:00
      +4

      У меня есть такое мнение, что каждый уважающий себя студент, изучающий микропроцессорную тематику, обязан закодить свое собственное ядро RISC-V (I,M) и просинетзировать его на ПЛИС. Серьезность ВУЗа тут вовсе не при чем.


      1. victor_1212
        02.11.2021 00:57

        речь не о том, что ETH Zurich сильная школа потому как там сделали snitch, а о том что там в частности работал Вирт, что возможно не всем известно, и вообще сильный состав профессоров и студентов, соответственно заслуженная репутация, если вы знаете > 2-3 вуза в россии на уровне ETH Zurich (кроме физтеха, мгу), приведите примеры

        ps

        если интересно, здесь немного про ETH Zurich,

        ..... ETH Zurich is consistently ranked among the top 5 universities in the world in engineering, science and technology together with Stanford, Berkeley, MIT, Cambridge University  in the QS World University Rankings.

        см

        https://www.fullpower.com/news/2016/top-20-universities-in-the-world-and-their-most-successful-alumni-philippe-kahn-camera-phone-fullpower/


        1. z0ic
          02.11.2021 02:44
          +3

          ETH Zurich, случаем не они ли Эйнштейна забанили. Относительность им в помощь.


        1. checkpoint
          02.11.2021 02:59
          -3

          В 90-е годы всех студентов АСУ пичкали этим Паскалем насилно, будь проклят его создатель. Причем, уже тогда было понятно, что ни Паскаль ни Модула не имеют ни малейших перспектив.


          1. victor_1212
            02.11.2021 16:03
            +1

            однако, своих преподавателей благодарите, вроде человек адекватный, а несете глупость за глупостью, да еще Вирта сюда же


            1. 0xd34df00d
              03.11.2021 05:50
              +1

              А можете объяснить без отсылок к факту известности имен, почему Паскаль, Модула-2 и лично Вирт — это хорошо с точки зрения демонстрации потенциала силы ресерча?


              1. victor_1212
                03.11.2021 18:07

                почему нет, пишите в личку, по возможности вежливо :)


                1. 0xd34df00d
                  03.11.2021 18:12
                  +1

                  Значит, не можете. Ну ок.


                  1. victor_1212
                    03.11.2021 20:32

                    значит, что к хамству аллергия, а так пожалуйста в личку, но вероятно у вас цели другие :)


                    1. 0xd34df00d
                      03.11.2021 23:31
                      +3

                      Я так и не понял, где вы увидели хамство в моём исходном вопросе, ну да ладно, не судьба, видать.


                      1. victor_1212
                        05.11.2021 01:23

                        проехали, забудем, таки не первый раз с вами общаемся, если что только в личку и вежливо


                      1. 0xd34df00d
                        07.11.2021 19:06
                        +1

                        Вы в очередной раз пишете про некое хамство и вежливость, без указания того, что это для вас такое. Хоть предоставьте сразу список того, чего там при общении с вами делать или не делать, а то сейчас совершенно невозможно даже подготовить письмо к вам в личку.


  1. qw1
    01.11.2021 22:17
    +8

    специальный восьмиядерный кластер Snitch на 22-нм техпроцессе, показало чрезвычайно впечатляющие цифры: процессор оказался в 6,45 раз быстрее и в 3,5 раза эффективнее одноядерного «конкурента»
    Эээээ. Ну, ок…


  1. checkpoint
    01.11.2021 22:52
    +11

    Статья выполнена в духе пресс-релиза - много модных слов, увеличие основных показательей в 100500 раз, перечень уважаемых людей со степенями и ноль информации о самом изделии. Чтож, пойдем искать... и вот находим:

    Snitch is a single-stage, single-issue, in-order RISC-V core (RV32I or RV32E) tuned for simplicity and minimal area footprint. Furthermore it is highly configurable and can be used in a plethora of different applications.

    The core has an optional accelerator interface which can be used to control and off-load RISC-V instructions. The load/store interface is a dual-channel interface with a separately handshaked request and response channel. More information can be found here.

    Иными словами, Snitch это очень-очень маленькое ядро (всего одна ступень), нацеленное на минимальный футпринт. Linux на нём не запустить, но дешманский МК сделать можно. Можно обьединять ядра в большой кластер. Ядро синтезируемое, написано на SystemVerilog, можно запускать на ПЛИСах.

    Более подробно тут: https://pulp-platform.github.io/snitch/rm/snitch/


    1. sim31r
      20.11.2021 14:18

      Не читал статью, похоже правильно сделал, что сразу перешел к комментариям, сэкономил время, лайфхак. Часто комментарии лучше самой статьи.