Scheduling Algorithms for Asymmetric Multi-core Processors
由于对处理器性能的要求越来越高,功耗不断增加,多核处理器技术应运而生,成为当前和未来十年的主流技术。研究提倡非对称多核处理器系统,以更好地利用芯片的真实状态。然而,非对称多核架构对传统上假定硬件同构的操作系统调度器提出了新的挑战。因此,如何将线程调度到内核已成为操作系统内核的一个重要问题。在本文中,提出了调度算法的非对称多核处理器进行了分类。本文通过对这几类典型算法的研究,对非对称多核系统的调度算法进行了综述。
2017-02-14 cs.DC
Climbing Mont Blanc - A Training Site for Energy Efficient Programming on Heterogeneous Multicore Processors
Climbing Mont Blanc(CMB)是一个开放的在线评判,用于培训最先进的异构多核的节能编程。它使用Hardkernel的Odroid-XU 3板,带有Exynos Octa处理器和集成功率传感器。该处理器是三路异构的,包含三种不同类型的14个不同内核。该板目前接受C和C++程序,并支持OpenCL v1.1、OpenMP 4.0和Pthreads。使用图形用户界面提交的程序在时间、所用能量和能量效率(EDP)方面被评估。一个小的和各种各样的问题,该系统是目前在使用中的一个中等规模的并行计算课程在NTNU。其他在线节目评委也存在,但我们不知道任何类似的系统,也报告能源效率。
2015-11-06 cs.DC
Novel Model-based Methods for Performance Optimization of Multithreaded 2D Discrete Fourier Transform on Multicore Processors
在本文中,我们使用三个高度优化的软件包,FFTW-2.1.5,FFTW-3.3.7,和英特尔MKL FFT提供的多线程快速傅立叶变换,提出了一种新的基于模型的并行计算技术,作为一个非常有效的和便携式的方法优化的科学多线程例程的性能,特别是在当前的多核时代,处理器有大量的核心。在此基础上提出了两种优化方法PFFT-FPM和PFFT-FPM-PAD。它们使用p个抽象处理器计算大小为NxN的复信号矩阵的2D-DFT。这两种算法都以处理器的问题大小的性能的离散3D函数作为输入,并输出变换后的信号矩阵。基于我们在由36个物理内核组成的现代英特尔Haswell多核服务器上的实验,使用FFTW-3.3.7观察到的PFFT-FPM的平均和最大加速比分别为1.9倍和6.8倍,使用英特尔MKL FFT观察到的平均和最大加速比分别为1.3倍和2倍。使用FFTW-3.3.7观察到的PFFT-FPM-PAD的平均和最大加速比分别为2倍和9.4倍,使用英特尔MKL FFT观察到的平均和最大加速比分别为1.4倍和5.9倍。
2018-08-16 cs.DC
Exploring performance and power properties of modern multicore chips via simple machine models
现代多核芯片在性能和功耗方面表现出复杂的行为。从英特尔Sandy Bridge处理器开始,直接测量CPU芯片的功耗并将此数据与运行代码的性能属性相关联已成为可能。超越一个简单的瓶颈分析,我们采用最近发表的执行缓存内存(ECM)模型来描述流内核的单核和多核性能。该模型改进了著名的屋顶线模型,因为它可以预测的缩放和饱和行为的带宽有限的循环内核在多核芯片上。饱和点与能量消耗的考虑特别相关。从功耗测量的基准程序有很大的不同要求的硬件,我们得出一个简单的,现象学的功率模型的桑迪桥处理器。与ECM模型一起,我们能够解释多核处理器的性能和功耗行为的许多特点,并推导出并行程序节能执行的指导方针。最后,我们表明,ECM和功率模型可以成功地用于描述的缩放和功率行为的格子玻尔兹曼流求解器代码。
2014-03-19 cs.DC cs.PF
Power Regulation in High Performance Multicore Processors
本文提出,实现,并评估多核处理器的功率调节技术,基于可调增益的积分控制器。增益设计用于宽稳定裕度,并作为控制律的一部分进行实时的计算。控制系统的跟踪性能是鲁棒的建模不确定性和计算误差的回路。设计这样的控制器的主要挑战是,程序工作负载的功耗变化很大,往往无法准确测量,因此现有的控制器要么是特设的或基于先验建模的处理器和工作负载的特征。我们的方法不同。利用上述鲁棒性,它使用一个简单的教科书建模框架,并通过系统识别模块实时的调整其参数。在这一点上,它的交易建模精度快速计算的循环,使其适合在线实施的商品数据中心处理器。因此,所提出的控制器是不可知的,在这个意义上,它不需要任何先验的系统特性。我们提出了一种实现的控制器上英特尔的第四代微体系结构,Haswell,并测试它的一些行业基准程序,用于科学计算和数据中心的应用。这些实验的结果详细揭示了在商品多核处理器中实现可证明收敛的功率调节解决方案的实际挑战。
2017-09-14 cs.DC math.OC
Leakage-Aware Reallocation for Periodic Real-Time Tasks on Multicore Processors
降低计算系统的能耗是一个越来越重要的问题。在本文中,我们考虑在多核处理器上基于分区的周期性实时的【形】任务的能量感知调度。调度利用动态电压缩放(DVS)和核心睡眠调度,以减少动态和泄漏的能量消耗。然而,如果核心状态切换的开销不可忽略,则该调度策略在能量效率方面的性能可能会降低。为了实现进一步的节能,我们扩展了静态任务调度与运行时任务重新分配。其基本思想是聚合内核之间的空闲时间,以便尽可能多的内核可以以降低整体能耗的方式进入睡眠状态。仿真结果表明,该方法比传统的泄漏感知DVS节能高达20%。
2010-11-13 cs.DC cs.OS
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
A Design Space Exploration Methodology for Parameter Optimization in Multicore Processors
对于多核/众核处理平台的特定于应用的设计的需要随着计算系统在不同的应用领域中的使用而变得明显。为了使多核/众核处理器适合于应用特定的要求,必须相应地调整大量处理器设计参数,这涉及在大的搜索空间上进行严格和广泛的设计空间探索。在本文中,我们提出了一个有效的设计空间探索的方法。我们评估我们的方法在两个搜索空间-小和大,使用周期精确模拟器(ESESC)和一组标准的PARSEC和SPLASH-2基准。对于较小的设计空间,我们比较从我们的设计空间探索方法获得的结果,从完全穷举搜索。结果表明,从我们的方法得到的解决方案的质量是从完全穷举搜索得到的结果的1.35% - 3.69%,而只有探索2.74% - 3%的设计空间。对于更大的设计空间,我们比较解决方案的质量不同的结果,通过改变可调处理器的设计参数的数量,包括在我们的方法的穷举搜索阶段。结果表明,包括更多的可调参数在我们的方法的穷举搜索阶段大大提高了解决方案的质量。
2018-02-28 cs.AR cs.DC
Improving the throughput of the AES algorithm with multicore processors
AES,高级加密标准,可以被认为是使用最广泛的现代对称密钥加密标准。要使用AES算法加密/解密文件,文件必须经历一组复杂的计算步骤。因此,AES算法的软件实现将是缓慢的并且消耗大量的时间来完成。近年来,存储和传输的数据的巨大增长使得当需要加密/解密这种数据时,这个问题变得更加令人生畏。为了解决这个问题,在本文中,我们提出了一个广泛的研究,提高AES加密算法的吞吐量,利用最先进的多核架构。我们采用一个实现AES算法的顺序程序,并将其转换为在多核架构上运行,只需最小的工作量。我们实现了两个不同的并行程序,一个是Linux中的fork系统调用,另一个是pthreads,POSIX标准的线程。后来,我们在不同的多核架构上运行了两个版本的并行程序,并比较和分析了实现之间和不同架构之间的吞吐量。在我们进行的所有实验中,pthreads实现都表现出色,并且在32核处理器(我们拥有的最大核数)上获得的最佳吞吐量约为7 Gbps。
2014-03-28 cs.CR cs.DC
Co-Design of the Dense Linear AlgebravSoftware Stack for Multicore Processors
本研究提出稠密线性代数软件栈协同设计方法,通过定制GEMM内核、动态适配缓存参数及开发架构专用微内核,在ARM与x86平台提升了缓存利用率与性能,同时揭示了多线程并行与缓存优化的平衡关系。
2023-04-27 cs.DC
Cuttlefish: Library for Achieving Energy Efficiency in Multicore Parallel Programs
低容量的功率预算对于百亿亿次计算是具有挑战性的。动态电压和频率缩放(DVFS)和非核心频率缩放(UFS)是用于限制HPC应用的能量足迹的两种广泛使用的技术。然而,现有的方法未能提供一个统一的解决方案,可以与不同类型的并行编程模型和应用程序。本文提出了Cuttlefish,一个编程模型不经意的C/C++库,实现能源效率的多核并行程序运行在英特尔处理器上。在线分析器定期分析特定于模型的寄存器,以发现正在运行的应用程序的内存访问模式。通过结合使用DVFS和UFS,Cuttlefish可以动态调整处理器的核心和非核心频率,从而提高其能效。使用一组广泛使用的OpenMP基准测试对20核英特尔至强处理器进行评估,包括几个不规则任务和工作共享pragmas,实现了19.4%的几何平均节能,速度降低了3.6%。
2021-10-01 cs.DC
Architecture-Aware Configuration and Scheduling of Matrix Multiplication on Asymmetric Multicore Processors
Universidad Jaume I(豪梅一世大学);Universidad Complutense de Madrid(马德里康普顿斯大学)
本文设计了面向架构的矩阵乘法优化,通过缓存感知配置和异构静态动态调度策略,提升ARM big.LITTLE异构多核处理器的性能与能效。
2015-06-30 cs.DC cs.MS cs.NA
Parallel Astronomical Data Processing with Python: Recipes for multicore machines
高性能计算已经应用于天体物理研究的各个领域。但大多数都是在大规模并行系统(超级计算机)或图形处理单元集群上实现的。随着近十年来多核处理器的出现,许多串行软件代码已经以并行模式重新实现,以充分利用这些处理器的潜力。在本文中,我们提出了多核机器的天文数据处理的并行处理配方。目标受众是使用Python作为首选脚本语言的天文学家,他们可能使用PyRAF/IRAF进行数据处理。在三种不同类型的多核处理器上对不同复杂度的三个问题进行了基准测试,以证明并行数据处理任务在执行时间方面的好处。Python中的原生多处理模块使得实现并行代码成为一项相对简单的任务。我们还比较了三种多处理方法-池/映射,进程/队列和并行Python。我们的测试代码是免费提供的,可以从我们的网站下载。
2013-06-03 astro-ph.IM cs.DC
Efficient cache oblivious algorithms for randomized divide-and-conquer on the multicore model
在本文中,我们提出了随机算法的排序和凸包,实现最佳性能(加速和缓存未命中)的多核模型与私有缓存模型。我们的算法是高速缓存不经意和概括的随机划分和征服的策略,由Reischuk和Reif和Sen。虽然这种方法产生了最佳的速度在PRAM模型,我们需要额外的技术来优化高速缓存未命中在一个不经意的设置。在对输入和处理器数量的温和假设下,我们的算法将具有最佳的时间和高速缓存未命中的高概率。虽然类似的结果已经得到最近排序,我们觉得我们的方法是简单和一般的,我们应用它来获得一个最佳的并行算法的三维凸包具有类似的界限。我们还提出了一个简单的随机处理器分配技术,没有明确的知识的处理器的数量,很可能会发现额外的应用程序在资源遗忘的环境。
2012-05-27 cs.CG cs.DC cs.DS
Enabling performance portability of data-parallel OpenMP applications on asymmetric multicore processors
针对非对称多核处理器上数据并行OpenMP应用的负载不平衡问题,提出新型循环调度方法AID,在libgomp中实现并使性能较传统策略最高提升56%。
2024-02-12 cs.DC cs.OS
An analytic performance model for overlapping execution of memory-bound loop kernels on multicore CPUs
在多核处理器上运行的复杂应用程序表现出丰富的性能现象。每个ccNUMA域的核心数量不断增加,这使得内存受限代码的性能分析变得复杂,因为系统噪声、负载不平衡或基于任务的编程模型可能导致线程去同步。因此,所有核心执行相同循环的简化假设不能得到支持。出于对普通和修改版本的HPCG基准的观察,我们构建了一个性能模型的执行内存绑定的循环内核。它可以根据活动内核的数量以及内核与哪些其他工作负载配对来预测内存争用域上每个内核的内存带宽份额。唯一需要的代码特性是每个内核的单线程缓存线访问频率,它直接与单线程内存带宽及其饱和带宽相关。它可以直接测量,也可以使用Execution-Cache-Memory(ECM)性能模型进行预测。内核的计算强度和代码的详细结构没有意义。我们在英特尔Broadwell、英特尔Cascade Lake和AMD Rome处理器上对各种流和模板内核进行了验证。预测每个内核的带宽份额的误差小于8%。
2020-10-31 cs.DC cs.PF
A Migratory Near Memory Processing Architecture Applied to Big Data Problems
主流供应商生产的服务器在处理大数据查询时效率低下,因为这些系统的基本架构中存在固有的瓶颈。当前的服务器刀片包含通过互连芯片组连接到DRAM存储器和磁盘的多核处理器。多核处理器芯片执行所有计算,而DRAM和磁盘存储数据,但没有处理能力。要执行数据库查询,数据必须在DRAM和小型缓存之间以及DRAM和磁盘之间来回移动。对于大数据应用程序来说,这种数据移动是繁重的。迁移近内存服务器通过将大量轻量级处理器直接放置到内存系统中来解决这个瓶颈。这些处理器直接在大数据应用程序的关系、顶点和边缘上运行,而无需在DRAM、缓存和重量级多核处理器之间来回穿梭大量数据。本文讨论了这种体系结构在关系数据库SELECT和JOIN查询中的应用。初步结果表明,端到端的数量级加速。
2020-03-20 cs.DB cs.DC
Bridging the Architecture Gap: Abstracting Performance-Relevant Properties of Modern Server Processors
我们描述了一种通用的建模方法,用于预测服务器处理器上的稳定状态循环的单核和多核运行时间。为此,我们严格区分应用程序和机器模型:应用程序模型包括循环代码,问题大小和其他运行时参数,而机器模型是CPU所有性能相关属性的抽象。我们介绍了一个通用的方法来确定机器模型和相关的服务器处理器架构的英特尔,AMD,IBM和Marvell/Cavium目前的结果。考虑到如此广泛的体系结构,足够的性能建模所需的特性集出奇地少。为了验证我们的方法,我们比较性能预测的经验数据的OpenMP并行预处理CG算法,其中包括计算和内存绑定的内核。单核心和多核心分析表明,该模型具有5%和10%的平均和最大相对误差。偏离模型和获得的见解进行了详细讨论。
2019-07-01 cs.AR cs.DC cs.PF
Concurrent and Accurate RNA Sequencing on Multicore Platforms
在本文中,我们介绍了一种新的并行流水线的快速和准确的映射RNA序列的服务器上配备了多核处理器。我们的软件名为HPG-Aligner,利用Burrows-Wheeler变换的速度快速映射大量RNA片段(读段),以及Smith-Waterman算法的准确性,用于处理冲突读段。该比对仪还采用了一种谨慎的策略来检测剪接点,该策略基于将RNA读数分成短片段(或种子),然后将其映射到许多候选比对位置上,为完整读数的成功比对提供有用的信息。在AMD和英特尔多核处理器平台上的实验结果报告了HPG-Aligner在短和长RNA读取上的卓越并行性能,它在执行时间和灵敏度方面都优于最先进的对齐器,如基于Bowtie和Bowtie 2构建的TopHat 2。
2013-04-02 cs.DC q-bio.GN q-bio.QM
Parallelizing Bisection Root-Finding: A Case for Accelerating Serial Algorithms in Multicore Substrates
多核架构主导着当今的处理器市场。尽管内核和线程的数量相当高,并且还在继续增长,但串行算法本身并没有从大量的内核和线程中受益。在本文中,我们提出了Runahead计算,一种技术,它使用空闲线程在多线程架构加速串行算法的执行时间。通过针对CPU和GPU平台以及特定串行算法的详细评估,我们的方法在实验中将执行延迟降低了9倍。
2018-05-11 cs.DC
Multicore-optimized wavefront diamond blocking for optimizing stencil updates
基于模板的算法在计算科学中的重要性使得基于多级缓存的处理器的优化并行实现受到关注。时间阻塞方案利用高速缓存的大带宽和低延迟来加速模板更新并接近理论峰值性能。一个关键因素是减少了慢速数据路径上的数据流量,特别是主存储器接口。在这项工作中,我们结合了多核波前时间阻塞和钻石瓷砖的想法,达到模板更新计划,显示内存压力大幅减少相比,现有的方法。由此产生的方案在带宽不足的情况下表现出性能优势,这是加剧了高字节每格更新的情况下的可变系数。我们的线程组概念在并发和内存使用之间提供了一个可控的权衡,转移了内存接口和CPU之间的压力。我们展示了当代英特尔处理器上的性能结果。
2014-10-12 cs.DC
Efficient Architecture-Aware Acceleration of BWA-MEM for Multicore Systems
下一代测序技术的创新使DNA序列数据的生成速度更快,成本更低。大型测序中心通常使用数百个这样的系统。这种高通量和低成本的数据生成强调了在测序数据的下游计算分析中相应加速的需要。下游分析的基本步骤是将读数映射到长参考DNA序列,例如参考人类基因组。序列映射是一个计算密集型步骤,占GATK工作流程总时间的30%以上。BWA-MEM是最广泛使用的序列映射工具之一,拥有数万名用户。在这项工作中,我们专注于加速BWA-MEM通过一个高效的架构感知实现,同时保持相同的输出。大量的数据需要分布式计算环境,通常部署多核处理器。由于应用程序可以很容易地并行化的分布式内存系统,我们专注于单插槽多核处理器上的性能改进。BWA-MEM运行时间由三个内核控制,它们共同负责超过85%的总计算时间。我们通过以下方式提高了这些内核的性能:1)提高缓存重用,2)简化算法,3)用几个大的连续内存分配取代小的碎片内存分配,4)软件预取,5)在适用的情况下利用SIMD-以及大规模重组源代码以实现这些改进。因此,我们在三个内核上分别实现了近2倍、183倍和8倍的加速,与英特尔至强Skylake处理器的单线程和单插槽上的原始BWA-MEM相比,端到端计算时间的加速分别高达3.5倍和2.4倍。据我们所知,这是BWA-MEM上报告的最高加速比。
2019-07-27 cs.CE cs.DC cs.PF
Multicore architecture and cache optimization techniques for solving graph problems
随着大数据和物联网时代的到来,大数据集的可用性呈指数级增长。这些数据集需要深入分析,为学术界和工业界改进方法提供情报。大多数数据集都以图表的形式显示和提供。因此,当前的问题是解决图问题。由于数据集很大,分析数据所需的时间很长。因此,在本文中,我们将探讨可以利用现有多核架构来解决这个问题的技术。目前,大多数中央处理器都采用了多核设计;此外,图形处理器等协处理器具有大量的内核,可以用于获得显着的加速。因此,在本文中的技术,以发挥多核架构的优势进行了研究。
2018-07-09 cs.DC
Exact Sparse Matrix-Vector Multiplication on GPU's and Multicore Architectures
我们提出了有限域和环$\Zb/m\Zb$的稀疏矩阵--稠密向量乘法(\spmv{})的不同实现。我们利用图形卡处理器(GPU)和多核架构。我们的目标是提高\linbox库中的\spmv{}的速度,以及今后其黑盒算法的速度。此外,我们使用这个和一个新的并行化的sigma基算法在有限域上的并行块Wiedemann秩实现。
2010-04-21 cs.DC cs.MS cs.SC
Empirical Evaluation of the Parallel Distribution Sweeping Framework on Multicore Architectures
在本文中,我们进行了实证评估的并行外部存储器(PEM)模型的背景下,几何问题。特别是,我们实现了Ajwani,Sitchinava和Zeh的并行分布扫描框架来解决批量1维穿刺最大值问题。虽然现代处理器由复杂的内存系统(多级缓存,设置关联性,TLB,预取),我们经验表明,算法设计在简单的模型,专注于最大限度地减少共享内存和单级缓存之间的I/O传输,可以导致有效的软件在当前的多核架构。我们的实现具有显着减少访问缓慢的DRAM,因此,优于传统的方法,基于平面扫描和双向分而治之。
2013-06-19 cs.DC cs.DS
Classifying Application Phases in Asymmetric Chip Multiprocessors
为了提高异构多核处理器的性能,降低其功耗,本文研究了程序执行阶段的检测能力。程序执行间隔已被分类在不同的阶段,根据其吞吐量和利用率的核心。在单核处理器和多核处理器上研究了实现相位检测技术的结果。为了最小化剖析开销,提出了一种动态调整剖析间隔的算法。它基于程序的行为,并将分析开销减少了三倍以上。结果是通过在给定的处理器上执行多处理器基准测试获得的。为了清楚地显示程序阶段,吞吐量和执行间隔的利用率在散点图上呈现。固定和可变的时间间隔的结果。
2010-01-13 cs.AR cs.DC cs.PF
A Parallel Data Distribution Management Algorithm
在许多仿真和建模应用中,识别一组d维矩形区域(d-矩形)之间的相交是一个常见的问题。由于用于计算大量区域上的交集的算法可能在计算上要求很高,因此一个明显的解决方案是利用现代多核处理器的多处理能力。不幸的是,用于高级体系结构的数据分布管理服务的许多解决方案要么效率低下,要么只能部分并行化。在本文中,我们提出了区间树匹配(ITM)算法计算的交集之间的d-矩形。ITM是基于一个简单的区间树数据结构,并表现出一个并行的结构。我们实现的ITM算法,并比较其顺序性能与两个广泛使用的解决方案(蛮力和排序为基础的匹配)。我们还分析了共享内存多核处理器上的ITM的可扩展性。结果表明,ITM的顺序实现与基于排序的匹配是有竞争力的,而且,并行实现提供了良好的加速多核处理器上。
2016-05-17 cs.DC cs.DS
Response-Time Analysis and Optimization for Probabilistic Conditional Parallel DAG Tasks
实时系统越来越多地使用多核处理器,以满足热,功率和计算需求。为了利用多核处理器提供的架构并行性,必须提供并行任务模型、调度算法和相对于实时约束的响应时间分析。在本文中,我们提出了一个基于预约的调度算法,零星的约束最后期限并行条件DAG任务的概率执行行为的应用程序,可以容忍有限数量的最后期限错过和有限的迟到。我们设计的规则和分析,以保证有限的迟到一个指定的有界概率$k$-连续的最后期限错过,而不强制执行迟到的作业立即中止。
2021-01-26 cs.DC
Objective Caml for Multicore Architectures
目的Caml语是ML族语言中的一种著名方言。它以其作为编译程序设计语言的性能而闻名,特别是由于它的增量代自动内存收集。然而,由于历史原因,后者是为单核处理器构建的。一个结果是运行时库假设实际上一次运行的线程不超过一个,这允许对单核架构进行许多优化:很少的线程互斥量足以防止一次运行多个线程。这使得内存分配和收集非常容易。它的构建方式使得它不可能利用现在广泛使用的多核CPU架构。本文介绍了我们的反馈删除Objective Caml的垃圾收集器和设计一个“停止世界停止和复制”垃圾收集器,允许线程利用多核架构。
2020-06-10 cs.DC cs.PL
Temporal Load Imbalance on Ondes3D Seismic Simulator for Different Multicore Architectures
该研究针对Ondes3D地震模拟器,评估其在八种不同多核架构、两种地震场景下的性能,发现时间负载不平衡程度依赖所选架构,部分平台可更有效缓解该问题。
2024-09-17 cs.DC cs.PF
Energy Conscious Dynamic Window Scheduling of Chip Multiprocessors
开发利用多核和众核架构以减少浪费热量产生的系统的需求在计算密集型应用中至关重要。我们提出了一种节能的多核调度方法,称为非抢占式动态窗口(NPDW)调度,实现有效的负载和温度平衡芯片多处理器。NPDW利用动态时间窗口的概念来积累任务,并使用修改的Gale-Shapely算法在积累的任务和可用的处理器核之间找到最佳的稳定匹配。定义了窗口和匹配性能的度量,以创建动态窗口启发式算法,从而基于当前和先前的窗口大小来确定下一个时间窗口大小。推导公式和实验结果的基础上,我们表明,我们的NPDW调度器是能够分布在多核环境中的处理器的计算和热负载比基线调度器。我们相信,在多核计算应用程序需要温度和能源意识的系统设计,我们的调度程序可以有效地分散系统负载,并防止过多的核心加热。
2022-02-13 cs.DC
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
Evaluating Asymmetric Multicore Systems-on-Chip using Iso-Metrics
Dennard缩放的结束已经将功耗推到当前系统的一阶关注点,与性能相提并论。因此,近阈值电压计算(NTVC)已被提出作为一种潜在的手段,以解决有限的冷却能力的CMOS技术。在NTV中操作的硬件消耗显著更少的功率,以较低的频率为代价,并且因此降低了性能,以及增加了出错率。在本文中,我们调查,如果一个低功耗的片上系统,由ARM的不对称的大.小技术,可以替代传统的高性能多核处理器的功率/能量在不可靠的情况下。在我们的研究中,我们使用共轭梯度求解器,这是一种代表大量科学和工程代码执行的计算的算法。
2015-03-27 cs.AR cs.DC
Integer sorting on multicores: some (experiments and) observations
对于在多核/GPU上对整数进行排序,已经有许多提议,包括基数排序及其变体或利用特定多核架构的专用硬件特征的其他方法。还使用了基于比较的算法。基于网络的算法也已经与主要示例Batcher的双调排序算法一起使用。虽然后一种方法在理论上是“低效的”,但如果要排序的键很少,它可以导致更好的运行时间,因为它具有低开销并且易于实现。在这项工作中,我们进行了实验研究,整数排序的多核处理器上使用不仅多线程,但也多处理并行编程方法。我们的实现在Open MPI,MulticoreBSP和BSPlib下工作。我们已经实现了串行和并行基数排序的各种基数,也有一些以前很少探索或未探索的变种的双调排序和奇偶换位排序。我们提供我们的观察性能评估使用MBSP模型的算法实现在多个平台和架构和多个编程库。如果我们可以得出任何结论的话,那就是通过考虑架构相关的特征(如多个存储层次结构的结构和特征)来对其性能进行建模是困难的,并且通常是不成功或不可靠的。然而,我们仍然可以得出一些非常简单的结论,使用传统的架构无关的并行建模。
2017-08-30 cs.DC
Energy-Aware Scheduling Strategies for Partially-Replicable Task Chains on Heterogeneous Processors
Sorbonne University(索邦大学);University of Bordeaux(波尔多大学);Bordeaux INP(波尔多理工学院)
针对异构多核处理器上部分可复制任务链,提出三种调度策略(FERTAC、2CATAC和HeRAD),以最大化吞吐量并最小化能耗,实验表明近最优性能且能效优于同构方案。
2026-06-23 cs.DC
Cache-aware Parallel Programming for Manycore Processors
随着技术的快速发展,多核和众核处理器已经成为受益于晶体管数量增加的有前途的架构。向这些并行架构的过渡使今天成为研究并行计算挑战的激动人心的时刻。TILEPro64是一个众核加速器,由64个通过多个8x8网格网络互连的瓦片组成。默认情况下,它包含每瓦片缓存并支持缓存一致性共享内存。在本文中,我们提出了一种编程技术,以利用分布式缓存设施在众核处理器。然而,与这一领域的其他工作不同,我们的方法不使用特定于体系结构的库。相反,我们为程序员提供了一种新的技术,如何规划未来的非均匀缓存架构(NUCA)众核系统,铭记他们的缓存组织。我们表明,我们的本地化编程方法可以导致并行化效率(加速)的显着提高。
2014-03-31 cs.DC cs.PF
A DSEL for High Throughput and Low Latency Software-Defined Radio on Multicore CPUs
Sorbonne Université(索邦大学);CNRS(法国国家科学研究中心);Bordeaux INP(波尔多国立理工学院);University of Bordeaux(波尔多大学);Inria(法国国家信息与自动化研究所);Bordeaux Institute of Technology(波尔多理工学院)
本文提出了一种新的专用于软件无线电(SDR)的领域特定嵌入式语言(DSEL)。从一组精心设计的组件,它能够建立高效的软件数字通信系统,能够利用现代处理器架构的并行性,以简单和安全的方式为程序员。特别是,建议DSEL使流水线和序列复制技术的组合,以提取时间和空间的并行性从数字通信系统。我们将DSEL功能应用于实际用例:一款完全采用软件设计的全数字收发器,适用于广泛使用的DVB-S2标准。通过评估,我们展示了所提出的软件DVB-S2收发器如何能够从现代高端多核CPU目标中获得最大收益。
2022-08-03 cs.CL cs.DC eess.SP
A Class of Parallel Tiled Linear Algebra Algorithms for Multicore Architectures
随着多核系统在高性能计算领域的不断发展,必须重新制定线性代数算法或开发新算法,以便利用这些新处理器上的架构功能。细粒度并行性成为一个主要需求,并在操作的并行执行中引入了松同步的必要性。本文提出了一种Cholesky,LU和QR分解的算法,其中的操作可以表示为一系列的小任务,操作的方块数据。这些任务可以根据它们之间的依赖关系和计算资源的可用性来动态调度执行。这可能导致任务的乱序执行,这将完全隐藏因式分解中固有顺序任务的存在。性能比较与LAPACK算法的并行性只能利用在BLAS操作和供应商实现的水平。
2008-06-12 cs.DC cs.MS
High-performance sparse matrix-matrix products on Intel KNL and multicore architectures
稀疏矩阵-矩阵乘法(SpGEMM)是一种计算原语,广泛应用于从传统数值应用到最近的大数据分析和机器学习等领域。虽然已经提出了许多SpGEMM算法,但缺乏针对多核和众核处理器的硬件特定优化,并且无法详细分析其在各种用例和矩阵下的性能。我们首先在英特尔至强融核(Knights Landing或KNL)上识别并缓解存储管理和线程调度的多个瓶颈。具体针对多核和众核处理器,我们开发了一个基于哈希表的算法,并优化了一个基于堆的共享内存SpGEMM算法。我们研究他们的表现与其他公开可用的代码。与文献不同的是,我们的评估还包括代表实数图算法的用例,例如多源广度优先搜索或三角形计数。在大多数情况下,我们的哈希表和基于堆的算法显示出来自库的显著加速,而不同的算法在具有不同矩阵大小、稀疏性、压缩因子和操作类型的其他场景中占主导地位。我们总结了深入的评估结果,并制定了一个食谱,以给出最好的SpGEMM算法的目标场景。一个关键的发现是,如果不需要在输出矩阵的每一行中对非零进行排序,则基于哈希表的SpGEMM的性能将得到显着提升。
2018-06-26 cs.DC
Reuse-Aware Cache Partitioning Framework for Data-Sharing Multicore Systems
多核处理器可以提高性能,但由于高速缓存等共享资源的干扰,它们可能会造成不可预测性。缓存分区用于通过隔离每个线程之间的共享缓存来减少干扰,从而减轻最坏情况执行时间(WCET)估计。但是,它确实禁止在不同内核上运行的并行线程之间传输数据。在本文中,我们提出了(SRCP)分区缓存的缓存替换机制,是知道跨线程的数据共享,防止共享数据被复制跨分区和频繁使用的数据被逐出缓存。我们的技术优于TA-DRRIP和EHC,这是现有的最先进的缓存替换算法,缓存命中率和LRU(最近最少使用)缓存替换策略的性能分别为13.34%和10.4%。
2022-01-17 cs.AR cs.DC
Performance analysis of the Kahan-enhanced scalar product on current multi- and manycore processors
我们调查的性能特点的数值增强的标量积(点)内核循环,使用Kahan算法来补偿数值误差,并描述了高效的SIMD向量化实现最近的多核和众核处理器。使用低级别的指令分析和执行缓存内存(ECM)的性能模型,我们查明了单核和线程并行执行的相关性能瓶颈,并预测性能和饱和行为。我们表明,Kahan增强标量积来在几乎没有额外的成本相比,天真(非Kahan)标量积,如果适当的低层次优化,特别是SIMD矢量化和展开,应用。ECM模型经过适当扩展,不仅可以容纳现代英特尔多核芯片,还可以容纳英特尔至强融核“Knights Corner”协处理器和IBM POWER8 CPU。这使我们能够讨论处理器功能对与高性能计算相关的四种现代体系结构性能的影响。
2016-04-07 cs.DC cs.PF
Taxim: A Toolchain for Automated and Configurable Simulation for Embedded Multiprocessor Design
多核嵌入式系统一直在研究如何通过改变处理器、存储器、缓存层次结构及其缓存配置来提高系统的效率。结合使用Multi2Sim和McPAT仿真器,用户可以设计各种多处理架构,并评估性能、功耗、面积和时序指标。然而,模拟这些系统所需的设计时间是令人生畏的,并且容易出现人为错误。在本文中,我们介绍了Taxim,一个工具链,可以自动创建所需的多核片上拓扑结构,同时最大限度地减少由于架构功耗,能源和时序仿真之间的重复任务的仿真时间。Taxim的基于决策树的拓扑合成工具创建的处理器配置文件在手动生成时可能存在很大的错误。该工具链还通过运行自动化脚本并列出结果,自动执行从设计输入到输出报告提取的步骤。我们的实验表明,多处理架构与32个核心和不规则的缓存层次结构是超过1k行的代码在Multi2Sim的处理器配置格式和Taxim可以创建这样一个文件在不到10毫秒。源代码可在https://github.com/bouncaslab/TaXim/上免费获得。
2016-01-13 cs.DC
High-Order Spectral Element Methods for Wave Propagation on ARM Multicore CPU with SME: Optimizations and Implications
Tsinghua University(清华大学);Shandong University(山东大学);National Supercomputing Center in Shenzhen(国家超级计算深圳中心)
针对ARM多核CPU,利用可扩展矩阵扩展(SME)优化谱元法波传播代码SPECFEM3D,提出SME感知的批处理小矩阵内核、混合MPI+OpenMP执行方案及色散精度分析,实现4-6倍性能提升,并揭示SME使高多项式阶更优。
2026-06-12 cs.DC
High performance and energy efficient inference for deep learning on ARM processors
我们将PyDTNN(深度神经网络(DNN)的分布式并行训练框架)进化为卷积神经网络的有效推理工具。我们在多核ARM处理器上的优化过程涉及到原始框架的几个高级转换,例如开发和集成Cython例程以利用线程级并行性;设计和开发用于矩阵乘法的微内核,用ARMs NEON内部函数进行向量化,可以适应层融合;以及适合于目标ARM处理器的存储层次结构的若干高速缓存配置参数的适当选择。我们的实验评估了推理吞吐量(以处理的图像/s测量)和推理延迟(即,响应时间)以及当改变线程并行性的级别和处理器功率模式时每个图像的能耗。报告了使用新推理引擎的实验,用于MLPerf套件中ImageNet数据集上的ResNet 50 v1.5模型,使用NVIDIA Jetson AGX Xavier板中的ARM v8.2内核。这些结果显示,与来自Google的广泛传播的TFLite相比,性能优越,与来自ARM的DNN推理本地库ArmNN相比,结果略差。
2021-05-19 cs.AR cs.DC cs.PF
Exploration of Performance and Energy Trade-offs for Heterogeneous Multicore Architectures
能量效率已经成为现代计算机系统中的主要挑战。为了应对这一挑战,候选系统越来越多地集成异构核,以满足不同的计算需求,通过选择具有合适的功能的核心。特别是,单ISA异构多核处理器,如ARM big.LITTLE已经变得非常有吸引力,因为它们在性能和功耗权衡方面提供了很好的机会。虽然现有的工作已经表明,这一功能可以提高系统的能源效率,进一步的收益是可能的,通过推广的原则,更高层次的异质性。本文旨在探讨这些收益,考虑单ISA异构多核架构,包括三种不同类型的核心。为此,我们使用三星Exynos Octa 5422芯片作为基线架构。然后,我们使用耦合到McPAT的gem 5仿真框架对Cortex A7、A9和A15内核进行建模和评估,以进行功耗估计。我们证明,不同的异质性水平以及不同的核心比率可以导致高达2.3倍的能源效率和高达1.5倍的性能增益。这项研究进一步提供了洞察力的影响,工作负载的性质对性能/能源的权衡,并提出建议,适当的架构配置。这有助于指导未来的研究走向动态可重构的HSA,其中一些核心/集群可以暂时禁用,以优化某些指标,如能源效率。当处理质量可调的算法时,这是特别感兴趣的,其中准确性可以交换计算工作量,从而能够仅使用为所选算法提供最佳能效的那些核心。
2019-02-06 cs.DC
Programming Massively Parallel Architectures using MARTE: a Case Study
如今,一些工业应用程序正在移植到并行架构。这些应用程序利用了多核处理器提供的潜在并行性。自2003年以来,众核处理器,特别是GPU(图形处理单元),一直引领着浮点性能的竞赛。虽然通用微处理器的性能提升已经明显放缓,但GPU却在坚持不懈地继续改进。截至2009年,众核GPU和多核CPU的峰值浮点计算吞吐量之比约为10倍。然而,由于并行编程需要任务和数据的非平凡分布,开发人员发现很难有效地实现他们的应用程序。为了提高众核处理器的使用,这项工作提出了一个案例研究,使用UML和MARTE配置文件指定和生成OpenCL代码密集的信号处理应用程序。基准测试结果表明,我们的可行性使用MDE方法来生成GPU应用程序。
2011-03-24 cs.DC cs.SE
Parallel Discrete Event Simulation with Erlang
离散事件仿真(DES)是一种广泛使用的技术,其中仿真器的状态由在离散时间点发生的事件更新(因此得名)。DES被用于建模和分析许多类型的系统,包括计算机体系结构、通信网络、街道交通等。并行与分布式仿真(PADS)旨在通过将仿真模型划分到多个处理单元来提高DES的效率,以便能够进行更大和/或更详细的研究。随着多核处理器和价格合理的高性能计算集群的广泛应用,人们对PADS的兴趣越来越大。然而,设计并行仿真模型需要相当多的专业知识,其结果是,PADS技术并不普遍,因为他们可以。在本文中,我们描述了ErlangTW,一个并行仿真中间件的基础上的时间扭曲同步协议。ErlangTW完全是用Erlang编写的,Erlang是一种并发的函数式程序设计语言,专门用于构建分布式系统。我们认为用Erlang编写并行仿真模型比使用传统的程序设计语言要容易得多。此外,ErlangTW允许仿真模型在单核、多核和分布式计算架构上执行。我们描述了ErlangTW的设计和原型实现,并报告了一些初步的性能结果,多核和分布式架构,使用著名的PHOLD基准。
2014-07-24 cs.DC
Performance Analysis and Optimization of a Hybrid Distributed Reverse Time Migration Application
处理地震数据的应用程序采用可扩展的并行系统来产生及时的结果。为了充分利用新兴的处理器体系结构,应用程序将需要在节点内采用线程并行,并在节点之间传递消息。如今,MPI+OpenMP是此任务的首选编程模型。然而,为集群调优混合程序是困难的。性能工具可以帮助用户识别瓶颈并发现改进的机会。这张海报描述了我们应用Rice University的HPCToolkit和硬件性能计数器来深入了解在多核处理器集群上执行反向时间迁移(RTM)的MPI+OpenMP代码的经验。这些工具为我们提供了对域分解策略的有效性、线程并行性的使用以及单个内核中功能单元利用率的深入了解。通过应用从工具中获得的见解,我们能够将RTM代码的性能提高约30%。
2016-03-12 cs.DC
Calculation of Stochastic Heating and Emissivity of Cosmic Dust Grains with Optimization for the Intel Many Integrated Core Architecture
宇宙尘埃粒子有效地减弱了星光。它们对星光的吸收产生了从近红外到远红外的发射光谱,这取决于尘埃颗粒的大小和性质,以及加热辐射场的光谱。近红外到中红外由非常小的颗粒的发射主导。然而,模拟这些粒子对星光的吸收在计算上是昂贵的,并且是处理恒星对尘埃加热的自洽辐射输运代码的一个重要瓶颈。在本文中,我们总结了计算宇宙尘埃的随机发射率的形式主义,这是在早期的作品中开发的,并提出了一个新的库HEATCODE实现这种形式主义的计算任意颗粒的性质和加热辐射场。我们的库是高度优化的通用处理器与多个核心和向量指令,分层内存缓存结构。HEATCODE库还可以在实现英特尔多集成核心(英特尔MIC)架构的协处理器卡上高效运行。我们将详细讨论我们为优化英特尔MIC架构而采取的优化步骤,这些步骤也显著提高了通用处理器上代码的性能,并为每个步骤提供代码示例和性能基准测试。单个英特尔至强融核协处理器(英特尔MIC架构)上的HEATCODE库性能大约是通用双路多核处理器系统的2倍,而标称功耗大致相同。该库支持异构计算采用主处理器同时与多个协处理器,可以很容易地纳入现有的辐射传输代码。
2013-11-19 astro-ph.GA astro-ph.IM cs.DC
First Evaluation of the CPU, GPGPU and MIC Architectures for Real Time Particle Tracking based on Hough Transform at the LHC
最近的创新集中在{ \em parallel}处理,无论是通过包含多个处理器的系统还是包含多个核心的处理器,都有很大的希望提高LHC触发器的性能并扩展其物理程序。CMS/ATLAS触发器系统的灵活性允许在高级触发器中轻松集成计算加速器,例如NVIDIA的Tesla图形处理单元(GPU)或Intel的\xphi。这些加速器有可能提供更快或更节能的事件选择,从而为以前不可行的新的复杂触发器开辟了可能性。与此同时,探索最新一代多核CPU使用最佳软件优化方法可实现的性能极限至关重要。在本文中,将首次在多核Intel Xeon E5- 2697 v2 CPU、NVIDIA Tesla K20 c GPU和Intel \xphi \ 7120协处理器上评估基于Hough变换的新跟踪算法。将展示初步的时间表现。
2014-02-03 cs.DC hep-ex physics.comp-ph
Energy Optimization of Memory Intensive Parallel workloads
在现代多核处理器中,能量消耗是一个重要的问题。在应用程序的执行过程中消耗的能量可以最小化通过调整硬件状态利用旋钮,如频率,电压等现有的理论工作,使用全局DVFS(动态电压和频率缩放)的能量最小化,尽管是彻底的,忽略了内存访问上的CPU消耗的能量和空闲内核消耗的动态能量。本文提出了一个分析模型的性能和总的能量消耗的CPU芯片上的CPU指令,以及内存访问,而不忽略的动态能量消耗的空闲内核。我们提出了一个分析框架,围绕我们的能源性能模型来预测全球DVFS的工作频率,最大限度地减少性能预算内的整体CPU能耗。最后,我们提出了一个调度标准的能量感知调度的内存密集型并行应用程序。
2016-05-13 cs.DC