Font Size: a A A

Research On Resource Contention Detection And Resolution Among Multiple Software Programs

Posted on:2020-11-08Degree:MasterType:Thesis
Country:ChinaCandidate:Z M FengFull Text:PDF
GTID:2428330611493419Subject:Software engineering
Abstract/Summary:PDF Full Text Request
As the scale and complexity of software expands,the issue of software performance is attracting increasing attention.The causes of performance problems mainly fall into two categories:software bugs and resource contention among multiple software programs in the running environment.Software bugs are referring to the inefficient or unnecessary computation in source code,and there are many researches that study the performance problems caused by the software bugs,but the researches on the performance problems caused by the resource contention are relatively inadequate.Unlike software bugs,re-source contention is not a bug;as a result,it is difficult to identify the concrete reason for a performance problem given that they share the same symptoms,such as long response time or low system throughput.Targeted at the drawbacks of these researches,we investigate the performance prob-lems caused by resource contention from a configuration perspective.By studying the response time distribution of software as the workload changes,we find that there is an inflection point of response time with the change of workload.Based on our observations,we design and implement a tool,Relax,to automatically detect and resolve resource con-tention.Relax combines resource request delay at the inflection point and the system resource usage rate to identify the performance problems caused by resource contention.Moreover,inspired by the congestion control algorithm in computer networks,Relax uses the square-increase and multiplicative-decrease method to adjust the resource-related con-figurations so as to resolve the contention.We classify our work into the following as-pects:1.By studying the response time distribution of software as the workload changes,we find that there is an inflection point of response time as the workload changes.As the workload changes,the software response time first linear growth.When the workload increases to a certain value,the software response time presents rapid growth.Through analysis we find that the phenomenon is caused by the bottleneck of resource utilization in the running environment.Based on this observations,the resource request delay at the inflection point is used as the important condition to detect resource contention.2.Previous studies find that many software failures are caused by configurations,which are usually related to the running environment and system resources.And we per-form an analysis of the 49 performance problems caused by resource contention,we find that 65.3%of cases can be resolved by tuning the configurations of software.Therefore,we resolve the performance problems caused by resource contention from a configura-tion perspective.we get the resource-related configurations by program slicing technique.When there is the resource contention among multiple software in the running environ-ment,we use the square-increase and multiplicative-decrease method to adjust the con-figurations which have a greater impact on the resources and have an effective effect on the resources so as to resolve the contention.3.We design and implement a tool,Relax,to automatically detect and resolve re-source contention.we evaluate Relax under different workload and configuration settings.Our experiments show that Relax can detect the resource contention in the running envi-ronment in time,resolve the contention effectively and improve the system performance by 5.73%-20.35%.
Keywords/Search Tags:Resource Contention, Performance Problem, Resource-related Configurations, Resource Dependence Analysis
PDF Full Text Request
Related items