MULTITHREADED PARALLEL DATA STRUCTURES
LIM WEI QUAN · National University of Singapore · 2022
Ph.D
Cited by 0
Read the abstract, see who wrote it and who cites it, and get the citation in APA, MLA, Chicago or Harvard.
About 10,000 papers for “parallel data structures”
LIM WEI QUAN · National University of Singapore · 2022
Ph.D
Cited by 0
John D. Owens · 2007
Article Share on Data-parallel algorithms and data structures Author: John Owens UC Davis UC DavisView Profile Authors Info & Claims SIGGRAPH '07: ACM SIGGRAPH 2007 coursesAugust 2007 Pages 3–eshttps://doi.org/10.1145/1281500.1281644Published:05 August 2007Publication History 4citation28DownloadsMetricsTotal Citations4Total Downloads28Last 12 Months4Last 6 weeks1 Get Citation AlertsNew Citation Alert added!This alert has been successfully added and will be sent to:You will be notified whenever a record that you have chosen has been cited.To manage your alert preferences, click on the button below.Manage my Alerts New Citation Alert!Please log in to your account Save to BinderSave to BinderCreate a New BinderNameCancelCreateExport CitationPublisher SiteGet Access
Cited by 7
Arvind Rishiyur Nikhil, Rishiyur S. Nikhil Y (mit · 1989
It is difficult to achieve elegance, efficiency and parallelism simultaneously in functional programs that manipulate large data structures. We demonstrate this through careful analysis of program examples using three common functional data-structuring approaches--- lists using Cons and arrays using Update (both fine-grained operators), and arrays using make array (a "bulk" operator). We then present I-structures as an alternative, and show elegant, efficient and parallel solutions for the program examples in Id, a language with I-structures. The parallelism in Id is made precise by means of an operational semantics for Id as a parallel reduction system. I-structures make the language nonfunctional, but do not lose determinacy. Finally,weshowthateven in the context of purely functional languages, I-structures are invaluable for implementing functional data abstractions.
Cited by 0
Arvind Arvind, Rishiyur S. Nikhil, Keshav Pingali · ACM Transactions on Programming Languages and Systems · 1989
It is difficult to achieve elegance, efficiency, and parallelism simultaneously in functional programs that manipulate large data structures. We demonstrate this through careful analysis of program examples using three common functional data-structuring approaches-lists using Cons, arrays using Update (both fine-grained operators), and arrays using make-array (a “bulk” operator). We then present I-structure as an alternative and show elegant, efficient, and parallel solutions for the program examples in Id, a language with I-structures. The parallelism in Id is made precise by means of an operational semantics for Id as a parallel reduction system. I-structures make the language nonfunctional, but do not lose determinacy. Finally, we show that even in the context of purely functional languages, I-structures are invaluable for implementing functional data abstractions.
Cited by 362
Bryan Catanzaro · 2009
Poor data access pa�erns o�en overpower performance improvements from parallelism. How can we structure our data in ways that support our parallel computation, rather than impede it? 2
Cited by 0
Christoph Allig, Supervisor Dipl. -inf, Nicolai Waniek · 2016
Literature on parallel algorithms and data structures is vast. In fact, the literature has grown with the advent of GPGPU computing just a few years ago. However, most of the literature targets SIMD (single instruction, multiple data) hardware, which means that data structures are still sequential at their heart. In contrast to this, natural systems, and more recently new hardware, operates in a fashion which is asynchronous, solving MIMD or MISD (multiple instruction multiple data, multiple instruction single data) problems. As a consequence, we are interested in finding existing data structures that operate in an asynchronous fashion, and their benefits or drawbacks when compared to other data structures. The student shall research the state of the art of data structures for MIMD and MISD problems. Hence, the student will have to • Identify key “ingredients ” for parallel data structures. • Give an overview of the most relevant of these and reference the related literature. • Point out example problems for which these algorithms are highly suited. As a plus, the student may implement one or more of the data structures to show examples, or think about examples how to employ such data structures given special hardware, e.g. SpiNNaker. This task requires • a solid interest in parallel computing and • some knowledge of theoretical computer science (e.g. O-Notation).
Cited by 0
Stephen Brookes, Shai Geva · Figshare · 2018
Abstract: "Berry and Curien, building on Kahn and Plotkin's theory of Concrete Data Structures and sequential functions, have defined a sequential exponentiation of Concrete Data Structures. Their construction gives rise to an appealing model of sequential algorithms and a functional programming language CDS0, exhibiting some interesting semantic properties, such as: loss of extensionality; a notion of program equivalence sensitive to computation strategy; a lazy, coroutine-like semantics; full abstraction; identification of syntax and semantics. We propose to develop a similar model of concurrent computation by formulating an appropriate notion of parallel algorithm and generalizing their construction to a parallel exponentiation, while retaining analogous semantic properties.The introduction of parallelism into this setting raises several interesting issues, such as the existence, nature and properties of a satisfactory model of parallel computation employing parallel algorithms; ideally one would like to obtain a cartesian closed category with appropriate notions of parallel application, currying and composition. We hope that our ideas will yield insights into the proper mathematical treatment of parallel programming. We present here our notion of parallel algorithm and our parallel exponentiation of Concrete Data Structures. We motivate carefully the ideas behind our construction, and we explain how it can be viewed as a natural generalization of the Berry-Curien construction.We introduce application and currying operations suitable for our parallel setting. In order to justify our ideas and to place our work into context, we show some properties of our construction, and give a variety of examples. Finally, we indicate some directions for further research on issues raised by our model."
Cited by 0Open access
Herbert Jordan, Pavle Subotić, David Zhao et al. · Concurrency and Computation Practice and Experience · 2020
Summary We see a resurgence of Datalog in a variety of applications, including program analysis, networking, data integration, cloud computing, and security. The large‐scale and complexity of these applications need the efficient management of data in relations. Hence, Datalog implementations require new data structures for managing relations that (1) are parallel, (2) are highly specialized for Datalog evaluation, and (3) can accommodate different workloads depending on the applications concerning memory consumption and computational efficiency. In this article, we present a data structure framework for relations that is specialized for shared‐memory parallel Datalog implementations such as the soufflé Datalog compiler. The data structure framework permits a portfolio of different data structures depending on the workload. We also introduce two concrete parallel data structures for relations, designed for various workloads. Our benchmarks demonstrate a speed‐up of up to 6× by using a portfolio of data structures compared with using a B‐tree alone, showing the advantage of our data structure framework.
Cited by 5
Katherine Yelick, Soumen Chakrabarti, Etienne Deprit et al. · 1995
Symbolic applications often require dynamic irregular data structures, such as linked lists, unbalanced trees, and graphs, and they exhibit unpredictable computational patterns that lead to asynchronous communication and load imbalance when parallelized. In this paper we describe several symbolic applications and their parallelizations. The main problem in parallelization of each application was to replace the primary data structures with parallel versions that allow for high throughput, low latency access. In each case there are two problems to be solved: load balancing the parallel computation and sharing information about the solution as it is being constructed. The first problem is typically solved using a scheduling data structure, a stack, queue, or priority queue in sequential programs. The difficulty in parallelizing these structure is the trade-off between locality and load balancing: aggressive load balancing can lead to poor locality. The second problem of storing the soluti...
Cited by 0
Jit Biswas, James C. Browne · IEEE Transactions on Software Engineering · 1993
The problem of resource management for many processor architectures can be viewed as the problem of simultaneously updating data structures that hold system state. An approach in which the possibility of using structures with weakened specifications is examined, is presented. Specifically, data structures that weaken the specification of a priority queue, permitting it to be updated simultaneously by multiple processes are introduced. Two structures, the concurrent heap and the software banyan are proposed, along with their associated algorithms for update. The algorithms are shown to possess attractive properties of simultaneous update and throughput. The results of simulation and actual implementations show that such data structures can improve the execution times of parallel algorithms quite significantly. These structures are proposed as possible basic building blocks for implementation of resource allocation in operating systems.< <ETX xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">></ETX>
Cited by 4
Gaétan Hains, John Mullins · 1996
Cited by 0
Schneider, A · CERN Bulletin · 1991
Cited by 0Open access
Simon C. Merrall · 1996
Cited by 0
John D. Owens · 2008
Cited by 0
Andrew Rau‐Chaplin · 1993
Cited by 0Open access
Yingchun Zhu · eScholarship@McGill (McGill) · 2000
Distributed memory parallel architectures support a memory model where some memory accesses are local, and thus inexpensive, while other memory accesses are remote, and potentially quite expensive. In order to achieve efficiency on such architectures, we need to reduce remote accesses. This is particularly challenging for applications that use dynamic data structures. In this thesis, I present two compiler techniques to reduce the overhead of remote memory accesses for dynamic data structure based applications: locality techniques and communication optimizations. Locality techniques include a static locality analysis, which statically estimates when an indirect reference via a pointer can be safely assumed to be a local access, and dynamic locality checks, which consists of runtime tests to identify local accesses. Communication techniques include: 1) code movement to issue remote reads earlier and writes later; 2) code transformations to replace repeated/redundant remote accesses wit...
Cited by 0Open access
Porter, Alexandra Marie · OSTI OAI (U.S. Department of Energy Office of Scientific and Technical Information) · 2017
Abstract not provided.
Cited by 0Open access
Gaétan Hains, Frédéric Loulergue, John Mullins · Theoretical Computer Science · 2001
Cited by 4
Sanders, P., Mehlhorn, K., Dietzfelbinger, M. et al. · MPG.PuRe (Max Planck Society) · 2019
Cited by 0
García Fernández, Ismael · LA Referencia (Red Federada de Repositorios Institucionales de Publicaciones Científicas) · 2012
The main question explored in this thesis is how to define novel parallel random-access data structures for surface and image spatial data with efficient construction, storage, and query memory access patterns. Our main contribution is a set of parallel-efficient methods to evaluate irregular, sparse or even implicit geometries and textures in different applications: a method to decouple shape and shading details from high-resolution meshes, mapping them interactively onto lower resolution simpler domains; an editable framework to map highresolution meshes to simpler cube-based domains, generating a parallel-friendly quad-based representation; a new parallel hashing scheme compacting spatial data with high load factors, which has the unique advantage of exploiting spatial coherence in input data and access patterns
Cited by 0Open access