Triton-distributed: Programming Overlapping Kernels on Distributed AI Systems with the Triton Compiler
本文提出 Triton-distributed 编译器扩展,通过集成 OpenSHMEM 通信原语并支持计算、访存与通信的联合重叠优化,在分布式 AI 系统中以更低开发成本实现超越手工优化代码的高性能。
2025-06-05 cs.DC
Simplified Distributed Programming with Micro Objects
开发大规模分布式应用程序可能是一项艰巨的任务。基于对象的环境试图通过提供看起来像本地对象的分布式对象来缓解问题。我们主张这种方法实际上只会使事情变得更糟,因为开发人员需要了解许多复杂的内部细节,以便充分处理部分故障。其结果是增加了应用程序的复杂性。我们提出了一种替代方案,其中分布的透明度减少有利于更清晰的语义。特别是,我们认为,开发人员应该始终提供本地对象的明确语义,并分发来自复制这些对象到需要的地方。我们声称,通常只提供小的、不可变的对象,以及将对象分组到集群中的设施就足够了。
2010-07-29 cs.DC
UniFaaS: Programming across Distributed Cyberinfrastructure with Federated Function Serving
本文提出 UniFaaS 联邦 FaaS 并行编程框架,通过统一接口、广域数据管理和异构感知动态调度,实现跨超级计算机、云与加速器的高性能科学工作流执行。
2024-03-28 cs.DC
Paving the way for Distributed Non-Blocking Algorithms and Data Structures in the Partitioned Global Address Space
分区的全局地址空间在共享内存和分布式内存之间架起了一座桥梁,通过这座桥梁,共享内存概念(如非阻塞编程)能够适应分布式系统(如超级计算机)。为了实现非阻塞算法,我们提出了通过远程直接内存地址和指针压缩对远程内存中的对象执行可扩展原子操作的方法。为了解决分布式系统中并发安全的内存回收问题,我们将基于历元的内存回收方法应用于分布式内存,并以支持全局视图编程的方式实现。这个结构是为Chapel程序设计语言设计和实现的,但是可以进行调整和推广,以适用于其他语言和库。
2020-03-15 cs.DC
HiCR, an Abstract Model for Distributed Heterogeneous Programming
本文提出分布式异构编程抽象模型 HiCR,通过最小抽象操作集合与插件化运行时支持层,实现跨当前及未来硬件平台的应用执行。
2025-09-01 cs.DC
Programming Requests/Responses with GreatFree in the Cloud Environment
GreatFree编程请求是一种在云计算环境下实现分布式轮询的高效编程技术。GreatFree是一个分布式编程环境,通过它可以通过编程而不是配置或脚本来建立各种分布式系统。GreatFree强调编程的重要性,因为它为开发人员提供了利用其分布式知识和编程技能的机会。此外,编程是构造创造性的、自适应的和灵活的系统以适应各种分布式计算环境的唯一方式。在GreatFree代码级分布式基础架构模式、分布式操作模式和API的支持下,以可编程、快速和高度模式化的方式完成了困难的过程,即,编程行为被简化为复制-粘贴-替换的可重复操作。由于分布式轮询是构建分布式系统的基本技术之一,GreatFree为开发人员提供了相关的API和模式,以在新的编程环境中编写请求/响应。
2018-02-09 cs.DC cs.PL cs.SE
Supercharging the APGAS Programming Model with Relocatable Distributed Collections
在这篇文章中,我们将介绍我们的可重定位分布式集合库。在AGPAS for Java库的基础上,我们提供了许多有用的节点内并行模式以及通过明确识别的方法支持分布式计算所需的功能。特别地,通过集成的重定位系统来支持分布式集合的条目在进程之间的传输。这启用了动态负载平衡功能,使程序能够适应不均匀或不断变化的集群性能。我们开发的系统使得通过高级抽象动态控制分布式程序的分布和数据流成为可能。因此,使用我们库的程序员可以通过一致的API编写复杂的分布式程序,将计算和通信阶段结合起来。我们评估我们的库的性能对两个程序从著名的Java基准套件,展示了优越的可编程性,并获得更好的性能在一个基准和合理的开销上的第二个。最后,我们将在一个更复杂的应用程序上演示负载平衡的易用性和好处,该应用程序广泛使用我们库的各种功能。
2022-07-12 cs.DC
Distributed Programming via Safe Closure Passing
包含函数式编程的编程系统,例如,高阶函数对于大规模分布式编程来说正变得越来越流行。Apache Spark等新框架利用功能技术为内存数据分析提供高级声明式API,通常优于Hadoop MapReduce等传统的“大数据”框架。然而,广泛使用的编程模型仍然相当ad-hoc;实现权衡,静态类型和语义等方面尚未得到很好的理解。我们提出了一个新的异步编程模型,其核心有几个原则,促进分布式数据的功能处理。我们的模型的重点是简单性,性能和表现力。通信的主要方式是将函数(闭包)传递给分布式的、不可变的数据。为了确保闭包的安全和有效分布,我们的模型利用了语法和基于类型的限制。我们报告在Scala中的原型实现。最后,我们提出了初步的实验结果评估的静态,基于类型的优化序列化的性能影响。
2016-02-11 cs.DC cs.PL
Dynamic Path Contraction for Distributed, Dynamic Dataflow Languages
我们提出了一个将森林砍伐应用于分布式动态BLOG编程模型的工作进展报告。我们提出了一种新的算法,动态路径收缩,适用于和反向优化的分布式并行应用程序的程序执行。使用该算法,数据和控制流由运行时系统跟踪,用于在系统运行时识别潜在的优化。我们展示和提出了初步的结果,这种技术的演员为基础的分布式编程模型,Lasp,实现在Erlang虚拟机上。
2016-09-05 cs.DC
Locality, Not Spectral Mixing, Governs Direct Propagation in Distributed Offline Dynamic Programming
研究分布式离线动态规划的通信复杂性,发现局部性而非谱混合是决定传播轮数的关键因素,直接传播在轮数上与理论下限相符,而基于 gossip 的方法则有额外的收敛率依赖。
2026-04-16 cs.DC
Locally-Oriented Programming: A Simple Programming Model for Stencil-Based Computations on Multi-Level Distributed Memory Architectures
用于高性能计算的新兴混合加速器架构通常适合于使用数据并行编程模型。不幸的是,这些体系结构的程序员面临着陡峭的学习曲线,其经常需要学习新的语言(例如,OpenCL)。此外,这些机器的集群的存储器组织的分布式(并且经常是多级)性质提供了额外的复杂性。本文介绍了初步的工作,研究如何编程与本地定位可以提供更简单的访问加速器架构。面向本地的编程模型对于需要应用模板或卷积内核的算法的解决方案特别有用。在这种编程模型中,程序员通过仅修改单个数组元素(称为局部元素)来编写算法,但对局部元素周围的小型子数组具有只读访问权限。我们演示了如何一个面向本地的编程模型可以通过使用源到源程序转换作为语言扩展。
2015-02-12 cs.DC cs.PL
Asynchronous Runtime with Distributed Manager for Task-based Programming Models
基于并行任务的编程模型(如OpenMP)允许应用程序开发人员轻松创建其顺序代码的并行版本。标准的OpenMP 4.0引入了描述每个任务的一组数据依赖关系的可能性,运行时使用这些数据依赖关系来对任务的执行进行排序。这个顺序是使用共享图计算的,这些共享图由独占访问的所有线程使用同步机制(锁)更新,以确保依赖管理的正确性。对这些结构的访问中的争用在众核系统中变得至关重要,因为多个线程可能在等待轮到它们时浪费计算资源。本文提出了一种异步管理的运行时结构,如任务依赖图,适合于基于任务的编程模型运行时。在这样的组织中,线程向运行时请求操作,而不是直接执行操作。然后,这些请求由分布式运行时管理器(DDAST)处理,该管理器不需要专用资源。相反,管理器使用空闲线程来修改运行时结构。本文还介绍了这种运行时组织的实现,分析和性能评估。性能测试结果表明,所提出的异步组织优于原始运行时获得不同的基准和不同的众核架构的加速比。
2020-09-08 cs.DC
DuctTeip: An efficient programming model for distributed task based parallel computing
用于科学计算的当前高性能计算机系统通常在分布式存储器环境中组合共享存储器计算节点。从这些复杂的系统中提取高性能需要量身定制的方法。基于任务的并行编程在简化编程和利用共享存储器系统的硬件并行性方面都取得了成功。本文重点讨论如何将任务并行编程扩展到分布式内存系统。我们使用任务和数据的分层分解,以适应不同级别的硬件。我们测试所提出的编程模型在两个不同的应用程序,Cholesky分解,和浅水方程求解器。我们还比较了我们的实现与其他框架的分布式任务并行编程的性能,并表明它是有竞争力的。
2018-01-10 cs.CE cs.DC cs.PF
Extending and Implementing the Self-adaptive Virtual Processor for Distributed Memory Architectures
未来的众核架构很可能具有分布式内存组织,并且需要细粒度的并发管理才能有效地使用。自适应虚拟处理器(SVP)是一个抽象的并发编程模型,可以提供这一点,但该模型及其当前的实现假设一个单一的地址空间共享内存。我们调查和扩展SVP处理分布式环境,并讨论了原型SVP实现透明地支持执行异构分布式内存集群通过TCP/IP连接,同时保留原始的SVP编程模型。
2011-04-19 cs.DC
The distributed Language Hello White Paper
Hello是一种通用的、面向对象的、与协议无关的分布式程序设计语言。本文阐述了指导Hello设计的思想。它使用两个简短的表达程序展示了Hello的精神,并提供了语言特性的总结。此外,它还探讨了早期计算机的二进制编程和现代网络的分布式编程之间的历史相似之处。
2014-09-14 cs.DC cs.PL
A Meta-graph Approach to Analyze Subgraph-centric Distributed Programming Models
使用批量同步并行(BSP)编程模型的以数据为中心的分布式图形处理平台已经获得了牵引力。这些解决了大数据抽象/平台(如MapReduce/Hadoop)用于大规模图形处理的缺点。然而,对于不同的图、图划分和图算法,这些以组件为中心的抽象的行为的基本方面的文献有限。在这里,我们提出了一个分析方法的基础上的元图草图,以检查以组件为中心的图形编程模型的特点,在一个粗粒度。特别是,我们将此草图应用于以子图和块为中心的抽象,并与以顶点为中心的模型(如Google的Pregel)进行比较。首先,我们探讨了各种图分区技术对元图的影响,然后考虑元图对图算法的影响。这消除了笨重的大型图及其算法分析中的分区特定工件。我们使用5个空间和幂律图作为范例,四种不同的分区策略,和PageRank和广度优先搜索作为规范算法。这些元图的分析提供了一个可靠的措施的预期数量的超步骤,通信和计算复杂性的算法为各种图形,和相对的优点,以子图为中心的顶点为中心的模型。
2016-10-31 cs.DC
A Language for Programming Edge Clouds for Next Generation IoT Applications
为了在物联网应用程序中有效使用边缘计算,我们需要将应用程序划分为任务,并将其映射到云、雾(边缘服务器)和设备级别,以便以最佳方式使用不同级别的资源,以满足整体服务质量要求。在本文中,我们考虑了应用程序到雾映射的四个问题:不同级别的任务放置,限制网络负载的数据过滤,雾故障转移和数据一致性,以及对边缘热点的反应。我们描述了我们为边缘计算创建的程序设计语言和中间件,它们解决了上述四个问题。该语言具有分布式节点编程模型,允许为组织成云,雾,设备层次结构的节点集合编写程序。本文描述了语言的主要设计元素,并解释了原型实现。该语言中体现的独特分布式节点编程模型支持新的面向边缘的编程模式,非常适合认知或数据密集型边缘计算工作负载。本文介绍了语言原型的初步评估结果,以及使用程序设计语言开发的分布式外壳和智能停车应用程序。
2019-06-21 cs.DC
An Overview of Portable Distributed Techniques
在本文中,我们回顾了几个可移植的并行编程范例中使用的分布式编程环境。这里回顾的技术是可移植的。这些主要是基于MPI纯Java的分布式计算,基于MPI本地Java(JNI)和PVM。我们将根据我们的文献综述讨论每种技术的架构和实用程序。我们从可伸缩性、容错、负载均衡和性能这四个重要特性来探讨这些可移植分布式技术。我们已经确定了改善这四个重要特征的各种因素和问题。
2011-01-13 cs.DC
Towards Distributed Software Resilience in Asynchronous Many-Task Programming Models
由于硬件故障而在任务关键型应用程序中发生的故障和错误具有很高的成本。随着下一代平台(NGP)的出现,硬件故障率可能会增加。因此,将我们的应用程序设计为具有弹性是一个关键问题,以便在满足功率预算限制的同时保持结果的可靠性。在本文中,我们讨论了在本地和分布式规模的AMT软件弹性。我们选择HPX来制作弹性设计的原型。我们实现了两个向应用程序开发人员公开的弹性API,即任务复制和任务重播。任务复制将任务重复n次并异步执行它们。任务重播重新调度任务最多n次,直到返回有效输出。此外,我们使用用户提供的谓词(例如,校验和)来验证返回的结果。我们在本地和分布式规模的合成和现实世界的应用程序的弹性基准计划,并表明,大部分增加的执行时间来自重播,复制或数据移动的任务,而不是样板代码添加到实现弹性。
2020-10-19 cs.DC
Software-Distributed Shared Memory for Heterogeneous Machines: Design and Use Considerations
分布式共享内存(DSM)允许使用方便的共享内存编程模型将应用程序实现和部署到分布式体系结构上,在该模型中,一组任务能够分配和访问数据,而不管它们的远程本地化。随着HPC和嵌入式环境中分布式异构体系结构的发展,人们对诸如DSM之类的系统重新产生了兴趣,这些系统简化了复杂硬件的可编程性。在这份报告中,一些设计考虑,建立一个完整的软件DSM(S-DSM)。这个S-DSM被称为SAT(Share Among Things),是在欧洲项目M2 DC(Modular Microserver DataCentre)的框架内由CEA(法国替代能源和原子能委员会)开发的,以解决在微服务器架构上管理共享数据的问题。S-DSM的特点是将大型数据自动分解为称为块的原子块,可以部署多个一致性协议来管理不同的块,基于事件编程的混合编程模型和微睡眠机制来减少消息接收的能耗。
2020-09-03 cs.DC
Practical Evaluation of the Lasp Programming Model at Large Scale - An Experience Report
用于构建大规模分布式应用程序的编程模型有助于开发人员对一致性和分布进行推理。然而,许多弱一致性的编程模型,承诺最大的可扩展性增益,几乎没有评估的方式来证明承诺的可扩展性。我们提出了一个经验报告,这些模型之一,Lasp,最初在PPDP `15,它提供了一个声明式的,功能性的编程风格的分布式应用程序的实施和大规模的评估。我们展示了Lasp的原型运行时实现的可扩展性高达1024个节点在亚马逊云计算环境。它通过独特地将混合流言与基于收敛计算的编程模型相结合来实现高可扩展性。我们报告了这种实施及其评估的工程挑战,特别是与生产云环境中的运营研究原型相关的挑战。
2017-08-21 cs.DC
I CAN HAS SUPERCOMPUTER? A Novel Approach to Teaching Parallel and Distributed Computing Concepts Using a Meme-Based Programming Language
提出了一种新的方法来教授同步和远程存储器访问的并行和分布式计算概念。本文提出的单程序多数据(SPMD)分区全局地址空间(PGAS)模型使用一种面向本科生的过程式程序设计语言。我们建议,有趣的性质的方法可能会产生创造力和兴趣,使用这些概念后,在更清醒的环境。具体来说,我们实现了并行扩展LOLCODE内的源到源编译器足够的并行和分布式算法的发展,通常使用传统的高性能计算语言和API。
2017-03-29 cs.DC cs.PL
Fragment Allocation Configuration in Distributed Database Systems
在分布式数据库(DDB)管理系统中,分片分配是最重要的组成部分之一,直接影响DDB的性能。在这项研究工作中,我们将表明,声明性程序设计语言,例如逻辑程序设计语言,可以用来表示不同的数据片段分配技术。结果表明,使用声明式程序设计语言可以大大简化分片分配算法的表示,从而为进一步的开发和优化打开了大门。正在考虑的案例研究也表明,我们的方法可以扩展到分布式系统的不同领域。
2016-07-20 cs.DB cs.DC
Distributed dynamic load balancing for task parallel programming
在本文中,我们推导和研究的方法,动态负载平衡的分布式任务并行应用软件。负载均衡策略是基于任务迁移的。忙进程将其就绪任务队列的一部分导出到空闲进程。空闲-忙碌的进程对通过随机搜索过程找到彼此,该过程在几个步骤内以高概率成功。我们评估的负载均衡的方法块Cholesky分解实现,并观察到在所选的测试用例的顺序上的5\%的执行时间减少。
2018-01-14 cs.DC cs.MS cs.PF
HDArray: Parallel Array Interface for Distributed Heterogeneous Devices
具有包含一个或多个加速器(诸如GPU)的节点的异构集群已经变得常见。虽然MPI提供了地址空间间的通信,而OpenCL提供了一个可以访问异构计算资源的进程,但程序员被迫编写混合程序来管理这两个系统的交互。本文介绍了一个数组编程接口,为用户提供自动和手动分配的数据和工作。使用工作分配和内核定义和使用信息,自动执行进程和进程中的设备之间的通信。通过向用户提供统一的编程模型,简化了程序开发。
2018-09-18 cs.DC
Distributed Work Stealing in a Task-Based Dataflow Runtime
对于极端规模的应用程序,基于任务的XML编程模型已经成为以过程为中心的编程模型的替代方案。然而,负载均衡仍然是一个挑战,在基于任务的低运行时。在本文中,我们提出了扩展的PaR-SEC运行时证明,分布式工作窃取是一种有效的负载平衡方法,基于任务的低负载运行时。与共享内存工作窃取相比,我们发现每个进程在决定是否窃取时都应该考虑未来的任务和执行的预期等待时间。我们证明了所提出的工作窃取政策的有效性稀疏Cholesky分解,这表明了高达35%的速度相比,静态分工的工作。
2022-11-09 cs.DC
CXL Shared Memory Programming: Barely Distributed and Almost Persistent
本文首次定义了基于 CXL 的共享内存故障模型,区分数据与进程故障,并提出针对性的处理方法,以应对 CXL 特有的易失性和低延迟挑战。
2024-07-17 cs.DC
A verification algorithm for Declarative Concurrent Programming
提出了一种基于前向和后向行为解耦的分布式系统验证方法。该方法使用基于事件结构的算法,该算法在给定CCS过程的情况下,相对于可观察动作的选择来构造其因果压缩。验证原始过程配备分布式回溯不可观察的动作,相当于验证其相对压缩,一般来说要小得多。我们称这种方法为声明式并发编程(DCP)。DCP技术与基于直接互模拟的方法相比很好。经典哲学家用餐问题的基准测试表明,因果压缩在时间和空间方面都相当有效。最先进的验证工具可以成功地处理超过15个代理,而他们可以处理不超过5个以下的传统的直接方法;一个完全惊人的改进,因为在这个例子中的规格大小是指数的代理的数量。
2006-06-22 cs.DC
Bind: a Partitioned Global Workflow Parallel Programming Model
高性能计算因其漫长而昂贵的软件开发周期而臭名昭著。为了解决这一挑战,我们提出绑定:一个“分区的全球工作流”的C++应用程序的并行编程模型,使快速原型和敏捷的开发周期的高性能计算软件的目标异构分布式众核架构。我们提出了绑定到线性代数和MapReduce算法的应用程序,以及性能结果。
2016-06-15 cs.DC
Applying Prolog to Develop Distributed Systems
分布式系统的开发是一项艰巨的任务。声明式编程技术在有效支持程序员应对这一挑战方面具有很大的潜力。虽然基于数据的语言已经被积极地探索用于编程分布式系统,但Prolog在这个应用领域迄今为止受到的关注相对较少。在本文中,我们提出了一个基于Prolog的编程系统,称为DAHL,分布式系统的声明式开发。DAHL用事件驱动的控制机制和内置的网络过程扩展了Prolog。我们的实验评估使用分布式哈希表数据结构,协议实现拜占庭容错,和分布式软件模型检查器-所有DAHL实现-表明该方法的可行性。
2010-07-22 cs.DC cs.PL
AutoParallel: A Python module for automatic parallelization and distributed execution of affine loop nests
程序设计语言、编程模型和框架的最新改进集中在将用户从许多编程问题中抽象出来。其中,最近的编程框架包括更简单的语法,自动存储管理和垃圾回收,这通过库包和易于配置的部署工具简化了代码重用。例如,Python由于其语法的简单性而上升到程序设计语言列表的顶部,同时即使是解释语言也仍然实现了良好的性能。此外,社区还帮助开发了大量的库和模块,并对其进行了调整以获得更好的性能。然而,在阻止用户直接处理分布式和并行计算问题时,仍有改进的空间。本文提出并评估AutoParallel,一个Python模块,自动找到一个适当的基于任务的并行仿射循环嵌套并行执行它们在分布式计算基础设施。这种并行化还可以包括构建数据块以增加任务粒度,以便实现良好的执行性能。此外,AutoParallel基于顺序编程,只包含一个Python装饰器形式的小注释,因此任何编程技能不高的人都可以将应用程序扩展到数百个核心。
2018-10-26 cs.DC cs.PL
On the Optimal Provider Selection for Repair in Distributed Storage System with Network Coding
在大规模分布式存储系统(DSS)中,可靠性是由分布在Internet上的存储服务器上的冗余提供的。网络编码由于能提高系统的可靠性和缩短系统的修复时间而在决策支持系统中得到广泛的研究。为了保持可靠性,一个不可用的存储服务器应该首先被一个名为new comer的新服务器替换。然后,从幸存的服务器中选择多个存储服务器,称为提供商,并通过Internet将其编码数据发送到新的服务器,以重新生成丢失的数据。因此,在大规模的DSS中,再生阶段的提供者选择和数据路由对再生时间的性能有很大的影响。在本文中,我们研究的最佳供应商选择和数据路由问题,以最大限度地减少再生时间的决策支持系统与NC。具体来说,我们首先定义了问题的决策支持系统与NC。对于给定供应商的情况,我们将问题建模为数学规划。基于数学规划,我们制定了最佳的供应商选择和数据路由问题的整数线性规划问题,并开发了一个有效的近优算法的基础上线性规划松弛(BLP)。最后,通过大量的仿真实验验证了该算法的有效性。
2015-11-15 cs.DC
Timetide: A programming model for logically synchronous distributed systems
本文提出编程模型 Timetide,通过多时钟语义和逻辑同步模型实现分布式确定性编程,无需物理时钟同步,并支持形式化验证。
2025-07-19 cs.DC cs.PL
Launchpad: A Programming Model for Distributed Machine Learning Research
DeepMind(深度思维);Google Brain(谷歌大脑)
现代机器学习算法成功背后的一个主要驱动力是它们处理越来越大量数据的能力。因此,在研究和生产中使用分布式系统作为扩展到这种不断增长的数据的手段变得越来越普遍。然而,与此同时,分布式学习过程可能会使即使是简单算法的实现也变得非常复杂。这尤其成问题,因为许多机器学习从业者并不精通分布式系统的设计,更不用说那些具有复杂通信拓扑的系统了。在这项工作中,我们介绍了Launchpad,编程模型,简化了定义和启动分布式系统,是专门针对机器学习观众的过程。我们描述了我们的框架,它的设计理念和实现,并给出了一些常见的学习算法的设计,大大简化了这种方法的例子。
2021-06-07 cs.AI cs.DC cs.LG
Regional Consistency: Programmability and Performance for Non-Cache-Coherent Systems
并行程序员面临着可编程性和性能这两个经常不可调和的目标。HPC系统使用分布式存储器来实现可扩展性,从而牺牲了共享存储器编程模型的可编程性优势。此外,异构体系结构的快速采用(通常具有非高速缓存一致性存储器系统)进一步增加了支持共享存储器编程模型的挑战。我们的主要目标是定义一个内存一致性模型,提出了熟悉的基于线程的共享内存编程模型,但允许良好的应用程序性能的非缓存一致性系统,包括分布式内存集群和基于加速器的系统。我们提出了区域一致性(RegC),一个新的一致性模型,实现这一目标。在多达256个处理器的代表性基准测试的结果表明,在我们的原型分布式共享内存系统的背景下,RegC的潜力。
2013-01-18 cs.DC
A Peer-to-Peer Middleware Framework for Resilient Persistent Programming
20世纪80年代的持久编程系统提供了一种集成计算和长期存储的编程模型。在这些系统中,可以设计可靠的应用程序,而不需要程序员编写转换代码来管理往返于非易失性存储器的数据传输。更重要的是,它简化了程序员对应用程序的概念模型,并避免了由于同一信息的多个缓存副本而导致的许多一致性问题。尽管在技术上具有创新性,但持久性语言并没有被广泛采用,部分原因可能是由于其封闭的世界模型。每个持久性存储都位于单个主机上,并且没有灵活的机制来在单独的存储之间进行通信或数据传输。在这里,我们重新打开持久性的工作,并将其与现代对等技术相结合,以便在弹性和潜在的长期运行的分布式应用程序中提供对正交持久性的支持。我们的愿景是一个基础设施,其中的应用程序可以开发和分发最小的修改,因此,应用程序变得有弹性的某些故障模式。如果一个节点或与它的连接在应用程序执行期间失败,则对象将从分布式副本重新实例化,而其引用持有者不会意识到失败。此外,我们相信,这可以实现范围内的应用程序员干预,从最小的完全规范,如所需的。相同的机制包含正交持久编程模型。我们概述了我们实现这一愿景的方法,并描述了目前的进展。
2010-06-18 cs.DC
BuDDI: A Declarative Bloom Language for CALM Programming
协调协议帮助分布式系统的程序员分析事务对系统状态的影响,但它们并不便宜。协调协议可能涉及多轮通信,这可能会损害系统的响应能力。在分布式计算中存在用于管理协调-性能权衡的许多努力。最近的一个工作线的特点是类的工作量,协调是不必要的一致性:即,逻辑单调的程序。在本文中,我们提出了一个典型的计算生物学工作负载的逻辑单调性的案例研究。我们利用布卢姆语言编写高效的分布式程序,并比较其性能等效程序写在UPC++,一种流行的语言编写分布式程序。此外,我们利用Bloom的分析工具来确定协调点,并利用我们自己使用Bloom的经验为没有强大的分布式计算背景的用户推荐一些更高级别的抽象。
2021-09-20 cs.DC cs.PL
ClassdescMP: Easy MPI programming in C++
ClassdescMP是一个用于C++和MPI的分布式内存并行编程系统。它使用Classdesc反射系统来简化构建要在进程之间发送的复杂消息的任务。它没有隐藏底层的MPI API,因此它是MPI功能的增强。如果出于性能原因需要,用户仍然可以调用标准MPI函数调用。
2004-01-27 cs.DC
Sector and Sphere: Towards Simplified Storage and Processing of Large Scale Distributed Data
云计算已经证明,只要给出正确的编程模型和基础设施,就可以在商品集群上处理非常大的数据集。在本文中,我们描述了Sector存储云和Sphere计算云的设计和实现。与现有的存储和计算云相比,Sector不仅可以在数据中心内管理数据,还可以跨地理分布的数据中心管理数据。同样,Sphere计算云支持数据中心内和跨数据中心的用户定义函数(UDF)。作为一种特殊情况,MapReduce风格的编程可以在Sphere中通过使用Map UDF和Reduce UDF来实现。我们描述了一些实验研究比较部门/球体和Hadoop使用Terasort基准。在这些研究中,Sector的速度大约是Hadoop的两倍。Sector/Sphere是开源的。
2009-01-17 cs.DC
Distributed WWW Programming using (Ciao-)Prolog and the PiLLoW library
我们讨论了从实际的角度来看,一些问题涉及到分布式互联网和WWW应用程序使用LP/CLP系统。我们描述PiLLoW,一个公共领域的互联网和WWW编程库LP/CLP系统,我们设计,以简化编写此类应用程序的过程。PiLLoW提供了访问WWW上的文档和代码的工具;解析、操作和生成HTML和XML结构化文档和数据;生成HTML表单;编写表单处理程序和CGI脚本;以及处理HTML/XML模板。PiLLoW的一个重要贡献是将HTML/XML代码(以及WWW页面的内容)建模为术语。PiLLoW库是在Ciao Prolog系统的背景下开发的,但它已经适应了许多流行的LP/CLP系统,支持其大部分功能。我们还描述了使用并发性和客户端-服务器交互的高级模型,Ciao Prolog的活动模块,在WWW编程的背景下。我们提出了一个解决方案,客户端下载和执行的Prolog代码,使用通用浏览器。最后,我们还提供了一个概述的相关工作的主题。
2003-12-16 cs.DC cs.PL
Semantic Programming for Device-Edge-Cloud Continuum
本文提出语义编程框架ThothSP,通过神经-符号流融合机制和自适应联邦器降低设备-边缘-云连续体上智能应用的开发难度,并在分布式摄像头网络案例中验证其优势。
2023-09-17 cs.DC
Toward Heterogeneous, Distributed, and Energy-Efficient Computing with SYCL
本文提出基于SYCL的高层编程接口,通过Celerity和SYnergy两个扩展分别解决加速器集群工作负载分配与高能效计算问题,从而简化异构高性能计算系统编程。
2025-05-09 cs.DC
Multi-Tier Adaptive Memory Programming and Cluster- and Job-based Relocation for Distributed On-demand Crowdshipping
随着电子商务的快速增长,按需城市交付的时间很长,特别是食品,杂货和零售,通常需要在下订单后很短的时间内交付。这给传统的车辆运输方法带来了重大的财务和业务挑战。众包,雇用普通人与低工资率和有限的时间可用性,已成为一个有吸引力的替代方案。本文提出了一种多层自适应内存编程(M-TAMP),以解决按需分配的请求与空间分布的请求的起源和目的地和众包的起点众包。M-TAMP从多个初始解决方案开始,这些解决方案是基于向众包分配请求时的不同合理假设构建的,并通过波浪、阶段和步骤来组织解决方案搜索,模仿海浪和人类记忆功能,同时寻求最佳解决方案。通过主动地重新定位空闲众包来进一步执行分配,为此设计了计算高效的基于集群和作业的策略。数值实验表明,MTAMP优于一些现有的方法,和搬迁可以大大提高众包请求分配的效率。
2021-05-14 cs.DC math.OC
DiOMP-Offloading: Toward Portable Distributed Heterogeneous OpenMP
Stony Brook University(石溪大学)
针对传统HPC混合编程模型在分布式GPU内存管理与可移植性上的不足,提出分布式OpenMP框架DiOMP,融合OpenMP目标卸载与PGAS模型,实验证明其在多类异构平台上具备更优性能、可扩展性与可编程性。
2025-06-03 cs.DC
Binary integer programming for optimizing ebit cost in distributed quantum circuits with fixed module allocation
Seoul National University(首尔大学)
本文提出利用二进制整数规划优化分布式量子电路中固定模块分配的EBIT成本,通过后处理步骤减少高达20%的EBIT消耗。
2026-02-17 cs.DC quant-ph
Scalable Analytics over Distributed Time-series Graphs using GoFFish
图表是大数据的一种关键形式,对它们进行可扩展的分析对许多领域都是非常宝贵的。随着我们收集数据的能力的增长,出现了一类新兴的相互关联的数据,这些数据会随着时间的推移而积累或变化,并且需要对网络结构和时变属性值进行新的分析。我们引入了时间序列图分析的概念,并提出了Gopher,一个可扩展的编程抽象来开发算法和分析这些数据集。我们的抽象利用了以子图为中心的编程模型,并使用迭代BSP(批量同步并行)方法将其扩展到时间维度。Gopher是与GoFS共同设计的,GoFS是专门用于时间序列图的分布式存储,是GoFFish分布式分析平台的一部分。我们研究了GoFS的存储优化,在Gopher中设计模式以利用分布式数据布局,并使用商品集群上的时间序列图数据和应用程序评估GoFFish平台。
2014-06-23 cs.DC
Distributed Data Processing Frameworks for Big Graph Data
最近,我们创建了如此多的数据(每天2.5兆字节),以至于当今世界90%的数据都是在过去两年中创建的。这些数据来自用于收集交通或气候信息的传感器,社交媒体网站的帖子,照片,视频,电子邮件,购买交易记录,蜂窝网络的通话记录等。在本报告中,我们首先简要讨论了用于大数据处理的编程模型,并重点关注图数据,并对用于解决超大规模图问题的编程模型/框架进行了调查研究。在第2节中,我们介绍了不是专门设计用于处理图数据的编程模型,但我们将它们包括在本调查中,因为我们相信这些是重要的框架和/或已经有研究来定制它们以实现更有效的图处理。在第3节中,我们讨论了一些技术,这些技术在应用于Hadoop时,可以为某些图形问题提供高达1340倍的加速。在第4节中,我们讨论了基于顶点的编程模型,它被简单地设计为处理大型图和适应它的框架。在第5节中,我们实现了两个基本的图算法(页面排名和权重二分匹配),并将它们作为基线方法在单个节点上运行,以查看它们对于大型数据集的速度以及是否值得对其进行分区。
2016-12-18 cs.DC
DPRQ: A Dynamic Programming-based Qubit Routing Algorithm for Collective Communication in Distributed Quantum Computing
North Carolina State University(北卡罗来纳州立大学)
针对分布式量子计算节点间通信的瓶颈问题,提出基于动态规划的DPRQ量子比特路由算法,经实验验证其相较QuComm可显著减少节点间通信量。
2026-09-09 cs.DC quant-ph
Suki: Choreographed Distributed Dataflow in Rust
针对现有分布式数据流编程模型难以兼顾全局优化与细粒度放置控制的问题,提出嵌入式Rust DSL Suki采用阶段式编程实现显式放置的流数据流,结合trait系统支持类型安全的云资源映射,实现零开销编译。
2024-06-20 cs.DC cs.PL
Distributed Distance-Bounded Network Design Through Distributed Convex Programming
在分布式环境中,求解线性规划通常是一项具有挑战性的任务。虽然有很好的算法来解决包装和覆盖线性规划在一个分布式的方式(库恩等人。2006),这基本上是唯一一类线性规划,这种算法是已知的。在这项工作中,我们提供了一个分布式算法来解决不同的一类凸规划,我们称之为“距离有界的网络设计凸规划”。这些可以被认为是网络设计问题的放松,其中连接要求包括距离约束(最值得注意的是,图空间)。我们的算法在$\mathcal{LOCAL}$模型中以$O( (D/ε) \log n)$轮运行,并找到任何$0 < ε\leq 1$的最优LP解的$(1+ε)$ -近似,其中$D$是最大距离约束。虽然在分布式环境中求解线性规划本身就很有趣,但这类凸规划特别重要,因为求解它们通常是设计近似算法时的关键步骤。因此,我们几乎立即获得新的和改进的分布式近似算法的各种网络设计问题,包括基本的$3$ -和$4$ -扳手,定向$k$ -扳手,最低程度的$k$ -扳手,和浅光斯坦纳网络设计与生成需求图。我们的算法不需要任何“沉重”的计算和基本上匹配的最知名的集中式近似算法,而以前的方法,不使用沉重的计算给出的近似比最知名的集中式界限。
2017-09-08 cs.DC cs.DS math.CO
A Semantics Comparison Workbench for a Concurrent, Asynchronous, Distributed Programming Language
已经提出了许多高级语言和库,它们为并发、异步和分布式编程提供了新颖且易于使用的抽象。然而,实现它们的执行模型经常会随着时间的推移而改变--无论是为了提高性能,还是为了将它们扩展到新的语言功能--这可能会影响现有程序的行为和安全属性。SCOOP是一种并发面向对象编程的消息传递方法,它已经提出并实现了多个更改,并对其核心抽象的惯用用法产生了明显的影响。我们提出了一个语义比较工作台SCOOP与全自动和半自动的工具,用于分析和比较不同的执行模型或语义的程序的状态空间。我们证明了它的使用,在检查整个语义的属性的一致性,通过将其应用到一组代表性的程序,并突出了死锁相关的差异之间的主要执行模型的SCOOP。此外,我们证明了工作台的可扩展性,通过概括的形式化的执行模型,以支持最近提出的扩展分布式编程。我们的工作台是基于一个模块化的和参数化的图形转换语义中实现的GROOVE工具。我们将讨论如何利用图转换来原子地对复杂的语言抽象建模,如何使用模型的视觉和代数性质来确定合理性,并强调该方法如何应用于类似的语言。
2017-10-11 cs.DC cs.LO cs.PL
Teaching Parallel Programming Using Java
本文介绍了"应用并行计算"课程讲授的最后一年软件工程本科生在2014年春季在巴基斯坦NUST的概述。该课程的主要目标是介绍实用的并行编程工具和技术,用于共享和分布式内存并发系统。该课程的一个独特之处是Java被用作主要的程序设计语言。课程分为三个部分。第一部分介绍了用于共享内存系统的并行编程技术,包括多核和对称多处理器(SMP)系统。在本节中,我们将Java线程作为一种可行的编程API来介绍。第二部分专门介绍用于分布式内存系统(包括计算机集群和网络)的并行编程工具。我们使用MPJ-一个Java MPI库-来进行本节的编程作业和实验工作。第三节也是最后一节涵盖了高级主题,包括使用Hadoop的MapReduce编程模型和图形处理单元上的通用计算(GPGPU)。
2014-08-27 cs.CY cs.DC
Assurance of Distributed Algorithms and Systems: Runtime Checking of Safety and Liveness
本文提出了一个通用的框架和方法,在一个高层次的分布式算法的完整的编程和检查,在伪代码语言,但精确指定和直接执行,在正式的规约语言和实用的程序设计语言,分别。检查框架,以及分布式算法的编写和它们的安全性和活性属性的规范,使用DistAlgo,一种用于分布式算法的高级语言。我们给出了一个完整的可执行规范的检查框架,一个完整的例子算法和例子的安全性和活性属性。
2020-12-24 cs.DC cs.SE
Programming Distributed Collective Processes in the eXchange Calculus
Università di Torino(都灵大学);Alma Mater Studiorum—Università di Bologna(博洛尼亚大学)
针对物联网设备集体自适应编程难题,提出基于交换演算的分布式集体过程抽象,统一整体形成与任务,经案例验证适用于分布式计算。
2025-10-02 cs.AI cs.DC cs.MA