Understanding and Optimizing the Performance of Distributed Machine Learning Applications on Apache Spark
IBM Research Zürich(IBM苏黎世研究院)
在本文中,我们将探讨Apache Spark在机器学习应用中的性能限制。我们首先分析了Spark中实现的最先进的分布式机器学习算法的特性,并将其与使用高性能计算框架MPI的等效参考实现进行了比较。我们确定了Spark框架的关键瓶颈,并仔细研究了它们对算法性能的影响。为了提高Spark的性能,我们提出了一些实用的技术来减轻它的一些开销。然而,优化计算效率和框架相关的开销并不是性能的唯一关键-我们证明,为了获得最佳性能的任何实现,有必要仔细调整算法的计算时间和通信延迟之间的相应权衡。最佳的权衡取决于分布式算法的属性以及基础设施和框架相关的特性。最后,我们将这些技术和算法优化应用于Spark中实现的三种不同的分布式线性机器学习算法。我们使用五个大型数据集展示了结果,并证明通过使用所提出的优化,我们可以将Spark和MPI之间的性能差异从20倍减少到2倍。
2017-12-13 cs.DC cs.LG
Accelerating Large-Scale Data Analysis by Offloading to High-Performance Computing Libraries using Alchemist
Apache Spark是一个流行的系统,旨在分析大型数据集,但最近的研究表明,某些计算-特别是许多线性代数计算,这些计算是解决常见机器学习问题的基础-在Spark中比使用高性能计算框架(如消息传递接口(MPI))编写的库时要慢得多。为了解决这个问题,我们引入了Alchemist,一个旨在从Apache Spark调用基于MPI的库的系统。将Alchemist与Spark结合使用有助于加速线性代数、机器学习和相关计算,同时仍保留在Spark环境中工作的优势。我们讨论背后的动机炼金术士的发展,我们提供了一个简要概述其设计和实现。我们还比较了纯Spark实现与通过Alchemist利用基于MPI的代码的Spark实现的性能。为此,我们使用数据科学案例研究:共轭梯度方法的大规模应用,以解决语音分类问题中出现的非常大的线性系统,我们看到了一个数量级的改进;以及400 GB三维海洋温度数据集的截断奇异值分解(SVD),我们看到了高达7.9倍的加速。我们还说明了截断SVD计算可以很容易地扩展到TB大小的数据,通过将其应用到大小高达17.6TB的数据集。
2018-05-30 cs.DB cs.DC physics.data-an
Performance Evaluation of an Algorithm-based Asynchronous Checkpoint-Restart Fault Tolerant Application Using Mixed MPI/GPI-2
当前大数据领域最大的挑战之一是缺乏在可接受的时间内处理大量信息的能力。这项工作的目标是通过探索和比较在商品集群架构上实现的分布式计算框架,确定使用典型的大数据工具来解决高性能计算问题是否有用:实验将取决于使用Apache Spark等工具所需的计算时间。这将与“等效的更传统”的方法进行比较,例如在分布式文件系统(如HDFS(Hadoop分布式文件系统))上使用带有MPI的分布式内存模型和创建接口以封装此文件系统功能的本机C库,以及使用GASPI协议的GPI-2实现及其内存检查点库为应用程序提供容错功能。更准确地说,我们选择了K-means算法作为实验,它将在可变大小的数据集上运行,然后我们将比较两种方法的计算运行时间和时间弹性。
2018-05-06 cs.DC
A Benchmarking Study to Evaluate Apache Spark on Large-Scale Supercomputers
随着数据集大小的增加,高性能计算(HPC)中的数据分析任务越来越依赖于复杂的并行计算和核外方法来提高系统利用率。此外,随着HPC系统的增长,存储器访问和数据共享正在成为性能瓶颈。云计算采用通常建立在低成本计算节点的松散连接组上而不依赖于共享存储和/或存储器的数据处理范例。Apache Spark是一个流行的云计算大规模数据分析引擎,我们已经通过作业提交脚本成功部署在生产集群上。在本文中,我们描述了消息传递接口(MPI)和基于云的应用程序的常见并行分析流程。我们开发了一个有效的基准来衡量这些任务的性能特征,使用这两种类型的系统,特别是比较MPI/C为基础的分析与火花。基准测试是一个数据处理管道,代表了使用map-reduce实现的典型分析框架。在Spark的例子中,我们还考虑了语言是否通过使用Python和Scala(一种构建在Java虚拟机(JVM)上的语言)编写测试来发挥作用。我们包括来自阿贡国家实验室的两个大型系统的性能结果,其中包括Theta,Cray XC 40超级计算机,我们的实验运行65,536个核心(1024个节点,每个节点64个核心)。我们的实验结果进行了讨论,其适用性的背景下,未来的HPC架构。除了了解性能之外,我们的工作还表明,Spark等技术虽然通常针对基于云的多租户环境,但在传统的集群/超级计算环境中显示出数据分析需求的前景。
2019-09-27 cs.DC cs.SE
A Doubly-pipelined, Dual-root Reduction-to-all Algorithm and Implementation
我们讨论了一个简单的,基于二叉树的集体allreduce(减少到所有,MPI_Allreduce)操作的并行系统组成的$p$适当互连的处理器的算法。该算法可以双重流水线,以利用双向(类似电话)的通信系统的通信能力。为了使算法更加对称,处理器被组织成两个根树,两个根之间的通信。对于每个流水线块,每个非叶处理器采取三个通信步骤,包括从两个孩子接收和发送,以及向根发送和接收。在基于循环的、统一的、线性成本的通信模型中,其中同时发送和接收$n$数据元素对于系统相关常数$α$(通信启动等待时间)和$β$(每个元素的时间)花费时间$α+βn$,通过适当地选择流水线块大小,对$m$元素的向量进行全归约操作的时间是$O(\log p+\sqrt{m\log p})+3βm$。我们比较了MPI中的实现类似的减少,然后广播算法的性能,和本地MPI_Allreduce集体上的现代,小型$36\times 32$处理器集群。通过适当选择流水线块的数量,可以实现比不利用双向通信的流水线算法更好的性能。
2022-01-20 cs.DC
HiFrames: High Performance Data Frames in a Scripting Language
脚本语言中的数据帧是处理结构化数据的基本抽象。然而,现有的数据帧解决方案要么不是分布式的(例如,Python中的Pandas),因此具有有限的可扩展性,或者它们没有与数组计算紧密集成(例如,Spark SQL)。本文提出了一种新的基于编译器的方法,我们将数据帧集成到高性能分析工具包(HPAT)构建HiFrames。它提供了富有表现力和灵活的数据帧API,这些API与数组操作紧密集成。然后,HiFrames自动并行化和编译关系操作以及端到端数据分析程序中的其他数组计算,并生成高效的MPI/C++代码。我们证明了HiFrames比集群上的Spark SQL等替代方案要快得多,而不会迫使程序员在程序的一部分切换到嵌入式SQL。HiFrames对于基本的关系操作比Spark SQL快3.6倍到70倍,对于高级分析操作(例如加权移动平均值(WMA)),速度可以快20,000倍,而map-reduce范式无法有效处理。在Cori超级计算机的64个节点上,HiFrames也比TPCx-BB Q26的Spark SQL快5倍。
2017-04-07 cs.DC
HPAT: High Performance Analytics with Scripting Ease-of-Use
大数据分析需要在大规模集群上同时实现高程序员生产力和高性能。然而,当前的大数据分析框架(例如Apache Spark)具有令人望而却步的运行时开销,因为它们基于库。我们介绍了一种新的自动并行化编译器的方法,利用数据分析领域的特点,如地图/减少并行模式,是强大的,不像以前的自动并行化方法。使用这种方法,我们建立高性能分析工具包(HPAT),它并行化高级脚本(Julia)程序自动生成高效的MPI/C++代码,并提供弹性。此外,它还为脚本程序提供了自动优化,例如数组操作的融合。因此,HPAT在Cori超级计算机上比Spark快369倍到2033倍,在Amazon AWS上快20倍到256倍。
2017-04-10 cs.DC
A performance comparison of Dask and Apache Spark for data-intensive neuroimaging pipelines
在过去的几年里,由于图像分辨率、数据共享和研究规模的共同增加,神经影像学已经进入了大数据时代。然而,在这个领域还没有出现特定的大数据引擎,并且仍然有几种替代方案。我们比较了两个流行的大数据引擎与Python API,Apache Spark和Dask,在处理神经成像管道时的运行时性能。我们的评估使用两个合成管道处理81 GB的BigBrain图像,以及一个真实的管道处理来自1,000多名受试者的解剖数据。我们使用任务持续时间、数据大小和工人数量的各种组合来对这些管道进行基准测试,这些管道部署在8节点(每个节点8个核心)上。Compute Canada的Arbutus云中的计算集群。我们将PySpark的RDD API与Dask's Bag、Delayed和Futures进行对比。结果表明,尽管Spark和Dask之间存在细微差异,但两种引擎都可以执行JavaScript。然而,Dask管道可能会受到Python GIL的限制,这取决于任务类型和集群配置。在所有情况下,主要的限制因素是数据传输。虽然这两种引擎都适用于神经成像管道,但需要更多的努力来减少数据传输时间。
2019-10-05 cs.DC cs.PF
Large-scale text processing pipeline with Apache Spark
Princeton University(普林斯顿大学)
在本文中,我们评估了Apache Spark的数据密集型机器学习问题。我们的用例重点关注美国各州立法机构随着时间的推移的政策扩散检测。由于计算强度的原因,以前关于政策扩散的工作一直无法在法案之间进行全对比较。作为替代,学者们研究了单一主题领域。我们提供了一个实现这个分析工作流作为一个分布式的文本处理管道与Spark框架和Scala应用程序编程接口。我们讨论了非结构化数据处理的挑战和策略,用于存储和有效访问的数据格式,以及大规模的图形处理。
2019-12-02 cs.CL cs.DC cs.LG
Pipelined Workflow in Hybrid MPI/Pthread runtime for External Memory Graph Construction
从给定的一组边构建图是出现在社会网络分析、支持本体的数据库和其他分析处理中的数据密集型算子。该操作符将边列表表示为压缩稀疏行(CSR)表示(或有时在邻接列表中,或作为集群B树存储)。在这项工作中,我们展示了如何使用流水线处理在Gordon等支持SSD的超级计算机上大规模扩展CSR构建。我们开发了几个抽象和操作的外部存储器和并行边缘列表和整数数组处理,用于建立一个可扩展的算法创建CSR表示。我们的实验表明,该方案是四到六倍的速度比目前可用的实现。此外,我们的计划可以处理高达80亿边缘(128 GB),通过使用外部存储器相比,以前的计划,性能大大降低边缘列表大小26万及以上。
2012-10-31 cs.DB cs.DC
Performance comparison of Dask and Apache Spark on HPC systems for Neuroimaging
本文在HPC系统上比较了Apache Spark和Dask处理神经影像管线的运行时性能,发现两者性能相当但Spark内存占用更高,数据传输时间是主要瓶颈。
2024-06-03 cs.DC
Performance Benefits of DataMPI: A Case Study with BigDataBench
Apache Hadoop和Spark在大数据处理和分析方面越来越突出。两者都在互联网公司中广泛部署。另一方面,高性能数据分析需求促使学术界和工业界采用HPC中最先进的技术来解决大数据问题。最近,我们提出了一个基于键值对的通信库DataMPI,它扩展了MPI以支持Hadoop/Spark之类的大数据计算作业。本文使用BigDataBench这一大数据基准测试套件,对Hadoop、Spark和DataMPI的性能和资源利用率特征进行了全面的研究。从我们的实验中,我们观察到DataMPI的作业执行时间分别比Hadoop和Spark的作业执行时间提高了55%和39%。大部分好处来自DataMPI中的高效通信机制。我们还注意到,DataMPI的资源(CPU,内存,磁盘和网络I/O)利用率也比其他两个框架更有效。
2014-03-14 cs.DC cs.PF
Evaluation of pilot jobs for Apache Spark applications on HPC clusters
大数据在许多科学领域已经变得非常突出,因此,科学界已经寻求大数据框架来加速处理其日益增长的数据密集型管道。然而,虽然科学界通常依赖高性能计算(HPC)集群来并行化其管道,但许多流行的大数据框架(如Hadoop和Apache Spark)主要设计用于在专用的商品基础设施上执行。本文评估了在HPC集群上Apache Spark的试点作业相对于传统批处理提交的优势。令人惊讶的是,我们的研究结果表明,试点工作批调度提供的速度是温和的不存在(平均0.98),尽管存在长排队时间。此外,试验作业提供了一个额外的调度层,使调试和部署复杂化。我们的结论是,传统的批处理调度应该仍然是在HPC集群上部署Apache Spark应用程序的默认策略。
2019-05-29 cs.DC cs.PF
A unified framework to improve the interoperability between HPC and Big Data languages and programming models
本文提出统一计算框架IgnisHPC,以MPI为骨干,在同一框架中融合HPC与大数据任务,支持JVM及非JVM多语言应用,实验表明其在性能和生产力上优于Apache Spark。
2021-12-01 cs.DC
A Spark ML driven preprocessing approach for deep learning based scholarly data applications
大数据在多个领域都有应用。文本大数据的最大来源之一是科学文档和论文。大学术数据已经以多种方式用于创建创新应用程序,例如合作者发现,专家发现和研究管理系统。随着先进的机器和深度学习技术的出现,此类应用的准确性和新颖性已经上升了数倍。然而,在基于云的环境中为学术应用开发深度学习模型的最大挑战是由于文本预处理花费了过多的时间而导致的资源利用不足。本文提出了一种预处理流水线,它使用Spark进行数据摄取,Spark ML用于流水线预处理任务。使用案例研究对所提出的工作进行评估,该案例研究使用基于LSTM的文本摘要从任何研究的摘要中生成标题或摘要。所提出的方法(P3SAPP)的摄取,预处理和累积时间远低于传统的方法(CA),这体现在降低成本以及。
2019-11-04 cs.DC
Storage and Memory Characterization of Data Intensive Workloads for Bare Metal Cloud
随着存储系统的每字节成本大幅下降,SSD正在新兴的云基础设施中找到自己的方式。类似的趋势也发生在主存子系统上,因为具有更高容量、频率和通道数量的先进DRAM技术正在部署用于云规模解决方案,特别是用于非虚拟化环境,在非虚拟化环境中,云用户可以准确指定底层硬件的配置。考虑到标准工作负载对存储层次结构参数的性能敏感性,了解内存和存储在数据密集型工作负载中的作用非常重要。在本文中,我们研究了DRAM(高端与低端)的选择如何影响基于Hadoop,Spark和MPI的大数据工作负载在裸金属云上存在不同存储类型时的性能。通过有条不紊的实验设置,我们分析了DRAM容量,工作频率,通道数量,存储类型和横向扩展因素对这些流行的框架的性能的影响。基于微架构分析,我们将数据密集型工作负载分为三组,即I/O绑定、计算绑定和内存绑定。表征结果表明,无论是DRAM容量,频率,还是通道的数量都对所有研究的Hadoop工作负载的性能起着重要的作用,因为它们大多是I/O绑定的。另一方面,我们的研究结果表明,Spark和MPI中的迭代任务(例如机器学习)受益于高端DRAM,特别是高频率和大量通道,因为它们是内存或计算限制的。我们的研究结果表明,使用SSD PCIe不能将瓶颈从存储转移到内存,而它可以将工作负载行为从I/O绑定改变为计算绑定。
2018-08-15 cs.DC
Task-parallel Analysis of Molecular Dynamics Trajectories
HPC和大数据社区已经提出了用于实现数据分析应用程序的不同并行框架。在本文中,我们研究了三个任务并行框架:Spark,Dask和RADICAL-Pilot,它们支持HPC资源上的数据分析的能力,并将它们与MPI进行比较。我们研究了分子动力学(MD)模拟的数据分析要求,这些模拟是超级计算周期的重要消费者,产生了大量的数据。对一个O(100 k)原子的物理系统在微秒内进行的典型大规模MD模拟可以产生O(10)GB到O(1000)GB的数据。我们提出并评估了不同的方法并行化的一组代表性的MD轨迹分析算法,特别是路径相似性和小叶识别的计算。我们评估Spark,Dask和RADICAL Pilot的抽象和运行时引擎功能,以支持这些算法。我们提供了一个概念上的基础,比较和理解不同的框架,使用户能够选择最佳的系统为每个应用程序。我们还提供了一个定量的性能分析的不同算法在三个框架。
2018-06-11 cs.DC
Approximate Stream Analytics in Apache Flink and Apache Spark Streaming
近似计算的目的是高效地执行工作流,其中近似输出就足够了,而不是精确输出。近似计算背后的想法是在一个代表性的样本而不是整个输入数据集上进行计算。因此,近似计算-基于所选择的样本大小-可以在输出精度和计算效率之间进行系统的权衡。不幸的是,用于近似计算的现有技术系统主要针对批量分析,其中输入数据在采样过程中保持不变。因此,它们不太适合流分析。这激发了StreamApprox的设计-一个用于近似计算的流分析系统。为了实现这一思想,我们设计了一个在线分层水库采样算法,以产生具有严格误差界的近似输出。重要的是,我们提出的算法是通用的,可以应用于两种主要类型的流处理系统:(1)批处理流处理,如Apache Spark Streaming,以及(2)流水线流处理,如Apache Flink。我们使用一组微基准测试和真实案例研究对StreamApprox进行了评估。我们的研究结果表明,基于Spark和Flink的StreamApprox系统与各自的原生Spark Streaming和Flink执行相比,实现了$1.15\times$ - $3\times$的加速,其中$80\%$到$10\%$的采样比例不同。此外,除了原生执行基线之外,我们还实现了一个改进的基线-一个基于Spark的近似计算系统,利用Apache Spark中现有的采样模块。与改进的基线相比,我们的结果表明,StreamApprox…
2017-09-09 cs.DC
Big Data Spark Solution for Functional Magnetic Resonance Imaging
近年来,大数据应用迅速扩展到不同的行业。医疗保健也是愿意使用大数据平台的行业之一,因此一些大数据分析工具已在该领域得到一定程度的应用。医学成像是诊断医疗保健的支柱,涉及大量的数据汇集和处理。使用各种医学成像模式以不同的形式和分辨率采集大量的3D和4D图像。成像数据的预处理和分析目前是一个漫长的过程,耗费成本和时间。然而,由于诸如数据格式等一些限制,没有多少大数据平台被提供或重新设计用于医学成像目的。在本文中,我们设计、开发并成功测试了一种新的医学成像数据流水线(特别是功能性磁共振成像- fMRI)在单个节点上使用大数据Spark / PySpark平台,允许我们读取和加载成像数据,将它们转换为弹性分布式数据集,以便在-并行存储器数据处理,并将最终结果转换为成像格式,而流水线提供了以其他格式(例如数据帧)存储结果的选项。使用这种新的解决方案和管道,我们重复了我们以前的工作,其中我们使用模板匹配和平方差和(SSD)方法从fMRI数据中提取大脑网络。最终结果显示,我们基于Spark(PySpark)的解决方案与之前在Python中开发的工作相比,在单个上提高了约4倍的性能(在处理时间方面)。
2016-03-23 cs.CY cs.DC
TTK is Getting MPI-Ready
CNRS(法国国家科学研究中心);Sorbonne Université(索邦大学);University of Lille(里尔大学);RPTU Kaiserslautern-Landau(凯泽斯劳滕-兰道工业大学);Centrale Lille(里尔中央理工大学)
本文为拓扑工具包TTK扩展MPI分布式内存并行能力,提出通用方法支撑拓扑分析流水线,优化数据结构与接口,完成算法分类与性能验证,给出扩展路线图。
2024-04-15 cs.CG cs.CV cs.DC
Real-time Text Analytics Pipeline Using Open-source Big Data Tools
在许多领域中需要实时的文本处理系统来快速识别模式、趋势、情绪和见解。如今,社交网络、电子商务商店、博客、科学实验和服务器日志是产生大量文本数据的主要来源。然而,要实时的处理庞大的文本数据,需要构建数据处理管道。构建这种管道的主要挑战是最大限度地减少处理高吞吐量数据的延迟。在本文中,我们使用开源大数据工具解释和评估我们提出的实时的文本处理管道,这些工具可以最大限度地减少处理数据流的延迟。我们提出的数据处理管道基于Apache Kafka进行数据摄取,Apache Spark用于内存中数据处理,Apache Cassandra用于存储处理结果,D3 JavaScript库用于可视化。我们评估的有效性,建议的管道在不同的部署方案下执行情感分析使用Twitter数据集。我们的实验评估表明,当三个虚拟机分配给建议的管道时,在$10.7$分钟内处理$466,700$推文的延迟不到一分钟。
2017-12-12 cs.DC
Machine Learning Pipelines with Modern Big Data Tools for High Energy Physics
European Organization for Nuclear Research (CERN)(欧洲核子研究组织);University of Padova(帕多瓦大学)
HEP用例的复杂机器学习(ML)技术的大规模有效利用带来了几个技术挑战,最重要的是专用端到端数据管道的实际实现。提出了一种解决这些挑战的解决方案,该解决方案允许使用来自大数据和数据科学生态系统的解决方案来训练神经网络分类器,并与HEP环境中常见的工具,软件和平台集成。特别是,Apache Spark被用于数据准备和特征工程,在Apacheyter笔记本上交互式地运行相应的(Python)代码。关键的集成和库,使Spark能够使用ROOT格式存储的数据,并通过XRootD协议访问,描述和讨论。使用Keras API定义的神经网络模型的训练通过使用BigDL和Analytics Zoo以及TensorFlow以分布式方式在Spark集群上执行,特别是用于CPU和GPU资源的分布式训练。在这项工作中详细描述了分布式训练的实施和结果。
2020-06-16 cs.DC cs.LG hep-ex
Optimizing and accelerating space-time Ripley's K function based on Apache Spark for distributed spatiotemporal point pattern analysis
随着越来越多的兴趣点数据集具有细粒度的空间和时间属性,时空Ripley的K函数被认为是一个强大的方法来分析时空点过程。然而,时空Ripley的K函数是计算密集型的逐点距离比较,边缘校正和模拟的显着性测试。利用OpenMP、MPI和CUDA等并行计算技术对K函数进行了加速,相关实验证明了其显著的加速效果。然而,以前的工作还没有扩大Ripley的K函数的优化从空间维到时空维。如果没有复杂的时空查询和分区机制,额外的计算开销可能是有问题的。同时,这些研究受到并行框架可扩展性受限和相对昂贵的编程成本的限制,阻碍了它们在大型POI数据集和Ripley的K函数变化中的应用。本文在最先进的分布式计算框架Apache Spark上提出了一种加速时空Ripley K函数的分布式计算方法,并分别采用四种策略来简化计算过程和加速分布式计算。在此基础上,开发了一个基于Web的可视化分析框架原型。实验证明了该方法的可行性和时间效率,并对时空Ripley K函数在生态学、地理学、社会学、经济学、城市交通等领域的应用具有推广价值。
2019-12-10 cs.CG cs.DC cs.DS
Parallelizing Drug Discovery: HPC Pipelines for Alzheimer's Molecular Docking and Simulation
本文构建面向阿尔茨海默病药物发现的 HPC 并行流水线,利用 GROMACS 的 MPI-OpenMP 混合策略和 Python multiprocessing 加速分子动力学与对接,并通过案例验证其生物相关性。
2025-08-31 cs.DC
Declarative Data Pipeline for Large Scale ML Services
Amazon Web Services(亚马逊云服务)
本文提出声明式数据流水线(DDP)架构,通过 Apache Spark 中的 Pipe 逻辑计算单元模块化集成大规模机器学习,在真实企业场景中显著提升开发效率、协作速度、可扩展性和吞吐量。
2025-11-05 cs.DC
Architecture of processing and analysis system for big astronomical data
这项工作探索了使用部署在云中的大数据技术来处理天文数据。我们已经将Hadoop和Spark应用于共同添加天文图像的任务。我们比较了这些框架的开销和执行时间。我们的结论是,这两个框架的性能一般是不相上下。Spark API更灵活,可以轻松构建天文数据处理管道。
2017-03-31 astro-ph.IM cs.DC
Smart Resource Management for Data Streaming using an Online Bin-packing Strategy
数据流处理框架为在大型数据集上执行复杂的工作流提供了可靠和有效的机制。大多数当前可用的流媒体框架的共同挑战是资源的有效利用。大多数框架使用静态或半静态的资源利用率设置,这些设置对于已建立的用例工作良好,但对于看不见的场景会带来边际改进。另一个紧迫的问题是有效处理大型单个对象,如科学数据集的典型图像和矩阵。HarmonicIO已被证明是相对较大的单个对象流的良好解决方案,正如与Spark和Kafka流框架的基准比较所示。在这里,我们提出了一个扩展的HarmonicIO框架的基础上,在线装箱算法,允许有效地利用资源。基于来自大规模显微管道的真实世界用例,我们将新系统的结果与Spark的自动缩放机制进行了比较。
2020-01-29 cs.DC
Rethinking Storage Management for Data Processing Pipelines in Cloud Data Centers
Apache Beam和Apache Spark等数据处理框架用于广泛的应用,从日志分析到DNN训练的数据准备。因此,在优化这些框架(包括其存储管理)方面进行了大量工作也就不足为奇了。向云计算的转变需要对集群中同时运行的所有管道进行优化。在本文中,我们来看看这个问题的一个具体实例:在SSD和HDD上放置I/O密集型临时中间数据。有效的数据放置是具有挑战性的,因为在需要放置数据时,I/O密度通常是未知的。此外,负载可变性、作业抢占或作业优先级等外部因素可能会影响作业完成时间,从而最终影响工作负载中临时文件的I/O密度。在本文中,我们设想机器学习可以用来解决这个问题。我们分析来自Google数据中心的生产日志,以用于一系列数据处理管道。我们的分析表明,I/O密度可能是可预测的。这表明,如果精心设计,基于学习的策略可以提取各种转换中涉及的临时文件的I/O密度的预测特征,这些特征可以用于提高数据处理管道中存储管理的效率。
2022-11-04 cs.DC
Savu: A Python-based, MPI Framework for Simultaneous Processing of Multiple, N-dimensional, Large Tomography Datasets
Diamond Light Source Ltd.(钻石光源有限公司)
钻石光源(DLS),英国同步加速器设施,吸引了来自世界各地的科学家进行突破性的X射线实验。每年有超过3000名科学用户,通过实验光束线收集大量数据,其中在断层成像实验期间收集的数据量最大。断层扫描作为一种成像技术,越来越多的兴趣,导致扩大的范围内进行的实验,除了在每个实验的数据大小的增长。Savu是一个便携、灵活的科学处理管道,能够在PC上串行处理多个n维数据集,或在集群中并行处理。在DLS开发,并成功部署在光束线上,它使用模块化插件格式来实现实验特定的处理,并利用并行HDF5来消除RAM限制。Savu的设计,在本文中描述,重点是现有的和新的功能,灵活性和易用性,为用户和开发人员一样容易集成。
2016-10-24 cs.CV cs.DB cs.DC
BigDL: A Distributed Deep Learning Framework for Big Data
Intel Corporation(英特尔公司);Tencent Inc.(腾讯公司);Sequoia Capital(红杉资本);Alibaba Group(阿里巴巴集团)
本文介绍了BigDL(Apache Spark的分布式深度学习框架),该框架已被业界的各种用户用于在生产大数据平台上构建深度学习应用程序。它允许深度学习应用程序在Apache Hadoop/Spark集群上运行,以便直接处理生产数据,并作为端到端数据分析管道的一部分进行部署和管理。与现有的深度学习框架不同,BigDL直接在Spark的功能计算模型(具有写时复制和粗粒度操作)之上实现分布式数据并行训练。我们还分享了用户采用BigDL来应对挑战的真实经验和“战争故事”(即,如何轻松地为其生产数据构建端到端数据分析和深度学习管道)。
2019-11-05 cs.AI cs.DC cs.LG
AIR: A Light-Weight Yet High-Performance Dataflow Engine based on Asynchronous Iterative Routing
分布式流处理系统(DSPS)是当前数据管理中最新兴的主题之一,其应用范围从实时事件监控到处理复杂的流程序和大数据分析。该领域的主要市场参与者明显由Apache Spark和Flink代表,它们为SQL,统计推断,机器学习,流处理等提供了各种前端API。然而,很少有关于这些引擎集成到底层高性能计算(HPC)基础设施和它们使用的通信协议的细节报道。例如,Spark和Flink是用Java实现的,仍然依赖于一个专用的主节点来管理计算集群中工作节点之间的控制流。在本文中,我们描述了我们的AIR引擎,这是从头开始设计的C++使用消息传递接口(MPI),pthreads的多线程,并直接部署在一个共同的HPC工作负载管理器,如SLURM的顶部。AIR实现了一种轻量级的动态分片协议(称为“异步迭代路由”),它促进了所有客户端节点之间的直接和异步通信,从而完全避免了由主节点的控制流引起的开销,否则可能形成性能瓶颈。我们在各种基准设置上的实验证实,AIR在延迟和吞吐量方面优于Spark和Flink高达15倍;此外,我们还证明AIR比现有的DSP更好地扩展到由多达8个节点和224个核心组成的集群。
2020-01-03 cs.DC cs.SY eess.SY
Serverless Data Analytics with Flint
围绕松耦合函数调用组织的无服务器架构代表了许多应用程序的新兴设计。最近的工作主要集中在面向用户的产品和事件驱动的处理管道。在本文中,我们探索了应用程序空间的一个完全不同的部分,并研究了使用无服务器架构对大数据进行分析处理的可行性。我们介绍Flint,这是一个原型Spark执行引擎,它利用AWS Lambda提供纯按需付费的成本模型。使用Flint,开发人员可以像以前一样使用PySpark,但不需要实际的Spark集群。我们描述了Flint的设计、实现和性能,以及与无服务器分析相关的挑战。
2018-10-10 cs.DB cs.DC
Deep RC: A Scalable Data Engineering and Deep Learning Pipeline
Deep RC是一个异构运行时系统,集成数据工程、深度学习框架和工作流引擎,利用Radical Pilot实现跨HPC环境的可扩展分布式深度学习流水线,显著减少端到端训练时间。
2025-04-22 cs.DC
CityPulse: Real-Time Traffic Data Analytics and Congestion Prediction
CityPulse提出一种基于Docker、Kafka和Spark的实时交通分析流水线,通过临时存储层和轻量机器学习模块,在资源受限环境中实现每分钟超30万条记录的高吞吐拥堵预测。
2025-05-15 cs.DC
MirLibSpark: A Scalable NGS Plant MicroRNA Prediction Pipeline for Multi-Library Functional Annotation
本文提出基于Apache Spark框架的分布式植物microRNA预测流程mirLibSpark,通过多库分析实现功能注释,是首个独立全自动的分布式功能miRNA预测器,兼具高速度、高准确度并符合金标准。
2025-01-29 cs.DC q-bio.GN
Transitioning from file-based HPC workflows to streaming data pipelines with openPMD and ADIOS2
本文旨在为HPC环境中的科学应用程序创建从基于文件的IO到基于流的工作流的过渡路径。通过使用openPMP-api,可以克服受文件系统瓶颈限制的传统工作流程,并灵活地扩展到原位分析。openPMD-api是一个根据粒子网格数据开放标准(openPMD)描述科学数据的库。它的方法对最近的挑战所带来的硬件异构性在于解耦的数据描述领域的科学,如等离子体物理模拟,从硬件和IO的具体实现。流后端由橡树岭国家实验室开发的ADIOS 2框架提供。本文调查了两个基于openPMD的松耦合设置,以展示灵活的适用性和评估性能。在松耦合中,与紧耦合相反,两个(或更多)应用程序单独执行,例如在单独的MPI上下文中,但通过交换数据进行合作。通过这种方式,基于流的工作流允许使用独立代码而不是紧密耦合的插件,使用统一的流感知API并利用现代计算集群中可用的高速通信基础设施进行大规模数据交换。我们确定了新的挑战,在资源分配,并在需要一个灵活的数据分布的战略,展示他们的效率和缩放的首脑会议计算系统的影响。所展示的设置显示了更灵活地使用流式IO带来的计算资源的潜力,以及通过避免文件系统瓶颈来提高吞吐量的能力。
2022-01-19 cs.DC
A Modern Approach to Real-Time Air Traffic Management System
Pandit Deendayal Energy University(潘迪特·迪恩达亚尔能源大学)
本项目利用Apache Spark、HDFS和Spark Streaming等大数据框架,设计了一种实时空中交通管理系统架构,通过Kafka和Elasticsearch实现数据采集与可视化,展示了实时分析在提升航空管理效率方面的潜力。
2025-03-01 cs.DC cs.LG
HPTMT: Operator-Based Architecture for Scalable High-Performance Data-Intensive Frameworks
Luddy School of Informatics, Computing and Engineering(卢迪信息学、计算与工程学院);Digital Science Center(数字科学中心);Indiana University Alumni(印第安纳大学校友会);Biocomplexity Institute & Initiative(生物复杂性研究所与倡议组织);University of Virginia(弗吉尼亚大学)
数据密集型应用程序会影响许多领域,它们不断增加的规模和复杂性需要高性能、高可用性的环境。我们整合了在各种数据科学和数据工程框架中开发的一系列想法。它们在特定的数据抽象上使用一组运算符,包括向量、矩阵、张量、图形和表格。我们的关键概念受到MPI,HPF(高性能Fortran),NumPy,Pandas,Spark,Modin,PyTorch,TensorFlow,RAPIDS(NVIDIA)和OneAPI(Intel)等系统的启发。此外,在大数据领域支持日常使用的不同语言至关重要,包括Python、R、C++和Java。我们注意到Apache Arrow和Parquet对于实现与语言无关的高性能和互操作性的重要性。在本文中,我们提出了高性能张量,矩阵和表(HPTMT),一个基于操作员的架构数据密集型应用程序,并确定所需的性能和可用性的成功的基本原则。我们说明了这些原则的讨论使用我们的软件环境,赛昂和Twister2体现HPTMT的例子。
2021-07-30 cs.AI cs.DC
Design and Implementation of an Analysis Pipeline for Heterogeneous Data
本文提出 Radical-Cylon 异构运行时系统,将 Cylon 作为 Radical Pilot 任务执行,以低开销支持跨节点异构 MPI,并在云和超算 HPC 上显著提升大规模连接、排序性能。
2024-04-08 cs.DC
MaRe: a MapReduce-Oriented Framework for Processing Big Data with Application Containers
背景生命科学越来越多地受到大数据分析的驱动,MapReduce编程模型已被证明在数据密集型分析中是成功的。然而,目前的MapReduce框架对生物信息学管道中重用现有处理工具的支持很差。此外,这些框架没有对应用程序容器的原生支持,而应用程序容器在科学数据处理中正变得越来越流行。结果在这里,我们介绍了MaRe,一个具有相关开源实现的编程模型,它引入了对MapReduce中应用程序容器的支持。MaRe基于Apache Spark和Docker,MapReduce框架和容器引擎已经收集了最大的开源社区,从而提供与尖端软件生态系统的互操作性。我们在生命科学中的两个数据密集型应用程序上演示了MaRe,显示了易用性和可扩展性。结论. MaRe通过MapReduce和应用程序容器在生命科学中实现可扩展的数据密集型处理。与目前涉及使用工作流系统的最佳做法相比,MaRe具有提供数据本地化、从异构存储系统摄取和交互式处理的优势。MaRe是普遍适用的开源软件。
2019-05-09 cs.DC
Cost-Effective Big Data Orchestration Using Dagster: A Multi-Platform Approach
针对传统大数据PaaS平台成本高和供应商锁定问题,本文提出基于Dagster的多平台编排框架,集成多种Spark环境,实现性能提升12%和成本降低40%,提供灵活且开发者可控的计算环境。
2024-08-21 cs.DC cs.SE
Advancing ATLAS DCS Data Analysis with a Modern Data Platform
本文提出一个基于Apache Spark、Hadoop和SWAN的现代数据平台框架,用于高效分析ATLAS探测器控制系统数据,并在NSW探测器DAQ链路故障排查中验证了其有效性。
2025-01-23 cs.DC hep-ex physics.ins-det