Font Size: a A A

Research On Understanding And Detecting Performance Bug In Distributed Systems

Posted on:2020-03-04Degree:MasterType:Thesis
Country:ChinaCandidate:C ZhangFull Text:PDF
GTID:2518306548493194Subject:Computer Science and Technology
Abstract/Summary:PDF Full Text Request
In this era of big data,there is an urgent need for powerful computing infrastructures to provide services for enterprises and individuals.Building a distributed system is a suitable solution.Distributed software infrastructures are increasingly complex,and new intricate problems continue to manifest.Performance and reliability are very important for distributed systems.Inefficient and unreliable distributed systems are prone to economic losses for users.Although Distributed software has developed very rapidly in the past decade,performance bug still poses a threat to reliability of distributed systems.There have been a lot of researches on performance bugs on single machine,but there are insufficient understanding of performance bugs in distributed systems.At present,it is preliminary to study performance bugs in distributed systems.This thesis works on three points: understanding performance bugs in distributed systems,analyzing and detecting scalability performance bugs,analyzing and detecting synchronization performance bugs.Better detection tools require a comprehensive understanding of performance bugs in distributed systems.we collected totally 85 performance bugs from five widely deployed open source distributed system suites(Hadoop Map Reduce,HBase,HDFS,Zookeeper,and Cassandra).An empirical research work is carried out.The research work mainly focuses on four aspects: root cause,causality,symptoms and fix strategy.The research finds that the root cause of the bug has a strong correlation with the repair strategy.Performance bugs are related to the loop structure.This part of work inspired the next series of work.For the scalability performance bugs,our work focuses on the workload.Timeconsuming operations and unbounded cycles are the main causes of scalability performance bugs.Besides,the unbounded loop is an important feature of scalability performance bugs,and it is also the focus of the detection work.In the evaluation,the detection tool successfully detects all six scalability performance bug benchmarks and also detects new potential scalability bugs.Synchronization performance bugs are widely in distributed systems.With previous work,time-consuming operations,nested loops and recursive calls are the key factors that cause performance problems in the synchronization field.Our detection tools include the identification of the synchronization field,the identification of the load-sensitive process,and the analysis of the relationship between the synchronization field and the time-consuming loop body.Using the randomly selected five bug benchmarks,the evaluation shows that the detection tool can detect all five benchmarks,and can detect unknown synchronization performance bugs as well as print out the detail of new bugs.Based on empirical research,the detection technology of this paper has achieved good results,significantly improving the performance of detecting performance bugs in distributed systems.
Keywords/Search Tags:Distributed system, Performance bug, Detection technology, Software reliability
PDF Full Text Request
Related items