2018 · 21 citations · 28 references
ComputingCloud ComputingComputer SystemsDistributed SystemsFault ToleranceFault-tolerant ComputingDistributed Systems PerformanceReliable Distributed SystemsFault Detection In Cloud SystemsPerformance DegradationPerformance Degradation DetectionRoot CausesTimeout HandlingTimeout Mechanisms
Timeouts are commonly used to handle unexpected failures in distributed systems. In this paper, we conduct a comprehensive study to characterize real-world timeout problems in 11 commonly used cloud server systems (e.g., Hadoop, HDSF, Spark, Cassandra, etc.). Our study reveals timeout problems are widespread among cloud server systems. We categorize those timeout problems in three aspects: 1) what are the root causes of those timeout problems? 2) what impact can timeout problems impose to cloud systems? 3) how are timeout problems currently diagnosed or misdiagnosed? Our results show that root causes of timeout problems include misused timeout, missing timeout, improper timeout handling, unnecessary timeout, and clock drifting. We further find timeout bugs impose serious impact (e.g., system hang or crash, job failure, performance degradation, data loss) to both applications and systems. Our study also shows that 60% of the bugs do not produce any error messages and 12% bugs produce misleading error messages, which makes it difficult to diagnose those timeout bugs.
28
Stefan Savage, Michael T. Burrows, Greg Nelson et al. · ACM Transactions on Computer Systems · 1997 · 1.6K citations · Full text
An empirical study of operating systems errors
Andy Chou, Junfeng Yang, Benjamin Chelf et al. · 2001 · 718 citations
Understanding and detecting real-world performance bugs
Guoliang Jin, Linhai Song, Xiaoming Shi et al. · 2012 · 307 citations
An empirical study on configuration errors in commercial and open source systems
Zuoning Yin, Xiao Ma, Jing Zheng et al. · 2011 · 252 citations