A Comparison of Big Data Frameworks on a Layered Dataflow Model
在大数据分析领域,有一系列工具旨在简化在集群上执行的应用程序编程。虽然每个工具都声称提供更好的编程,数据和执行模型,但通常只提供非正式的(并且经常令人困惑的)语义,所有这些都共享一个共同的底层模型,即数据流模型。我们提出的数据流模型展示了各种工具如何在不同的抽象层次上共享相同的表达能力。这项工作的贡献是双重的:首先,我们证明了所提出的模型(至少)与现有的批处理和流框架一样通用(例如,Spark,Flink,Storm),从而更容易理解在这些框架中编写的高级数据处理应用程序。其次,我们提供了一个分层的模型,可以表示工具和应用程序的数据流范式,我们展示了如何分析的工具适合在每个级别。
2016-06-16 cs.DC
SpaDA: A Spatial Dataflow Architecture Programming Language
Noéda Research(诺埃达研究);Lawrence Livermore National Laboratory(劳伦斯利弗莫尔国家实验室);ETH Zurich(苏黎世联邦理工学院)
SpaDA为空间数据流架构提供高阶编程接口,通过抽象低层细节,实现对数据布局、数据流模式和异步操作的精确控制,使复杂并行模式在更少代码下实现高性能计算。
2026-04-27 cs.DC cs.PL
DFlow: Efficient Dataflow-based Invocation Workflow Execution for Function-as-a-Service
本文提出DFlow,一种基于数据流的无服务器工作流系统,通过分布式调度器和分布式存储实现函数间数据依赖驱动的并发调用与高效数据交换,显著降低端到端延迟和冷启动延迟,并提升网络带宽利用率。
2023-07-05 cs.DC cs.OS
Suki: Choreographed Distributed Dataflow in Rust
针对现有分布式数据流编程模型难以兼顾全局优化与细粒度放置控制的问题,提出嵌入式Rust DSL Suki采用阶段式编程实现显式放置的流数据流,结合trait系统支持类型安全的云资源映射,实现零开销编译。
2024-06-20 cs.DC cs.PL
Partitioning SKA Dataflows for Optimal Graph Execution
优化数据密集型工作流执行对于许多现代科学项目至关重要,例如平方公里阵列(SKA),它将成为世界上最大的射电望远镜,在未来几十年内每秒收集TB级数据。SKA科学数据处理器的核心是图形执行引擎,调度数万个算法组件来摄取和转换数百万个并行数据块,以便在功率预算内解决一系列大规模逆问题。为了应对这一挑战,我们开发了数据激活刘图引擎(DALiuGE),以管理多个SKA探路者项目的数据处理管道。本文讨论了大流格图调度子系统。通过扩展以前的研究图调度和分区,我们奠定了基础上,我们可以开发多项式时间优化方法,最大限度地减少工作流的执行时间和资源占用,同时满足资源的限制所施加的个别算法。我们展示了从三个射电天文学数据管道获得的初步结果。
2018-05-19 cs.DC
The Renoir Dataflow Platform: Efficient Data Processing without Complexity
针对现有数据处理平台在简单性与效率间的矛盾,本文提出用Rust编写的Renoir分布式平台,通过高级数据流编程模型协调需求,在异构负载下性能优于或相当竞品,实现简单性与性能的平衡。
2024-05-16 cs.DC
Stateful Entities: Object-oriented Cloud Applications as Distributed Dataflows
本文提出将有状态实体(Python命令式事务编程模型)编译为有状态流式数据流,通过编译器流水线屏蔽状态与故障管理复杂性,实验证明事务负载下延迟可低于100毫秒。
2023-09-03 cs.DB cs.DC
RayOrch: Programming and Executing Lineage-Controlled Multi-Grain Dataflows for Foundation-Model Data Preparation
Peking University(北京大学);HKUST(香港科技大学);University of Cambridge(剑桥大学);Tencent Hunyuan(腾讯混元);Zhongguancun Academy(中关村研究院)
RayOrch提出一种编程模型与分布式执行引擎,通过声明式扩展和收集操作保留父子关系,实现多粒度数据流的高效批处理,在GPU上显著加速基座模型数据准备流水线。
2026-09-17 cs.DC
Lifting C Semantics for Dataflow Optimization
C是编程的通用语言,几乎任何设备都可以使用C编程。然而,对诸如多核CPU和GPU之类的现代异构体系结构进行编程需要显式地表达并行性以及诸如存储层次结构之类的设备特定属性。产生的代码通常很难理解,调试和修改不同的架构。我们建议将C程序提升到一个参数化的简化表示,它适合于静态的以数据为中心的分析,并能够自动生成高性能的代码生成。我们将编写代码与针对不同硬件的优化分开:简单、可移植的C源代码用于生成高效的专用版本,只需单击一个按钮。我们的方法可以识别并行时,没有其他编译器可以,并优于一个定制的并行版本的科学代理应用程序高达21%。
2022-05-24 cs.DC cs.PF cs.PL
Bind: a Partitioned Global Workflow Parallel Programming Model
高性能计算因其漫长而昂贵的软件开发周期而臭名昭著。为了解决这一挑战,我们提出绑定:一个“分区的全球工作流”的C++应用程序的并行编程模型,使快速原型和敏捷的开发周期的高性能计算软件的目标异构分布式众核架构。我们提出了绑定到线性代数和MapReduce算法的应用程序,以及性能结果。
2016-06-15 cs.DC
Stateful Dataflow Multigraphs: A Data-Centric Model for Performance Portability on Heterogeneous Architectures
加速器在高性能计算中的普遍存在已经使编程的复杂性超出了普通领域科学家的技能范围。为了在未来保持性能的可移植性,必须将特定于体系结构的编程范式与底层的科学计算解耦。我们提出了有状态数据流multiGraph(SDFG),一个以数据为中心的中间表示,使分离程序定义从其优化。通过将细粒度的数据依赖性与高级控制流相结合,SDFG既具有表达能力,又适合程序转换,例如平铺和双缓冲。通过使用可扩展的模式匹配、图形重写和图形用户界面,在交互式过程中将这些转换应用于SDFG。我们在CPU,GPU和FPGA上展示了各种图案的SDFG-从基本的计算内核到图形分析。我们表明,SDFG提供了具有竞争力的性能,允许领域科学家自然地开发应用程序,并将其移植到接近峰值硬件性能,而无需修改原始的科学代码。
2020-01-02 cs.DC cs.PF cs.PL
Tierkreis: A Dataflow Framework for Hybrid Quantum-Classical Computing
我们提出了Tierkreis,一个更高阶的图程序表示和运行时设计的组合,量子经典的混合算法。该系统的设计是由量子计算机的远程性质,混合算法涉及云和分布式计算的需要,以及这些算法的长期运行性质所激发的。基于图形的表示反映了设计人员如何推理和可视化算法,并允许自动并行和并行性。一个强大的静态类型系统和高阶语义允许程序中的高表达性和组合性。灵活的运行时协议使第三方开发人员能够使用任何语言或环境添加功能。借助Tierkreis,量子软件开发人员可以轻松构建、可视化、验证、测试和调试复杂的混合工作流,并立即将其部署到云或自定义分布式环境中。
2022-11-04 cs.DC quant-ph
TAPA: A Scalable Task-Parallel Dataflow Programming Framework for Modern FPGAs with Co-Optimization of HLS and Physical Design
本文提出TAPA端到端框架,通过提供便捷API表达任务间通信、在HLS中引入粗粒度布图规划及HBM优化技术,将C++数据流程序编译为高频FPGA加速器,在43个设计中将平均频率提升102%且无吞吐量损失。
2022-09-06 cs.AR cs.DC cs.PF
Executing Dynamic Data Rate Actor Networks on OpenCL Platforms
由通用处理器(GPP)和图形处理单元(GPU)组成的异构计算平台在个人移动设备和嵌入式系统中已经变得司空见惯。多年来,这些平台的编程非常繁琐,同时使用所有可用的GPP和GPU资源需要低级编程,以确保处理器之间的高效同步和数据传输。然而,在过去的几年里,出现了一些高级编程框架,这些框架使程序员能够通过抽象的方式来描述应用程序,例如Kahn进程网络,并将并行执行,数据传输和同步交给框架处理。不幸的是,即使是最先进的高级编程框架也有缺点,限制了它们对某些应用程序的适用性。本文提出了一种新的,香喷喷的编程框架,针对异构平台,并从以前的方法不同,允许GPU映射的演员有数据依赖消费的输入/生产的输出。这种灵活性对于信号处理中日益常见的可配置和自适应应用至关重要。在我们的实验中,它表明,该功能允许高达5倍的应用程序吞吐量的增加。该框架通过视频处理和无线通信领域的应用实例进行了验证。在实验中的框架相比,一个众所周知的参考框架,它表明,所提出的框架,使更高程度的灵活性和更好的吞吐量。
2016-11-10 cs.DC
Streaming supercomputing needs workflow-enabled programming-in-the-large
这是一份提交给未来在线分析平台研讨会(https://press3.mcs.anl.gov/futureplatform/)的立场文件,该文件认为,简单的数据分析应用程序在今天很常见,但未来的在线超级计算工作负载将需要结合多种先进技术(流、缓存、分析和模拟),以快速提供科学结果。当与高性能计算集成时,这些技术中的每一种都是活跃的研究领域。这些组件将以复杂的方式相互作用,因此需要对它们进行编程。在现有应用程序之上进行大规模编程,使我们能够构建功能更强大的应用程序,并有效地管理这种复杂性。
2017-02-24 cs.DC
FLARE: A Dataflow-Aware and Scalable Hardware Architecture for Neural-Hybrid Scientific Lossy Compression
University of Texas at Arlington(德克萨斯大学阿灵顿分校);Texas A&M University(得克萨斯农工大学);Argonne National Laboratory(阿贡国家实验室);University of Maryland, College Park(马里兰大学帕克分校);Oakland University(奥克兰大学);University of Kentucky(肯塔基大学);University of Nebraska Omaha(内布拉斯加大学奥马哈分校);Temple University(天普大学);PNNL(太平洋西北国家实验室)
针对科学模拟产生的海量数据管理瓶颈及神经网络有损压缩集成难题,提出FLARE架构,通过数据流感知、模块化设计等,在不同数据集和硬件平台上实现运行时加速3.50倍至96.07倍,能源效率提升24.51倍至520.68倍。
2026-09-09 cs.DC
Large-scale workflow placement in serverless computing using integer nonlinear programming
Technische Universität Dortmund(多特蒙德工业大学);Technische Universität Berlin(柏林工业大学)
针对无服务器计算中大规模工作流部署的成本与时间优化问题,提出基于整数非线性规划的模型及分解策略,实验显示其比简单部署启发式算法平均提升10%。
2026-08-27 cs.DC
FLOWER: A comprehensive dataflow compiler for high-level synthesis
FPGA已经作为加速卡进入数据中心,使可重构计算更容易用于高性能应用。与此同时,新的高级合成编译器(如Xilinx Vitis)和运行时库(如XRT)吸引了软件程序员进入可重构领域。虽然软件程序员熟悉任务级和数据并行编程,但FPGA通常需要不同类型的并行性。例如,数据驱动的并行性是强制性的,以获得令人满意的硬件设计的流水线并行架构。然而,软件程序员通常不熟悉Linux架构,导致硬件设计不佳。在这项工作中,我们提出了FLOWER,一个全面的编译器基础设施,提供自动规范转换的高层次合成从特定领域的库。这使得程序员可以专注于算法实现,而不是底层的优化。我们表明,FLOWER允许合成高性能的流媒体应用程序的目标系统芯片和FPGA加速卡,在图像处理和计算机视觉的背景下,有效的实现。
2021-12-14 cs.AR cs.DC cs.PL
Python FPGA Programming with Data-Centric Multi-Level Design
虽然高级综合(HLS)工具已经大大提高了程序员的生产力,硬件描述语言,FPGA的开发仍然繁琐和容易出错。程序员必须学习和实现大量特定于供应商的语法、模式和技巧,以优化(甚至成功编译)他们的应用程序,同时处理FPGA供应商不断变化的工具流。我们提出了一种新的方法来开发,优化和编译FPGA程序。以数据为中心的并行编程(DaCe)框架允许应用程序通过有状态数据流multiGraph(SDFG)表示由其控制流和控制流定义,捕获抽象程序特征,并暴露大量的优化机会。在这项工作中,我们展示了如何使用多级库节点扩展SDFG,将特定于领域和特定于平台的优化纳入设计流程,从而实现跨应用领域和FPGA供应商的知识转移。我们提出了基于HLS的FPGA代码生成后端的DaCe,并显示SDFG是如何为任何FPGA供应商生成代码,发出高效的HLS代码,结构化和注释,以实现所需的架构。
2022-12-28 cs.DC cs.PL
Exploring Multi-Reader Buffers and Channel Placement during Dataflow Network Mapping to Heterogeneous Many-core Systems
本文针对数据流应用在众核平台上的内存开销与执行周期权衡问题,提出选择性使用多读者缓冲区并联合探索执行单元与通道映射的多目标设计空间探索方法,实验表明其Pareto前沿质量显著优于参考方法。
2023-11-29 cs.DC
Scientific Computing Meets Big Data Technology: An Astronomy Use Case
科学分析通常将多个单进程程序组合成一个子程序。单进程程序的端到端并行流被称为多任务应用程序。通常,来自HPC软件栈的工具用于并行化这些分析。在这项工作中,我们研究了一种替代方法,该方法使用Apache Spark(一种现代大数据平台)来并行化多任务应用程序。我们提出Kira,一个灵活的分布式天文学图像处理工具包,使用Apache Spark。然后,我们使用Kira工具包来实现天文图像的源提取器应用程序,称为Kira SE。以Kira SE为用例,我们研究了运行在EC2云上的Apache Spark的编程灵活性、底层丰富性、调度能力和性能。通过利用数据局部性,Kira SE在Amazon EC2云上使用512个核心分析1TB数据集时,实现了2.5倍于等效C程序的加速。此外,通过利用最初为大数据基础设施设计的软件,Kira SE实现了与NERSC Edison超级计算机上运行的C实现竞争的性能。我们使用Kira的经验表明,Apache Spark等新兴大数据平台是多任务科学应用程序的高性能替代方案。
2016-03-14 cs.DC
UniFaaS: Programming across Distributed Cyberinfrastructure with Federated Function Serving
本文提出 UniFaaS 联邦 FaaS 并行编程框架,通过统一接口、广域数据管理和异构感知动态调度,实现跨超级计算机、云与加速器的高性能科学工作流执行。
2024-03-28 cs.DC
GPU Programming for AI Workflow Development on AWS SageMaker: An Instructional Approach
本文介绍一门面向本研学生的GPU编程与AI开发课程,通过AWS平台进行云端GPU配置与RAG优化实践,结果表明该体验式教学有效提升了学生的技术能力与问题解决能力。
2025-09-17 cs.DC
Bridging HPC Communities through the Julia Programming Language
Julia程序设计语言已经发展成为一种现代化的替代方案,以填补科学计算和数据科学应用中的现有空白。Julia利用统一协调的单一语言和生态系统范例,在不牺牲用户生产力的情况下实现高性能方面有着良好的记录。这些方面使Julia成为高性能计算(HPC)现有的且成本越来越高的多体工作流组合策略的可行替代方案,其中传统HPC语言(例如,Fortran、C、C++)用于模拟,而更高级的语言(例如,Python、R、MATLAB)用于数据分析和交互式计算。Julia在语言能力、包生态系统和社区方面的快速增长使其成为HPC的一种有前途的通用语言。本文介绍了来自学术界、政府和工业界的多学科研究人员的观点,他们倡导一种强调开发人员生产力、工作流可移植性和低准入门槛的HPC软件开发范式。我们相信Julia程序设计语言、它的生态系统和它的社区提供了现代和强大的功能,可以实现这个小组的目标。至关重要的是,我们相信Julia可以提供一种可行且成本更低的方法来编程针对HPC设施的科学应用程序和工作流程。在这项工作中,我们研究了Julia作为一个通用的端到端编程模型的当前实践和作用,以解决科学可重复性,数据驱动的AI/机器学习,协同设计和工作流程,异构计算,网络通信,数据管理和社区教育中的可扩展性和性能可移植性方面的主要挑战。因此,随着越来越多的超级计算中心为艾级时代做准备,当前投资的多样化以满足未来十年的需求至…
2022-11-10 cs.DC
A Framework for Computing on Large Dynamic Graphs
该方案提出了一个图计算框架,旨在有效地支持大型动态图的在线和离线计算。该框架提出了一种新的数据模型,以支持丰富的不断发展的顶点和边数据类型。它采用了复制一致性协议来提高数据的局部性,从而可以适应不同算法的数据访问模式。提出了一种新的计算模型-protocolerandlow,用于实现和集成大型动态图的在线和离线计算的各种编程模型。该提案的一个中心议题也是使用我们提出的框架分析大型真实动态图。我们的目标是计算时间模式和属性时出现的大型图不断发展。因此,我们可以评估所提出的框架的能力。关键词:大型动态图,规划模型,分布式计算.
2015-12-05 cs.DC
Enhancing iteration performance on distributed task-based workflows
本文提出SplIter机制,通过将数据集合透明地分割为逻辑分区并绑定任务,打破块大小与任务粒度的依赖,从而在COMPSs和Dask框架中显著提升分布式任务型工作流的迭代性能。
2023-08-07 cs.DC
Python Workflows on HPC Systems
Fraunhofer ITWM(弗劳恩霍夫工业数学研究所);Offenburg University(奥芬堡大学)
计算密集型机器学习和数据分析方法最近的成功和广泛应用促进了Python程序设计语言在HPC系统上的使用。虽然Python为用户提供了许多优势,但它的设计并没有专注于多用户环境或并行编程,这使得在HPC系统上维护稳定和安全的Python工作流变得非常具有挑战性。在本文中,我们分析了在HPC集群上使用Python所引发的关键问题,并概述了有效维护多用户Python软件环境、保护和限制Python作业资源以及包含Python进程的适当解决方案,同时重点关注在GPU集群上运行的深度学习应用程序。
2020-12-01 cs.DC cs.LG
Bridging Control-Centric and Data-Centric Optimization
本文提出DCIR流水线,通过MLIR方言与专用pass在DaCe框架内融合控制中心与数据中心优化,恢复参数化符号数据流,实验表明其持续优于MLIR并自动发现新优化机会。
2023-06-01 cs.DC cs.PL
Stream Processing With Dependency-Guided Synchronization (Extended Version)
具有低延迟要求的实时数据处理应用已经导致流处理系统的日益普及。虽然此类系统提供了可用于自动实现数据并行的方便API,但它们对需要在并行节点之间同步的计算提供了有限的支持。在本文中,我们提出了 * 依赖引导同步(DGS)*,一种替代的编程模型,用于具有复杂同步要求的有状态流计算。在该模型中,输入被视为部分有序的,程序由一组并行化结构,适用于分解的偏序和过程事件独立。我们的编程模型映射到一个名为 * 同步计划 * 的执行模型,它支持并行节点之间的同步。我们的评估表明,两个广泛使用的系统- Flink和Timely Dataflow -提供的API不能适当地暴露一些代表性应用程序中的并行性。相比之下,DGS使实现具有可扩展的性能,由此产生的同步计划在现有系统中手动实现时提供吞吐量改进,并且与编写顺序代码相比,编程开销很小。
2022-01-03 cs.DC cs.PL
Towards Lightweight Data Integration using Multi-workflow Provenance and Data Observability
Oak Ridge National Lab(橡树岭国家实验室)
本文提出MIDA轻量级运行时多工作流集成数据分析方法,通过数据可观测性、适配器和溯源实现无插桩统一数据集成,并在大规模HPC与材料科学深度学习场景中验证其近零开销。
2023-08-17 cs.AI cs.DB cs.DC