Performance Bug Analysis and Detection for Distributed Storage and Computing Systems

被引:2
作者
Li, Jiaxin [1 ]
Zhang, Yiming [1 ,2 ]
Lu, Shan [3 ]
Gunawi, Haryadi S. [3 ]
Gu, Xiaohui [4 ]
Huang, Feng [1 ]
Li, Dongsheng [1 ]
机构
[1] Natl Univ Def Technol, Sanyi Rd, Changsha, Hunan, Peoples R China
[2] Xiamen Univ, Sanyi Rd, Changsha, Hunan, Peoples R China
[3] Univ Chicago, 5801 S Ellis Ave, Chicago, IL 60637 USA
[4] North Carolina State Univ, 2101 Hillsborough St, Raleigh, NC 27695 USA
基金
中国国家自然科学基金;
关键词
Storage and computing systems performance; blocking bugs;
D O I
10.1145/3580281
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
This article systematically studies 99 distributed performance bugs from five widely deployed distributed storage and computing systems (Cassandra, HBase, HDFS, Hadoop MapReduce and ZooKeeper). We present the TaxPerf database, which collectively organizes the analysis results as over 400 classification labels and over 2,500 lines of bug re-description. TaxPerf is classified into six bug categories (and 18 bug subcategories) by their root causes; resource, blocking, synchronization, optimization, configuration, and logic. TaxPerf can be used as a benchmark for performance bug studies and debug tool designs. Although it is impractical to automatically detect all categories of performance bugs in TaxPerf, we find that an important category of blocking bugs can be effectively solved by analysis tools. We analyze the cascading nature of blocking bugs and design an automatic detection tool called PCatch, which (i) performs program analysis to identify code regions whose execution time can potentially increase dramatically with the workload size; (ii) adapts the traditional happens-beforemodel to reason about software resource contention and performance dependency relationship; and (iii) uses dynamic tracking to identify whether the slowdown propagation is contained in one job. Evaluation shows that PCatch can accurately detect blocking bugs of representative distributed storage and computing systems by observing system executions under small-scale workloads.
引用
收藏
页数:33
相关论文
empty
未找到相关数据