Cooperative Empirical Failure Avoidance for Multithreaded Programs

被引:16
|
作者
Lucia, Brandon [1 ]
Ceze, Luis [1 ]
机构
[1] Univ Washington, Dept Comp Sci & Engn, Seattle, WA 98195 USA
基金
美国国家科学基金会;
关键词
Algorithms; Reliability; concurrency; cooperative failure avoidance;
D O I
10.1145/2499368.2451121
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Concurrency errors in multithreaded programs are difficult to find and fix. We propose Aviso, a system for avoiding schedule-dependent failures. Aviso monitors events during a program's execution and, when a failure occurs, records a history of events from the failing execution. It uses this history to generate schedule constraints that perturb the order of events in the execution and thereby avoids schedules that lead to failures in future program executions. Aviso leverages scenarios where many instances of the same software run, using a statistical model of program behavior and experimentation to determine which constraints most effectively avoid failures. After implementing Aviso, we showed that it decreased failure rates for a variety of important desktop, server, and cloud applications by orders of magnitude, with an average overhead of less than 20% and, in some cases, as low as 5%.
引用
收藏
页码:39 / 50
页数:12
相关论文
共 50 条
  • [21] Reachability in Binary Multithreaded Programs Is Polynomial
    Malkis, Alexander
    Borgwardt, Steffen
    [J]. 2017 IEEE 37TH INTERNATIONAL CONFERENCE ON DISTRIBUTED COMPUTING SYSTEMS (ICDCS 2017), 2017, : 2083 - 2088
  • [22] A concept of portable monitoring of multithreaded programs
    Balis, B
    Bubak, M
    Funika, W
    Wismüller, R
    [J]. COMPUTATIONAL SCIENCE-ICCS 2002, PT II, PROCEEDINGS, 2002, 2330 : 884 - 893
  • [23] Asserting and Checking Determinism for Multithreaded Programs
    Burnim, Jacob
    Sen, Koushik
    [J]. 7TH JOINT MEETING OF THE EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND THE ACM SIGSOFT SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING, 2009, : 3 - 12
  • [24] Detection of deadlock potentials in multithreaded programs
    Agarwal, R.
    Bensalem, S.
    Farchi, E.
    Havelund, K.
    Nir-Buchbinder, Y.
    Stoller, S. D.
    Ur, S.
    Wang, L.
    [J]. IBM JOURNAL OF RESEARCH AND DEVELOPMENT, 2010, 54 (05)
  • [25] On Verifying Distributed Multithreaded Java Programs
    Jessica Chen
    [J]. Software Quality Journal, 1999, 8 : 321 - 341
  • [26] On verifying distributed multithreaded Java programs
    Chen, Jessica
    [J]. Proceedings of the Annual Hawaii International Conference on System Sciences, 2000, 2000-January
  • [27] Confidentiality for multithreaded programs via bisimulation
    Sabelfeld, A
    [J]. PERSPECTIVES OF SYSTEM INFORMATICS, 2003, 2890 : 260 - 273
  • [28] Predicting and speedup of multithreaded Solaris programs
    Lundberg, L
    Roos, M
    [J]. FOURTH INTERNATIONAL CONFERENCE ON HIGH-PERFORMANCE COMPUTING, PROCEEDINGS, 1997, : 386 - 392
  • [29] Pointer analysis of multithreaded Java programs
    Nanda, Mangala Gowri
    Ramesh, S.
    [J]. Proc ACM Symp Appl Computing, 1600, (1068-1075):
  • [30] Probabilistic pointer analysis for multithreaded programs
    El-Zawawy, Mohamed A.
    [J]. SCIENCEASIA, 2011, 37 (04): : 344 - 354