[论文解读] Data Motifs: A Lens Towards Fully Understanding Big Data and AI Workloads
本文提出了“数据模式”(data motifs)——一种抽象的、可重用的计算模式,用于捕捉大规模数据和人工智能工作负载的核心性能特征。通过识别八种主导模式(矩阵、采样、逻辑、转换、集合、图、排序和统计),该研究实现了系统化的性能表征,并为特定领域的软硬件协同设计铺平了道路。
The complexity and diversity of big data and AI workloads make understanding them difficult and challenging. This paper proposes a new approach to modelling and characterizing big data and AI workloads. We consider each big data and AI workload as a pipeline of one or more classes of units of computation performed on different initial or intermediate data inputs. Each class of unit of computation captures the common requirements while being reasonably divorced from individual implementations, and hence we call it a data motif. For the first time, among a wide variety of big data and AI workloads, we identify eight data motifs that take up most of the run time of those workloads, including Matrix, Sampling, Logic, Transform, Set, Graph, Sort and Statistic. We implement the eight data motifs on different software stacks as the micro benchmarks of an open-source big data and AI benchmark suite ---BigDataBench 4.0 (publicly available from http://prof.ict.ac.cn/BigDataBench), and perform comprehensive characterization of those data motifs from perspective of data sizes, types, sources, and patterns as a lens towards fully understanding big data and AI workloads. We believe the eight data motifs are promising abstractions and tools for not only big data and AI benchmarking, but also domain-specific hardware and software co-design.
研究动机与目标
- 解决理解大规模数据和人工智能工作负载复杂且快速演变特性的挑战。
- 克服现有基准测试过于庞大、复杂或缺乏代表性,难以用于仿真与性能分析的局限。
- 识别跨多样化工作负载普遍存在的基本、耗时的计算单元,以实现针对性优化。
- 通过抽象性能关键模式,为特定领域软硬件协同设计提供基础。
- 通过源自这些模式的微基准测试,实现可复现、可解释且可扩展的性能表征。
提出的方法
- 将大规模数据和人工智能工作负载建模为一个或多个数据模式的流水线——即与具体实现无关的计算抽象类别。
- 通过分析多样化工作负载的运行时特性,识别出八种主导数据模式:矩阵、采样、逻辑、转换、集合、图、排序和统计。
- 在多种软件栈(Hadoop、Spark、TensorFlow、Pthreads)上实现每种模式,以确保可移植性和真实性。
- 通过数据类型(文本、序列)、数据源、数据大小和数据访问模式,对模式进行表征,以捕捉系统和微架构行为。
- 使用 BigDataBench 4.0 中的微基准测试,测量系统级指标(CPU 利用率、I/O、页面错误)和微架构瓶颈。
- 分析数据表示方式(如文本与序列)差异对性能的影响,及其对内存、I/O 和 CPU 利用率的影响。
实验结果
研究问题
- RQ1在多样化的大规模数据和人工智能工作负载中,哪些是主导的、耗时的计算模式?
- RQ2数据类型、大小、来源和访问模式的变化如何影响这些核心计算单元的性能?
- RQ3这些抽象化的模式在多大程度上可作为有效构建模块,用于基准测试与系统协同设计?
- RQ4在不同数据表示下,数据模式之间的系统级行为(如 I/O、内存访问、页面错误)有何差异?
- RQ5每种数据模式的主要性能瓶颈(如内存、计算、I/O)是什么?这些瓶颈如何随输入特征变化?
主要发现
- 八种数据模式——矩阵、采样、逻辑、转换、集合、图、排序和统计——占 surveyed 大规模数据和人工智能工作负载运行时间的大部分。
- 与文本类型相比,使用序列数据类型可使性能降低多达 7.29 倍,原因在于更高的 I/O 带宽和内存访问需求。
- Hadoop 排序和 Spark 排序因大量页面错误导致显著性能下降,每轮运行中总页面错误达 100–200 次,显著影响执行时间。
- 以文本格式排序表现出更严重的后端内存受限瓶颈,表明其缓存和内存延迟高于序列格式。
- 相同数据大小下,不同数据格式对 I/O 带宽的需求差异巨大,其中序列格式对 I/O 带宽的需求显著更高。
- 数据模式的性能不仅依赖于算法,还对输入数据类型、来源、大小和访问模式高度敏感,尤其在内存和 I/O 行为方面。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。