PAM: parallel augmented maps

@article{Sun2016PAMPA,
  title={PAM: parallel augmented maps},
  author={Yihan Sun and Daniel Ferizovic and Guy E. Blelloch},
  journal={Proceedings of the 23rd ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming},
  year={2016}
}
  • Yihan Sun, Daniel Ferizovic, G. Blelloch
  • Published 16 December 2016
  • Computer Science, Mathematics
  • Proceedings of the 23rd ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming
Ordered (key-value) maps are an important and widely-used data type for large-scale data processing frameworks. Beyond simple search, insertion and deletion, more advanced operations such as range extraction, filtering, and bulk updates form a critical part of these frameworks. We describe an interface for ordered maps that is augmented to support fast range queries and sums, and introduce a parallel and concurrent library called PAM (Parallel Augmented Maps) that implements the interface. The… Expand
Parallel Range and Segment Queries with Augmented Maps
TLDR
This paper develops both multi-level tree structures and sweepline algorithms supporting range and segment queries in two dimensions and proposes a parallel paradigm, using a simple framework (the augmented map) to model the problem. Expand
Parallel Range, Segment and Rectangle Queries with Augmented Maps
TLDR
This work proposes to use a simple framework (the augmented map) to model the range, segment and rectangle query problems, and develops both multi-level tree structures and sweepline algorithms supporting range, segments and rectangle queries in two dimensions. Expand
Proposal : Parallel Balanced Binary Trees Using Just Join
Tree data structures play an important role in almost every area in computer science. Nowadays the explosion of data puts forward a higher demand for the performance of the trees, which requires… Expand
Implementing parallel and concurrent tree structures
TLDR
This tutorial will focus on an algorithmic framework for parallel balanced binary trees, which works for multiple balancing schemes, including AVL trees, red-black trees, weight-based trees, and treaps, and the corresponding implementation is available as a library. Expand
Parallel Write-Efficient Algorithms and Data Structures for Computational Geometry
TLDR
This paper designs parallel write-efficient geometric algorithms that perform asymptotically fewer writes than standard algorithms for the same problem, and introduces several techniques for obtaining write-efficiency, including DAG tracing, prefix doubling, and Ξ±-labeling. Expand
KiWi: A Key-Value Map for Scalable Real-Time Analytics
TLDR
KiWi is presented, the first atomic KV-map to efficiently support simultaneous large scans and real-time access and optimizes memory management jointly with data structure access and is compared to state-of-the-art solutions. Expand
On Supporting Efficient Snapshot Isolation for Hybrid Workloads with Multi-Versioned Indexes
TLDR
The Parallel Binary Tree (P-Tree) index structure is proposed, based on pure (immutable) data structures that use path-copying for updates for fast multi-versioning, to achieve SI and MVCC for multicore in-memory HTAP DBMSs. Expand
Optimal Parallel Algorithms in the Binary-Forking Model
TLDR
This paper explores techniques for designing optimal algorithms when limited to binary forking and assuming asynchrony, and develops the first algorithms with optimal work and span in the binary-forking model. Expand
Parallel In-Place Algorithms: Theory and Practice
TLDR
It is shown that on a 72-core machine with twoway hyper-threading, the parallel in-place algorithms usually outperform existing parallel algorithms for the same problems that use linear auxiliary space, indicating that the theory developed in this paper indeed leads to practical benefits in terms of both space usage and running time. Expand
ParlayLib - A Toolkit for Parallel Algorithms on Shared-Memory Multicore Machines
TLDR
ParlayLib is a C++ library for developing efficient parallel algorithms and software on shared-memory multicore machines that consists of a sequence data type, many parallel routines and algorithms, a work-stealing scheduler to support nested parallelism, and a scalable memory allocator. Expand
...
1
2
3
...

References

SHOWING 1-10 OF 98 REFERENCES
Parallel Algorithms for Constructing Range and Nearest-Neighbor Searching Data Structures
TLDR
This work presents the first provably efficient algorithms to compute, store, and query data structures for range queries and approximate nearest neighbor queries in a popular parallel computing abstraction that captures the salient features of MapReduce and other massively parallel communication (MPC) models. Expand
Parallel bulk insertion for large-scale analytics applications
TLDR
This work identifies bulk data insert operations as a critical preliminary step to achieve reduced processing times, especially when new data is generated and processed at regular time intervals and presents a parallel approach to bulk insertion in a system that use horizontally range partitioned data. Expand
Parallel multi-dimensional range query processing with R-trees on GPU
TLDR
An extensive experimental study shows that MPTS R-tree traversal algorithm on NVIDIA Tesla M2090 GPU consistently outperforms traditional recursive R-trees search algorithm on Intel Xeon E5506 processors. Expand
Practical concurrent binary search trees via logical ordering
TLDR
The experimental results show that the algorithms with lock-free contains and on-time deletion are practical and often comparable to the state-of-the-art. Expand
Fast Sorted-Set Intersection using SIMD Instructions
TLDR
This paper proposes a parallel algorithm that relies on speculative execution of comparisons of sorted-set intersection algorithms, which requires more comparisons but less instructions than scalar algorithms that translates into a better overall speed. Expand
Faster Adaptive Set Intersections for Text Searching
TLDR
A better algorithm for the intersection of large ordered sets is engineer, which improves over those proposed by Demaine, Munro and Lopez-Ortiz [SODA 2000/ALENEX 2001], by using a variant of interpolation search. Expand
The adaptive radix tree: ARTful indexing for main-memory databases
Main memory capacities have grown up to a point where most databases fit into RAM. For main-memory database systems, index structure performance is a critical bottleneck. Traditional in-memory data… Expand
Range queries in OLAP data cubes
TLDR
The approach to answering range-max queries is based on precomputed max over balanced hierarchical tree structures, and a branch-and-bound-like procedure is used to speed up the finding of max in a region. Expand
Purely functional data structures
TLDR
This work describes several techniques for designing functional data structures, and numerous original data structures based on these techniques, including multiple variations of lists, queues, double-ended queues, and heaps, many supporting more exotic features such as random access or efficient catenation. Expand
A general technique for non-blocking trees
TLDR
A general technique for obtaining provably correct, non-blocking implementations of a large class of tree data structures where pointers are directed from parents to children and an experimental performance analysis demonstrates that the Java implementation of a chromatic tree rivals, and often significantly outperforms, other leading concurrent dictionaries. Expand
...
1
2
3
4
5
...