Symbolic reasoning for automatic signal placement
-
Published:2018-12-02
Issue:4
Volume:53
Page:120-134
-
ISSN:0362-1340
-
Container-title:ACM SIGPLAN Notices
-
language:en
-
Short-container-title:SIGPLAN Not.
Author:
Ferles Kostas1,
Van Geffen Jacob1,
Dillig Isil1,
Smaragdakis Yannis2
Affiliation:
1. University of Texas at Austin, USA
2. University of Athens, Greece
Abstract
Explicit signaling between threads is a perennial cause of bugs in concurrent programs. While there are several run-time techniques to
automatically
notify threads upon the availability of some shared resource, such techniques are not widely-adopted due to their run-time overhead. This paper proposes a new solution based on static analysis for automatically generating a performant
explicit-signal
program from its corresponding
implicit-signal
implementation. The key idea is to generate verification conditions that allow us to minimize the number of required signals and unnecessary context switches, while guaranteeing semantic equivalence between the source and target programs. We have implemented our method in a tool called Expresso and evaluate it on challenging benchmarks from prior papers and open-source software. Expresso-generated code significantly outperforms past automatic signaling mechanisms (avg. 1.56x speedup) and closely matches the performance of hand-optimized explicit-signal code.
Funder
Defense Advanced Research Projects Agency
National Science Foundation
European Research Council
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Cited by
1 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Symbolic Reasoning for Automatic Signal Placement;ACM SIGOPS Operating Systems Review;2020-08-31