Atomicity Checking in Linear Time using Vector Clocks

被引:17
作者
Mathur, Umang [1 ]
Viswanathan, Mahesh [1 ]
机构
[1] Univ Illinois, Urbana, IL 61801 USA
来源
TWENTY-FIFTH INTERNATIONAL CONFERENCE ON ARCHITECTURAL SUPPORT FOR PROGRAMMING LANGUAGES AND OPERATING SYSTEMS (ASPLOS XXV) | 2020年
基金
美国国家科学基金会;
关键词
Concurrency; Atomicity; Conflict Serializability; Vector Clocks; Dynamic Program Analysis; CONCURRENCY BUGS; RACE;
D O I
10.1145/3373376.3378475
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Multi-threaded programs are challenging to write. Developers often need to reason about a prohibitively large number of thread interleavings to reason about the behavior of software. A non-interference property like atomicity can reduce this interleaving space by ensuring that any execution is equivalent to an execution where all atomic blocks are executed serially. We consider the well studied notion of conflict serializability for dynamically checking atomicity. Existing algorithms detect violations of conflict serializability by detecting cycles in a graph of transactions observed in a given execution. The number of edges in such a graph can grow quadratically with the length of the trace making the analysis not scalable. In this paper, we present AeroDrome, a novel single pass linear time algorithm that uses vector clocks to detect violations of conflict serializability in an online setting. Experiments show that AeroDrome scales to traces with a large number of events with significant speedup.
引用
收藏
页码:183 / 199
页数:17
相关论文
共 65 条
[1]  
Agarwal R, 2004, LECT NOTES COMPUT SC, V2937, P149
[2]  
Agarwal R., 2005, ASE, P233, DOI DOI 10.1145/1101908.1101944
[3]  
[Anonymous], 2019, TRACE LOGS USED SECT
[4]  
[Anonymous], 2001, P 3 WORKSH JAV HIGH
[5]  
Biswas S, 2014, ACM SIGPLAN NOTICES, V49, P28, DOI [10.1145/2594291.2594323, 10.1145/2666356.2594323]
[6]  
Biswas Swarnendu, 2014, DOUBLECHECKER
[7]   The DaCapo benchmarks: Java']Java benchmarking development and analysis [J].
Blackburn, Stephen M. ;
Garner, Robin ;
Hoffmann, Chris ;
Khan, Asjad M. ;
McKinley, Kathryn S. ;
Bentzur, Rotem ;
Diwan, Amer ;
Feinberg, Daniel ;
Frampton, Daniel ;
Guyer, Samuel Z. ;
Hirzel, Martin ;
Hosking, Antony ;
Jump, Maria ;
Lee, Han ;
Moss, J. Eliot B. ;
Phansalkar, Aashish ;
Stefanovic, Darko ;
VanDrunen, Thomas ;
von Dincklage, Daniel ;
Wiedermann, Ben .
ACM SIGPLAN NOTICES, 2006, 41 (10) :169-190
[8]  
Bond MD, 2013, ACM SIGPLAN NOTICES, V48, P693, DOI [10.1145/2509136.2509519, 10.1145/2544173.2509519]
[9]   Drinking from Both Glasses: Combining Pessimistic and Optimistic Tracking of Cross-Thread Dependences [J].
Cao, Man ;
Zhang, Minjia ;
Sengupta, Aritra ;
Bond, Michael D. .
ACM SIGPLAN NOTICES, 2016, 51 (08) :237-249
[10]  
Chew L, 2010, EUROSYS'10: PROCEEDINGS OF THE EUROSYS 2010 CONFERENCE, P307