
PrISM: Масштабируемое вероятностное смягчение RowHammer (ISCA 2026). Исходный код Ramulator2 и скрипты для оценки.
Будет представлена на 53-м Международном симпозиуме по компьютерной архитектуре (ISCA), 2026.
Jeonghyun Woo1*, Junsu Kim1*, Aamer Jaleel2, Prashant J. Nair1
1 Университет Британской Колумбии 2 NVIDIA * Равный вклад
Масштабирование DRAM усугубило уязвимость RowHammer. Для противодействия этому JEDEC недавно представил Per Row Activation Counting (PRAC) с протоколом Alert Back-Off в качестве опциональной функции DDR5. Несмотря на свою перспективность, PRAC требует наличия счётчиков на каждую строку, что приводит к накладным расходам по площади, а их обновление при каждой активации удлиняет временны́е параметры DRAM, снижая производительность. Вероятностные методы смягчения, такие как MINT, предлагают более дешёвую альтернативу, случайным образом выбирая и смягчая строки в рамках периодических окон смягчения. MINT эффективен при более высоких порогах (≥ 1000), но при более низких порогах он должен повышать частоту смягчения, чтобы преодолеть проблему невыбора, при которой сильно атакуемые строки могут многократно ускользать от выборки. Такое масштабирование фиксированной частоты снижает эффективную пропускную способность памяти даже при отсутствии атаки.
Чтобы преодолеть это ограничение, мы предлагаем PrISM — вероятностное смягчение на основе пересечений, которое коррелирует выбранные строки между окнами с помощью Sampled History Queue (SHQ). PrISM выбирает несколько слотов активации на окно, сохраняет выбранные, но несмягчённые строки в SHQ и запрашивает дополнительное смягчение через существующий протокол Alert Back-Off, когда выбранная строка снова появляется в этой истории. Это позволяет PrISM увеличивать смягчение только при наблюдении устойчивой активности строк, не увеличивая глобально фиксированную частоту смягчения. При пороге 500 PrISM приводит к незначительному среднему замедлению на 0,2% по сравнению с 14% у PRAC, без изменений массива DRAM и счётчиков на строку и всего лишь 625 байт SRAM на банк — на один-два порядка меньше, чем у предыдущих безопасных защит на основе счётчиков в DRAM. По сравнению с MINT, PrISM обеспечивает лучшую масштабируемость при низких порогах, снижая среднее замедление с 10,7% до 1,5% при пороге 250, то есть в 7,1 раза.
prism/
├── perf_analysis/ # Ramulator2 simulations (Figures 7, 8, 9; Table VI)
├── security_analysis/ # Analytical model + MC validation (Figures 5, 6)
├── LICENSE
└── README.md # This file
В каждом подкаталоге есть собственный README с подробными инструкциями по воспроизведению результатов:
perf_analysis/ — инфраструктура Ramulator2 для результатов производительности. Поддерживает выполнение как через SLURM, так и на одной машине.security_analysis/ — аналитическая модель на чистом Python и проверка безопасности методом Монте-Карло.Склонируйте репозиторий и выберите подкаталог:
git clone https://github.com/STAR-Laboratory/prism.git
cd prism
Чтобы воспроизвести результаты производительности (рис. 7, 8, 9; Таблица VI):
cd perf_analysis
./run_artifact.sh --method slurm --artifact all # or --method personal
Чтобы воспроизвести анализ безопасности (рис. 5, 6):
cd security_analysis
python3 prism_circular_security_analysis.py figure8 --w 72 \
--output-dir ./results --mc-windows 1000000 --mc-seeds 5
python3 plot_scripts/plot_figure5.py
Полные подробности см. в README соответствующих подкаталогов.
@inproceedings{prism_isca2026,
title = {Loaded Dice: Solving the Non-Selection Problem for Scalable Probabilistic RowHammer Defense},
author = {Jeonghyun Woo and Junsu Kim and Aamer Jaleel and Prashant J. Nair},
booktitle = {53rd Annual International Symposium on Computer Architecture (ISCA)},
year = {2026},
series = {ISCA'26},
}
Этот репозиторий распространяется под лицензией MIT.