The Melbourne Shuffle: Improving Oblivious Storage in the Cloud
我们提出了一个简单,高效,安全的数据遗忘随机洗牌算法。这是第一个不基于排序的安全数据无关洗牌。我们的方法可以用来改善以前的不经意的存储解决方案,基于网络的数据外包。
2014-02-22 cs.CR cs.DC cs.DS
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
Network-Oblivious Algorithms
提出了一个框架的设计和分析的\emph{network-oblivious algorithms},即算法,可以运行不变,但有效地,在各种机器上,其特征在于不同程度的并行性和通信能力。该框架规定,一个网络无关的算法被指定在一个并行计算模型,其中唯一的参数是问题的输入大小,然后评估模型与两个参数,捕获并行粒度和通信延迟。结果表明,对于广泛的一类网络无关的算法,后者模型中的最优性意味着最优性的可分解BSP模型,这是已知的有效地描述了广泛的和重要的一类并行平台。所提出的框架可以被视为一种尝试,端口的遗忘,以及建立在高速缓存层次结构的上下文中,并行计算的领域的概念。它的有效性说明了一些关键问题提供最佳的网络不经意的算法。讨论了不经意方法的局限性。
2014-04-12 cs.DC cs.DS
Balanced Partitioning of Several Cache-Oblivious Algorithms
Frigo等人提出了一种理想的缓存模型和递归技术,以缓存无关的方式设计顺序缓存高效算法。Ballard等人指出,将该技术扩展到任意架构是一个基本的开放问题。Ballard等人提出了另一个悬而未决的问题,即如何在任意数量的处理器上准确有效地并行化Strassen算法。我们提出了一种新的方式分区的高速缓存不经意的算法,以实现完美的强缩放任意数量,甚至是素数,在一定范围内的共享内存设置的处理器。我们的方法是处理器感知但缓存不经意(PACO)。我们展示了我们的方法在几个重要的高速缓存无关算法,包括LCS,一维,GAP,经典的矩形矩阵乘法的半环,和Strassen的算法。我们将讨论如何将我们的方法扩展到分布式内存架构,甚至异构计算系统。因此,我们的工作可能会提供一个新的角度上的基本开放的问题,扩展递归缓存无关技术的任意架构。我们提供了一个几乎精确的解决方案,并行化Strassen的开放问题。我们的方法可能会提供一个新的角度扩展递归缓存无关技术的任意架构。我们的所有算法都比最著名的算法表现出更好的可扩展性或更好的总体并行缓存复杂性。初步的实验证明了我们的理论预测,PACO算法可以显着优于最先进的处理器不经意(PO)和处理器感知(PA)的同行。
2020-11-03 cs.DC cs.DS
Parallelizing Bisection Root-Finding: A Case for Accelerating Serial Algorithms in Multicore Substrates
多核架构主导着当今的处理器市场。尽管内核和线程的数量相当高,并且还在继续增长,但串行算法本身并没有从大量的内核和线程中受益。在本文中,我们提出了Runahead计算,一种技术,它使用空闲线程在多线程架构加速串行算法的执行时间。通过针对CPU和GPU平台以及特定串行算法的详细评估,我们的方法在实验中将执行延迟降低了9倍。
2018-05-11 cs.DC
Privacy-Preserving Access of Outsourced Data via Oblivious RAM Simulation
假设一个客户端Alice将她的数据外包给了一个外部存储提供商Bob,因为他有能力存储她的大数据集,大小为n,而她的私人存储空间要小得多,比如说,对于某个常数r > 1,大小为O(n^{1/r})。Alice信任Bob来维护她的数据,但她希望保持其内容的私密性。当然,她可以加密她的数据,但她也希望对Bob隐藏她的访问模式。我们描述了一个小的对数或多对数摊销增加访问时间的不经意的RAM模拟问题的计划,具有很高的成功概率,同时保持外部存储的大小为O(n)。为了实现这一目标,我们的算法贡献包括一个并行MapReduce布谷鸟哈希算法和外部存储器dataoblivious排序算法。
2011-05-02 cs.CR cs.DC cs.DS
String Matching with Multicore CPUs: Performing Better with the Aho-Corasick Algorithm
多字符串匹配是指在任意字符串中定位给定数量的模式的所有出现。它用于生物计算应用,其中算法通常用于检索信息,如序列分析和基因/蛋白质鉴定。在这种生物计算应用中,必须处理字符串形式的极大量数据。因此,提高多字符串匹配算法的性能一直是人们所期望的。多核架构能够通过并行化多个字符串匹配算法来提供更好的性能。Aho-Corasick算法是精确多字符串匹配算法中常用的算法。本文的重点是Aho-Corasick算法的加速,通过多核CPU的软件实现。通过我们的实施和结果的评估,我们证明了我们的方法相比,最先进的性能更好。
2014-03-06 cs.DC
Greed is Good: Optimistic Algorithms for Bipartite-Graph Partial Coloring on Multicore Architectures
在并行计算中,有效的图着色产生着色任务、数据点等的无锁处理,而不需要昂贵的同步机制。然而,着色不是免费的,开销可能很大。具体地,对于在科学计算和数值优化领域内具有各种用例的二分图部分着色(BGPC)和距离2图着色(D2 GC)问题,对于许多现实生活中的图,着色开销可以是单个线程的分钟数量级。在这项工作中,我们提出了共享内存架构上的偶图部分着色的并行算法。与现有的共享内存BGPC算法相比,所提出的算法采用更贪婪和更乐观的技术,产生更好的并行着色性能。特别是,在16个核心上,所提出的算法的执行速度比ColPack库中的对应算法快4倍以上,据我们所知,ColPack库是多核架构中唯一公开可用的着色库。除了BGPC,所提出的技术来设计并行的距离-2图着色算法和类似的性能改善已被观察到。最后,我们提出了两个无成本的平衡算法BGPC,可以减少偏度和不平衡的颜色集的基数(几乎)免费。该算法也可以用于D2 GC问题,一般来说,它们可能会产生更好的基于颜色的并行化性能,特别是在众核架构上。
2017-01-10 cs.DC cs.DS
Porting Decision Tree Algorithms to Multicore using FastFlow
整个计算机硬件行业都采用了多核技术。对于这些机器,顺序算法的极端优化不再足以挤压真正的机器能力,这只能通过线程级并行来利用。决策树算法表现出自然的并发性,使它们适合并行化。本文提出了一种简单而有效的移植的C4.5算法的多核实现的方法。并行移植只需要对原始顺序代码进行最小的更改,并且能够在英特尔双四核机器上利用高达7倍的加速。
2010-09-19 cs.DB cs.DC
Dynamic autotuning of adaptive fast multipole methods on hybrid multicore CPU & GPU systems
我们讨论了自适应快速多极方法的实现目标混合多核CPU和GPU系统。根据我们的快速多极算法版本的计算配置文件的先前经验,适当的部分被卸载到GPU,而其余部分被线程化并由CPU并发执行。定义算法的参数会影响性能,通过测量这种影响,我们能够动态地平衡算法以达到最佳性能。我们的设置使用的动态性质的计算,因此是一般的字符。
2014-03-17 cs.DC
Integer sorting on multicores: some (experiments and) observations
对于在多核/GPU上对整数进行排序,已经有许多提议,包括基数排序及其变体或利用特定多核架构的专用硬件特征的其他方法。还使用了基于比较的算法。基于网络的算法也已经与主要示例Batcher的双调排序算法一起使用。虽然后一种方法在理论上是“低效的”,但如果要排序的键很少,它可以导致更好的运行时间,因为它具有低开销并且易于实现。在这项工作中,我们进行了实验研究,整数排序的多核处理器上使用不仅多线程,但也多处理并行编程方法。我们的实现在Open MPI,MulticoreBSP和BSPlib下工作。我们已经实现了串行和并行基数排序的各种基数,也有一些以前很少探索或未探索的变种的双调排序和奇偶换位排序。我们提供我们的观察性能评估使用MBSP模型的算法实现在多个平台和架构和多个编程库。如果我们可以得出任何结论的话,那就是通过考虑架构相关的特征(如多个存储层次结构的结构和特征)来对其性能进行建模是困难的,并且通常是不成功或不可靠的。然而,我们仍然可以得出一些非常简单的结论,使用传统的架构无关的并行建模。
2017-08-30 cs.DC
Block-Relaxation Methods for 3D Constant-Coefficient Stencils on GPUs and Multicore CPUs
块迭代法作为多重网格法的光滑器、Krylov方法的预处理器和对角占优线性方程组的求解器是非常重要的。开发适用于当前和不断发展的GPU和多核CPU系统的强大而高效的算法是一项重大挑战。我们解决这个问题的情况下,常系数的stenestransom结构的三维均匀和自适应细化网格上的椭圆型偏微分方程的解决方案中产生的。鲁棒性,高度并行实现块雅可比和混沌块高斯-赛德尔算法的块精确反演开发使用不同的并行化技术。NVIDIA费米GPU和AMD多核系统的实验结果。
2019-07-15 cs.DC
Improving the Space-Time Efficiency of Processor-Oblivious Matrix Multiplication Algorithms
经典的高速缓存无关并行矩阵乘法算法在时间和空间上都达到了最优,但不能同时达到最优,这促使人们对这类算法的最佳平衡或折衷进行了大量的研究。我们研究了现代处理器无关的运行时系统,并找出了几种方法来提高算法的时间界限,同时仍然有界空间和缓存的要求是渐近最优的。通过我们的研究,我们给出了半环上一般矩阵乘法的次线性时间、最优工作、空间和缓存算法以及类Strassen快速算法。我们的实验也表明,这样的算法有经验的优势,经典的同行。本文的研究从理论和实证两个方面为如何优化高速缓存无关并行算法提供了新的见解和研究角度。
2019-11-13 cs.DC
Study and evaluation of an Irregular Graph Algorithm on Multicore and GPU Processor Architectures
不规则应用是对片上多处理器(CMP)的性能可扩展性提出重大挑战的计算应用领域之一。这样的应用程序具有非常少的计算和不可预测的存储器访问模式,使得它们与计算受限的应用程序相比是内存受限的。由于处理器和存储器性能之间的差距继续存在,难以隐藏和减少这种差距是导致这些应用程序在CMP上性能不佳的重要因素之一。本论文的目标是克服许多这样的挑战,在性能加速的不规则图算法称为三元组普查。我们在两种截然不同的芯片多处理器上加速了Triad Census算法:双插槽英特尔至强多核(每个插槽8个硬件线程)和240处理器内核的NVIDIA Tesla C1060 GPGPU(每个内核128个硬件线程)。在英特尔多核至强系统上获得的实验结果显示,对于真实世界的图形数据集,性能加速(相对于基线顺序)最大为56倍,平均为33倍,最小为8.3倍。在NVIDIA Tesla C1060 GPGPU上,我们能够几乎平等地匹配多核结果-58.4倍最大,32.8倍平均和4.2倍最小加速比相对于基线序列。在原始性能方面,对于称为Patents网络的图形数据集,我们在英特尔至强多核(16 hw线程)上的结果比之前在Cray XMT(16 hw线程)上的结果快1.27倍,而在GPGPU上实现的结果相对较慢(0.72倍)。据我们所知,该算法只在超级计算机级计算机Cray XMT上进行了加速,并且没有工作证明该算法在相对较低成本…
2016-03-08 cs.DC cs.PF
Efficient multicore-aware parallelization strategies for iterative stencil computations
在许多科学仿真代码中,时间表计算消耗了运行时的主要部分。作为这类算法的原型,我们认为迭代雅可比和高斯-赛德尔平滑和高速缓存为基础的多核架构的高效并行实现的目标。临时缓存阻塞是一种已知的高级优化技术,其可以显著地减少存储器总线上的压力。我们应用和完善这种优化最近提出的时间阻塞策略,旨在明确利用多核特性。特别是对于高斯-赛德尔平滑的情况下,我们表明,同时多线程(SMT)可以产生显着的性能改进,我们的优化算法。
2010-04-10 cs.DC cs.PF
A Class of Parallel Tiled Linear Algebra Algorithms for Multicore Architectures
随着多核系统在高性能计算领域的不断发展,必须重新制定线性代数算法或开发新算法,以便利用这些新处理器上的架构功能。细粒度并行性成为一个主要需求,并在操作的并行执行中引入了松同步的必要性。本文提出了一种Cholesky,LU和QR分解的算法,其中的操作可以表示为一系列的小任务,操作的方块数据。这些任务可以根据它们之间的依赖关系和计算资源的可用性来动态调度执行。这可能导致任务的乱序执行,这将完全隐藏因式分解中固有顺序任务的存在。性能比较与LAPACK算法的并行性只能利用在BLAS操作和供应商实现的水平。
2008-06-12 cs.DC cs.MS
FTI-TMR: A Fault Tolerance and Isolation Algorithm for Interconnected Multicore Systems
针对现有三模冗余(TMR)算法存在的易受永久故障影响、硬件开销高或有单点故障的问题,提出面向互联多核系统的FTI-TMR算法,通过稳定性指标选可靠节点做周期诊断隔离故障,在降约30%任务负载的同时提升了永久故障覆盖率。
2025-10-29 cs.DC
Scheduling Algorithms for Asymmetric Multi-core Processors
由于对处理器性能的要求越来越高,功耗不断增加,多核处理器技术应运而生,成为当前和未来十年的主流技术。研究提倡非对称多核处理器系统,以更好地利用芯片的真实状态。然而,非对称多核架构对传统上假定硬件同构的操作系统调度器提出了新的挑战。因此,如何将线程调度到内核已成为操作系统内核的一个重要问题。在本文中,提出了调度算法的非对称多核处理器进行了分类。本文通过对这几类典型算法的研究,对非对称多核系统的调度算法进行了综述。
2017-02-14 cs.DC
A study of integer sorting on multicores
多核和GPU上的并行排序可以通过多种方法来实现,包括基于分布的方法的变体,例如基数排序,面向比较的算法,例如确定性规则采样和随机采样并行排序,以及基于网络的算法,例如Batcher的双调排序算法。在这项工作中,我们提出了一个多核处理器上的整数排序的实验研究。我们已经实现了串行和并行基数排序的各种基数,确定性规则过采样和随机过采样并行排序,也有一些以前很少探索或未探索的变种的bitonic排序和奇偶换位排序。该研究使用多线程和多处理并行编程库,C语言实现在Open MPI,MulticoreBSP和BSPlib下使用相同的源代码。一个次要的目标是试图模拟这些算法实现的性能下的多存储器BSP(多存储器BSP)模型。我们首先提供一些一般的高层次的观察这些实现的性能。如果我们可以得出任何结论的话,那就是通过考虑架构相关的特征(例如多个存储层次结构的结构和特性)来准确预测性能是困难的,并且通常是站不住脚的。在某种程度上,这受到编程工作中使用的高级库所带来的开销的影响。然而,我们仍然可以得出一些可靠的结论和理由,这些实现的性能使用MBSP模型,从而使MBSP有用和可用。
2018-08-29 cs.DC
Multicore-aware parallel temporal blocking of stencil codes for shared and distributed memory
需要新的算法和优化技术来平衡带宽匮乏的多核芯片的加速趋势。众所周知,模板代码的性能可以通过时间分块来改善,从而减轻对存储器接口的压力。我们介绍了一种新的流水线的方法,使显式使用共享缓存在多核环境中,最大限度地减少同步和边界开销。对于共享内存节点的集群,我们演示了如何在混合共享/分布式内存环境中成功地采用时间块。
2009-12-22 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
Performance Impact of Lock-Free Algorithms on Multicore Communication APIs
通过串行化对共享存储器资源的访问来防止多任务软件应用中的数据竞争条件,从而确保数据一致性和确定性行为。传统上,任务获取和释放锁以同步共享内存上的操作。不幸的是,锁管理可能会增加大量的处理开销,特别是对于多核部署,其中不同核上的任务在队列中等待获取锁。实现多个锁会引入死锁的风险,并使用自旋锁限制任务可以在哪些内核上运行。更好的选择是消除锁并验证是否满足实时属性,这在许多嵌入式应用程序中没有直接考虑。删除锁是不平凡的,为开发人员打包无锁算法可以降低并发缺陷的可能性。本文详细介绍了如何增强多核通信API实现以支持无锁消息传递,以及这对任务之间的数据交换延迟的影响。在Windows和Linux上比较了基于锁和无锁实现的消息、数据包和标量数据交换的吞吐量和延迟。无锁交换模型预测系统架构级别的性能,并为重构提供停止标准。结果表明,从单核到多核硬件架构的迁移降低了基于锁的性能,并提高了无锁性能。
2014-01-09 cs.DC cs.OS cs.PF
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
The best multicore-parallelization refactoring you've never heard of
本文针对难并行化的树遍历算法的多核并行问题,借鉴编程语言经典技术结合心跳调度自动粒度控制,通过简单重构步骤实现并行,无需特殊编译器支持,可用于教学和一次性并行化场景。
2023-07-20 cs.DC cs.PL
Efficient Construction of Simultaneous Deterministic Finite Automata on Multicores Using Rabin Fingerprints
在本文中,我们提出了几个优化的SFA构造算法,这大大减少了内存中的足迹和所需的处理步骤,以构建一个SFA。我们引入指纹作为一种空间和时间有效的方式来表示SFA状态。为了计算指纹,我们应用Barrett归约算法,并使用最近添加到x86指令集架构来加速它。我们利用指纹引入哈希进一步优化。我们的并行SFA构造算法是非阻塞的,并利用了粗,中,细粒度的并行性的防御级,数据级和任务级。我们适应静态的工作负载分布和对齐的SFA数据结构与多核存储层次结构的限制,以增加存储器访问的本地性和促进硬件预取。我们在PROSITE蛋白质数据库上进行了多达702个FA状态的FA实验,以评估我们提出的优化方法的性能和有效性。在4 CPU(64核)AMD Opteron 6378系统和2 CPU(28核,每个核2个超线程)Intel Xeon E5-2697 v3系统上进行了评估。在AMD系统上观察到的顺序基线算法的加速比高达118541倍,在Intel系统上为2113968倍。
2017-09-26 cs.DC
A Certified Universal Gathering Algorithm for Oblivious Mobile Robots
Conservatoire national des arts et métiers(法国国立工艺学院);Collège de France(法兰西公学院);Sorbonne Universités, UPMC Univ Paris 06(索邦大学,巴黎第六大学(UPMC));Institut Universitaire de France(法国大学研究院);École Nat. Sup. d’Informatique pour l’Industrie et l’Entreprise (ENSIIE)(法国国立工业与企业信息学高等学院(ENSIIE));Université Paris-Sud(巴黎第十一大学)
我们提出了一个新的算法的问题,普遍收集移动遗忘机器人(即,从任何初始配置,不是二价的,使用任何数量的机器人,机器人到达在有限数量的步骤相同的位置,事先不知道),而不依赖于一个共同的手征。我们给我们的算法的正确性非常强的证明正式证明,它是正确的,使用COQ证明助手。据我们所知,这是在遗忘移动机器人的背景下第一个经过认证的积极(和建设性)结果。它展示了该方法获得真正通用的新算法的有效性,以及其可管理性,因为开发的代码量仍然是人类可读的。
2015-06-04 cs.CG cs.DC cs.DS
Pushing the limits for medical image reconstruction on recent standard multicore processors
在许多介入性临床计算机断层扫描(CT)应用中,通过反投影的体积重建是计算瓶颈。今天,该领域的供应商用标准硬件(如多核芯片和GPGPU)取代了专用硬件加速器。医学成像算法即将采用高性能计算(HPC)技术,因此是一个有趣的新的候选优化。本文通过对四代英特尔多核处理器(Harpertown、Westmere、Westmere EX和Sandy Bridge)的全面性能分析,介绍了反向投影算法的低级优化。我们选择RabbitCT基准测试,这是一个在行业中得到良好支持的标准化测试用例,以确保结果透明且具有可比性。我们的目标是不仅提供最快的实现,而且还比较性能模型和硬件计数器数据,以便充分了解结果。我们分开的算法优化,并行化,SIMD向量化,和微体系结构的问题,并查明目前的SIMD指令集扩展标准CPU(SSE,AVX)的问题的影响。为了获得最佳性能,必须使用汇编语言。最后,我们比较我们的结果,最好的GPGPU实现可用于这个开放的竞争基准。
2011-09-20 cs.DC cs.PF
Accelerating motif finding in DNA sequences with multicore CPUs
发现DNA序列中的模体是分子生物学中的一项具有挑战性的任务。在计算模体发现中,Planted(l,d)模体发现是一个被广泛研究的问题,有很多算法可以用来解决它,硬件加速器和软件加速器都被用来加速模体发现算法。然而,FPGA等硬件加速器的使用需要硬件专家来设计此类系统。另一方面,基于软件的加速方法比硬件加速技术更容易实现。网格计算就是一种基于软件的加速技术,它已被用于模体发现的加速。然而,诸如网络通信延迟和网格中节点之间快速互连的需要等缺点可能限制其使用和可扩展性。随着使用多核CPU来加速CPU密集型任务变得越来越流行和普遍,我们可以使用它来加速模体发现,它可以是一种比基于网格的加速更快的方法。在本文中,我们探讨了使用多核CPU来加速基序发现。我们已经在多核CPU上加速了Skip-Brute Force算法,并使用POSIX线程库将其并行化。我们的方法在32核处理器上的平均速度提高了34倍,而在基于网格的32个节点的实现上的速度提高了21倍。
2014-03-06 cs.CE cs.DC
Efficient Multicore Collaborative Filtering
Carnegie Mellon University(卡内基梅隆大学)
本文介绍了乐步思数团队在ACM KDD CUP 2011竞赛中对第一道题(第五名)所采取的解题方法。我们发现了两个主要的挑战:独特的项目分类特征以及大的数据集大小。为了处理项目分类,我们提出了一种新的方法,称为矩阵分解项目分类规则化(MFITR)。MFITR在十多个实现的算法中获得了第二好的预测结果。为了快速计算各种算法的多个解决方案,我们在GraphLab机器学习框架之上实现了一个开源并行协同过滤库。我们报告使用黑光超级计算机获得的一些初步性能结果。
2011-08-17 cs.DC cs.LG
Information Spreading in Dynamic Networks under Oblivious Adversaries
我们研究了动态网络中的流言问题,由对手控制,可以任意修改网络从一个回合到另一个,只要网络总是连接的。在流言问题中,$n$令牌在$n$网络节点之间任意分布,并且目标是将所有的$n$令牌传播到每个节点。我们的重点是令牌转发算法,除了存储、复制和转发令牌之外,不以任何方式操作令牌。在任何静态网络中,Gossip都可以在线性时间内完成,但动态网络的一个基本开放问题是存在一个分布式协议,该协议可以做得比容易实现的$O(n^2)$回合边界好得多。在以前的工作中,它已被证明,在自适应对手,每个令牌转发算法需要$Ω(n^2/\log n)$轮。在本文中,我们研究了不经意的对手,这不同于自适应对手在一个关键的方面-他们是不经意的随机选择的协议。我们提出了一个$\tildeΩ(n^{3/2})$下界下不经意的对手的RANDDIFF,一个自然的算法,其中邻居交换令牌随机从他们的令牌集的差异均匀选择。我们还提出了一个$\tildeΩ(n^{4/3})$界下的一个更强的概念不经意的对手对称的知识为基础的算法。在积极的一面,我们提出了一个集中式的算法,完成八卦$\tilde{O}(n^{3/2})$轮。我们还显示了一个$\tilde{O}(n^{5/3})$上界的RANDDIFF在一个限制类的不经意的对手,我们称之为路径尊重。
2016-07-19 cs.DC
Cache Contention on Multicore Systems: An Ontology-based Approach
多核处理器已被证明是台式机和服务器系统的正确选择,因为它可以以可接受的预算支出支持高性能。在这项工作中,我们比较了几个作品在缓存竞争,并发现这些作品已经确定了几种技术的缓存竞争以外的缓存大小,包括前端总线,内存控制器和预取硬件。我们发现,分布式强度在线(DIO)是一个非常有前途的缓存竞争算法,因为它可以实现高达2%的最佳技术。此外,我们提出了一个新的框架缓存竞争的基础上资源本体。其中本体实例将用于不同进程之间的通信,而不是基于硬件的抓取调度。
2019-06-03 cs.DC cs.OS
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
GPU accelerated maximum cardinality matching algorithms for bipartite graphs
我们设计,实现和评估基于GPU的算法的最大基数匹配问题的二分图。这样的算法在计算机科学、科学计算、生物信息学和其它领域中具有多种应用。据我们所知,我们是第一个研究,重点是GPU实现的最大基数匹配算法。我们比较了所提出的算法与串行和多核实现从文献上的一个大的现实生活中的问题,在大多数情况下,我们的GPU加速算法之一被证明是比顺序和多核实现更快。
2013-03-06 cs.DC
Jodes: Efficient Oblivious Join in the Distributed Setting
针对分布式TEE分析系统的访问模式与传输量泄露问题,提出兼具高安全性与低渐近开销的高效不经意连接算法Jodes,在16服务器实验中性能较最优方案最高提升6倍。
2025-01-16 cs.CR cs.DB cs.DC
Certified Universal Gathering in $R^2$ for Oblivious Mobile Robots
Cédric – Conservatoire national des arts et métiers(法国国立工艺学院);Collège de France(法兰西公学院);UPMC Sorbonne Universités(巴黎第六大学索邦大学);LIP6-CNRS 7606(法国国家科学研究中心LIP6实验室(7606号混合研究单位));Institut Universitaire de France(法国大学研究院);École Nat. Sup. d’Informatique pour l’Industrie et l’Entreprise (ENSIIE)(法国国立工业企业高等计算机学院(ENSIIE));LRI, CNRS UMR 8623(法国国家科学研究中心LRI实验室(8623号混合研究单位));Université Paris-Sud(巴黎南大学);Université Paris-Saclay(巴黎萨克雷大学)
我们提出了一个统一的正式框架,用于表达移动机器人模型,协议和证明,并设计了一个协议设计/证明方法,专门用于移动机器人,利用这个正式的框架。作为一个案例研究,我们提出了第一个正式认证的协议不经意的移动机器人在二维欧几里德空间的发展。更详细地说,我们提供了一个新的算法的问题,普遍收集移动遗忘的机器人(即,从任何初始配置,不是二价,使用任何数量的机器人,机器人到达在有限数量的步骤相同的位置,事先不知道),而不依赖于一个共同的方向,也没有手性。我们给我们的算法的正确性非常强的证明正式证明,它是正确的,使用COQ证明助手。这个结果证明了这种方法在获得新算法方面的有效性,这些算法使用尽可能少的假设,并且由于开发的代码量仍然是人类可读的,因此它是可行的。
2016-02-26 cs.DC cs.DS cs.LO
Best-First Heuristic Search for Multicore Machines
University of New Hampshire(新罕布什尔大学);Palo Alto Research Center(帕洛阿尔托研究中心)
为了利用现代多核处理器,必须开发基本算法的并行版本。在本文中,我们比较了不同的方法来并行最佳优先搜索在共享内存设置。我们提出了一种新的方法,PBNF,使用抽象来划分状态空间,并检测重复的状态,而不需要频繁的锁定。PBNF允许在必要时进行推测性扩展,以保持线程繁忙。我们确定和修复潜在的活锁条件,在我们的方法,证明其正确性,使用时序逻辑。我们的方法是通用的,允许它很容易地扩展到次优和随时启发式搜索。在一个实证的比较上的CNOPS规划,网格寻路,和使用8核机器的滑动瓦片拼图问题,我们表明,A*,加权A* 和任何时候加权A* 使用PBNF实现比以前的并行搜索建议的改进版本产生更快的搜索。
2014-01-16 cs.AI cs.DC
Graph500 from OCaml-Multicore Perspective
OCaml是一种工业级、多范式的程序设计语言,广泛应用于工业和学术界。OCaml是为解决涉及大规模数据密集型操作的数值和科学问题而开发的,其中一个经典的应用程序集是图形算法,它是大多数分析工作负载的核心部分。在本文中,我们的目标是实现图基准测试以及性能分析。Graph 500就是这样一个严肃的基准,旨在开发需要极高计算能力的数据密集型应用程序。我们尝试使用graph 500提出的所需规范和规则来实现图构造,BFS,最短路径问题。本文的目的是提供一个明确的方向,选择几个数据结构使用,算法开发和提出背后的每一步程序的原因。本文的前几部分讨论了一个正式的方法来解决这个问题,并为OCaml的初学者提供了一个小指南。后面的部分详细描述了算法,以及未来探索的可能性和我们在接近解决方案时犯下或遇到的几个错误。所有性能指标均在英特尔(R)至强(R)Gold 5120 CPU@2.20 GHz 24核机器上进行了测试。每个部分都讨论了遇到的初始性能故障,这将有助于从性能角度分析和优先考虑我们的首选实现。
2020-12-25 cs.DC cs.PF
Auto-tuning of dynamic scheduling applied to 3D reverse time migration on multicore systems
逆时偏移(RTM)是一种广泛应用于石油和天然气工业的地震数据处理算法。这是一个计算密集型的任务,非常适合并行计算机。诸如RTM的方法可以通过将并行循环的迭代调度到线程而在共享存储器系统中并行化。然而,几个方面,如内存大小和层次结构,核心数量和输入大小,使最佳调度非常具有挑战性。在本文中,我们介绍了一种运行时策略,自动调整并行循环迭代的动态调度迭代应用程序,如RTM,在多核系统。所提出的方法旨在减少此类应用程序的执行时间。为了找到最佳的粒度,我们提出了一种基于耦合模拟退火(CSA)的自动调整策略,该策略可以调整OpenMP并行循环在3D RTM应用程序初始化过程中动态分配给工作线程的工作块大小。不同的计算系统和输入大小进行的实验表明,该方法始终优于默认的OpenMP编译器,静态,自动和引导,使应用程序的速度提高了33%。我们表明,这种性能的可能原因是减少高速缓存未命中,主要是L3级,和低开销,低于2%。已经证明对于3D RTM是鲁棒的和可扩展的,所提出的方法还可以提高类似的基于波的算法的性能,例如全波形反演(FWI)和其他迭代应用。
2020-07-05 cs.DC
Beyond 2-Edge-Connectivity: Algorithms and Impossibility for Content-Oblivious Leader Election
本文研究了在内容无关通信模型下,利用拓扑知识实现领导选举的算法与不可能性,证明了非对称树和特定图结构的领导选举可行性。
2025-11-28 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
Parameterized Verification of Algorithms for Oblivious Robots on a Ring
IRIF - Univ Paris Diderot(巴黎狄德罗大学 IRIF);Sorbonne Universités, UPMC Univ Paris 06(索邦大学 皮埃尔和玛丽·居里大学)
我们研究验证问题的自主群的移动机器人,自组织和合作,以解决全球目标。特别是,我们专注于在本文中提出的模型由铃木和山下的匿名机器人在一个离散的空间与有限数量的位置(在这里,一个环)。已经提出了大量的算法工作的环,其大小不是先验固定的,因此可以被认为是一个参数。这些算法的手工正确性证明已被证明是容易出错的,最近的注意力已经给予了正式的方法来自动证明这些应用程序。我们的工作是第一个研究的验证问题,这样的算法在参数化的情况下。我们表明,安全性和可达性问题是不可判定的机器人异步进化。在积极的一面,我们表明,安全属性是决定在同步的情况下,以及在异步的情况下,一类特定的算法。协议的几个属性也可以决定。决策过程依赖于Presburger算法公式中的编码,该公式可以通过SMT求解器进行验证。我们的方法的可行性证明了几个案例研究的编码。
2017-06-16 cs.CC cs.DC cs.DS
HBMax: Optimizing Memory Efficiency for Parallel Influence Maximization on Multicore Architectures
影响力最大化的目标是在网络中选择k个最有影响力的顶点或种子,其中影响力由给定的扩散过程定义。虽然计算最优种子集是NP难的,但存在有效的近似算法。然而,即使是最先进的并行实现也受到采样步骤的限制,采样步骤会导致较大的内存占用。这反过来又限制了问题的规模范围和近似质量。在这项工作中,我们研究了在大型现实世界的社交网络上的IMM(通过鞅的影响力最大化)算法中收集反向可达性信息的采样过程的内存足迹。我们提出了一种基于Ripples的内存高效优化方法(称为HBMax),Ripples是一种最先进的多线程并行影响力最大化解决方案。我们的方法,HBMax,使用的算法收集的反向可达(RR)集的一部分,学习图的特征。然后,利用霍夫曼编码或位图编码压缩中间反向可达性信息,并对部分解码的数据进行查询,或者直接对压缩后的数据进行查询,以保留通过压缩获得的存储器节省。考虑到NUMA架构,我们在64个CPU内核上扩展了我们的解决方案,并将内存占用减少了82.1%,平均加速率为6.3%(编码开销被内存减少带来的性能增益所抵消),而不损失准确性。对于最大的测试图Twitter7(具有14亿条边),HBMax实现了5.9倍的压缩比和2.2倍的加速比。
2022-08-04 cs.DC
Crash tolerant gathering on grid by asynchronous oblivious robots
考虑一个系统的自主移动机器人最初随机部署在一个匿名的有限网格的节点。聚集算法是由每个机器人独立执行的一系列移动,以便所有机器人在有限时间后在单个节点相遇。机器人以“看-计算-移动”循环运行。在每个周期中,机器人根据占用的节点(\emph{Look})拍摄网格的当前配置的快照,然后基于感知的配置,决定是保持不变还是移动到相邻节点(\emph{Compute}),并且在后一种情况下相应地进行瞬时移动(\emph{Move})。机器人具有\emph{weak multiplicity detection}能力,这使它们能够检测节点是否为空或被单个机器人或多个机器人占用。机器人是\emph{asynchronous}、\emph{oblivious}、\emph{anonymous},不能相互通信和执行相同的分布式算法。然而,在一个有故障的系统中,任何机器人都可以\emph{crash},这意味着它变得完全不活动,不再参与该过程。在这种情况下,容错收集算法是一种将所有无故障机器人收集在单个节点的算法。本文考虑了一个故障系统,可以有最多一个崩溃故障。有了这些假设,确定性的容错收集算法,收集所有的初始配置,在一个非故障系统,除了一个特定的配置称为\emph{2S2 configuration}是可验证的。
2017-09-04 cs.DC
ICE: A General and Validated Energy Complexity Model for Multithreaded Algorithms
像时间复杂度模型,已显着有助于快速算法的分析和开发,并行算法的能量复杂度模型被期望作为关键手段,以开发能源高效的算法,无处不在的多核平台。理想的能量复杂度模型应该在真实的多核平台上得到验证,并适用于广泛的并行算法。然而,现有的并行算法的能量复杂度模型要么是理论上的模型验证或算法特定的没有能力分析能量复杂度的广泛的并行算法。本文提出了一种新的通用验证并行(多线程)算法的能量复杂性模型。新模型通过计算操作和数据访问的静态和动态能量抽象出可能的多核平台,并从其工作、跨度和I/O复杂度中推导出给定算法的能量复杂度。通过在高性能计算(HPC)平台(例如,Intel Xeon和Xeon Phi)。新的能量复杂度模型能够根据三个方面来表征和比较SpMV和matmul内核的能量消耗:不同算法,不同输入矩阵类型和不同平台。实验结果证实了新模型关于在不同平台上使用不同输入时哪种算法消耗更多能量的预测。为了提高新模型在广泛平台上的可用性和准确性,提供了包括HPC、加速器和嵌入式平台在内的11个平台的ICE模型的平台参数。
2016-10-04 cs.DC
Coding theory for noiseless channels realized by anonymous oblivious mobile robots
我们提出了一个信息传输方案,由一群匿名遗忘的移动机器人在一个图。机器人群从发送者顶点行进到接收者顶点,以传输在发送者处生成的符号。符号的码字是发送器处的初始配置和接收器处的终端配置集合的对。这样的码字的集合形成代码。我们分析了该方案的性能,其代码大小和传输延迟。我们首先证明了传输延迟的下限取决于群的大小,并且代码大小的上限由群的大小的指数决定。然后,我们给出了两个算法的一个固定大小的群。第一种算法实现了一个接近最佳的代码大小与大的传输延迟。第二种算法以较小的码长实现了最优的传输时延。然后,我们考虑不同规模的群体的信息传输,并提出了两种算法的期望群体规模的上界。我们还提出了由香农引理和无噪声编码定理的下界。
2019-05-21 cs.DC cs.IT math.IT
Fault-Induced Dynamics of Oblivious Robots on a Line
在Look-Compute-Move模型中存在故障机器人的情况下的计算研究一直是广泛调查的对象,通常的目标是设计算法容忍尽可能多的故障。在本文中,我们启动了一个新的调查路线的存在故障,专注于一个相当不同的问题。我们有兴趣了解一组机器人的动态时,他们执行的算法设计的一个无故障的环境中,在一些不可检测的坠毁机器人的存在。我们开始这项调查集中在经典的点收敛算法由Ando等人。在一个简单的设置(这已经提出了严重的挑战)的机器人有限的能见度:机器人完全同步运行在一条线上,最多有两个是错误的。有趣的是,也许令人惊讶的是,故障的存在导致机器人执行某种形式的散射,而不是点收敛。事实上,我们发现,他们安排自己的段内界定的两个故障交错序列的等距机器人。它们形成的结构具有层次性:机器人将自己组织成组,只有在所有较低级别的组都收敛之后,某个级别的组才收敛到等距分布。这是第一次研究由故障的存在引起的遗忘机器人的非预期动力学。
2017-07-11 cs.DC
OpenMP Parallelization of Dynamic Programming and Greedy Algorithms
多核自出现以来就成为一种典型的体系结构模型,现在已经成为一种标准。趋势是增加核的数量和提高存储系统的性能。为一个重要的算法内核提供一个高效的多核实现是一个真正的贡献。从方法论的角度来看,这应该在基础范式(如果有的话)的级别上完成。在本文中,我们研究的情况下,{ \em动态规划}和{ \em贪心算法},这是两个主要的算法范例。我们专门考虑通过OpenMP基于方向的循环并行化,并研究必要的预转换,以达到一个定期的并行形式。我们评估我们的方法与选择知名的组合优化问题的INTEL Broadwell处理器。可扩展性的关键点之前和之后的实验结果进行了讨论。我们的直接观点是将我们的研究扩展到众核情况,特别关注NUMA配置。
2020-01-20 cs.DC
Gathering Anonymous, Oblivious Robots on a Grid
Heinz Nixdorf Institute(海因茨·尼克斯多夫研究所);University of Paderborn(帕德博恩大学)
我们考虑一群$n$自主移动机器人,分布在一个2维网格。这样一个群体的基本任务是收集过程:所有机器人都必须聚集在一个(不是预定义的)地方。一个非常简单的机器人的常见局部模型如下:机器人没有共同的指南针,只有恒定的视野半径,是自主的和不可区分的,每一步最多可以移动一个恒定的距离,不能通信,是健忘的,没有标志或状态。该机器人模型下的唯一收集算法,具有已知的运行时间界限,需要$\mathcal{O}(n^2)$轮,并在欧几里得平面中工作。该算法的底层时间模型是完全同步的$\mathcal{FSYNC}$模型。另一方面,在2维网格的情况下,对于相同时间和类似的局部模型的唯一已知的收集算法另外需要恒定的存储器、状态和“标志”,以将这些状态传送到观看范围中的邻居。他们聚集在时间$\mathcal{O}(n)$。在本文中,我们贡献了(据我们所知)网格上的第一次收集算法,该算法在与上述欧几里得平面策略相同的简单局部模型下工作,即,没有记忆(不经意的)、“标志”和状态。我们证明了它的正确性和$\mathcal{O}(n^2)$的时间限制在完全同步的$\mathcal{FSYNC}$时间模型。该时间界限与上述欧几里得平面的最佳已知算法的时间界限相匹配。我们说,如果所有机器人都位于$2\times 2$正方形内,则完成了收集,因为在$\mathcal{FSYNC}$中无法解决此类配置。
2017-08-03 cs.DC cs.MA cs.RO