Multi-threaded Output in CMS using ROOT
CMS积极利用多核架构,在2017年经常运行4到8核的生产作业。有效扩展到8核以上的主要障碍是我们基于ROOT的输出模块,它必须是单线程的。在本文中,我们探讨了CMS框架和我们的ROOT输出模块的变化,以克服以前的缩放限制,使用两个新的ROOT功能:\texttt{TBufferMerger}异步文件合并,和隐式多线程。我们研究了新的并行输出模块的体系结构,具体的住宿和修改,以确保与CMS框架调度程序的兼容性,以及新的输出模块的性能特点。
2019-05-06 cs.DC
Multi-threaded ASP Solving with clasp
Institut für Informatik(信息学研究所);Universität Potsdam(波茨坦大学);Simon Fraser University(西蒙弗雷泽大学);Griffith University(格里菲斯大学)
我们提出了新的多线程版本的国家的最先进的答案集求解器扣。我们详细介绍了它的组件和通信架构,并说明他们如何支持的主要功能的扣。此外,我们提供了一些见解的数据表示用于不同的约束类型处理的扣。所有这一切都伴随着一个广泛的实验分析的主要特点有关的多线程卡环。
2012-10-11 cs.AI cs.DC cs.LO
Transparent Migration of Multi-Threaded Applications on a Java Based Grid
网格计算使得能够将由不同安全域管理的大量异构资源集中起来。应用程序动态地部署在当时可用的资源上。资源和应用需求的动态性使得网格中间件需要支持将运行中的应用迁移到不同资源的能力。特别是,网格应用程序通常是长时间运行的,因此停止它们并从头开始并不是一个可行的选择。本文介绍了一个基于Java的网格中间件DGET的迁移支持的概述。DGET中的迁移支持包括多线程迁移和异步迁移。
2006-08-29 cs.DC
Data access optimizations for highly threaded multi-core CPUs with multiple memory controllers
具有多个内存控制器的处理器和系统架构在具有常规访问模式的代码上容易显示出瓶颈和不稳定的性能数字。虽然这种影响以高速缓存抖动和别名冲突的形式为人们所熟知,但当涉及内存访问时,它们会变得更加严重。使用新的Sun UltraCore T2处理器作为原型多核设计,我们分析了低级别和应用程序基准测试中的性能模式,并通过仔细的数据布局和填充展示了规避瓶颈的方法。
2008-01-28 cs.DC cs.PF
JArena: Partitioned Shared Memory for NUMA-awareness in Multi-threaded Scientific Applications
分布式共享存储器(DSM)体系结构被广泛应用于当今的计算机设计中,以缓解不断扩大的处理-存储器间隙,并且不可避免地表现出对共享存储器并行应用的非均匀存储器访问(NUMA)。如果不能实现完全的NUMA感知,应用程序的性能会显著下降,尤其是在当今拥有数十到数百个内核的众核平台上。然而,首次触摸和内存策略等传统方法在虚假页面共享、碎片化或易用性方面都失败了。在本文中,我们提出了一个分区共享内存的方法,允许多线程应用程序实现充分的NUMA意识,只有轻微的代码更改,并开发一个companying NUMA意识堆管理器,消除虚假的页面共享,最大限度地减少碎片。在一个256核cc-NUMA计算节点上的实验表明,该方法实现了真正的NUMA感知,并随着核使用的增加,将典型多线程科学应用的性能提高了4.3倍。
2019-02-20 cs.DC cs.PF
Multi-threaded Sparse Matrix-Matrix Multiplication for Many-Core and GPU Architectures
稀疏矩阵-矩阵乘法是一个关键的核心,在科学计算和图分析等领域有着广泛的应用。过去已经研究了几种算法用于这个基本内核。在本文中,我们开发了稀疏矩阵矩阵乘法的并行算法,重点是跨不同的高性能计算架构的性能移植。这些算法的性能取决于它们所使用的数据结构。我们比较了这些算法中不同类型的数据结构,并展示了这些数据结构之间的性能差异。此外,我们开发了一个元算法,kkSpGEMM,选择正确的算法和数据结构的基础上的问题的特点。我们展示了三种体系结构的性能比较,并证明了社区需要开发两个阶段的稀疏矩阵矩阵乘法实现所涉及的数据结构的有效重用。
2018-01-09 cs.DC
Performance Analysis of Open Source Machine Learning Frameworks for Various Parameters in Single-Threaded and Multi-Threaded Modes
National Technical University of Ukraine "Igor Sikorsky Kyiv Polytechnic Institute"(乌克兰国立技术大学“伊戈尔·西科尔斯基基辅理工学院”)
考虑并比较了一些最通用和最流行的机器学习开源框架(TensorFlow,Deep Learning 4j和H2O)的基本功能。对它们进行了比较分析,并就这些平台的优缺点得出了结论。事实标准MNIST数据集的性能测试是在H2O框架上进行的,用于针对CPU和GPU平台设计的单线程和多线程操作模式的深度学习算法。此外,我们还展示了在H2O平台上测试神经网络架构的结果,用于各种激活函数,停止度量和机器学习算法的其他参数。对于单线程模式下的手写数字MNIST数据库的用例,证明了这些参数的盲选可以极大地增加运行时间(2-3阶),而不会显着增加精度。这一结果对于现有的和新的机器学习方法的优化,特别是对于图像识别问题,具有至关重要的影响。
2017-08-29 cs.CV cs.DC cs.LG
Thread Progress Equalization: Dynamically Adaptive Power and Performance Optimization of Multi-threaded Applications
动态自适应多核体系结构已被提出作为一种有效的解决方案,以优化峰值功率受限的处理器的性能。在处理器中,每个内核的微体系结构参数或电压/频率在运行时要改变,从而为每个内核提供一系列的功率/性能工作点。在本文中,我们提出了线程进度均衡(TPEq),一个运行时的机制,在动态自适应多核处理器上运行的多线程应用程序的功率约束性能最大化。与现有方法相比,TPEq(i)识别并解决多线程应用程序中线程间异构性的两个主要来源,(ii)在多项式时间内确定关于核心和配置的数量的最佳核心配置,以及(iii)不需要修改用户级源代码。我们的实验评估表明,TPEq优于最先进的运行时功率/性能优化技术,在文献中提出的动态自适应多核高达23%。
2016-03-21 cs.DC
TriMe++: Multi-threaded triangular meshing in two dimensions
本文提出多线程二维三角网格库 TriMe++,实现并比较 DistMesh、质心 Voronoi 图及混合算法,在千万点级网格生成中获得显著并行加速。
2024-12-08 cs.CG cs.DC cs.NA
Multi-Threaded Dense Linear Algebra Libraries for Low-Power Asymmetric Multicore Processors
密集线性代数库,如BLAS和LAPACK,为许多科学和工程应用提供了相关的数值工具集合。虽然存在用于许多当前多线程架构的BLAS(和LAPACK)功能的高性能实现,但是这些库用于非对称多核处理器(AMP)的适配仍然悬而未决。在本文中,我们解决这个挑战,通过开发一个不对称意识的实现的BLAS,基于BLIS框架,并为AMP配备了两种类型的核心:快速/耗电与缓慢/节能。为此,我们将粗粒度和细粒度并行化策略集成到库例程中,分别动态分配两种核心类型之间的工作量和静态重新分配相同类型的核心之间的工作。我们的结果在嵌入Exynos 5422 SoC的ARM big.LITTLE处理器上,使用BLAS的非对称感知版本和LAPACK的传统版本的简单迁移,实验评估了这种方法的优点,局限性和潜力。
2015-11-06 cs.DC cs.MS
Benchmarking Processor Performance by Multi-Threaded Machine Learning Algorithms
National University of Computer and Emerging Sciences(国家计算机与新兴科学大学)
机器学习算法使计算机能够通过从以前的数据中学习来预测事物。数据存储和处理能力正在快速增长,从而增加了机器学习和人工智能的应用。大部分工作都是为了提高过去内置的的模型的准确性,很少有研究确定机器学习采集的计算成本。在本文中,我将继续这一后期的研究工作,并将多线程机器学习聚类算法的性能比较。我将研究线性回归、随机森林和K-最近邻,以确定算法的性能特征以及获得结果的计算成本。我将通过运行这些多线程算法来对系统硬件性能进行基准测试,以在数据集上训练和测试模型,从而注意算法性能矩阵的差异。最后,我将陈述关于这些算法在我的系统上的性能效率的最佳性能算法。
2021-09-11 cs.AI cs.AR cs.DC
Optimization of the Sparse Multi-Threaded Cholesky Factorization for A64FX
稀疏线性代数例程是各种科学应用的基本构建块。直接求解器是通过将矩阵分解为三角矩阵的乘积来求解线性系统的方法,通常在许多情况下使用。Cholesky分解是求解对称正定矩阵的最快的直接方法。提出了一种基于稀疏矩阵结构确定并行Cholesky分解最优任务粒度的方法--选择性嵌套。我们提出了OPT-D-COST算法,自动和动态地应用选择性排样。OPT-D-COST利用矩阵稀疏性在直接求解器的上下文中驱动基于复杂任务的并行工作负载。我们运行一个广泛的评估活动,考虑一组异构的60稀疏矩阵和并行机具有A64 FX处理器。OPT-D-COST相对于运行直接求解器的最佳并行方法,平均性能加速比为1.46 $\times$。
2022-02-18 cs.DC
SpeedMalloc: Improving Multi-threaded Applications via a Lightweight Core for Memory Allocation
SpeedMalloc利用轻量级可编程支持核心处理多线程内存分配,将分配器元数据隔离在专用缓存中以减少缓存冲突和跨核心同步,相比五种主流软硬件分配器实现最高1.75倍加速。
2025-08-27 cs.AR cs.DC
A Multi-Threaded Version of MCFM
我们报告我们的研究结果修改MCFM使用OpenMP实现多线程。通过使用OpenMP,修改后的MCFM将在任何处理器上执行,自动调整到可用线程的数量。我们修改了集成例程VEGAS以将事件评估分布在线程上,同时在每次迭代结束时组合所有事件以优化数值积分。特别注意蒙特卡洛积分的结果与所使用的线程数无关,以便于验证MCFM的OpenMP版本。
2015-03-20 cs.DC cs.MS hep-ph
Scalable Triadic Analysis of Large-Scale Graphs: Multi-Core vs. Multi- Processor vs. Multi-Threaded Shared Memory Architectures
三元分析包含一组有用的图挖掘方法,这些方法以三元组的概念为中心,三元组是三个节点的子图。这些方法经常应用于社会科学以及许多其他不同的领域。三元组方法通常对三元组普查进行操作,该普查对图中每个可能的边配置的三元组的数量进行计数。与其他图算法一样,三元普查算法在图达到数千万到数十亿个节点时不能很好地扩展。为了实现大规模图的三元分析,我们开发并优化了一个三元普查算法,以有效地执行共享内存架构。然后,我们进行了性能评估的三个特定的系统:Cray XMT,HP Superdome,和AMD多核NUMA机的并行三元普查算法。这三个系统具有共享的内存架构,但具有明显不同的硬件能力来管理并行性。
2012-09-27 cs.DC cs.SI
A Multi-Threaded Fast Convolver for Dynamically Parallel Image Filtering
2D卷积是数字图像处理的主要内容。大幅面成像器的出现使得有可能用硅“铺设”光学传感器的焦平面,这导致非常大的图像,可能需要大量的计算来处理。通过2D卷积过滤大型图像通常会因各种效果而变得复杂(例如,在宽视场仪器中发现的不均匀性)。本文介绍了一种快速(基于FFT)的卷积图像的方法,这也是非常适合于非常大的图像。该方法的并行版本使用多线程方法实现,该方法允许更有效的负载平衡和更简单的软件架构。该方法已在高级解释语言(IDL)中实现,同时还利用开放标准向量库(VSIPL)和开放标准并行指令(OpenMP)。并行方法和软件架构通常适用于各种算法,并且具有使用户能够获得简单操作环境的便利性的优点,同时还使用完全可移植的代码提供高性能。
2001-07-05 astro-ph cs.DC
Solving Dense Generalized Eigenproblems on Multi-threaded Architectures
我们比较了两种方法来计算一部分的频谱密集对称定广义特征值问题:一个是基于减少到三对角形式,和其他Krylov子空间迭代。两个大规模的应用,产生在分子动力学和材料科学,调查的应用程序,架构和并行的方法的性能的求解器的贡献。在配备图形处理单元(GPU)的最先进的8核平台上的实验结果表明,在实际应用中,迭代Krylov子空间方法也可以是解决密集问题的有竞争力的方法。
2012-06-17 cond-mat.mtrl-sci cs.DC cs.MS
BUNDLEP: Prioritizing Conflict Free Regions in Multi-Threaded Programs to Improve Cache Reuse -- Extended Results and Technical Report
捆绑包中:Tessler和Fisher提出了一种调度机制和组合最坏情况执行时间计算方法,将指令缓存视为线程之间共享的有益资源。对象分析产生最坏情况下的执行时间界限,并将代码段划分为多个区域。线程在运行时间通过BUNDLE调度算法动态地放置在与区域关联的束中,在那里它们受益于共享的高速缓存值。在以前的工作的评价,任务创建了一个预定的最坏情况下的执行时间路径通过控制流图。先验知识的最坏情况下的路径是一个不切实际的限制任何分析。当时,唯一可用的其他解决方案是图的所有路径搜索,由于其复杂性,这是一种同样不切实际的方法。这项工作的主要重点是建立在BUNDLE的基础上,将其适用性扩展到概念验证之外。我们提出了一个完整的最坏情况下的执行时间的计算方法,包括线程级上下文切换成本,在实际程序上操作,具有代表性的架构参数,并比较我们的结果所产生的庚烷的最先进的方法。为此,我们提出了一个修改的束调度算法称为束。捆绑包被分配了优先级,这些优先级通过控制流图强制执行有序的线程流--避免了在图中进行多个全路径搜索的需要。在许多情况下,我们的评估表明,与序列化线程执行和最先进的WCET分析相比,BUNLDEP具有运行时和分析方面的优势。
2018-05-30 cs.DC
Efficient Concurrent Execution of Smart Contracts in Blockchains using Object-based Transactional Memory
本文提出了一种基于对象语义的智能合约事务(SCT)并发执行的有效框架,使用乐观的单版本基于对象的软件事务存储系统(SVOSTM)和多版本OSTM(MVOSTM)。在我们的框架中,一个多线程的矿工构造一个块图(BG),捕获SCT之间的对象冲突关系,并将其存储在块中。稍后,验证器根据这个BG并发地、确定性地重新执行相同的SCT。恶意矿工可以修改BG以损害区块链,例如,造成双重消费为了识别恶意矿工,我们提出了智能多线程验证器(SMV)。实验分析表明,所提出的多线程的矿工和验证器实现了显着的性能增益比国家的最先进的SCT执行框架。
2020-03-27 cs.DC
Parallel Programming Model for the Epiphany Many-Core Coprocessor Using Threaded MPI
Adapteva Epiphany众核架构包括具有最少非核功能的低功耗RISC内核的2D平铺网格片上网络(NoC)。它为整数和浮点计算以及并行可扩展性提供了高计算能效。然而,尽管有有趣的架构特性,一个令人信服的编程模型还没有提出日期。本文展示了一个有效的并行编程模型的Epiphany架构的消息传递接口(MPI)标准的基础上。使用MPI利用了Epiphany架构和传统的并行分布式串行核心集群之间的相似性。我们的方法使MPI代码执行的RISC阵列处理器上的修改很少,并实现高性能。我们报告了四种算法(密集矩阵-矩阵乘法、N体粒子相互作用、五点2D模板更新和2D FFT)的线程MPI实现的基准测试结果,并强调了快速核间通信对架构的重要性。
2015-06-17 cs.DC
Performance Characterization of Multi-threaded Graph Processing Applications on Intel Many-Integrated-Core Architecture
英特尔至强融核多集成核(MIC)架构开创了万亿级集成的新时代。在新兴的杀手级应用中,并行图处理已经成为分析连通数据的关键技术。在本文中,我们经验性地评估了各种计算平台,包括Intel Xeon E5 CPU,Nvidia Geforce GTX 1070 GPU和Xeon Phi 7210处理器,代号为Knights Landing(KNL),用于并行图形处理。我们表明,KNL获得令人鼓舞的性能时,处理图形,使它可以成为一个有前途的解决方案,以加速多线程图形应用程序。我们进一步描述了KNL架构增强对最先进的图框架性能的影响,我们有四个关键的观察结果:1不同的图应用程序需要不同数量的线程才能达到峰值性能。对于同一个应用程序,不同的数据集甚至需要不同数量的线程来实现最佳性能。2只有少数图形应用程序受益于高带宽MCDRAM,而其他应用程序则青睐低延迟DDR4 DRAM。3在KNL上执行AVX512 SIMD指令的向量处理单元在运行最先进的图形框架时未得到充分利用。4提供最低本地内存访问延迟的子NUMA缓存集群模式损害了缺乏NUMA感知的图形基准测试的性能。最后,我们提出了未来的工作,包括系统自动调优工具和图形框架优化,以充分发挥潜力的KNL的并行图形处理。
2019-02-24 cs.DC
Defending against the nothing-at-stake problem in multi-threaded blockchains
在区块链系统中,资源的稀缺性被用作Sybil保护机制。在工作量证明区块链中,这种资源就是计算能力。在分叉的情况下,这种资源的稀缺性理论上会阻止矿工在分叉的两个分支上生产区块。在权益证明区块链中,由于该资源是令牌权益,因此创建区块的计算成本可以忽略不计。在分叉的情况下,如果没有采取特定的措施,理性的区块生产者应该扩展分叉的两个分支。在具有顺序块生产的区块链中,一种被称为削减的惩罚机制通常被认为是对无风险问题的保护。然而,在具有并行块生产的区块链的背景下,削减似乎不足以应对众多的分歧机会。在本文中,我们提出了一种新的保护措施,以防止没有利害关系的问题,最大限度地利用BFT和Nakamoto为基础的共识。通过结合这些方法,我们希望通过允许并行块生产而无需协调来扩展区块链。
2023-02-23 cs.CR cs.DC
Distributed Order Recording Techniques for Efficient Record-and-Replay of Multi-threaded Programs
Nanchang Hangkong University(南昌航空大学);Pacific Northwest National Laboratory(太平洋西北国家实验室);RIKEN R-CCS(理化学研究所计算科学研究中心);NVIDIA(英伟达);Lawrence Livermore National Laboratory(劳伦斯利弗莫尔国家实验室);Technical University of Munich(慕尼黑工业大学)
本文提出基于分布式时钟和纪元的记录回放技术,提升多线程程序的回放效率,并可与 MPI 工具结合处理复杂混合编程应用。
2026-02-17 cs.DC
Use of checkpoint-restart for complex HEP software on traditional architectures and Intel MIC
Northeastern University(东北大学);SLAC National Accelerator Laboratory(SLAC国家加速器实验室);Princeton University(普林斯顿大学)
本文探讨了检查点重启技术在HEP工作流中的应用,测试了CMS软件、Geant4-MT和DMTCP包,分析了单线程和多线程应用在传统架构和Intel MIC上的性能与可扩展性。
2014-01-22 cs.DC cs.NA hep-ex
Programming Scalable Cloud Services with AEON
设计低延迟的基于云的应用程序,以适应不可预测的工作负载并有效地利用现代云计算平台是很困难的。Actor模型是一种流行的范例,可用于开发分布式应用程序:Actor封装状态并通过发送事件相互通信。如果每个事件只访问单个参与者,则可以保证一致性,从而消除潜在的数据竞争和死锁。然而,为跨多个参与者的并发事件提供一致性并不简单。本文通过引入AEON来解决这个问题:一个提供以下属性的框架:(i)可编程性:程序员在推理多参与者事件导致的并发时,只需要推理顺序语义;(ii)可扩展性:AEON运行时协议保证多参与者事件的可串行化和无饥饿执行,同时最大化并行执行;(iii)弹性:AEON支持细粒度的弹性,使程序员能够透明地迁移单个参与者,而不会违反一致性或带来显着的性能开销。我们的实证结果表明,这是可能的,结合所有上述三个世界的最佳而不影响应用程序的性能。
2019-12-07 cs.DC
OpenCL Actors - Adding Data Parallelism to Actor-based Programming with CAF
Actor计算模型是为无缝支持并发和分布而设计的。然而,它仍然不具体的数据并行程序流,而现代的许多核心硬件,如图形处理单元(GPU)或协处理器的可用处理能力增加了通用计算的数据并行的相关性。在这项工作中,我们介绍了OpenCL启用的演员的C++演员框架(CAF)。这为访问任何OpenCL设备提供了一个高级接口,而无需离开Actor范例。这种新型的Actor被集成到CAF的运行时环境中,并在异构硬件上的分布式系统中产生透明的消息传递。遵循CAF中的actor逻辑,OpenCL内核可以在封装在C++ actor中的同时进行组合,因此可以以多级方式对驻留在GPU上的数据进行操作。因此,开发人员能够从原语构建复杂的数据并行程序,而无需离开Actor范式,也不会牺牲性能。我们对商用GPU、Nvidia TESLA和Intel PHI的评估显示,在卸载较大工作负载时,预期的线性扩展行为。对于亚秒级负载,发现卸载效率在设备之间存在很大差异。此外,我们的研究结果表明,使用本机OpenCL API编程的开销可以忽略不计。
2017-09-22 cs.DC
Mixed-mode implementation of PETSc for scalable linear algebra on multi-core processors
随着多核处理器成为现代超级计算机中无处不在的构建块,现在是时候让应用程序在处理器设计中接受这些发展了。为了实现亿级性能,应用程序将需要利用现代高性能计算机中暴露的新并行级别的方法。一种典型的方法是使用共享内存编程技术来最好地利用多核节点以及节点间消息传递。在本文中,我们描述了在PETSc库中添加OpenMP线程功能。我们强调了一些问题,阻碍了线程应用程序在现代处理器上的良好性能,并描述了如何否定它们。PETSc的OpenMP分支使用从Fluidity中提取的矩阵进行基准测试,Fluidity是一种CFD应用程序代码,使用该库作为其线性求解器引擎。混合模式实现的整体性能优于纯MPI版本。
2012-08-10 cs.DC cs.PF