Improving the scalability of parallel N-body applications with an event driven constraint based execution model
图应用程序的可扩展性和效率受到传统系统及其支持编程模型的显著限制。多核、众核和异构系统架构等技术趋势正在为图形应用等新兴应用领域带来进一步的挑战和可能性。本文探讨了空间的有效并行执行的短暂的图形,动态生成的Barnes-Hut算法,以减少动态工作负载。工作负载使用称为ParalleX的Exascale计算执行模型的语义表示。为了比较,结果使用传统的执行模型语义。我们发现改进的负载均衡在运行时和自动并行发现提高效率,使用先进的语义Exascale计算。
2011-09-23 cs.DC
Optimization of hybrid parallel application execution in heterogeneous high performance computing systems considering execution time and power consumption
许多重要的计算问题需要利用高性能计算(HPC)系统,所述高性能计算(HPC)系统由组合越来越多数量的具有各种特性的设备的多级结构组成。利用这样的系统的全部功率需要编程在两个意义上混合的并行应用:它们可以同时在多个级别上利用并行性并且将专用于各种类型的计算设备的编程接口组合在一起。并行处理的主要目标是提高处理性能,从而减少应用程序的执行时间。国际HPC社区的目标是到2020年开发“Exascale”超级计算机(能够维持每秒$10^{18}$浮点运算)。实现该目标的主要障碍之一是计算系统的功耗超过能量供应限制。考虑到这一标准的新的编程模型和算法是实现这一目标需要取得重大进展的关键领域之一。本论文的目标是提取一个通用模型的混合并行应用程序执行在异构HPC系统,这是一个现有的具体方法的合成,并开发一种优化方法,这种执行旨在最大限度地减少应用程序的执行时间和功耗的矛盾目标所利用的计算硬件。这两种意义的应用程序的混合性的执行参数的非平凡的相互依赖性和所考虑的优化标准的影响的多重性的结果。应用程序进程在计算设备上的映射也对这些标准产生重大影响。
2018-09-20 cs.DC
Affine Transformations of Loop Nests for Parallel Execution and Distribution of Data over Processors
本文研究仿射循环嵌套映射到分布式并行计算机上的问题。本文提出了一种求循环嵌套仿射变换的方法,用于并行执行和数据在处理器上的分布。该方法倾向于最小化处理器之间的通信的数量,并提高一个处理器内的数据的局部性。研究了数据交换顺序的确定问题。条件,以确定安排广播的能力。
2006-06-07 cs.DC
Deferred Objects to Enhance Smart Contract Programming with Optimistic Parallel Execution
本文提出 RapidLane,通过延迟冲突计算、乐观预测结果及智能合约新构造,将串行交易工作负载并行化,并在 Block-STM 与 Aptos 上实现最高 12 倍吞吐提升。
2024-05-09 cs.DC
Anthemius: Efficient & Modular Block Assembly for Concurrent Execution
针对区块链并行执行受同资源交易冲突限制的问题,本文提出模块化区块构建算法 Anthemius,通过组装区块优化并发交易吞吐量,并在多类工作负载下使并行引擎处理能力提升逾两倍。
2025-02-14 cs.DC
Portfolio-driven Resource Management for Transient Cloud Servers
云提供商已经开始以低成本的临时服务器的形式提供其剩余容量,这些服务器可以随时单方面撤销。虽然临时服务器的低成本使它们对于诸如数据处理和科学计算之类的广泛应用具有吸引力,但是由于服务器撤销而导致的故障会严重降低应用性能。由于不同的瞬态服务器类型提供不同的成本和可用性权衡,我们提出了服务器投资组合的概念,是基于金融投资组合建模。服务器组合能够构建服务器的“最佳”组合,以满足应用程序对成本和撤销风险的敏感性。我们在一个名为ExoSphere的系统中实现了模型驱动的投资组合,并展示了不同的应用程序如何使用投资组合和特定于应用程序的策略来优雅地处理临时服务器。我们表明,ExoSphere使Spark、MPI和BOINC等广泛使用的并行应用程序能够以适度的努力实现瞬态感知。我们的实验表明,允许应用程序使用合适的瞬态感知策略,ExoSphere与按需服务器相比能够节省80%的成本,并与现有方法相比大大降低了撤销风险。
2017-04-27 cs.DC
Parallel Simulations for Analysing Portfolios of Catastrophic Event Risk
现代定量保险/再保险公司的分析流程的核心是用于投资组合风险分析和定价过程的随机模拟技术,称为聚合分析。在综合分析中,可以计算各种类型的复杂财产巨灾保险合同的风险度量,包括可能的最大损失(PML)和风险尾值(TVAR),这些合同包括Cat超额损失(XL),或每次发生XL和聚合XL,以及组合这些度量的合同。在本文中,我们探讨并行方法的总风险分析。提出了一种并行聚合风险分析算法和基于该算法的引擎。该引擎在多核CPU中使用C和OpenMP实现,在众核GPU中使用C和CUDA实现。该算法的性能分析表明,GPU提供了一个替代的高性能计算解决方案的聚合风险分析,是成本效益。GPU上的优化算法在20秒内对典型的暴露集和合同结构执行100万次试验聚合模拟,每次试验1000个灾难性事件,这比顺序模拟快约15倍。这可以充分支持实时定价场景,其中承销商在通过电话与客户讨论交易时分析不同的合同条款和定价。
2013-08-09 cs.CE cs.DC cs.PF
Efficient Parallel Execution of Blockchain Transactions Leveraging Conflict Specifications
针对区块链交易并行执行中的冲突问题,提出利用冲突规范信息的区块事务内存方法,在EVM和MoveVM上实现最高1.75倍加速,并超越Parallel-EVM达1.33倍。
2025-08-14 cs.DC
Utilizing Parallelism in Smart Contracts on Decentralized Blockchains by Taming Application-Inherent Conflicts
由于共识协议本身的瓶颈,传统的公共区块链系统通常具有非常有限的交易吞吐量。随着共识技术的最新进展,性能限制已经大大提高,通常达到每秒数千笔交易。这样一来,事务执行就成了一个新的性能瓶颈。利用事务执行中的并行性是解决此问题并进一步提高事务吞吐量的一种明确而直接的方法。尽管最近的一些文献引入了并发控制机制来并行执行智能合约交易,但它们所能实现的加速效果远不理想。主要原因是,所提出的并行执行机制不能有效地处理许多区块链应用程序中固有的冲突。在这项工作中,我们深入研究了以太坊中的历史交易执行痕迹。我们观察到,应用程序固有的冲突是限制可利用的并行执行过程中的主要因素。我们建议使用分区计数器和特殊的交换指令,打破应用程序的冲突链,以最大限度地提高潜在的加速比。当我们评估可实现的最大并行加速比时,这些技术将此限制加倍,与串行执行相比,总体加速比为18倍,从而接近最佳值。我们还提出了OCC-DA,一种具有确定性中止的乐观并发控制调度器,这使得在公共区块链设置中使用OCC调度成为可能。
2022-02-10 cs.DC
Exploring Parallel Execution Strategies for Constraint Handling Rules - Work-in-Progress Report
约束处理规则(英语:Constraint Handling Rules)是一种基于规则的声明性形式和语言。并发性是固有的,因为规则可以并行地应用于约束的子集。并行实现的可扩展性,无论是在软件中,它在硬件中,使用不同的执行策略,并行执行的可扩展性程序取决于实现语言。在这份报告中,我们的目标是从一个更一般的概念角度来分析并行执行的并行程序。我们想通过实验来看看,当并行程序自动并行化时,可能会发生什么。为了这个目的,一个顺序模拟的并行可执行系统编码不同的并行执行策略。在对文献中的一些典型示例的详尽实验中,可以将并行执行和顺序执行进行比较。处理器的数量可以是有界的或无界的,以便进行更多的理论分析。因此,对于不同的问题类别和一般情况,可以对执行策略的影响进行一些初步但具有指示性的观察。
2018-08-23 cs.DC cs.PL
Committee Configuration Optimization for Parallel Byzantine Consensus in a Trusted Execution Environment
School of Informatics, University of Edinburgh(爱丁堡大学信息学院);University of Leicester(莱斯特大学)
本文提出基于混合整数规划的委员会配置优化模型,旨在提升可信并行BFT协议的交易性能,通过考虑通信延迟和节点故障率,优化委员会配置以降低交易延迟。
2026-06-22 cs.DC
DiPETrans: A Framework for Distributed Parallel Execution of Transactions of Blocks in Blockchain
当代区块链,如比特币和以太坊,由矿工和验证者连续执行交易,并确定工作量证明(PoW)。这种串行执行无法有效地利用现代多核资源,因此限制了系统吞吐量并增加了事务接受延迟。这项工作的目的是通过引入并行事务执行使用静态分析技术,以增加事务吞吐量。我们提出了一个框架DiPETrans的分布式执行的交易块。在这里,区块链网络中的对等点形成一个社区来执行交易并使用领导者-追随者方法找到PoW。在挖掘过程中,leader静态分析事务,创建独立事务的不同组(分片),并将它们分发给follower以并行执行它们。在事务执行之后,社区的计算能力被用来并发地解决PoW。当一个区块被成功创建时,领导者将提议的区块广播给网络中的其他对等体进行验证。在接收到一个区块时,验证器会重新执行区块交易,并在区块达到矿工共享的相同状态时接受该区块。验证也可以作为一个社区并行进行,遵循与挖掘相同的领导者-追随者方法。我们报告了使用以太坊区块链中超过500万个真实交易的实验,并使用我们的DiPETrans框架执行它们,以经验验证我们的技术相对于传统顺序执行的优势。我们实现了矿工2.2倍的最大加速,验证器2.0倍的最大加速,每个区块100到500个交易。此外,当使用社区中的6台机器时,我们使用并行矿工实现了5倍于串行矿工的端到端块创建加速峰值。
2021-03-13 cs.DC
Optimistic Parallel State-Machine Replication
状态机复制是实现容错的一种基本方法,它要求副本确定性地执行命令,这通常会导致命令的顺序执行。顺序执行限制了性能,并且未充分利用服务器,这些服务器越来越并行(即,多核)。为了缩小状态机复制需求与现代服务器特性之间的差距,研究人员最近提出了替代执行模型。本文调查现有的方法,并行状态机复制,并提出了一种新的乐观协议,继承了以前的技术的可扩展性。使用复制的B+树服务,我们证明了我们的协议优于最有效的技术的2.4倍的因素。
2014-04-27 cs.DC
NEMO: Faster Parallel Execution for Highly Contended Blockchain Workloads (Full version)
NEMO结合乐观并发控制与对象数据模型,通过贪心提交、精细依赖处理、静态读写提示和优先级调度,显著减少冗余计算,在高竞争区块链工作负载下比Block-STM吞吐量提升42%。
2025-10-16 cs.DC
TaskUniVerse: A Task-Based Unified Interface for Versatile Parallel Execution
基于任务的并行编程在并行编程的效率、性能、生产力和可扩展性等方面都表现出了竞争力。不同的软件开发框架使用不同的方法来向程序员提供这些结果,同时使底层硬件架构对她透明。然而,由于程序在这些框架之间是不可移植的,因此使用一个框架或另一个框架仍然是程序员的重要决定,程序员关心的是程序的可扩展性,自适应性,可维护性和互操作性。在这项工作中,我们提出了一个统一的编程接口,程序员可以使用不同的基于任务的并行框架透明地工作。在这种方法中,我们抽象的任务为基础的并行编程的共同概念,并提供给程序员在一个单一的编程接口统一的所有框架。我们已经通过运行程序来测试该接口,该程序在针对共享和分布式内存架构和加速器进行优化的框架内实现矩阵运算,而框架之间的合作是在外部配置的,无需修改程序。进一步可能的扩展的接口和未来的潜在研究也被描述。
2017-05-08 cs.DC
Optimizing ccNUMA locality for task-parallel execution under OpenMP and TBB on multicore-based systems
OpenMP任务构造或某些英特尔线程构建块(TBB)组件所采用的任务并行性虽然非常适合处理不规则问题或典型的生产者/消费者方案,但如果数据访问的局部性很重要(ccNUMA系统上的内存受限代码通常就是这种情况),则可能会出现性能瓶颈。我们提出了一个薄的软件层,改善了动态任务分配的不利影响,通过将任务排序到本地队列中,每个队列最好由属于同一本地域的线程处理。动态调度是完全保留在每个域,并优于可能的负载不平衡,即使需要非本地访问,使这种策略非常适合典型的多核多插槽系统。该方法的有效性是通过使用一个阻塞的六点模板求解器作为一个玩具模型。
2010-12-30 cs.DC
TaPS: A Performance Evaluation Suite for Task-based Execution Frameworks
针对基于任务的执行框架缺乏统一评估标准难以对比的问题,提出TaPS任务性能套件,提供统一模块化接口与参考应用集,可支撑框架的可靠评估。
2024-08-13 cs.DC
EinDecomp: Decomposition of Declaratively-Specified Machine Learning and Numerical Computations for Parallel Execution
本文提出基于扩展爱因斯坦求和记法的声明式编程抽象,将张量计算重写为张量关系计算以统一数据并行与模型并行,并研究最优分解算法,通过实验验证其价值。
2024-10-03 cs.DC
Overhead Management in Multi-Core Environment
在多核系统中,诸如进程间通信、依赖性、资源共享和调度、并行化水平、同步、可用核的数量等各种因素影响可能的高性能计算并行化的程度。这些参数如果没有管理到根级别,以后会在执行期间作为开销出现。本文着重讨论了这些并行性参数及其并行化开销,并对它们进行了有效的管理,以便在任意域下实现最优的并行执行。作为一个整体,我们专注于稠密线性代数(DLA)域,特别是矩阵乘法和排序域。这些领域的选择,因为他们发现在科学和数学应用的各个部门的应用。比较分析所获得的结果澄清之间的权衡串行和并行执行DLA的问题,表面的开销和他们可能的有效管理。
2022-01-31 cs.DC
Scheduling Computation Graphs of Deep Learning Models on Manycore CPUs
对于深度学习模型,高效执行其计算图是实现高性能的关键。以前的工作集中在提高计算图的单个节点的性能,而忽略了图作为一个整体的并行化。然而,我们观察到,同时运行多个操作而不干扰是至关重要的,有效地执行并行化的小操作。在深度学习框架中并行执行计算图的尝试通常涉及并发操作之间的大量资源争用,导致众核CPU上的性能较差。为了解决这些问题,在本文中,我们提出了Graphi,一个通用的和高性能的执行引擎,以有效地执行计算图在多核CPU上并行。具体来说,Graphi最大限度地减少了对软件/硬件资源的干扰,使用分析器发现最佳并行设置,并使用关键路径优先调度进一步优化图形执行。我们的实验表明,并行执行一致优于顺序。使用Graphi的四个不同神经网络的训练时间比使用68核英特尔至强融核处理器上的TensorFlow快2.1倍至9.5倍。
2018-07-16 cs.DC
Optimization Heuristics for Cost-Efficient Long-Term Cloud Portfolio Allocations Under Uncertainty
当今的云基础设施环境提供了广泛的服务来构建和操作软件应用程序。然而,众多的选择也带来了新的复杂性。当涉及到采购云计算资源时,消费者可以从不同市场上的不同提供商购买他们的虚拟机,以形成所谓的云组合:虚拟机捆绑,其中虚拟机具有不同的技术特征和定价机制。因此,为一组给定的应用程序选择正确的服务器实例,以使分配具有成本效益,这是一项重要的任务。在本文中,我们提出了一个正式规范的云投资组合管理问题,需要一个应用程序驱动的方法,并结合了常见的保留,按需和现货市场类型的细微差别。我们提出了两个不同的成本优化算法,这个随机的时间装箱问题,一个采取天真的第一次适合的策略,而另一个是建立在遗传算法的概念。评估结果表明,前者的优化方法显着优于后者,无论是在执行速度和解决方案的质量。
2022-05-24 cs.CE cs.DC
Overview and Applications of GPGPU Based Parallel Ant Colony Optimization
蚁群优化算法是一种基于蚂蚁行为的优化技术。并行计算是一种在可压缩的执行时间内实现预期结果的方法。蚁群算法的并行化被用来解决大型和复杂的问题。本文讨论了不同的并行化方法的蚁群优化及其各种应用的审查。并行蚁群优化算法已被证明是一种成功的方法,高度约束的问题,如路由,调度,调度等。并行蚁群优化算法的并行化减少了执行时间,增加了问题的大小,等等。
2022-03-22 cs.DC
Design and Implementation of a Distributed Middleware for Parallel Execution of Legacy Enterprise Applications
典型的企业使用计算机局域网来执行其业务。在非工作时间,这些联网计算机的计算能力未得到充分利用或未使用。为了利用这种计算能力,应用程序必须重新编码以利用计算中固有的并发性,这对于没有任何源代码的遗留应用程序显然是不可能的。本文提出了一个分布式中间件的设计和实现,它可以通过并行化在多台网络计算机上自动执行一个遗留应用程序,该中间件在网络中的不同主机上并行运行多个二进制可执行代码副本。它封装了遗留应用程序的二进制可执行代码,以便捕获内核级数据访问系统调用,并以安全和无冲突的方式在多台计算机上分布式执行。该中间件还采用了动态调度技术,通过清除网络中主机的可用CPU周期,在最短的时间内执行目标应用程序。这种动态调度还支持主机的CPU可用性随时间变化,并适当地重新调度执行计算的副本,以最大限度地减少执行时间。这个中间件的原型实现已经开发的设计概念的证明。通过几个典型的案例研究对该实现进行了评估,测试结果证实了该中间件的工作符合预期。
2009-08-20 cs.DC
APEX: An Extensible and Dynamism-Aware Simulator for Automated Parallel Execution in LLM Serving
提出LLM服务系统模拟器APEX,通过感知动态性建模迭代级批处理并利用模型重复结构缩减设计空间,在CPU上高效寻找最优并行执行计划,速度提升3.37倍且能耗降低45%。
2025-04-29 cs.DC
Optimizations to the Parallel Breath First Search on Distributed Memory
图及其遍历由于其适用于数学、科学和技术的各个领域而变得越来越重要。生物化学(基因组学)、电子工程(通信网络)、计算机科学(算法和计算)等领域的各种问题都可以建模为图问题。真实世界的场景,包括社区,他们的相互联系和相关的属性可以使用图进行研究。因此快速、可扩展、低成本地执行并行图算法是非常重要的。在这个实现中的并行宽度优先搜索的图形,我们实现了并行BFS算法与1-D分区的图中所描述的[2],并已减少了执行时间,通过优化通信的本地缓冲区。
2020-03-10 cs.DC
Profile-Guided Parallel Task Extraction and Execution for Domain Specific Heterogeneous SoC
在本研究中,我们介绍了一种用C/C++编写的雷达和通信领域的用户应用程序自动转换的方法我们提出了一种在编译过程中使用屏障同步原语来检测用户应用程序二进制文件的方法,该方法使运行时系统能够在可用的计算资源。我们展示了我们的集成编译时和运行时流的能力,通过任务级并行和功能正确的执行现实生活中的应用程序。我们执行四个不同的应用程序,每个执行不同程度的任务级并行基于Xeon的多核同构处理器,我们的集成系统进行验证。我们使用建议的编译和代码转换方法来重新定位每个应用程序,以便在由三个ARM内核和一个FFT加速器组成的异构SoC上执行,该SoC在Xilinx Zynq UltraScale+平台上仿真。我们证明了我们的运行时的能力,处理应用程序的二进制,调度独立的任务在Zynq FPGA上的仿真SoC的可用计算资源的基础上,三种不同的调度算法。最后,我们演示了在Zynq FPGA上分别执行每个应用程序的任务级并行性,以及执行由同一应用程序的多个实例组成的工作负载场景,以及两个不同应用程序的混合,以展示实现应用程序和任务级并行执行的能力。我们的集成方法为应用程序开发人员提供了一条前进的道路,可以充分利用目标SoC,而无需用户成为硬件和并行编程专家。
2022-11-26 cs.AR cs.DC
Directed Neuro-Symbolic Stochastic Execution for Verification of Distributed Parallel AI Programs
Quandary Peak Research(昆达里峰研究院)
针对分布式并行AI程序的可靠性缺口,提出DNSSE混合测试框架,结合LLM调度预测与符号约束求解等,实现更优的并发bug检测率与分支覆盖率。
2026-08-11 cs.AI cs.DC
On Characterizing the Data Movement Complexity of Computational DAGs for Parallel Execution
技术趋势使得数据移动的成本在能量和时间方面都日益超过在计算机系统中执行算术运算的成本。在并行计算机系统中,聚合数据移动带宽与总计算能力(也称为机器平衡参数)的基本比率正在减小。它是有-forth相当重要的特征的并行算法的固有的数据移动的要求,以便所需的最小架构的平衡参数,以支持它在未来的系统可以很好地理解。在本文中,我们开发了一个著名的红蓝卵石游戏的扩展开发的数据移动的复杂性的下限并行执行的计算有向无环图(CDAGs)的并行系统。我们模拟多节点多核并行系统,总的物理内存分布在节点(通过一些互连网络连接)和一个多层次的共享缓存层次结构的处理器在一个节点内。我们还开发了新的技术,用于非均质CDAGs的下限表征。我们展示了使用的方法,通过分析几个数值算法的CDAGs,开发其并行执行的数据移动的下限。
2014-04-18 cs.DC cs.DS
Weaves: A Novel Direct Code Execution Interface for Parallel High Performance Scientific Codes
科学代码越来越多地用于组合环境,特别是问题解决环境(PSE)。典型的组合建模框架需要大量的买进,以承诺特定风格的编程的形式(例如,分布式对象组件)。虽然这种解决方案对于新一代的基于组件的科学代码是可行的,但大型遗留代码库是名副其实的软件工程噩梦。我们介绍编织一个新的框架,使建模,组合,直接执行代码,性能表征,适应和控制未经修改的高性能科学代码。Weaves是并行组合建模的一个有效的通用框架,它是编程的线程和进程模型的一个适当的超集。在本文中,我们的重点是由Weaves启用的透明代码执行接口。我们确定设计的限制,其影响的实施方案,配置方案,并从英特尔x86架构的原型实现目前的结果。
2002-05-04 cs.DC cs.PF
Multi-Variant Execution of Parallel Programs
多变量执行环境(MVEE)是一种很有前途的技术,以保护软件免受内存损坏攻击。它们透明地执行接收相同输入的软件的多种多样的变体(通常称为复制)。通过强制执行和监视复制品的系统调用的锁步执行,并通过部署多样性技术来防止攻击者同时危及多个复制品,MVEE可以在攻击成功之前阻止它们。现有的MVEE无法处理重要的多线程程序,因为它们的不确定性行为会在复制区中引入良性的系统调用不一致性,从而触发MVEE中的误报检测和死锁。本文首次扩展了MVEE的通用性,通过安全有效的同步复制代理来保护多线程软件。在运行四个工作线程的PARSEC 2.1并行基准测试中,我们的原型MVEE的运行时开销仅为1.32倍。
2016-07-26 cs.CR cs.DC
Transaction Fee Market Design for Parallel Execution
针对区块链并行执行中费用市场未区分存储键访问负载的问题,提出包含气体计算机制和交易费用机制的框架,并评估出加权面积与时间比例完工时间两种候选方案。
2025-08-07 cs.DC cs.GT
Methods for Partitioning Data to Improve Parallel Execution Time for Sorting on Heterogeneous Clusters
本文的目的是介绍一般的技术,以优化排序的并行执行时间的分布式体系结构与处理器的各种速度。这样的应用程序需要一个分区步骤。对于均匀相关的处理器(处理器的速度是由一个恒定的因素),我们开发了一个恒定的时间技术掌握处理器的负载和执行时间在异构环境中,也是一种技术来处理未知的成本函数。对于非一致相关的处理器,我们使用一种基于动态规划的技术。大多数情况下,解决方案都是O(p)(p是处理器的数量),与问题大小n无关。因此,关于我们处理的问题有一个小的开销,但是它固有地受到分区之后的代码部分的时间复杂度的限制。
2006-07-10 cs.DC cs.PF
Pipit: Scripting the analysis of parallel execution traces
针对现有GUI并行轨迹分析工具格式受限、难扩展、无法自动对比等问题,提出基于pandas的Python库Pipit,支持多格式轨迹读取与统一数据结构,提供分析操作及可扩展API,助力高效性能问题识别。
2024-05-14 cs.DC cs.PF
AD for an Array Language with Nested Parallelism
我们提出了一种技术应用(向前和)反向模式自动微分(AD)的非递归二阶函数阵列语言,支持嵌套并行,主要是为了高效的GPU执行。关键思想是通过依赖于冗余执行来消除对“磁带”的需要,以将差异化代码可能需要的所有程序变量带入每个新范围。通过观察完美嵌套的作用域不引入重新执行来实现有效执行,并且这样的完美嵌套由已知的编译器转换产生,例如,扁平化我们的技术区分循环和批量并行运算符,如地图,减少,直方图,扫描,分散,通过特定的重写规则,并积极优化所产生的嵌套并行代码。我们报告了一个实验评估,比较与现有的AD解决方案,并展示了竞争力的表现,从最近应用的AD文献的九个常见的基准。
2022-02-21 cs.DC cs.PL
PF-OLA: A High-Performance Framework for Parallel On-Line Aggregation
在线聚合在实际处理期间提供对计算的最终结果的估计。一旦估计足够准确,用户就可以停止计算,通常在执行的早期。这允许对最大的数据集进行交互式数据探索。在本文中,我们介绍了并行在线聚合的第一个框架,估计几乎不会产生任何开销的实际执行。我们定义了一个通用的接口来表达任何评估模型,完全抽象的执行细节。我们设计了一个新的估计专门针对并行在线聚合。当由框架在大规模$8\text{TB}$ TPC-H实例上执行时,即使最终结果的基数比数据集大小小七个数量级,估计器也会在执行早期提供准确的置信界限,并且不会产生开销。
2013-02-20 cs.DB cs.DC
MPI_XSTAR: MPI-based Parallelization of the XSTAR Photoionization Program
我们描述了一个程序的并行实施多个运行的XSTAR,光电离代码,用于预测电离气体的物理性质,从其发射和/或吸收线。并行化程序MPI_XSTAR已被开发和实现的C++语言使用消息传递接口(MPI)协议,一个传统的标准的并行计算。我们已经基准并行多处理执行的XSTAR,使用MPI_XSTAR,对串行执行的XSTAR,在并行化加速和计算资源效率。我们的经验表明,并行执行运行速度明显快于串行执行,然而,在计算资源使用方面的效率随着在并行计算中使用的处理器的数量的增加而降低。
2017-11-28 astro-ph.HE astro-ph.IM cs.DC
Empowering Student Debugging in Parallel Programming with Execution Traces and Large Language Models
The University of Texas at San Antonio(圣安东尼奥德州大学);The University of Massachusetts Amherst(马萨诸塞大学阿默斯特分校)
提出ParaView工具,通过执行记录与可视化帮助学生调试并发程序,结合大语言模型分析错误,实验表明调试成功率显著提升。
2026-06-15 cs.DC cs.SE
Cilkmem: Algorithms for Analyzing the Memory High-Water Mark of Fork-Join Parallel Programs
软件工程师设计的递归fork-join程序运行在大规模并行计算系统上,必须认识到他们的程序的内存需求如何在多处理器执行的规模。尽管存在用于测量并行程序的一个特定执行期间的内存使用的工具,但是这样的工具不能约束所有可能的并行执行上的最坏情况的内存使用。本文介绍了Cilkstrike,一个工具,分析一个确定性的Cilk程序的执行,以确定其$p$ -处理器内存高水位线(MHWM),这是最坏情况下的内存使用的程序超过\emph{all possible} $p$ -处理器执行。Cilkwords采用两种新的算法来计算$p$处理器MHWM。第一种算法在$O(T_1 \cdot p)$时间内计算精确的$p$ -处理器MHWM,其中$T_1$是程序的总工作。第二种算法在$O(T_1)$时间内解决近似阈值问题,该问题对于给定的存储器阈值$M$询问$p$处理器MHWM是否超过$M/2$或是否保证小于$M$。这两种算法都是内存高效的,分别需要$O(p \cdot D)$和$O(D)$空间,其中$D$是程序在单个线程上执行的最大调用堆栈深度。我们的实证研究表明,Cilkestra一般表现出较低的管理费用。在Cilkbench套件的十个应用程序基准测试中,精确算法导致$p=128$的$1.54$的几何平均乘法开销,而近似阈值算法导致独立于$p$的$1.36$的开销。此外,我们使用Cilkwords来揭示和…
2019-10-27 cs.DC cs.DS
Accelerating Blockchain Scalability: New Models for Parallel Transaction Execution in the EVM
本文针对 Ethereum 顺序处理导致的扩展瓶颈,提出由三种独立方法构成的新方案,通过策略性预定交易状态访问及引入基于 gas 的激励机制,实现 EVM 内最大程度的并行交易执行。
2025-04-02 cs.CE cs.DC cs.GT
Auto-MAP: A DQN Framework for Exploring Distributed Execution Plans for DNN Workloads
Alibaba Group(阿里巴巴集团)
在过去的十年中,训练深度神经网络的计算需求不断增长。目前的办法(例如,数据/模型并行性、流水线并行)将训练任务并行化到多个设备上。然而,这些方法总是依赖于特定的深度学习框架,并且需要精心的手动设计,这使得难以在不同类型的模型之间进行维护和共享。在本文中,我们提出了Auto-MAP,一个用于探索DNN工作负载的分布式执行计划的框架,它可以通过深度学习模型的IR级别上的强化学习自动发现快速并行化策略。有效的探索仍然是强化学习的主要挑战。我们利用DQN与特定任务的修剪策略,以帮助有效地探索搜索空间,包括优化的策略。我们的评估表明,Auto-MAP可以在两个小时内找到最佳解决方案,同时在几个NLP和卷积模型上实现更好的吞吐量。
2020-07-08 cs.AI cs.DC
Alpa: Automating Inter- and Intra-Operator Parallelism for Distributed Deep Learning
UC Berkeley(加州大学伯克利分校);Amazon Web Services(亚马逊云科技);Google(谷歌);Shanghai Jiao Tong University(上海交通大学);MBZUAI(穆罕默德·本·扎耶德人工智能大学);Carnegie Mellon University(卡内基梅隆大学);Duke University(杜克大学)
Alpa通过生成统一数据、运算符和流水线并行的执行计划,自动化大型深度学习(DL)模型的模型并行训练。现有的模型并行训练系统要么需要用户手动创建并行化计划,要么从模型并行配置的有限空间自动生成并行化计划。它们不足以在分布式计算设备上扩展复杂的DL模型。Alpa通过将并行性视为两个层次来分配大型DL模型的训练:操作员间和操作员内并行性。在此基础上,Alpa构造了一种新的面向大规模模型并行执行计划的层次空间。Alpa设计了许多编译通道,以在每个并行级别自动导出高效的并行执行计划。Alpa实现了一个高效的运行时来协调分布式计算设备上的两级并行执行。我们的评估表明,Alpa生成的并行化计划可以匹配或优于手动调整的模型并行训练系统,即使是针对它们设计的模型。与专门的系统不同,Alpa还可以推广到具有异构架构的模型和没有手动设计计划的模型。Alpa的源代码可在https://github.com/alpa-projects/alpa上公开获取
2022-06-28 cs.DC cs.LG cs.PL
A Class of Parallel Tiled Linear Algebra Algorithms for Multicore Architectures
随着多核系统在高性能计算领域的不断发展,必须重新制定线性代数算法或开发新算法,以便利用这些新处理器上的架构功能。细粒度并行性成为一个主要需求,并在操作的并行执行中引入了松同步的必要性。本文提出了一种Cholesky,LU和QR分解的算法,其中的操作可以表示为一系列的小任务,操作的方块数据。这些任务可以根据它们之间的依赖关系和计算资源的可用性来动态调度执行。这可能导致任务的乱序执行,这将完全隐藏因式分解中固有顺序任务的存在。性能比较与LAPACK算法的并行性只能利用在BLAS操作和供应商实现的水平。
2008-06-12 cs.DC cs.MS
Distributed In-memory Data Management for Workflow Executions
来自不同领域的复杂科学实验通常被建模为工作流,并使用并行工作流管理系统(WMS)在大型机器上执行。由于这种执行通常持续数小时或数天,因此一些WMS提供用户引导支持,即,它们允许用户运行数据分析,并根据结果在运行时调整工作流程。并行执行控制设计中的一个挑战是管理工作流数据以实现高效执行,同时支持用户转向支持。高可扩展性的数据访问通常是面向事务的,而对于数据分析,它是面向在线分析的,因此管理这种混合工作负载使挑战变得更加困难。在这项工作中,我们提出了SchalaDB,一组设计原则和技术的基础上,分布式内存中的数据管理高效的工作流执行控制和用户转向的架构。我们提出了一个分布式数据设计的可扩展的工作流任务调度和高可用性驱动的并行和分布式内存中的DBMS。为了评估我们的建议,我们开发了d-Chiron,这是一个根据SchalaDB原则设计的WMS。我们进行了广泛的实验评估的HPC集群多达960个计算核心。在其他分析中,我们表明,即使在运行数据分析用户转向,SchalaDB的开销是可以忽略不计的工作负载组成的数百个并发任务的共享数据。我们的研究结果鼓励工作流引擎开发人员遵循并行和分布式的面向数据的方法,不仅调度和监控,但也为用户转向。
2021-05-12 cs.DB cs.DC
A Fast Causal Profiler for Task Parallel Programs
本文提出了TASKPROF,一个分析器,确定任务并行程序的并行性瓶颈。它利用任务并行执行的结构来执行细粒度的工作归属到程序的各个部分。TASKPROF使用硬件性能计数器来执行细粒度测量,从而最大限度地减少了干扰。TASKPROF的配置文件执行使用多核并行运行。TASKPROF的因果配置文件使用户能够估计在并行性的改进时,一个区域的代码进行了优化,即使具体的优化是未知的。我们使用TASKPROF隔离了23个使用英特尔线程构建模块库的应用程序中的并行性瓶颈。我们已经设计了并行化技术在五个应用程序中增加并行度的数量级使用TASKPROF。我们的用户研究表明,开发人员能够使用TASKPROF轻松隔离性能瓶颈。
2017-07-02 cs.DC cs.PL
Making Applications Faster by Asynchronous Execution: Slowing Down Processes or Relaxing MPI Collectives
本文研究通过异步执行(如减慢MPI进程或放宽集合操作)加速内存受限并行程序,利用相空间图可视化,在多个超级计算机平台上验证了噪声可被利用以提升性能。
2023-02-24 cs.DC cs.PF
CPU-less parallel execution of lambda calculus in digital logic
School of Engineering and Physical Science, University of Lincoln(林肯大学工程与物理科学学院)
本研究提出了一种无需CPU的函数式计算模型,通过将lambda演算编译为数字逻辑,实现并行执行,展示了成功执行lambda表达式的实现。
2026-02-23 cs.AR cs.DC cs.PL
Extending a serial 3D two-phase CFD code to parallel execution over MPI by using the PETSc library for domain decomposition
为了利用过去二十年的高性能计算(HPC)向通过快速互连绑定在一起的计算节点集群的转变,现代可扩展CFD代码必须能够使用消息传递接口(MPI)在多个节点之间有效地分配工作。MPI可以使非常大的模拟运行在非常大的集群,但它是必要的,大部分的CFD代码编写与MPI铭记,一个障碍,并行化现有的串行代码。在这项工作中,我们提出了现有的两阶段的三维Navier-Stokes求解器,这是完全串行的,并行执行模型,使用MPI的结果。用连续表面力法求解了两种不可压流体的三维纳维-斯托克斯方程,用levelset方法确定了界面的位置。我们采用可移植的可扩展工具包的科学计算(PETSc)域分解(DD)的框架中,只有一小部分的代码需要修改。我们研究了所得代码的强弱标度。案例研究,是相关的基本了解电聚结器中的油/水分离。
2014-05-15 cs.DC physics.comp-ph physics.flu-dyn
The Potential of Synergistic Static, Dynamic and Speculative Loop Nest Optimizations for Automatic Parallelization
以循环为中心的程序的自动并行化研究始于静态分析,然后将其扩展到包括动态检查执行和推测执行,最好的结果涉及混合静态-动态方案。除了检测顺序程序中的并行性之外,众核处理器上的可扩展并行化还涉及到困难而有趣的并行性适应和映射挑战。这些挑战包括为存储层次结构定制数据局部性、分层构造独立任务以利用多个并行级别、调整同步粒度、平衡执行负载、将执行解耦到线程级流水线中以及利用具有专用加速器的异构硬件。多面体框架允许建模,构造和应用非常复杂的循环嵌套转换,解决大多数并行适应和映射挑战。但是,除了特定于硬件的、面向后端的转换(if转换、跟踪调度、值预测)之外,循环嵌套优化基本上忽略了动态和推测性技术。多面体编译的研究最近达到了一个重要的里程碑,支持动态的,数据相关的控制流。这为将动态分析和推测技术与高级循环嵌套优化相结合开辟了一条广阔的道路。从SPEC基准测试和数值内核中选择真实世界的例子,我们为协同静态,动态和投机循环转换技术的设计做了一个案例。我们还勾画了动态信息的嵌入,包括投机性的假设,在仿射变换搜索空间的心脏。
2011-11-29 cs.DC cs.PF cs.PL
EnvPool: A Highly Parallel Reinforcement Learning Environment Execution Engine
Sea AI Lab(Sea人工智能实验室);Drexel University(德雷塞尔大学);Snap(Snap公司);NVIDIA(英伟达);National University of Singapore(新加坡国立大学);Carnegie Mellon University(卡内基梅隆大学);Peking University(北京大学);OpenAI
在开发强化学习(RL)训练系统方面已经取得了重大进展。过去的工作,如IMPALA,Apex,Seed RL,Sample Factory等,旨在提高系统的整体吞吐量。在本文中,我们的目标是解决RL培训系统中的一个常见瓶颈,即,并行环境执行,这通常是整个系统中最慢的部分,但很少受到关注。通过针对并行RL环境的精心设计,我们提高了不同硬件设置的RL环境模拟速度,从笔记本电脑和普通工作站到高端机器(如NVIDIA DGX-A100)。在高端机器上,EnvPool在Atari环境中的环境执行速度达到每秒100万帧,在MuJoCo环境中达到每秒300万帧。在笔记本电脑上运行EnvPool时,速度是Python子进程的2.8倍。此外,在开源社区中已经证明了与现有RL训练库的良好兼容性,包括CleanRL,rl_games,DeepMind Acme等。最后,EnvPool允许研究人员以更快的速度验证他们的想法,并具有成为事实上的RL环境执行引擎的巨大潜力。示例运行表明,训练代理在笔记本电脑上玩Atari Pong和MuJoCo Ant只需要五分钟。EnvPool在https://github.com/sail-sg/envpool上开源。
2022-10-12 cs.AI cs.DC cs.LG
Distributed Submodular Maximization with Parallel Execution
次模极大化问题广泛应用于许多目标收益递减的工程问题中。虽然这个问题对于目标函数的某些子类来说是NP难的,但有一种贪心算法可以保证近似至少1/2的最优解。这种贪心算法可以用一组代理来实现,每个代理根据所有先前代理的选择顺序地做出决策。在本文中,我们考虑一个推广的贪心算法,代理可以并行决策,而不是严格的顺序。特别是,我们感兴趣的是在分区的代理,其中一组代理在分区都作出决定,同时根据先前的代理的选择,使算法终止在有限的迭代。我们提供的性能上的界限,这种并行化版本的贪心算法,并表明,平均划分的代理之间的集合在分区产生一个最佳的结构。我们还表明,这种最优结构仍然是近最优的目标函数时,表现出一定的单调性。最后,我们表明,相同的性能保证可以实现在并行化的贪心算法,即使代理只能观察到的一个子集的事先代理的决定。
2020-06-30 cs.DC cs.MA cs.SY
Process of Efficiently Parallelizing a Protein Structure Determination Algorithm
计算蛋白质结构的确定涉及优化的问题空间太大,穷举搜索。现有的方法包括优化算法,如梯度下降和模拟退火,但这些通常只能找到局部最小值。在REDcRAFT中实现的一种新方法是,不是同时折叠蛋白质,而是逐个残基折叠。这模拟了蛋白质折叠,因为每个残基都从生成的核糖体中退出。虽然REDcRAFT以指数方式减少了问题空间,因此可以在多项式时间内进行探索,但它仍然对计算要求极高。这种算法的优点是大部分执行时间都花在了固有的可并行代码上。然而,并行执行的初步结果表明,大约三分之二的执行时间是专门用于系统开销。此外,通过仔细分析和定时的程序结构的主要瓶颈可以确定。在解决这些问题后,REDcRAFT成为一个可扩展的并行应用程序,具有近两个数量级的改进。
2020-07-31 cs.CE cs.DC cs.NA