深入探讨多核处理器中的故障检测与创新验证:IBM POWER9处理器后硅验证解析
02/26/2025, 02:00 PM UTC
多核处理器中的故障检测与创新验证Bug Hunting in Multi Core Processors. Innovation in Verification
➀ 本文讨论了IBM POWER9处理器的后硅验证,强调了其在超级计算机中多核处理器采用率不断增长的环境中的相关性。
➁ 自POWER7以来,IBM的Threadmill(用于处理器验证的工具)得到了增强,包括优化模板分配和多核写丢弃的调试策略。
➂ 与POWER8相比,POWER9的验证方法在故障检测率上有了显著提高,采用了新的技术,如AI优先级和硬件干扰器来诱导故障。
➀ This paper discusses the post-silicon validation of the IBM POWER9 processor, highlighting its significance in the context of increasing multi-core processor adoption by hyperscalers.
➁ IBM's Threadmill, a tool for processor verification, has been enhanced since the POWER7, including optimized template allocation and debugging strategies for multi-core write drops.
➂ The validation methodology for POWER9 has significantly improved bug detection rates compared to POWER8, with new techniques like AI prioritization and hardware irritators to induce bugs.
在当今的超级计算机领域,多核处理器的采用率正在迅速增长。本文将深入探讨IBM POWER9处理器的后硅验证,并分析其对于多核处理器验证领域的创新。
IBM的Threadmill是一个用于处理器验证的低级“锻炼”软件程序,它直接在裸机处理器上运行(即,没有任何操作系统)。该程序配置了模板,这些模板是参数化的机器代码片段,可以通过某种方式随机化——随机化指令、随机化地址等。锻炼程序可以在硅前在模拟、仿真或FPGA上运行,也可以在实验室中硅后运行。
本文详细介绍了IBM如何自POWER7以来增强Threadmill的一些有趣的新内容:首先,他们在仿真期间对模板的运行时分配进行了加权,为发现更多错误的模板运行了10-100倍更多的时钟周期。其次,他们部署了一些聪明的信息编码技巧来协助调试。例如,对于与多个核心同时增加相同内存地址时丢弃写入有关的错误,他们让每个核心以不同的数量增加该内存地址。然后,该地址中实际值与预期值之间的差异告诉他们哪个核心的写入因竞争而被丢弃。第三,他们通过更多的技巧增强Threadmill,以更好地偏置随机化以更好地击中错误。原始Threadmill来自POWER7的论文分享了使用多个核心的相同随机种子对内存地址进行随机化的技巧,这增加了加载/存储竞争的频率。在这次POWER9论文中,他们偏置地址以也与内存页面边界对齐,以增加跨页面访问的频率。最后,他们使用AI来帮助进一步优先处理模板以更快地达到覆盖率。
与POWER8相比,在80%的时间内发现了30%更多的错误。这是一个非常困难的问题上的相当不错的进步!
---
本文由大语言模型(LLM)生成,旨在为读者提供半导体新闻内容的知识扩展(Beta)。