[论文解读] Elastic Processing of Analytical Query Workloads on IaaS Clouds
本文提出了一种用于 IaaS 云上分析工作负载的弹性、利润最大化查询处理引擎,采用树状执行计划映射到虚拟机树状布局。它通过在线算法动态调整资源,基于工作负载平衡 SLA 驱动的收入与云资源成本,在实现接近交互式响应时间的同时,显著提升了静态配置的盈利能力。
Many modern applications require the evaluation of analytical queries on large amounts of data. Such queries entail joins and heavy aggregations that often include user-defined functions (UDFs). The most efficient way to process these specific type of queries is using tree execution plans. In this work, we develop an engine for analytical query processing and a suite of specialized techniques that collectively take advantage of the tree form of such plans. The engine executes these tree plans in an elastic IaaS cloud infrastructure and dynamically adapts by allocating and releasing pertinent resources based on the query workload monitored over a sliding time window. The engine offers its services for a fee according to service-level agreements (SLAs) associated with the incoming queries; its management of cloud resources aims at maximizing the profit after removing the costs of using these resources. We have fully implemented our algorithms in the Exareme dataflow processing system. We present an extensive evaluation that demonstrates that our approach is very efficient (exhibiting fast response times), elastic (successfully adjusting the cloud resources it uses as the engine continually adapts to query workload changes), and profitable (approximating very well the maximum difference between SLA-based income and cloud-based expenses).
研究动机与目标
- 为在大规模数据上高效且经济地处理包含复杂聚合和用户自定义函数(UDFs)的分析查询提供解决方案。
- 设计一种弹性查询处理引擎,基于实时工作负载监控动态调整云资源分配,以实现利润最大化。
- 将基于树的查询执行计划自然映射到分层虚拟机布局,实现计算与存储的解耦。
- 开发一种分析模型,用于近似估算动态资源重新配置期间的分区重分配成本。
- 将系统在性能、弹性与盈利能力方面与静态配置及现有系统(如 Cloudera Impala)进行对比评估。
提出的方法
- 该引擎采用虚拟机(VM)的树状部署,其中叶节点 VM 从云存储(如 Amazon S3)获取并缓存数据,而更高层级的 VM 执行部分聚合与全局聚合操作。
- 基于滑动窗口的在线工作负载监控算法驱动动态 VM 分配与释放,以适应变化的查询工作负载。
- 采用一致哈希扩展与一种新颖的分析成本公式,用于估算并最小化 VM 重新配置期间的数据分区重分配成本。
- 通过平衡基于 SLA 的收入(响应时间越快收入越高)与 VM 使用的货币成本,实现利润优化。
- 该方法在 Exareme 数据流系统中实现,并使用真实世界查询模式与工作负载进行评估。
实验结果
研究问题
- RQ1如何使分析查询引擎动态扩展云资源,在满足 SLA 驱动的响应时间要求的同时实现利润最大化?
- RQ2在分层 IaaS 架构上,将基于树的查询执行计划最优映射到何种方式,可最小化数据移动与成本?
- RQ3在动态 VM 重新配置期间,如何准确估算分区重分配成本,以实现高效的资源自适应?
- RQ4所提出的弹性引擎在响应时间、适应性与盈利能力方面,相较于静态系统与现有系统,其性能提升程度如何?
主要发现
- 所提出的弹性引擎实现了接近交互式的响应时间,在相同工作负载下,原始性能显著优于 Cloudera Impala。
- 系统能快速响应工作负载变化,实验各阶段中对查询模式变化的 VM 分配调整表现出快速响应能力。
- 通过动态扩展资源实现利润最大化:对于 Q3 等高成本查询,系统分配更多容器以维持正向利润空间。
- 分区重分配的分析成本模型使重新配置决策更加高效且准确,降低了弹性调整期间的开销。
- 与静态基础设施配置相比,该引擎实现了显著更高的盈利能力,证明了动态、SLA 敏感资源管理的价值。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。