An Operational Model for Multiprocessors with Caches [chapter]

Salil Joshi, Sanjiva Prasad
2010 IFIP Advances in Information and Communication Technology  
Modern multiprocessors are equipped with local caches, to enhance program performance. However, the presence of caches can lead to the violation of sequential consistency [7] assumptions regarding program order and write atomicity. With respect to such relaxed memory models [1], we provide an operational description of program execution (in the style of [4]) that accounts for cache effects. In particular, we provide an operational characterization of cache invalidation and update policies and
more » ... abstract characterization of cache consistency. The programming model consists of a simple imperative language extended with common synchronization primitives such as locks or barrier instructions. The main results show that by precluding certain data races or by placing certain synchronization constraints, sequentially consistent behavior can be obtained for multiprocessor execution even in the presence of local caches.
doi:10.1007/978-3-642-15240-5_27 fatcat:pgv2kq4wtjgpfb4q4qqiau3mje