BestConfig:通过自动配置调整挖掘系统的性能潜力
BestConfig: Tapping the Performance Potential of Systems via Automatic Configuration Tuning
摘要:
越来越多的配置参数被提供给系统用户。但是,许多用户在不同的工作负载中使用一种配置设置,使系统的性能潜力尚未开发。良好的配置设置可以极大地提高部署系统在某些工作负载下的性能。但是,由于有数十或数百个参数,决定哪种配置设置可带来最佳性能就成了一项代价高昂的任务。虽然这样的任务需要在系统和应用程序的强大的专业知识,用户通常缺乏这样的专业知识。为了帮助用户挖掘系统的性能潜力,我们提出了BestConfig,一个系统自动找到一个最佳的配置设置在资源限制下的一个给定的应用程序的工作负载下部署的系统。BestConfig设计了一个可扩展的架构,以自动化一般系统的配置调优。为了在有限的资源范围内调整系统配置,我们提出了分而治之的采样方法和递归的边界和搜索算法。仅通过配置调整,BestConfig就可以将Tomcat的吞吐量提高75%,Cassandra提高63%,MySQL提高430%,并将Hive join job的运行时间减少约50%,Spark join job减少约80%。
英文摘要:
An ever increasing number of configuration parameters are provided to system users. But many users have used one configuration setting across different workloads, leaving untapped the performance potential of systems. A good configuration setting can greatly improve the performance of a deployed system under certain workloads. But with tens or hundreds of parameters, it becomes a highly costly task to decide which configuration setting leads to the best performance. While such task requires the strong expertise in both the system and the application, users commonly lack such expertise. To help users tap the performance potential of systems, we present BestConfig, a system for automatically finding a best configuration setting within a resource limit for a deployed system under a given application workload. BestConfig is designed with an extensible architecture to automate the configuration tuning for general systems. To tune system configurations within a resource limit, we propose the divide-and-diverge sampling method and the recursive bound-and-search algorithm. BestConfig can improve the throughput of Tomcat by 75%, that of Cassandra by 63%, that of MySQL by 430%, and reduce the running time of Hive join job by about 50% and that of Spark join job by about 80%, solely by configuration adjustment.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。