Concurrent separation logic for pipelined parallelization

  • Authors:
  • Christian J. Bell;Andrew W. Appel;David Walker

  • Affiliations:
  • Princeton University, Computer Science Department, Princeton, New Jersey;Princeton University, Computer Science Department, Princeton, New Jersey;Princeton University, Computer Science Department, Princeton, New Jersey

  • Venue:
  • SAS'10 Proceedings of the 17th international conference on Static analysis
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

Recent innovations in automatic parallelizing compilers are showing impressive speedups on multicore processors using shared memory with asynchronous channels. We have formulated an operational semantics and proved sound a concurrent separation logic to reason about multithreaded programs that communicate asynchronously through channels and share memory. Our logic supports shared channel endpoints (multiple producers and consumers) and introduces histories to overcome limitations with local reasoning. We demonstrate how to transform a sequential proof into a parallelized proof that targets the output of the parallelizing optimization DSWP (Decoupled Software Pipelining).