Процессоры RISC-V широко используются во встраиваемых системах и устройствах IoT, которые ориентированы на стоимость, персонализацию и, зачастую, низкое энергопотребление. Но периферийные вычисления открывают новые возможности применения этой открытой архитектуры, пишет на портале Enterprisers Project технологический евангелист Red Hat Гордон Хафф.

Говоря о Open Source, люди обычно имеют в виду ПО. Данные также могут быть частью этой темы. Аппаратное обеспечение? Не так часто. Особенно когда речь идет о таких сложных устройствах, как микропроцессоры.

Однако мы начинаем видеть значительные проекты, которые открывают аппаратное обеспечение для большого сообщества людей и компаний. Возможно, ни один из них не является таким значительным, как RISC-V.

Что такое RISC-V?

Когда мы вспоминаем исторические проекты Open Source-процессоров, на ум приходит такой проект, как OpenSPARC. В 2005 г. компания Sun Microsystems выпустила под лицензией GPL v2 код Verilog для модели передачи на уровне регистров (RTL) для своего микропроцессора UltraSPARC T1.

Проблема такого подхода, по словам технического директора RISC-V International Марка Химельштейна, заключается в том, что «когда вы передаете что-то целиком как Open Source, людям трудно действительно почувствовать себя владельцами этого. Здесь можно выделить то, что сделал Linux — все почувствовали гордость собственника. Это было очень трудно сделать».

С RISC-V ситуация иная, поскольку это расширяемая архитектура набора команд. Химельштейн добавляет: «Мы полностью независимы от реализации. Мы работаем с другими некоммерческими организациями, такими как lowRISC, CHIPS Alliance и Open Hardware, которые делают конкретные вещи в аппаратном обеспечении RISC-V». По состоянию на начало 2022 г. в сообществе RISC-V участвовало около 300 учреждений и корпораций.

Означает ли расширяемость фрагментацию?

Расширяемость и разнообразие имеют обратную сторону — фрагментацию разработок. Вызывает ли это беспокойство?

Частично ответ заключается в том, что, поскольку многие ядра RISC-V используются в небольших заказных разработках, некоторая степень фрагментации на самом деле не является проблемой. При этом, как отмечает Химельштейн, «у меня есть наклейка на бампере, которая гласит: „Инновации. Не дублируй“. Это единственное, что удерживает нас вместе как сообщество. Разве вы хотите в тысячный раз реализовать сложение и вычитание?».

Тем не менее, RISC-V International признает, что в стандартах есть своя польза, особенно когда RISC-V начинает все чаще использоваться в высокопроизводительных серверных системах. Это необходимо для привлечения разработчиков коммерческого ПО. Сложность заключается в том, чтобы управлять опциональностью архитектуры и в то же время обеспечивать четко определенную совместимость.

Именно здесь на помощь приходит RISC-V Platform Specification. В настоящее время она определяет два набора платформ: один предназначен для обеспечения бинарной совместимости ПО, а другой — для совместимости исходного кода. Платформы связывают спецификации для создания совместимых классов систем и инструментария.

Где используется RISC-V?

RISC-V уже широко используется. Первоначально основное внимание уделялось встраиваемым системам и приложениям IoT, в которых особое внимание уделяется стоимости, персонализации и, зачастую, низкому энергопотреблению.

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

«С переходом к периферийным вычислениям мы наблюдаем масштабные инвестиции в RISC-V в рамках всей экосистемы, от таких транснациональных компаний, как Alibaba, Andes Technology и NXP, до таких стартапов, как SiFive, Esperanto Technologies и GreenWaves Technologies, разрабатывающих инновационные решения RISC-V для Edge-AI», — отмечает Калиста Редмонд, генеральный директор RISC-V International.

Куда движется RISC-V?

2021-й стал знаковым годом для RISC-V: по данным RISC-V International, к концу года было развернуто более 2 млрд. ядер. Тогда же значительно активизировалась работа по стандартизации: если в 2020 г. RISC-V International выпустила одну спецификацию, то в 2021-м — уже 16. Химельштейн подчеркивает, что сейчас речь идет об определении приоритетов, создании системы управления, получении помощи там, где она необходима, и «попытке довести дело до конца».

Помимо развития уже достигнутых успехов в области проектирования и расширения архитектуры набора команд в направлениях, важных для членов RISC-V International, постоянным приоритетом является создание экосистемы. Экосистема — компиляторы, оптимизаторы, библиотеки, гипервизоры и операционные системы — является важной частью успеха любой архитектуры набора команд, что наглядно продемонстрировали x86 и ARM. Хотя сегодня для RISC-V уже существуют важные части такой экосистемы, это область постоянного внимания.

С этим тесно связан обмен опытом и функционирование в качестве сообщества. Со временем стало ясно, что сила открытого ПО заключается не только в том, что оно сохраняет свободу пользователей, но и в том, что модель Open Source является чрезвычайно эффективным способом разработки ПО. И RISC-V, вероятно, преуспевала до сих пор, потому что это открытая и гибкая архитектура набора команд. Однако более широкое распространение совместной разработки в духе Linux и Kubernetes может еще больше ускорить ее внедрение.