Proceedings of the 32nd ACM Symposium on Parallelism in Algorithms and Architectures最新文献

筛选
英文 中文
ParlayLib - A Toolkit for Parallel Algorithms on Shared-Memory Multicore Machines 共享内存多核机器上并行算法的工具包
G. Blelloch, Daniel Anderson, Laxman Dhulipala
{"title":"ParlayLib - A Toolkit for Parallel Algorithms on Shared-Memory Multicore Machines","authors":"G. Blelloch, Daniel Anderson, Laxman Dhulipala","doi":"10.1145/3350755.3400254","DOIUrl":"https://doi.org/10.1145/3350755.3400254","url":null,"abstract":"ParlayLib is a C++ library for developing efficient parallel algorithms and software on shared-memory multicore machines. It provides additional tools and primitives that go beyond what is available in the C++ standard library, and simplifies the task of programming provably efficient and scalable parallel algorithms. It consists of a sequence data type (analogous to std::vector), many parallel routines and algorithms, a work-stealing scheduler to support nested parallelism, and a scalable memory allocator. It has been developed over a period of seven years and used in a variety of software including the PBBS benchmark suite, the Ligra, Julienne, and Aspen graph processing frameworks, the Graph Based Benchmark Suite, and the PAM library for parallel balanced binary search trees, and an implementation of the TPC-H benchmark suite.","PeriodicalId":218208,"journal":{"name":"Proceedings of the 32nd ACM Symposium on Parallelism in Algorithms and Architectures","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-07-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133908372","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 43
Cache-Efficient Parallel-Partition Algorithms using Exclusive-Read-and-Write Memory 使用独占读写内存的高速缓存高效并行分区算法
William Kuszmaul, Alek Westover
{"title":"Cache-Efficient Parallel-Partition Algorithms using Exclusive-Read-and-Write Memory","authors":"William Kuszmaul, Alek Westover","doi":"10.1145/3350755.3400234","DOIUrl":"https://doi.org/10.1145/3350755.3400234","url":null,"abstract":"We present an in-place algorithm for the parallel-partition problem with linear work and polylogarithmic span. The algorithm uses only exclusive read/write shared variables and can be implemented using parallel-for-loops without any additional concurrency considerations (i.e., the algorithm is EREW). A key feature of the algorithm is that it exhibits provably optimal cache behavior up to small-order factors. We also present a second in-place EREW algorithm with work O(n) and span O(log n · log log n), which is within an O(log log n) factor of the optimal span. By using this low-span algorithm as a subroutine within the cache-friendly algorithm, we obtain a single EREW algorithm that combines their theoretical guarantees: the algorithm achieves span O(log n · log log n) and exhibits optimal cache behavior. As an immediate consequence, we also get an in-place EREW Quicksort algorithm with work O(n log n) and span O(log2 n · log log n). Whereas the standard EREW algorithm for parallel-partition is memory-bandwidth bound on large numbers of cores, our cache-friendly algorithm is able to achieve near-ideal scaling in practice by avoiding the memory-bandwidth bottleneck. Our algorithm's performance is comparable to that of the Blocked Strided Algorithm of Francis, Pannan, Frias, and Petit, which is the previous state-of-the-art for parallel EREW sorting algorithms, but which lacks theoretical guarantees on its span and cache behavior.","PeriodicalId":218208,"journal":{"name":"Proceedings of the 32nd ACM Symposium on Parallelism in Algorithms and Architectures","volume":"35 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-07-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133096236","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 1
Memory Tagging: Minimalist Synchronization for Scalable Concurrent Data Structures 内存标记:可扩展并发数据结构的极简同步
Dan Alistarh, Trevor Brown, N. Singhal
{"title":"Memory Tagging: Minimalist Synchronization for Scalable Concurrent Data Structures","authors":"Dan Alistarh, Trevor Brown, N. Singhal","doi":"10.1145/3350755.3400213","DOIUrl":"https://doi.org/10.1145/3350755.3400213","url":null,"abstract":"There has been a significant amount of research on hardware and software support for efficient concurrent data structures; yet, the question of how to build correct, simple, and scalable data structures has not yet been definitively settled. In this paper, we revisit this question from a minimalist perspective, and ask: what is the smallest amount of synchronization required for correct and efficient concurrent search data structures, and how could this minimal synchronization support be provided in hardware? To address these questions, we introduce memory tagging, a simple hardware mechanism which enables the programmer to \"tag\" a dynamic set of memory locations, at cache-line granularity, and later validate whether the memory has been concurrently modified, with the possibility of updating one of the underlying locations atomically if validation succeeds. We provide several examples showing that this mechanism can enable fast and arguably simple concurrent data structure designs, such as lists, binary search trees, balanced search trees, range queries, and Software Transactional Memory (STM) implementations. We provide an implementation of memory tags in the Graphite multi-core simulator, showing that the mechanism can be implemented entirely at the level of L1 cache, and that it can enable non-trivial speedups versus existing implementations of the above data structures.","PeriodicalId":218208,"journal":{"name":"Proceedings of the 32nd ACM Symposium on Parallelism in Algorithms and Architectures","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-07-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130066642","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 1
Green Paging and Parallel Paging 绿色分页和并行分页
Kunal Agrawal, M. A. Bender, Rathish Das, William Kuszmaul, E. Peserico, Michele Scquizzato
{"title":"Green Paging and Parallel Paging","authors":"Kunal Agrawal, M. A. Bender, Rathish Das, William Kuszmaul, E. Peserico, Michele Scquizzato","doi":"10.1145/3350755.3400231","DOIUrl":"https://doi.org/10.1145/3350755.3400231","url":null,"abstract":"We study two fundamental variants of the classic paging problem: green paging and parallel paging. In green paging one can choose the exact memory capacity in use at any given instant, between a maximum of k and a minimum of k/p pages; the goal is to minimize the integral of this number over the time required to complete a computation (note that running at lower capacity is not necessarily better, since might disproportionately increase the total completion time). In parallel paging, a memory of k pages is shared between p processors, each carrying out a separate computation; the goal is to minimize the respective completion times. We show how these two different problems are strictly related: any efficient solution to green paging can be converted into an efficient solution to parallel paging, and any lower bound for green paging can be converted into a lower bound for parallel paging---in both cases in a black-box fashion. Exploiting this relation, we provide tight upper and lower bounds of Θ(log p) on the competitive ratio with O(1) resource augmentation for both problems.","PeriodicalId":218208,"journal":{"name":"Proceedings of the 32nd ACM Symposium on Parallelism in Algorithms and Architectures","volume":"4 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-07-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128047072","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 5
pTrans: A Scalable Algorithm for Reservation Guarantees in Distributed Systems pTrans:分布式系统中可扩展的预约保证算法
Yuhan Peng, P. Varman
{"title":"pTrans: A Scalable Algorithm for Reservation Guarantees in Distributed Systems","authors":"Yuhan Peng, P. Varman","doi":"10.1145/3350755.3400273","DOIUrl":"https://doi.org/10.1145/3350755.3400273","url":null,"abstract":"Providing performance QoS (Quality-of-Service) guarantees in a distributed data center environment poses unique challenges. In a typical setting, a client must be guaranteed a minimum amount of service (its contractual reservation) aggregated over all servers on which it has demand for service. A server may receive service demands from multiple clients, which may in aggregate exceed its service capacity. The system must decide how much service to provide to each client on each server that it has demand, in order to satisfy all clients' reservations. In case there is no feasible allocation of the service, the amount of reservation that is fulfilled must be maximized. In practice, the number of clients is several orders of magnitude larger than the number of servers. We describe a simple iterative algorithm called pTrans for reservation allocation based on a directed graph model; servers are vertices and edges are characterized by a vector of feasible service transfers between adjacent servers. We provide formal proofs that the algorithm converges to the global optimal and has a polynomial worst-case running time. Moreover, pTrans can be easily parallelized using multiple threads. Empirical evaluation results show pTrans has low runtime overheads.","PeriodicalId":218208,"journal":{"name":"Proceedings of the 32nd ACM Symposium on Parallelism in Algorithms and Architectures","volume":"47 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-07-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124445604","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 4
Feasibility of Cross-Chain Payment with Success Guarantees 有成功保证的跨链支付的可行性
R. V. Glabbeek, V. Gramoli, Pierre Tholoniat
{"title":"Feasibility of Cross-Chain Payment with Success Guarantees","authors":"R. V. Glabbeek, V. Gramoli, Pierre Tholoniat","doi":"10.1145/3350755.3400264","DOIUrl":"https://doi.org/10.1145/3350755.3400264","url":null,"abstract":"We consider the problem of cross-chain payment whereby customers of different escrows---implemented by a bank or a blockchain smart contract---successfully transfer digital assets without trusting each other. Prior to this work, cross-chain payment problems did not require this success, or any form of progress. We demonstrate that it is possible to solve this problem when assuming synchrony, in the sense that each message is guaranteed to arrive within a known amount of time, but impossible to solve without assuming synchrony. Yet, we solve a weaker variant of this problem, where success is conditional on the patience of the participants, without assuming synchrony, and in the presence of Byzantine failures. We also discuss the relation with the recently defined cross-chain deals.","PeriodicalId":218208,"journal":{"name":"Proceedings of the 32nd ACM Symposium on Parallelism in Algorithms and Architectures","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-07-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130616634","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 6
A LOCAL Constant Approximation Factor Algorithm for Minimum Dominating Set of Certain Planar Graphs 一类平面图最小支配集的局部常数逼近因子算法
Sharareh Alipour, A. Jafari
{"title":"A LOCAL Constant Approximation Factor Algorithm for Minimum Dominating Set of Certain Planar Graphs","authors":"Sharareh Alipour, A. Jafari","doi":"10.1145/3350755.3400217","DOIUrl":"https://doi.org/10.1145/3350755.3400217","url":null,"abstract":"In this paper, we present a randomized LOCAL constant approximation factor algorithm for minimum dominating set (MDS) problem and minimum total dominating set (MTDS) problem in graphs. The approximation factor of this algorithm for planar graphs with no 4-cycles is 18 and 9 for MDS and MTDS problems, respectively.","PeriodicalId":218208,"journal":{"name":"Proceedings of the 32nd ACM Symposium on Parallelism in Algorithms and Architectures","volume":"11 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-07-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116866571","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 8
Benchmarking Recoverable Mutex Locks 可恢复互斥锁的基准测试
J. Xiao, Zheng Zhang, W. Golab
{"title":"Benchmarking Recoverable Mutex Locks","authors":"J. Xiao, Zheng Zhang, W. Golab","doi":"10.1145/3350755.3400269","DOIUrl":"https://doi.org/10.1145/3350755.3400269","url":null,"abstract":"Golab and Ramaraju recently formalized the Recoverable Mutual Exclusion (RME) problem -- a fault-tolerant generalization of Dijkstra's mutual exclusion problem. Several solutions to the RME problem have been proposed since its introduction, and the hardware required to evaluate their performance became available recently following Intel's public launch of Optane Data Center Persistent Memory. In this paper, we present the first experimental evaluation of RME algorithms using an Optane-equipped multiprocessor, with a focus on efficient queue locks. Specifically, we compare Golab and Hendler's recoverable queue lock against Jayanti, Jayanti, and Joshi's, and show that the former is up to 2x faster. Furthermore, we measure the performance penalty of Optane-based RME locks versus DRAM-based conventional locks by comparing the two recoverable locks against an implementation of Mellor-Crummey and Scott's queue lock, and observe that the latter is several-fold faster.","PeriodicalId":218208,"journal":{"name":"Proceedings of the 32nd ACM Symposium on Parallelism in Algorithms and Architectures","volume":"37 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-07-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124807295","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 1
Reconstructing Binary Trees in Parallel 并行二叉树的重构
Ramtin Afshar, M. Goodrich, Pedro A. Matias, Martha C. Osegueda
{"title":"Reconstructing Binary Trees in Parallel","authors":"Ramtin Afshar, M. Goodrich, Pedro A. Matias, Martha C. Osegueda","doi":"10.1145/3350755.3400229","DOIUrl":"https://doi.org/10.1145/3350755.3400229","url":null,"abstract":"We study the parallel query complexity of reconstructing binary trees from simple queries involving their nodes. We show that a querier can efficiently reconstruct a binary tree with a logarithmic number of rounds and quasilinear number of queries, with high probability, for various types of queries.","PeriodicalId":218208,"journal":{"name":"Proceedings of the 32nd ACM Symposium on Parallelism in Algorithms and Architectures","volume":"50 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-07-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127863178","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 6
Communication vs Synchronisation in Parallel String Comparison 并行字符串比较中的通信与同步
A. Tiskin
{"title":"Communication vs Synchronisation in Parallel String Comparison","authors":"A. Tiskin","doi":"10.1145/3350755.3400225","DOIUrl":"https://doi.org/10.1145/3350755.3400225","url":null,"abstract":"The longest common subsequence (LCS) problem is fundamental in computer science and its many applications. Parallel algorithms for this problems have been studied previously, in particular in the bulk-synchronous parallelism (BSP) model, which treats local computation, communication and synchronisation as independent scarce resources of a computing system. We consider primarily BSP algorithms running in either constant or polylogarithmic synchronisation. Based on our previous results on the algebraic structure and efficient algorithms for semi-local LCS, we present BSP algorithms for parallel semi-local LCS, improving on the existing upper bounds on communication and synchronisation; in particular we present the first constant-sync work-optimal LCS algorithm.","PeriodicalId":218208,"journal":{"name":"Proceedings of the 32nd ACM Symposium on Parallelism in Algorithms and Architectures","volume":"32 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-07-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121672741","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 2
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
相关产品
×
本文献相关产品
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信
小红书