{"title":"Improved Work Span Tradeoff for Single Source Reachability and Approximate Shortest Paths","authors":"Nairen Cao, Jeremy T. Fineman, Katina Russell","doi":"10.1145/3350755.3400222","DOIUrl":"https://doi.org/10.1145/3350755.3400222","url":null,"abstract":"This brief announcement presents parallel algorithms with a tradeoff between work and span for single source reachability and approximate shortest paths on directed graphs. Both algorithms have ~O(mρ2 + nρ4) work and achieve n1/2+ o(1)/ρ span for all ρ ∈ [1,√n].","PeriodicalId":218208,"journal":{"name":"Proceedings of the 32nd ACM Symposium on Parallelism in Algorithms and Architectures","volume":"8 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":"127977655","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}
{"title":"Randomized Incremental Convex Hull is Highly Parallel","authors":"G. Blelloch, Yan Gu, Julian Shun, Yihan Sun","doi":"10.1145/3350755.3400255","DOIUrl":"https://doi.org/10.1145/3350755.3400255","url":null,"abstract":"The randomized incremental convex hull algorithm is one of the most practical and important geometric algorithms in the literature. Due to its simplicity, and the fact that many points or facets can be added independently, it is also widely used in parallel convex hull implementations. However, to date there have been no non-trivial theoretical bounds on the parallelism available in these implementations. In this paper, we provide a strong theoretical analysis showing that the standard incremental algorithm is inherently parallel. In particular, we show that for n points in any constant dimension, the algorithm has O(log n) dependence depth with high probability. This leads to a simple work-optimal parallel algorithm with polylogarithmic span with high probability. Our key technical contribution is a new definition and analysis of the configuration dependence graph extending the traditional configuration space, which allows for asynchrony in adding configurations. To capture the \"true\" dependence between configurations, we define the support set of configuration c to be the set of already added configurations that it depends on. We show that for problems where the size of the support set can be bounded by a constant, the depth of the configuration dependence graph is shallow (O(log n) with high probability for input size n). In addition to convex hull, our approach also extends to several related problems, including half-space intersection and finding the intersection of a set of unit circles. We believe that the configuration dependence graph and its analysis is a general idea that could potentially be applied to more problems.","PeriodicalId":218208,"journal":{"name":"Proceedings of the 32nd ACM Symposium on Parallelism in Algorithms and Architectures","volume":"222 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":"122400384","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}
{"title":"How Fast Can You Update Your MST?","authors":"Seth Gilbert, L. Li","doi":"10.1145/3350755.3400240","DOIUrl":"https://doi.org/10.1145/3350755.3400240","url":null,"abstract":"Imagine a large graph that is being processed by a cluster of computers, e.g., described by the k-machine model or the Massively Parallel Computation Model. The graph, however, is not static; instead it is receiving a constant stream of updates. How fast can the cluster process the stream of updates? The fundamental question we want to ask in this paper is whether we can update the graph fast enough to keep up with the stream. We focus specifically on the problem of maintaining a minimum spanning tree (MST), and we give an algorithm for the k-machine model that can process O(k) graph updates per O(1) rounds with high probability. (And these results carry over to the Massively Parallel Computation (MPC) model.) We also show a lower bound, i.e., it is impossible to process k1+ε updates in O(1) rounds. Thus we provide a nearly tight answer to the question of how fast a cluster can respond to a stream of graph modifications while maintaining an MST.","PeriodicalId":218208,"journal":{"name":"Proceedings of the 32nd ACM Symposium on Parallelism in Algorithms and Architectures","volume":"39 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":"132409994","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}
{"title":"The Recoverable Consensus Hierarchy","authors":"W. Golab","doi":"10.1145/3350755.3400212","DOIUrl":"https://doi.org/10.1145/3350755.3400212","url":null,"abstract":"Herlihy's consensus hierarchy ranks the power of various synchronization primitives for solving consensus in a model where asynchronous processes communicate through shared memory, and may fail by halting. This paper revisits the consensus hierarchy in a model with crash-recovery failures, where the specification of consensus, called recoverable consensus (RC) in this paper, is weakened by allowing non-terminating executions when a process fails infinitely often. Two variations of this model are considered: with independent process failures, and with simultaneous (i.e., system-wide) process failures. We prove several fundamental results: (i) any synchronization primitive at level 2 in the conventional consensus hierarchy remains at level 2 in the RC hierarchy if failures are simultaneous; (ii) any commutative or overwriting primitive (including Test-And-Set, Fetch-And-Add, and Fetch-And-Store) at level 2 in the conventional consensus hierarchy drops to level 1 in the RC hierarchy if failures are independent, unless the number of such failures is bounded; and (iii) there exists a primitive at level 2 in the conventional consensus hierarchy that remains at level 2 in the RC hierarchy. Result (iii) implies that result (ii) cannot be generalized to all primitives at level 2 in the conventional consensus hierarchy. To our knowledge, this collection of results exhibits the first separation between the simultaneous and independent crash-recovery failure models with respect to the computability of consensus.","PeriodicalId":218208,"journal":{"name":"Proceedings of the 32nd ACM Symposium on Parallelism in Algorithms and Architectures","volume":"13 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":"114984675","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}
Kyle Singer, N. Goldstein, Stefan K. Muller, Kunal Agrawal, I. Lee, Umut A. Acar
{"title":"Priority Scheduling for Interactive Applications","authors":"Kyle Singer, N. Goldstein, Stefan K. Muller, Kunal Agrawal, I. Lee, Umut A. Acar","doi":"10.1145/3350755.3400236","DOIUrl":"https://doi.org/10.1145/3350755.3400236","url":null,"abstract":"Many modern parallel applications, such as desktop software and cloud-based web services, are service-oriented, long running, and perform frequent interactions with the external world (e.g., responding to user input). We want such interactive applications to provide fast response times because typically at the other end of the external interaction there is a user waiting for a response. Existing parallel platforms designed for multicore hardware do not work well for such interactive applications, because they are designed to maximize throughput (rather than responsiveness). Interactive applications may have a mixture of interactive and compute-intensive tasks occurring concurrently, and the scheduler must be able to discern and prioritize tasks so that tasks which require faster response are prioritized over background tasks. We present Interactive Cilk, or I-Cilk for short, a task parallel platform designed to schedule such parallel interactive applications. I-Cilk supports a C++-based templated library that allows the programmer to specify priorities for task-parallel code, and the underlying runtime schedules the computation so as to optimize for the response time of high-priority tasks. We show that the scheduling algorithm used by I-Cilk provides provably efficient response times for tasks at all levels of priorities, with better response time to high-priority tasks. We also empirically demonstrate that the scheduling algorithm can be implemented efficiently in practice with low scheduling overhead and provides fast response times for high-priority tasks.","PeriodicalId":218208,"journal":{"name":"Proceedings of the 32nd ACM Symposium on Parallelism in Algorithms and Architectures","volume":"163 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":"123156812","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}
{"title":"A Unified Sparsification Approach for Matching Problems in Graphs of Bounded Neighborhood Independence","authors":"Lazar Milenković, Shay Solomon","doi":"10.1145/3350755.3400248","DOIUrl":"https://doi.org/10.1145/3350755.3400248","url":null,"abstract":"The neighborhood independence number of a graph G, denoted by β = β(G), is the size of the largest independent set in the neighborhood of any vertex. Graphs with bounded neighborhood independence, already for constant β, constitute a wide family of possibly dense graphs, including line graphs, unit-disk graphs, claw-free graphs and graphs of bounded growth, which has been well-studied in the area of distributed computing. In ICALP'19, Assadi and Solomon [8] showed that, for any n-vertex graph G, a maximal matching can be computed in O(n log n · β) time in the classic sequential setting. This result shows that, surprisingly, for almost the entire regime of parameter β, a maximal matching can be computed much faster than reading the entire input. The algorithm of [8], however, is inherently sequential and centralized. Moreover, a maximal matching provides a 2-approximate (maximum) matching, and the question of whether a better-than-2-approximate matching can be computed in sublinear time remained open. In this work we propose a unified and surprisingly simple approach for producing (1+ε)-approximate matchings, for arbitrarily small ε >0. Specifically, set Δ = O(β/ε log 1/ε) and let GΔ be a random subgraph of G that includes, for each vertex v ∈ G, Δ random edges incident on it. We show that, with high probability, GΔ is a (1+ε)-matching sparsifier for G, i.e., the maximum matching size of GΔ is within a factor of 1+ε from that of G. One can then work on the sparsifier GΔ rather than on the original graph G. Since GΔ can be implemented efficiently in various settings, this approach is of broad applicability; some concrete implications are: A (1+ε)-approximate matching can be computed in the classic sequential setting in O(n/ · β ε2 · log 1/ε) time, shaving a log n factor from the runtime of [8] (for any constant ε), and more importantly achieving an approximation factor of 1+ε rather than 2. For constant ε, our runtime is tight, matching a lower bound of Ω(n · β) due to [5,8]. GΔ can be computed in a single communication round in distributed networks. Consequently, a (1+ε)-approximate matching can be computed in (β/ε log 1/ε)O (1/ε),+, O(1/ ε 2),·, log*n [[L: We changed β/ε2 to β/ε here.]] communications rounds, which reduces to O(log* n) rounds when β and ε are constants; the previous (deterministic) algorithm by Barenboim and Oren [16,17] requires a similar number of rounds but its approximation factor is 2+ε. Our sparsifier also provides a rare example of an algorithm achieving a sublinear message complexity. A (1+ε)-approximate matching can be dynamically maintained with update time O(β/ε3 log 1/ε); the previous (deterministic) algorithm by Barenboim and Maimon [14] achieves approximation factor 2 with a higher (by a factor of √n/β, for constant ε) update time of O(√β n).","PeriodicalId":218208,"journal":{"name":"Proceedings of the 32nd ACM Symposium on Parallelism in Algorithms and Architectures","volume":"31 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":"131667248","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}
M. A. Bender, R. Chowdhury, Rathish Das, Rob Johnson, William Kuszmaul, Andrea Lincoln, Quanquan C. Liu, J. Lynch, Helen Xu
{"title":"Closing the Gap Between Cache-oblivious and Cache-adaptive Analysis","authors":"M. A. Bender, R. Chowdhury, Rathish Das, Rob Johnson, William Kuszmaul, Andrea Lincoln, Quanquan C. Liu, J. Lynch, Helen Xu","doi":"10.1145/3350755.3400274","DOIUrl":"https://doi.org/10.1145/3350755.3400274","url":null,"abstract":"Cache-adaptive analysis was introduced to analyze the performance of an algorithm when the cache (or internal memory) available to the algorithm dynamically changes size. These memory-size fluctuations are, in fact, the common case in multi-core machines, where threads share cache and RAM. An algorithm is said to be efficiently cache-adaptive if it achieves optimal utilization of the dynamically changing cache. Cache-adaptive analysis was inspired by cache-oblivious analysis. Many (or even most) optimal cache-oblivious algorithms have an $(a,b,c)$-regular recursive structure. Such $(a, b, c)$-regular algorithms include Longest Common Subsequence, All Pairs Shortest Paths, Matrix Multiplication, Edit Distance, Gaussian Elimination Paradigm, etc. Bender et al. (2016) showed that some of these optimal cache-oblivious algorithms remain optimal even when cache changes size dynamically, but that in general they can be as much as logarithmic factor away from optimal. However, their analysis depends on constructing a highly structured, worst-case memory profile, or sequences of fluctuations in cache size. These worst-case profiles seem fragile, suggesting that the logarithmic gap may be an artifact of an unrealistically powerful adversary. We close the gap between cache-oblivious and cache-adaptive analysis by showing how to make a smoothed analysis of cache-adaptive algorithms via random reshuffling of memory fluctuations. Remarkably, we also show the limits of several natural forms of smoothing, including random perturbations of the cache size and randomizing the algorithm's starting time. Nonetheless, we show that if one takes an arbitrary profile and performs a random shuffle on when \"significant events'' occur within the profile, then the shuffled profile becomes optimally cache-adaptive in expectation, even when the initial profile is adversarially constructed. These results suggest that cache-obliviousness is a solid foundation for achieving cache-adaptivity when the memory profile is not overly tailored to the algorithm structure.","PeriodicalId":218208,"journal":{"name":"Proceedings of the 32nd ACM Symposium on Parallelism in Algorithms and Architectures","volume":"75 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":"131959418","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}
{"title":"Efficient Local Medium Access","authors":"P. Garncarek, T. Jurdzinski, D. Kowalski","doi":"10.1145/3350755.3400292","DOIUrl":"https://doi.org/10.1145/3350755.3400292","url":null,"abstract":"Shah, Shin and Tetali [25] initiated the study of queuing systems on the medium access channel with arbitrary interference graph. The graph models dependencies between the channel members -- any two connected by an edge are dependent. This problem could be also re-stated as a query system with dependent elements or local scheduling of dependent packets/jobs. In short, if two dependent units, also called stations, want to transmit (or be in the same query, or do jobs in parallel), there is a conflict and none of them succeeds. The problem is particularly challenging, if the units need to make their decisions locally, without any coordination. Prior the paper by Shah, Shin and Tetali [FOCS 2011], the main focus was on the clique graph -- even in this simple topology, many problems related to stability remain open. While the solution by Shah, Shin and Tetali [FOCS 2011] is semi-local, as nodes make use of information about interfering neighbors in the graph, we provide the first purely local stable algorithms. In particular, in our algorithms stations make their decision whether to transmit or not based only on looking at their local queues. Based only on this feature, and without using a priori knowledge of topology, we design an algorithm that allows all stations for implicit transferring information to and from all other stations. We use it as a tool for developing universally stable algorithms for the problem of queuing messages -- i.e., guaranteeing bounded queues when, on average, less than one independent set is injected per round. The first one is stable in adversarial (worst-case) sense, the second one -- in stochastic sense (average-case). We also prove optimality of our algorithm in adversarial sense: no algorithm can be stable against injections with rate ρ=1 (when, on average, one independent set is injected per round). Moreover, for the class of non-adaptive protocols, we show that it is not possible to achieve stability for any injection rate Ω(1/log m), where m is the size of the largest clique in the interference graph. We extend the result by showing that such protocols are not stable on some interference graphs with no cliques of size at least 3 even for injection rates Ω(√[3](log n)/n). This result separates the model with general interference graphs from the classical model of a multiple access channel (in which the interference graph is a clique), in which there exist non-adaptive algorithms stable for adversarial injection rates O(1/log2 n).","PeriodicalId":218208,"journal":{"name":"Proceedings of the 32nd ACM Symposium on Parallelism in Algorithms and Architectures","volume":"77 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":"131135945","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}
{"title":"Parallel Planar Subgraph Isomorphism and Vertex Connectivity","authors":"Lukas Gianinazzi, T. Hoefler","doi":"10.1145/3350755.3400259","DOIUrl":"https://doi.org/10.1145/3350755.3400259","url":null,"abstract":"We present the first parallel fixed-parameter algorithm for subgraph isomorphism in planar graphs, bounded-genus graphs, and, more generally, all minor-closed graphs of locally bounded treewidth. Our randomized low depth algorithm has a near-linear work dependency on the size of the target graph. Existing low depth algorithms do not guarantee that the work remains asymptotically the same for any constant-sized pattern. By using a connection to certain separating cycles, our subgraph isomorphism algorithm can decide the vertex connectivity of a planar graph (with high probability) in asymptotically near-linear work and poly-logarithmic depth. Previously, no sub-quadratic work and poly-logarithmic depth bound was known in planar graphs (in particular for distinguishing between four-connected and five-connected planar graphs).","PeriodicalId":218208,"journal":{"name":"Proceedings of the 32nd ACM Symposium on Parallelism in Algorithms and Architectures","volume":"48 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-07-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126456013","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}
{"title":"On the Limits of Parallelizing Convolutional Neural Networks on GPUs","authors":"Behnam Pourghassemi, Chenghao Zhang, Joo Hwan Lee, Aparna Chandramowlishwaran","doi":"10.1145/3350755.3400266","DOIUrl":"https://doi.org/10.1145/3350755.3400266","url":null,"abstract":"GPUs are currently the platform of choice for training neural networks. However, training a deep neural network (DNN) is a time-consuming process even on GPUs because of the massive number of parameters that have to be learned. As a result, accelerating DNN training has been an area of significant research in the last couple of years. While earlier networks such as AlexNet had a linear dependency between layers and operations, state-of-the-art networks such as ResNet, PathNet, and GoogleNet have a non-linear structure that exhibits a higher level of inter-operation parallelism. However, popular deep learning (DL) frameworks such as TensorFlow and PyTorch launch the majority of neural network operations, especially convolutions, serially on GPUs and do not exploit this inter-op parallelism. In this brief announcement, we make a case for the need and potential benefit of exploiting this rich parallelism in state-of-the-art non-linear networks for reducing the training time. We identify the challenges and limitations in enabling concurrent layer execution on GPU backends (such as cuDNN) of DL frameworks and propose potential solutions.","PeriodicalId":218208,"journal":{"name":"Proceedings of the 32nd ACM Symposium on Parallelism in Algorithms and Architectures","volume":"94 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-05-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121294061","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}