Skip to main content
QUICK REVIEW

[论文解读] Near-Data Scheduling for Data Centers with Multiple Levels of Data Locality

Ali Yekkehkhany|arXiv (Cornell University)|Feb 24, 2017
Cloud Computing and Resource Management参考文献 13被引用 12
一句话总结

本文提出 Balanced-Pandas,一种针对具有三级数据局部性(本地内存、本地磁盘和远程存储)的数据中心的新型负载均衡算法。该算法扩展了 JSQ-MW 和 Pandas 算法,在实现吞吐量最优性的同时也实现了重载最优性,解决了现有算法在多级局部性系统中无法兼顾性能与吞吐量的权衡问题。据我们所知,这是首个针对三级数据局部性调度的理论严谨解决方案。

ABSTRACT

Data locality is a fundamental issue for data-parallel applications. Considering MapReduce in Hadoop, the map task scheduling part requires an efficient algorithm which takes data locality into consideration; otherwise, the system may become unstable under loads inside the system's capacity region and jobs may experience longer completion times which are not of interest. The data chunk needed for any map task can be in memory, on a local disk, in a local rack, in the same cluster or even in another data center. Hence, unless there has been much work on improving the speed of data center networks, different levels of service rates still exist for a task depending on where its data chunk is saved and from which server it receives service. Most of the theoretical work on load balancing is for systems with two levels of data locality including the Pandas algorithm by Xie et al. and the JSQ-MW algorithm by Wang et al., where the former is both throughput and heavy-traffic optimal, while the latter is only throughput optimal, but heavy-traffic optimal in only a special traffic load. We show that an extension of the JSQ-MW algorithm for a system with thee levels of data locality is throughput optimal, but not heavy-traffic optimal for all loads, only for a special traffic scenario. Furthermore, we show that the Pandas algorithm is not even throughput optimal for a system with three levels of data locality. We then propose a novel algorithm, Balanced-Pandas, which is both throughput and heavy-traffic optimal. To the best of our knowledge, this is the first theoretical work on load balancing for a system with more than two levels of data locality. This is more challenging than two levels of data locality as a dilemma between performance and throughput emerges.

研究动机与目标

  • 解决现有理论负载均衡方案在超过两级数据局部性的数据中心中缺失的问题。
  • 解决在具有三级数据局部性的系统中出现的性能-吞吐量权衡问题,而现有算法无法同时实现两种最优性。
  • 设计一种调度算法,在高负载下保持较低的任务完成时间,同时确保系统稳定性和吞吐量最大化。
  • 正式证明 Balanced-Pandas 在三级局部性模型中同时实现吞吐量最优性和重载最优性。
  • 为具有分层数据访问速度的现代数据中心架构中的近数据调度建立理论基础。

提出的方法

  • 扩展 JSQ-MW 和 Pandas 算法,以建模三种不同的数据局部性级别:本地内存、本地磁盘和远程存储。
  • 引入一种理想负载分解机制,根据数据接近程度和服务速率,将工作负载分配到四种服务器类型上。
  • 采用包含四种服务器类型的队列结构,以建模不同的数据访问延迟和服务速率,从而实现精确的负载均衡。
  • 使用流极限分析和状态空间坍塌技术,证明在重载条件下的稳定性和最优性。
  • 应用李雅普诺夫漂移和鞅方法,以限制队列延迟并建立收敛到最优性能的结论。
  • 推导出一种新型调度规则,基于队列长度和数据局部性级别对任务进行优先级排序,确保负载分布均衡。

实验结果

研究问题

  • RQ1是否有一种负载均衡算法能够在具有三级数据局部性的系统中同时实现吞吐量最优性和重载最优性?
  • RQ2为何现有算法如 JSQ-MW 和 Pandas 在三级系统中无法实现重载最优性?
  • RQ3在多级局部性环境中,一种调度策略需要具备哪些结构性和动态性特征,才能在性能与吞吐量之间实现平衡?
  • RQ4如何最优地将工作负载分解到不同服务器类型上,以反映数据局部性和服务速率的差异?
  • RQ5是否存在一个理论框架,能够保证在这种分层数据中心架构中系统既稳定又实现最小的任务完成时间?

主要发现

  • Balanced-Pandas 被证明在具有三级数据局部性的系统中同时具备吞吐量最优性和重载最优性,解决了关键的理论空白。
  • JSQ-MW 算法虽然具备吞吐量最优性,但在三级系统中对一般负载无法实现重载最优性,仅在特殊流量条件下成立。
  • Pandas 算法在三级系统中甚至不具备吞吐量最优性,暴露出其在多级局部性场景下设计上的根本缺陷。
  • 仿真结果表明,Balanced-Pandas 在高负载下显著降低了平均任务完成时间,优于 JSQ-MW 和 Pandas。
  • 该算法在所有服务器类型上均保持了稳定的队列行为,且在重载环境下工作负载比例与理论预测一致。
  • 理论分析证实,随着系统负载趋近容量,Balanced-Pandas 会收敛到最优性能,且延迟边界随系统规模呈有利方式扩展。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。