Automatic Analysis of Scratch-Pad Memory Code for Heterogeneous Multicore Processors

Automatic Analysis of Scratch-Pad Memory Code for Heterogeneous Multicore Processors
复制标题

异构多核处理器暂存器代码的自动分析

DOI:
--
复制
发表时间:
2010
期刊:
International Conference on Tools and Algorithms for Construction and Analysis of Systems
影响因子:
--
通讯作者:
P. Rümmer
P. Rümmer
中科院分区:
--
文献类型:
--
作者:
Alastair F. Donaldson;D. Kroening;P. Rümmer

文献摘要

被引文献

相似文献

现代多项处理器(例如电池宽带引擎)通过为加速器核心配备小的“刮擦”记忆来实现高性能。 )操作。使用异步DMA的编程是错误的,DMA种族可能会导致不确定性的错误,这些错误很难复制和修复。流量控制器。为了自动验证仪器程序,我们提出了针对软件的新公式,作为循环运行的证明规则。 IBM Cell SDK,我们发现我们的实验结果未知。软件模型检查异质多层处理器的第一个示例。
Modern multicore processors, such as the Cell Broadband Engine, achieve high performance by equipping accelerator cores with small “scratch-pad” memories. The price for increased performance is higher programming complexity – the programmer must manually orchestrate data movement using direct memory access (DMA) operations. Programming using asynchronous DMAs is error-prone, and DMA races can lead to nondeterministic bugs which are hard to reproduce and fix. We present a method for DMA race analysis which automatically instruments the program with assertions modelling the semantics of a memory flow controller. To enable automatic verification of instrumented programs, we present a new formulation of k-induction geared towards software, as a proof rule operating on loops. We present a tool, Scratch, which we apply to a large set of programs supplied with the IBM Cell SDK, in which we discover a previously unknown bug. Our experimental results indicate that our k-induction method performs extremely well on this problem class. To our knowledge, this marks both the first application of k-induction to software verification, and the first example of software model checking for heterogeneous multicore processors.