Demo Data from EDBT 2026 / reviewers in the wild / expert
Saman Ashkiani
dblp:120/7498
· DBLP profile ↗
6ranked-venue papers
4as first author
0since 2021 · last 2020
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 6 · 4 first-author
Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.
| Computer architecture, parallel and distributed computing, and storage systems
2 papers |
GPUs and heterogeneous computing · 68% Parallel and multicore computing · 17% Storage systems · 15% |
Topics — the 5 heaviest of 7, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
GPUs and heterogeneous computing › GPU programming
GPU data structures |
0.4 | 1 | 2019 | Engineering a high-performance GPU B-Tree · PPoPP 2019 |
GPUs and heterogeneous computing › GPU memory
GPU memory hierarchy |
0.4 | 1 | 2019 | Engineering a high-performance GPU B-Tree · PPoPP 2019 |
Parallel and multicore computing › parallel algorithms › parallel combinatorial algorithms
parallel permutation algorithms |
0.2 | 1 | 2016 | GPU multisplit · PPoPP 2016 |
Storage systems › indexing
b-tree |
0.1 | 1 | 2019 | Engineering a high-performance GPU B-Tree · PPoPP 2019 |
Storage systems › indexing
index structure |
0.1 | 1 | 2019 | Engineering a high-performance GPU B-Tree · PPoPP 2019 |
Methods — techniques the papers use, named apart from their topics
lock-free synchronization · 0.4contention analysis · 0.4warp-synchronous programming · 0.2hierarchical reordering · 0.2
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2020 | Dynamic Graphs on the GPUabstractWe present a fast dynamic graph data structure for the GPU. Our dynamic graph structure uses one hash table per vertex to store adjacency lists and achieves 3.4-14.8x faster insertion rates over the state of the art across a diverse set of large datasets, as well as deletion speedups up to 7.8x. The data structure supports queries and dynamic updates through both edge and vertex insertion and deletion. In addition, we define a comprehensive evaluation strategy based on operations, workloads, and applications that we believe better characterize and evaluate dynamic graph data structures. Muhammad A. Awad, Saman Ashkiani, Serban D. Porumbescu, John D. Owens |
IPDPS | 2 |
| 2019 | Engineering a high-performance GPU B-TreeabstractWe engineer a GPU implementation of a B-Tree that supports concurrent queries (point, range, and successor) and updates (insertions and deletions). Our B-tree outperforms the state of the art, a GPU log-structured merge tree (LSM) and a GPU sorted array. In particular, point and range queries are significantly faster than in a GPU LSM (the GPU LSM does not implement successor queries). Furthermore, B-Tree insertions are also faster than LSM and sorted array insertions unless insertions come in batches of more than roughly 100k. Because we cache the upper levels of the tree, we achieve lookup throughput that exceeds the DRAM bandwidth of the GPU. We demonstrate that the key limiter of performance on a GPU is contention and describe the design choices that allow us to achieve this high performance. Muhammad A. Awad, Saman Ashkiani, Rob Johnson 0001, Martin Farach-Colton, John D. Owens |
PPoPP | 2 |
| 2018 | A Dynamic Hash Table for the GPUabstractWe design and implement a fully concurrent dynamic hash table for GPUs with comparable performance to the state of the art static hash tables. We propose a warp-cooperative work sharing strategy that reduces branch divergence and provides an efficient alternative to the traditional way of per-thread (or per-warp) work assignment and processing. By using this strategy, we build a dynamic non-blocking concurrent linked list, the slab list, that supports asynchronous, concurrent updates (insertions and deletions) as well as search queries. We use the slab list to implement a dynamic hash table with chaining (the slab hash). On an NVIDIA Tesla K40c GPU, the slab hash performs updates with up to 512 M updates/s and processes search queries with up to 937 M queries/s. We also design a warp-synchronous dynamic memory allocator, SlabAlloc, that suits the high performance needs of the slab hash. SlabAlloc dynamically allocates memory at a rate of 600 M allocations/s, which is up to 37x faster than alternative methods in similar scenarios. Saman Ashkiani, Martin Farach-Colton, John D. Owens |
IPDPS | 1 |
| 2018 | GPU LSM: A Dynamic Dictionary Data Structure for the GPUabstractWe develop a dynamic dictionary data structure for the GPU, supporting fast insertions and deletions, based on the Log Structured Merge tree (LSM). Our implementation on an NVIDIA K40c GPU has an average update (insertion or deletion) rate of 225 M elements/s, 13.5x faster than merging items into a sorted array. The GPU LSM supports the retrieval operations of lookup, count, and range query operations with an average rate of 75 M, 32 M and 23 M queries/s respectively. The trade-off for the dynamic updates is that the sorted array is almost twice as fast on retrievals. We believe that our GPU LSM is the first dynamic general-purpose dictionary data structure for the GPU. Saman Ashkiani, Shengren Li, Martin Farach-Colton, Nina Amenta, John D. Owens |
IPDPS | 1 |
| 2016 | GPU multisplitabstractMultisplit is a broadly useful parallel primitive that permutes its input data into contiguous buckets or bins, where the function that categorizes an element into a bucket is provided by the programmer. Due to the lack of an efficient multisplit on GPUs, programmers often choose to implement multisplit with a sort. However, sort does more work than necessary to implement multisplit, and is thus inefficient. In this work, we provide a parallel model and multiple implementations for the multisplit problem. Our principal focus is multisplit for a small number of buckets. In our implementations, we exploit the computational hierarchy of the GPU to perform most of the work locally, with minimal usage of global operations. We also use warp-synchronous programming models to avoid branch divergence and reduce memory usage, as well as hierarchical reordering of input elements to achieve better coalescing of global memory accesses. On an NVIDIA K40c GPU, for key-only (key-value) multisplit, we demonstrate a 3.0-6.7x (4.4-8.0x) speedup over radix sort, and achieve a peak throughput of 10.0 G keys/s. Saman Ashkiani, Andrew A. Davidson, Ulrich Meyer 0001, John D. Owens |
PPoPP | 1 |
| 2016 | Parallel Approaches to the String Matching Problem on the GPUabstractWe design a family of parallel algorithms and GPU implementations for the exact string matching problem, based on Rabin-Karp (RK) randomized string matching. We describe and analyze three primary parallel approaches to binary string matching: cooperative (CRK), divide-and-conquer (DRK), and a novel hybrid of both (HRK). The CRK is most effective for large patterns (>8K characters), while the DRK approach is superior for shorter patterns. We then generalize the DRK to support any alphabet size without loss of performance. Our DRK method achieves up to a 64 GB/s processing rate on 8-character patterns from an 8-bit alphabet on an NVIDIA Tesla K40c GPU. We next demonstrate a novel parallel two-stage matching method (DRK-2S), which first skims the text for a smaller subset of the pattern and then verifies all potential matches in parallel. Our DRK-2S method is superior for pattern sizes up to 64k compared to the fastest CPU-based string matching implementations. With an 8-bit alphabet and up to 1k-character patterns, we get a geometric mean speedup of 4.81x against the best CPU methods, and can achieve a processing rate of at least 53 GB/s. Saman Ashkiani, Nina Amenta, John D. Owens |
SPAA | 1 |