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
Comparative Analysis of Open Source Frameworks for Machine Learning with Use Case in Single-Threaded and Multi-Threaded Modes
National Technical University of Ukraine "Igor Sikorsky Kyiv Polytechnic Institute"(乌克兰国立技术大学“伊戈尔·西科斯基基辅理工学院”);University of Paris 8(巴黎第八大学)
考虑并比较了一些最通用和最流行的机器学习开源框架(TensorFlow,Deep Learning4j和H2O)的基本功能。对它们进行了比较分析,并就这些平台的优缺点得出了结论。针对事实标准MNIST数据集的性能测试是在针对单线程和多线程操作模式的CPU和GPU平台设计的深度学习算法的H2O框架上进行的。
2017-06-07 cs.CV cs.DC cs.LG
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
Multi-threaded Sparse Matrix-Matrix Multiplication for Many-Core and GPU Architectures
稀疏矩阵-矩阵乘法是一个关键的核心,在科学计算和图分析等领域有着广泛的应用。过去已经研究了几种算法用于这个基本内核。在本文中,我们开发了稀疏矩阵矩阵乘法的并行算法,重点是跨不同的高性能计算架构的性能移植。这些算法的性能取决于它们所使用的数据结构。我们比较了这些算法中不同类型的数据结构,并展示了这些数据结构之间的性能差异。此外,我们开发了一个元算法,kkSpGEMM,选择正确的算法和数据结构的基础上的问题的特点。我们展示了三种体系结构的性能比较,并证明了社区需要开发两个阶段的稀疏矩阵矩阵乘法实现所涉及的数据结构的有效重用。
2018-01-09 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
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
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
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
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
Basker: A Threaded Sparse LU Factorization Utilizing Hierarchical Parallelism and Data Layouts
可扩展的稀疏LU分解对于电路和电网的高效数值模拟至关重要。在这项工作中,我们提出了一个新的可扩展的稀疏直接求解器称为Basker。Basker介绍了一种新的算法来并行化稀疏LU分解的Gilbert-Peierls算法。随着体系结构的发展,存在对本质上分层的算法的需求,以匹配线程组、单个线程和向量级并行性中的层次结构。Basker旨在很好地映射到架构中的这种层次结构。还需要数据布局来匹配存储器中的多个层级。Basker使用稀疏矩阵的二维层次结构,该结构映射到存储器架构中的层次结构和并行性中的层次结构。我们使用佛罗里达大学稀疏矩阵集合和Xyce电路仿真中的电路和电网矩阵,在英特尔SandyBridge和至强融核平台上对Basker进行了性能评估。Basker在CPU(16核)上实现了5.91倍的几何平均加速比,在Xeon Phi(32核)上实现了7.4倍的几何平均加速比。对于低填充电路矩阵,Basker在CPU(16核)和Xeon Phi(32核)上的性能分别是Intel MKL Pardiso(PMKL)的53倍和13.3倍。此外,Basker对来自实际Xyce模拟的具有挑战性的矩阵序列提供了5.4倍的加速。
2016-01-21 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
A Multi-Threaded Version of MCFM
我们报告我们的研究结果修改MCFM使用OpenMP实现多线程。通过使用OpenMP,修改后的MCFM将在任何处理器上执行,自动调整到可用线程的数量。我们修改了集成例程VEGAS以将事件评估分布在线程上,同时在每次迭代结束时组合所有事件以优化数值积分。特别注意蒙特卡洛积分的结果与所使用的线程数无关,以便于验证MCFM的OpenMP版本。
2015-03-20 cs.DC cs.MS hep-ph
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
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
SpeedMalloc: Improving Multi-threaded Applications via a Lightweight Core for Memory Allocation
SpeedMalloc利用轻量级可编程支持核心处理多线程内存分配,将分配器元数据隔离在专用缓存中以减少缓存冲突和跨核心同步,相比五种主流软硬件分配器实现最高1.75倍加速。
2025-08-27 cs.AR cs.DC
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
TriMe++: Multi-threaded triangular meshing in two dimensions
本文提出多线程二维三角网格库 TriMe++,实现并比较 DistMesh、质心 Voronoi 图及混合算法,在千万点级网格生成中获得显著并行加速。
2024-12-08 cs.CG cs.DC cs.NA
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
A Multi-Threaded Fast Convolver for Dynamically Parallel Image Filtering
2D卷积是数字图像处理的主要内容。大幅面成像器的出现使得有可能用硅“铺设”光学传感器的焦平面,这导致非常大的图像,可能需要大量的计算来处理。通过2D卷积过滤大型图像通常会因各种效果而变得复杂(例如,在宽视场仪器中发现的不均匀性)。本文介绍了一种快速(基于FFT)的卷积图像的方法,这也是非常适合于非常大的图像。该方法的并行版本使用多线程方法实现,该方法允许更有效的负载平衡和更简单的软件架构。该方法已在高级解释语言(IDL)中实现,同时还利用开放标准向量库(VSIPL)和开放标准并行指令(OpenMP)。并行方法和软件架构通常适用于各种算法,并且具有使用户能够获得简单操作环境的便利性的优点,同时还使用完全可移植的代码提供高性能。
2001-07-05 astro-ph cs.DC
Performance Comparison of Python Translators for a Multi-threaded CPU-bound Application
目前,Python是各种应用领域中使用最广泛的语言之一。然而,由于其官方CPython解释器的性质,它在优化和并行化应用程序时有局限性,特别是对于CPU受限的应用程序。为了解决这个问题,出现了几种替代翻译器,每种都有不同的方法和自己的性价比。由于缺乏比较研究,我们使用N-Body作为案例研究(一个众所周知的高计算需求问题)对这些翻译器进行了性能比较。结果表明,CPython和PyPy在并行化算法方面由于其局限性而表现不佳;而Numba和Cython则表现出更高的性能,证明是加速数值算法的可行选择。
2022-05-23 cs.DC cs.PL
ActiveMonitor: Non-blocking Monitor Executions for Increased Parallelism
我们提出了一套新颖的思想,设计和实现的多线程程序的监视器对象。我们的方法有两个主要目标:(a)增加监视对象的并行性,从而为多线程程序提供性能增益(更短的运行时间),以及(b)引入结构,允许程序员轻松编写基于监视器的多线程程序,可以实现这些性能增益。我们描述了我们的框架,称为ActiveMonitor的概念,其原型实现使用期货。我们评估其性能方面的多线程程序的运行时的链表,有界缓冲区,和其他基本问题,在Java中实现。我们比较我们的实现的运行时使用Java的可重入锁,最近提出的自动信令框架AutoSynch,和其他一些技术的文献。的评估结果表明,监视器的基础上,我们的框架提供显着的收益,在运行时的性能相比,传统的监视器使用Java的可重入锁实现。
2014-08-04 cs.DC cs.PL
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
Solving Dense Generalized Eigenproblems on Multi-threaded Architectures
我们比较了两种方法来计算一部分的频谱密集对称定广义特征值问题:一个是基于减少到三对角形式,和其他Krylov子空间迭代。两个大规模的应用,产生在分子动力学和材料科学,调查的应用程序,架构和并行的方法的性能的求解器的贡献。在配备图形处理单元(GPU)的最先进的8核平台上的实验结果表明,在实际应用中,迭代Krylov子空间方法也可以是解决密集问题的有竞争力的方法。
2012-06-17 cond-mat.mtrl-sci cs.DC cs.MS
Defending against the nothing-at-stake problem in multi-threaded blockchains
在区块链系统中,资源的稀缺性被用作Sybil保护机制。在工作量证明区块链中,这种资源就是计算能力。在分叉的情况下,这种资源的稀缺性理论上会阻止矿工在分叉的两个分支上生产区块。在权益证明区块链中,由于该资源是令牌权益,因此创建区块的计算成本可以忽略不计。在分叉的情况下,如果没有采取特定的措施,理性的区块生产者应该扩展分叉的两个分支。在具有顺序块生产的区块链中,一种被称为削减的惩罚机制通常被认为是对无风险问题的保护。然而,在具有并行块生产的区块链的背景下,削减似乎不足以应对众多的分歧机会。在本文中,我们提出了一种新的保护措施,以防止没有利害关系的问题,最大限度地利用BFT和Nakamoto为基础的共识。通过结合这些方法,我们希望通过允许并行块生产而无需协调来扩展区块链。
2023-02-23 cs.CR cs.DC
Parallelizing Bisection Root-Finding: A Case for Accelerating Serial Algorithms in Multicore Substrates
多核架构主导着当今的处理器市场。尽管内核和线程的数量相当高,并且还在继续增长,但串行算法本身并没有从大量的内核和线程中受益。在本文中,我们提出了Runahead计算,一种技术,它使用空闲线程在多线程架构加速串行算法的执行时间。通过针对CPU和GPU平台以及特定串行算法的详细评估,我们的方法在实验中将执行延迟降低了9倍。
2018-05-11 cs.DC
Unlocking Python's Cores: Hardware Usage and Energy Implications of Removing the GIL
Independent Researcher
研究发现移除Python GIL在并行工作负载中可显著提升性能和能效,但对顺序工作负载和高锁竞争场景有负面影响,开发者需根据具体需求评估采用。
2026-03-05 cs.DC cs.PF
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
LIKWID: Lightweight Performance Tools
利用当今微处理器的性能需要深入了解微体系结构,并了解线程和缓存拓扑中不断增长的复杂性。LIKWID是一组命令行实用程序,解决了四个关键问题:探测共享内存节点的线程和缓存拓扑,在程序上强制执行线程-核心亲和力,测量性能计数器指标,以及可靠的性能上限的微基准测试。此外,它包括一个mpirun包装器,允许在MPI和混合MPI/线程应用程序中的可移植线程-核心亲和力。为了展示工具集的功能,我们使用著名的OpenMP STREAM triad基准测试来展示线程关联对性能的影响,使用硬件计数器工具来研究模板代码的性能,最后展示如何检测基于ccNUMA的计算节点上的带宽问题。
2013-01-07 cs.DC cs.PF