
PrISM: تخفيف احتمالي قابل للتوسع لـ RowHammer (ISCA 2026). كود مصدر Ramulator2 وسكربتات التقييم.
سيُعرض في الندوة الدولية الثالثة والخمسين لبنية الحواسيب (ISCA)، 2026.
Jeonghyun Woo1*, Junsu Kim1*, Aamer Jaleel2, Prashant J. Nair1
1 جامعة كولومبيا البريطانية 2 NVIDIA * مساهمة متساوية
لقد أدى تصغير تقنية DRAM إلى تفاقم ثغرة RowHammer. ولمواجهة ذلك، قدّم معيار JEDEC مؤخرًا ميزة عدّ التنشيطات لكل صف (PRAC) مع بروتوكول التنبيه والتراجع (Alert Back-Off) كميزة اختيارية في DDR5. ورغم أن هذه الميزة واعدة، إلا أن PRAC يتطلب خلايا عدّ لكل صف تسبب تكلفة مساحة إضافية، كما أن تحديثها عند كل تنشيط يطيل معاملات توقيت DRAM، مما يضعف الأداء. تقدم وسائل التخفيف الاحتمالية مثل MINT بديلًا أقل تكلفة من خلال اختيار وتخفيف صفوف عشوائيًا داخل نوافذ تخفيف دورية. MINT فعّال عند العتبات الأعلى (≥ 1000)، لكن عند العتبات الأقل، يجب أن يرفع معدل تخفيفه للتغلب على مشكلة عدم الاختيار، حيث يمكن للصفوف التى تتعرض لنقر مكثف أن تتفادى أخذ العينات بشكل متكرر. ويقلل هذا التوسع ذو المعدل الثابت من النطاق الترددي الفعال للذاكرة حتى في غياب أي هجوم.
للتغلب على هذا القيد، نقترح PrISM، وهي وسيلة تخفيف احتمالية قائمة على التقاطع تربط بين الصفوف المأخوذ عيّناتها عبر النوافذ باستخدام قائمة انتظار لسجلّ العينات (SHQ). يقوم PrISM بأخذ عينات من عدد قليل من فتحات التنشيط لكل نافذة، ويخزّن الصفوف المأخوذ عيّناتها والتي لم تُخفَّف في SHQ، ويطلب تخفيفًا إضافيًا عبر بروتوكول التنبيه والتراجع الحالي عندما يظهر صف مأخوذ عيّناته مجددًا في هذا السجلّ. يتيح ذلك لـ PrISM زيادة التخفيف فقط عند ملاحظة نشاط صفّي مستمر، دون زيادة معدل التخفيف الثابت عالميًا. عند عتبة 500، يسبّب PrISM تباطؤًا متوسطًا ضئيلًا بنسبة 0.2% مقارنة بـ 14% لـ PRAC، دون أي تغييرات في مصفوفة DRAM أو عدادات لكل صف، وبسعة SRAM تبلغ 625 بايت فقط لكل بنك — أي أقل بمرتبة إلى مرتبتين من حيث الحجم من الدفاعات الآمنة السابقة القائمة على العدادات داخل 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 خالصة والتحقق عبر Monte-Carlo للادعاءات الأمنية.استنسخ المستودع واختر دليلًا فرعيًا:
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.