СРАВНЕНИЕ ПРОТОКОЛОВ КОГЕРЕНТНОСТИ КЭШЕЙ MESI И MESIF ДЛЯ ЭНЕРГОЭФФЕКТИВНЫХ RISC-V ПРОЦЕССОРОВ КОСМИЧЕСКОГО ПРИМЕНЕНИЯ

СРАВНЕНИЕ ПРОТОКОЛОВ КОГЕРЕНТНОСТИ КЭШЕЙ MESI И MESIF ДЛЯ ЭНЕРГОЭФФЕКТИВНЫХ RISC-V ПРОЦЕССОРОВ КОСМИЧЕСКОГО ПРИМЕНЕНИЯ

Авторы публикации

Рубрика

Информационные технологии

Просмотры

0

Журнал

Журнал «Научный лидер» выпуск # 42 (295), Октябрь ‘26

Поделиться

В статье рассматривается задача обеспечения когерентности кэш-памяти в многоядерных процессорах на базе открытой архитектуры RISC-V для космических применений. Проведено количественное сравнение двух протоколов когерентности — классического MESI и его усовершенствованной версии MESIF, добавляющей состояние Forwarding. Оба протокола реализованы на основе распределённого справочника в среде Ruby симулятора gem5. Анализ выполнен методом потактового моделирования. Показано, что при ограниченном размере L2-кэша преимущество MESIF над MESI становится заметным: IPC возрастает на 9–10 %, время выполнения сокращается на 9–15 %, а энергопотребление DRAM снижается на 15 %. Полученные результаты важны для создания энергоэффективных вычислительных систем космических аппаратов, где каждый ватт энергии критичен.

ВВЕДЕНИЕ

Активное внедрение архитектуры RISC-V в космическую отрасль, подтверждённое такими проектами, как NASA High Performance Spaceflight Computing (HPSC) и европейский COSMIC7, требует тщательного анализа подсистем памяти будущих многоядерных процессоров [1, с. 1; 2, с. 1]. В условиях жёстких энергетических ограничений выбор эффективного протокола когерентности кэшей становится критически важной инженерной задачей.

Кэш-память является неотъемлемой частью современных процессорных систем. В многоядерных конфигурациях возникает проблема согласования данных: несколько копий одного блока памяти могут одновременно находиться в разных кэшах, и изменение одной из них должно своевременно отражаться в остальных. Механизм поддержки непротиворечивости данных называется когерентностью кэшей, а набор правил — протоколом когерентности [3, с. 410; 4, с. 75]. Архитектура RISC-V представляет собой открытый, свободно расширяемый набор команд, который стремительно набирает популярность [5, с. 1].

Для масштабируемых многоядерных систем широкое применение получили directory-based протоколы, использующие распределённый справочник для отслеживания местоположения копий данных [6, с. 64]. Целью настоящей работы является количественное сравнение эффективности двух таких протоколов — базового MESI и его расширенной версии MESIF — применительно к 16-ядерному процессору с архитектурой RISC-V. Оба протокола реализованы в подсистеме Ruby симулятора gem5. Особое внимание уделено энергопотреблению DRAM, что напрямую связано с энергетическим бюджетом космических аппаратов.

1. ОПИСАНИЕ ИССЛЕДУЕМЫХ ПРОТОКОЛОВ

1.1. Протокол MESI

Протокол MESI, впервые предложенный Папамаркосом и Пателом [7, с. 350], является одним из наиболее распространённых протоколов когерентности. Каждая кэш-линия может находиться в одном из четырёх состояний:

  • M (Modified) — строка модифицирована, её копия в памяти устарела;
  • E (Exclusive) — строка присутствует только в данном кэше, но совпадает с памятью;
  • S (Shared) — строка может находиться в нескольких кэшах, все копии актуальны;
  • I (Invalid) — строка недействительна.

Ключевой недостаток MESI проявляется при активном разделении данных. Если ядро модифицировало строку (состояние M), а затем другое ядро запрашивает её для чтения, протокол требует выполнить обратную запись в основную память, после чего строка переходит в состояние S в обоих кэшах. Эта операция записи потребляет полосу пропускания памяти и увеличивает задержку, что подтверждено исследованиями Арчибальда и Баера [8, с. 280].

1.2. Протокол MESIF

Развитием MESI является протокол MESIF, добавляющий пятое состояние — F (Forwarding). В состоянии F строка остаётся чистой, но выступает единственным ответственным за пересылку данных другим ядрам при запросах на чтение. MESIF позволяет напрямую переслать данные из кэша-владельца, оставляя его в состоянии F, а запрашивающий кэш получает состояние S. Таким образом, обратная запись в память исключается [9, с. 11].

Для космических применений это означает не только ускорение, но и снижение количества операций записи в DRAM. Меньше записей — меньше энергопотребление подсистемы памяти, что напрямую влияет на энергобаланс космического аппарата.

2. МЕТОДИКА МОДЕЛИРОВАНИЯ

Для экспериментов была сконфигурирована 16-ядерная система с архитектурой RISC-V RV64GC. Каждое ядро работало на частоте 2 ГГц и подключалось к частным кэшам первого уровня: L1I и L1D объёмом по 32 КБ. Второй уровень (L2) объёмом 128 КБ являлся общим для всех ядер и управлялся контроллером распределённого справочника. Относительно небольшой размер L2 был выбран намеренно, чтобы усилить эффект от вытеснения строк и тем самым отразить условия ограниченных аппаратных ресурсов, характерные для космических процессоров.

Моделирование проводилось в симуляторе gem5 [10, с. 2] с использованием подсистемы Ruby и языка SLICC [11, с. 95]. Тестирование выполнялось на двух нагрузках: ассемблерной программе с интенсивным разделением данных и вычислительном ядре умножения матриц 64×64 на языке C. Эти нагрузки имитируют типичные задачи космической обработки данных: параллельные вычисления, работа с общими массивами, интенсивный обмен данными между ядрами.

Сбор статистики включал: IPC, время выполнения, количество промахов, объём сетевого трафика, энергопотребление DRAM и количество операций записи в память. Методика измерения соответствует подходам, изложенным Хеннесси и Паттерсоном [12, с. 500].

3. РЕЗУЛЬТАТЫ И ОБСУЖДЕНИЕ

3.1. Ассемблерный тест

Тестовая программа создаёт интенсивную нагрузку на подсистему когерентности: 16 ядер выполняют чтение из большого массива (32 МБ) и горячей области (4 КБ), при этом 1/4 ядер модифицируют разделяемые данные. Основные результаты представлены в таблице 1.

Таблица 1.

Результаты ассемблерного теста (16 ядер, L2 = 128 КБ)

Показатель

MESIF

MESI

Средний IPC

0.00292

0.00268

Средний CPI

342.8

373.6

Симулированное время (с)

0.085

0.093

Средняя задержка доступа к DRAM (такты)

61 398

54 354

Количество операций записи в память

0

2 194 219

Анализ данных показывает, что при использовании MESIF достигается на 9 % более высокий IPC и на 9 % меньшее время выполнения. Ключевым фактором является полное отсутствие операций записи в память в случае MESIF (writeReqs = 0), тогда как в MESI зафиксировано более 2 млн записей. Это объясняется поведением протоколов при вытеснении модифицированных строк из кэша.

3.2. Тест на языке C: умножение матриц

Для проверки закономерностей на более реалистичной нагрузке было проведено сравнение протоколов на примере умножения матриц с плавающей точкой. Результаты сведены в таблицу 2.

Таблица 2.

Результаты C-теста (16 ядер, L2 = 128 КБ)

Показатель

MESIF

MESI

Изменение

Симулированное время (с)

0.009391

0.010814

+15.2 %

Средний IPC

0.00255

0.00230

–10 %

Промахи L2

375 457

431 556

+15 %

Записи DRAM

0

2 240

—

Энергопотребление DRAM (пДж)

16.62×10⁹

19.13×10⁹

+15 %

Результаты C-теста полностью согласуются с выводами ассемблерного эксперимента. Протокол MESIF показал превосходство по всем ключевым показателям: время выполнения сократилось на 13 %, IPC вырос на 10 %, количество промахов уменьшилось на 15 %. Корень преимущества — отсутствие обратных записей модифицированных строк в основную память. В MESI вытеснение изменённых данных из L2-кэша породило 2 240 запросов на запись в DRAM, что увеличило задержки чтения и снизило пропускную способность шины.

Энергопотребление DRAM в конфигурации с MESIF оказалось на 15 % ниже, чем с MESI. Для космического аппарата, где энергия ограничена, это означает возможность либо увеличить вычислительную нагрузку при том же энергобюджете, либо снизить требования к системе электропитания и терморегуляции.

3.3. Энергоэффективность для космических применений

Полученные результаты показывают, что переход от MESI к MESIF обеспечивает существенное снижение энергопотребления подсистемы памяти. В условиях космического полёта, где каждый ватт энергии на счету, это преимущество становится определяющим. Снижение количества операций записи в DRAM также уменьшает тепловыделение, что упрощает тепловой баланс аппарата.

Таким образом, для перспективных многоядерных RISC-V процессоров космического применения, таких как NASA HPSC [2, с. 1] и COSMIC7 [1, с. 1], выбор MESIF позволяет повысить производительность и одновременно снизить энергопотребление, что делает его предпочтительным решением.

ЗАКЛЮЧЕНИЕ

В работе выполнено сравнение двух directory-based протоколов когерентности кэшей — MESI и MESIF — применительно к 16-ядерному процессору RISC-V с L2-кэшем ограниченного объёма (128 КБ) в контексте космических применений. Потактовое моделирование в среде gem5 Ruby показало, что добавление состояния Forwarding обеспечивает:

  • прирост IPC на 9–10 %;
  • сокращение времени выполнения на 9–15 %;
  • снижение энергопотребления DRAM на 15 %;
  • полное исключение обратных записей в память в тестовых нагрузках.

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

Список литературы

  1. Leveraging the Openness and Modularity of RISC-V in Space // Journal of Aerospace Information Systems. - 2023.
  2. NASA High Performance Spaceflight Computing (HPSC) Project Overview. - 2024.
  3. Patterson, D.A. Computer Organization and Design: The Hardware/Software Interface. RISC-V Edition / D.A. Patterson, J.L. Hennessy. - Morgan Kaufmann, 2017. - 696 p.
  4. Sorin, D.J. A Primer on Memory Consistency and Cache Coherence / D.J. Sorin, M.D. Hill, D.A. Wood. - Morgan & Claypool, 2011. - 212 p.
  5. Waterman, A. The RISC-V Instruction Set Manual, Volume I: Unprivileged ISA / A. Waterman, K. Asanovic (Eds.). - RISC-V Foundation, 2019.
  6. Lenoski, D. The Stanford Dash multiprocessor / D. Lenoski, J. Laudon, K. Gharachorloo et al. // Computer. - 1992. - Vol. 25, No. 3. - P. 63-79.
  7. Papamarcos, M.S. A low-overhead coherence solution for multiprocessors with private cache memories / M.S. Papamarcos, J.H. Patel // ISCA '84. - 1984. - P. 348-354.
  8. Archibald, J. Cache coherence protocols: evaluation using a multiprocessor simulation model / J. Archibald, J.-L. Baer // ACM TOCS. - 1986. - Vol. 4, No. 4. - P. 273-298.
  9. Intel Corporation. Intel® 64 and IA-32 Architectures Software Developer's Manual. Volume 3A. - 2024.
  10. Binkert, N. The gem5 Simulator / N. Binkert, B. Beckmann, G. Black et al. // ACM SIGARCH Computer Architecture News. - 2011. - Vol. 39, No. 2. - P. 1-7.
  11. Martin, M.M.K. Multifacet's general execution-driven multiprocessor simulator (GEMS) toolset / M.M.K. Martin, D.J. Sorin, B.M. Beckmann et al. // ACM SIGARCH Computer Architecture News. - 2005. - Vol. 33, No. 4. - P. 92-99.
  12. Hennessy, J.L. Computer Architecture: A Quantitative Approach. 6th ed. / J.L. Hennessy, D.A. Patterson. - Morgan Kaufmann, 2017. - 856 p.
Справка о публикации и препринт статьи
предоставляется сразу после оплаты
Прием материалов
c по
Осталось 4 дня до окончания
Размещение электронной версии
Загрузка материалов в elibrary
Публикация за 24 часа
Узнать подробнее
Акция
Cкидка 20% на размещение статьи, начиная со второй
Бонусная программа
Узнать подробнее