科研进展 | 内存大数据查询引擎性能优化研究
近日,中国科学院深圳先进技术研究院数字所异构智能计算中心在内存大数据查询引擎性能优化研究方面取得重要进展,相关成果以“LOCAT: Low-Overhead Online Configuration Auto-Tuning of Spark SQL Applications” 为题被数据库领域顶级会议ACM SIGMOD(Special Interest Group on Management Of Data)2022录用为长文。深圳先进院异构智能计算中心硕士生辛锦瀚为论文第一作者,香港中文大学计算机科学与工程系主任教授黄凯为论文第二作者,深圳先进院异构智能计算中心喻之斌研究员为通讯作者。
该项研究致力于解决当前Spark SQL在配置优化中所面临的成本过高问题,实现了低成本、能够适应输入数据集大小变化的配置自动优化。随着Spark SQL框架的广泛使用,Spark SQL的配置参数优化始终是一个难以解决的问题。现有的机器学习优化方法由于优化成本高、无法很好适应负载数据量变化,而难以实际应用。LOCAT提供了一种低成本的Spark SQL自动调优解决方案。LOCAT主要包含三种核心技术,首先,SQL query与配置参数敏感性分析技术,在收集训练样本时,从给定工作负载中识别并删除与配置参数不敏感的SQL query;其次,对于其余的SQL query,LOCAT通过计算Spearman相关系数来识别重要的配置参数,然后应用核主成分分析来降低配置参数搜索维度;最后,LOCAT执行贝叶斯优化来搜索最优配置,且此贝叶斯优化方法得到了改进,以便在模型中包含数据大小特征。基于TPC-DS、TPC-H与HiBench测试基准的实验表明,分别在8台高性能x86服务器的集群环境与4台高性能ARM服务器的集群环境下,较当前最先进的自动调优解决方案LOCAT不仅显著降低了优化成本而且给出了更高性能的优化表现。
LOCAT框架
LOCAT筛选SQL query
LOCAT提升优化性能
上述工作得到重点研发计划课题“软件定义的云计算资源管理”和国家自然科学基金等项目的资助。