
PrISM: Uma Mitigação Probabilística Escalável de RowHammer (ISCA 2026). Código-fonte do Ramulator2 e scripts de avaliação.
A ser publicado no 53º Simpósio Internacional de Arquitetura de Computadores (ISCA), 2026.
Jeonghyun Woo1*, Junsu Kim1*, Aamer Jaleel2, Prashant J. Nair1
1 University of British Columbia 2 NVIDIA * Contribuição igual
O escalonamento da DRAM agravou a vulnerabilidade do RowHammer. Para combater isso, a JEDEC introduziu recentemente a Per Row Activation Counting (PRAC) com o protocolo Alert Back-Off como um recurso opcional do DDR5. Embora promissora, a PRAC exige células de contador por linha que acarretam sobrecarga de área, e atualizá-las a cada ativação alonga os parâmetros de temporização da DRAM, degradando o desempenho. Mitigações probabilísticas, como a MINT, oferecem uma alternativa de menor custo ao selecionar e mitigar linhas aleatoriamente dentro de janelas de mitigação periódicas. A MINT é eficaz em limiares mais altos (≥ 1000), mas em limiares mais baixos ela precisa aumentar sua taxa de mitigação para superar o problema de não-seleção, em que linhas fortemente marteladas podem escapar repetidamente da amostragem. Esse escalonamento de taxa fixa reduz a largura de banda efetiva da memória mesmo quando nenhum ataque está presente.
Para superar essa limitação, propomos PrISM, uma mitigação probabilística baseada em interseção que correlaciona linhas amostradas entre janelas usando uma Fila de Histórico de Amostras (SHQ). A PrISM amostra alguns slots de ativação por janela, armazena linhas amostradas, mas não mitigadas, na SHQ e solicita uma mitigação adicional por meio do protocolo Alert Back-Off existente quando uma linha amostrada reaparece nesse histórico. Isso permite que a PrISM aumente a mitigação somente quando atividade persistente de linha é observada, sem aumentar globalmente a taxa de mitigação fixa. No limiar de 500, a PrISM incorre em uma lentidão média desprezível de 0,2% em comparação com 14% da PRAC, sem alterações na matriz de DRAM nem contadores por linha, e com apenas 625B de SRAM por banco — uma a duas ordens de grandeza a menos do que defesas anteriores em DRAM baseadas em contadores seguros. Em comparação com a MINT, a PrISM oferece melhor escalabilidade em limiares baixos, reduzindo a lentidão média de 10,7% para 1,5% no limiar de 250, uma redução de 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
Cada subdiretório tem seu próprio README com instruções detalhadas de reprodução:
perf_analysis/ — Infraestrutura Ramulator2 para os resultados de desempenho. Suporta execução via SLURM e em máquina única.security_analysis/ — Modelo analítico em Python puro e validação por Monte Carlo para as afirmações de segurança.Clone o repositório e escolha um subdiretório:
git clone https://github.com/STAR-Laboratory/prism.git
cd prism
Para reproduzir os resultados de desempenho (Figuras 7, 8, 9; Tabela VI):
cd perf_analysis
./run_artifact.sh --method slurm --artifact all # or --method personal
Para reproduzir a análise de segurança (Figuras 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
Consulte os READMEs dos subdiretórios para obter detalhes completos.
@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},
}
Este repositório é disponibilizado sob a Licença MIT.