[论文解读] A Tale of Two Data-Intensive Paradigms: Applications, Abstractions, and Architectures
本文提出了一种比较框架,用于对比两种主流的数据密集型计算范式——高性能计算(HPC)与基于Apache Hadoop的系统,采用“大数据怪兽”(Big Data Ogres)的概念对工作负载进行分类,并作为基准进行性能评估。结果表明,尽管HPC(MPI)在K均值聚类任务中的原始执行速度优于Hadoop(Spark),但Hadoop在抽象化和可扩展性方面表现更优,因此主张通过可互操作的库(如SPIDAL)实现两大生态系统的融合,以整合双方的优势。
Scientific problems that depend on processing large amounts of data require overcoming challenges in multiple areas: managing large-scale data distribution, co-placement and scheduling of data with compute resources, and storing and transferring large volumes of data. We analyze the ecosystems of the two prominent paradigms for data-intensive applications, hereafter referred to as the high-performance computing and the Apache-Hadoop paradigm. We propose a basis, common terminology and functional factors upon which to analyze the two approaches of both paradigms. We discuss the concept of "Big Data Ogres" and their facets as means of understanding and characterizing the most common application workloads found across the two paradigms. We then discuss the salient features of the two paradigms, and compare and contrast the two approaches. Specifically, we examine common implementation/approaches of these paradigms, shed light upon the reasons for their current "architecture" and discuss some typical workloads that utilize them. In spite of the significant software distinctions, we believe there is architectural similarity. We discuss the potential integration of different implementations, across the different levels and components. Our comparison progresses from a fully qualitative examination of the two paradigms, to a semi-quantitative methodology. We use a simple and broadly used Ogre (K-means clustering), characterize its performance on a range of representative platforms, covering several implementations from both paradigms. Our experiments provide an insight into the relative strengths of the two paradigms. We propose that the set of Ogres will serve as a benchmark to evaluate the two paradigms along different dimensions.
研究动机与目标
- 建立一个用于比较HPC与基于Apache Hadoop的数据密集型计算范式的通用概念框架。
- 利用“大数据怪兽”模型识别并分类常见的数据密集型应用模式。
- 通过实证基准测试,评估HPC与Hadoop在性能、抽象化和可扩展性方面的相对优势。
- 探索HPC与Hadoop生态系统之间互操作性与融合的路径,尤其通过共享抽象与运行时支持。
- 提出开发一个统一的、可互操作的数据分析库(SPIDAL),以整合两种范式的能力。
提出的方法
- 引入‘大数据怪兽’作为概念性基准框架,用于对HPC与Hadoop生态系统中的常见数据密集型工作负载进行分类与分析。
- 以K均值聚类作为代表性微基准,比较HPC(MPI)与Hadoop(Spark)实现的执行性能。
- 采用半定量方法,结合硬性性能指标(执行时间)与软性因素(抽象化、表达能力、可扩展性、软件工程实践)。
- 分析两种范式在运行时、通信、资源管理与物理资源等架构层级上的功能与实现差异。
- 提出将HPC的作业引导抽象(pilot-job abstraction)扩展至YARN,并利用Pilot-Data实现数据局部性感知的调度,以支持跨范式互操作性。
- 开发可扩展的并行互操作数据-分析库(SPIDAL)作为统一HPC与Hadoop能力的原型。
实验结果
研究问题
- RQ1HPC与基于Hadoop的系统在计算与数据管理的关键层级上的功能抽象与架构设计有何不同?
- RQ2对于K均值聚类等代表性数据密集型工作负载,HPC(MPI)与Hadoop(Spark)之间存在怎样的性能权衡?
- RQ3现代Hadoop框架(如Spark)在多大程度上采用了HPC技术(如集合操作与内存计算)?
- RQ4HPC与Hadoop生态系统之间互操作性的主要障碍是什么?如何克服?
- RQ5能否设计一个统一的、可互操作的数据分析库,以弥合HPC与Hadoop在抽象化与能力上的差距?
主要发现
- 基于MPI的K均值执行显著快于基于Spark的实现,后者因不可变RDD抽象而需进行更多内存数据复制。
- 尽管原始性能较低,Spark提供了更高阶的抽象与更好的表达能力,减少了对底层通信原语的依赖,提升了开发人员生产力。
- Hadoop框架(如Spark)已采用HPC启发的优化技术,如高效的集合操作,从而缩小了与HPC系统在性能上的差距。
- Apache Hadoop生态系统提供了超过110个软件实现,其在功能广度与可扩展性方面显著超过HPC生态系统。
- YARN对应用级调度的支持实现了异构工作负载的管理,但与HPC资源架构的全面集成仍有限。
- 所提出的SPIDAL库旨在为HPC应用提供Hadoop丰富的数据分析能力,同时保持HPC的高性能与底层控制能力。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。