Safe asynchronous multicore memory operations
File(s)ASE.11.safe_async.pdf (872.73 KB)
Accepted version
Author(s)
Botincan, M
Dodds, M
Donaldson, AF
Parkinson, M
Type
Conference Paper
Abstract
Asynchronous memory operations provide a means for coping with the memory wall problem in multicore processors, and are available in many platforms and languages, e.g., the Cell Broadband Engine, CUDA and OpenCL. Reasoning about the correct usage of such operations involves complex analysis of memory accesses to check for races. We present a method and tool for proving memory-safety and race-freedom of multicore programs that use asynchronous memory operations. Our approach uses separation logic with permissions, and our tool automates this method, targeting a C-like core language. We describe our solutions to several challenges that arose in the course of this research. These include: syntactic reasoning about permissions and arrays, integration of numerical abstract domains, and utilization of an SMT solver. We demonstrate the feasibility of our approach experimentally by checking absence of DMA races on a set of programs drawn from the IBM Cell SDK. © 2011 IEEE.
Editor(s)
Alexander, P
Pasareanu, CS
Hosking, JG
Date Issued
2011-11-06
Citation
IEEE Xplore, 2011, pp.153-162
Publisher
IEEE
Start Page
153
End Page
162
Journal / Book Title
IEEE Xplore
Copyright Statement
© 2011 IEEE. Personal use of this material is permitted. Permission from IEEE must be obtained for all other uses, in any current or future media, including reprinting/republishing this material for advertising or promotional purposes, creating new collective works, for resale or redistribution to servers or lists, or reuse of any copyrighted component of this work in other works.
Description
06.05.14 KB. Ok to add accepted version to Spiral, IEEE policy
Source
26th IEEE/ACM International Conference on Automated Software Engineering
Start Date
2011-11-06
Finish Date
2010-11-10
Coverage Spatial
Lawrence, Kansas