EDBT 2026 Demo / reviewers in the wild / expert
Patrick Flick
dblp:133/3722
· DBLP profile ↗
9ranked-venue papers
6as first author
1since 2021 · last 2021
0000-0003-3343-2398ORCID · corroborated
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 8 · 6 first-author · 1 since 2021Applied, interdisciplinary, general and emerging computing · 1
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
4 papers |
Parallel and multicore computing · 96% High-performance computing · 4% | |
| Theoretical computer science
3 papers |
Algorithms and data structures · 85% Graph algorithms and graph theory · 15% | |
| Interdisciplinary, comprehensive, and emerging computing
3 papers |
Bioinformatics and computational biology · 100% |
Topics — the 11 heaviest of 12, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Parallel and multicore computing
parallel algorithms |
0.7 | 3 | 2019 | Distributed enhanced suffix arrays: efficient algorithms for construction and querying · SC 2019 Parallel distributed memory construction of suffix and longest common prefix arrays · SC 2015 A parallel connectivity algorithm for de Bruijn graphs in metagenomic applications · SC 2015 |
Algorithms and data structures › sequence algorithms › string algorithms
string data structures |
0.6 | 2 | 2019 | Distributed enhanced suffix arrays: efficient algorithms for construction and querying · SC 2019 Parallel distributed memory construction of suffix and longest common prefix arrays · SC 2015 |
Algorithms and data structures › sequence algorithms › string algorithms › string indexing
suffix array |
0.6 | 2 | 2019 | Distributed enhanced suffix arrays: efficient algorithms for construction and querying · SC 2019 Parallel distributed memory construction of suffix and longest common prefix arrays · SC 2015 |
Parallel and multicore computing › parallel algorithms › graph algorithms
breadth-first search |
0.3 | 1 | 2017 | An Adaptive Parallel Algorithm for Computing Connected Components · IEEE Trans. Parallel Distributed Syst. 2017 |
Parallel and multicore computing › parallel graph algorithms
connected components |
0.3 | 1 | 2017 | An Adaptive Parallel Algorithm for Computing Connected Components · IEEE Trans. Parallel Distributed Syst. 2017 |
Parallel and multicore computing
parallel graph algorithms |
0.3 | 1 | 2017 | An Adaptive Parallel Algorithm for Computing Connected Components · IEEE Trans. Parallel Distributed Syst. 2017 |
Bioinformatics and computational biology › metagenomics
metagenomic assembly |
0.2 | 1 | 2015 | A parallel connectivity algorithm for de Bruijn graphs in metagenomic applications · SC 2015 |
Graph algorithms and graph theory › graph connectivity
connected components |
0.2 | 1 | 2015 | A parallel connectivity algorithm for de Bruijn graphs in metagenomic applications · SC 2015 |
Parallel and multicore computing › parallel computing
distributed memory computing |
0.1 | 1 | 2017 | An Adaptive Parallel Algorithm for Computing Connected Components · IEEE Trans. Parallel Distributed Syst. 2017 |
Bioinformatics and computational biology › sequence analysis
genomic sequence analysis |
0.1 | 1 | 2015 | Parallel distributed memory construction of suffix and longest common prefix arrays · SC 2015 |
High-performance computing
distributed memory systems |
0.1 | 1 | 2015 | A parallel connectivity algorithm for de Bruijn graphs in metagenomic applications · SC 2015 |
Methods — techniques the papers use, named apart from their topics
distributed-memory parallelization · 0.8parallel sorting · 0.7communication volume minimization · 0.7algorithm engineering · 0.7distributed memory algorithm · 0.4distributed memory parallelization · 0.4shiloach-vishkin · 0.3load balancing · 0.3heuristic prediction · 0.3distributed-memory algorithm · 0.2
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2021 | High Performance Streaming Tensor DecompositionabstractWe present a new algorithm for computing tensor decomposition on streaming data that achieves up to 102× speedup over the state-of-the-art CP-stream algorithm through lower computational complexity and performance optimization. For each streaming time slice, our algorithm partitions the factor matrix rows into those with and without updates and keeps them in Gram matrix form to significantly reduce the required computation. We also improve the scalability and performance of the matricized tensor times Khatri-Rao product (MTTKRP) kernel, a key performance bottleneck in many tensor decomposition algorithms, by reducing the synchronization overhead through the combined use of mutex locks and thread-local memory. For problems with constraints (e.g., non-negativity), we apply data blocking and operation fusion to the alternating direction method of multiplier (ADMM) kernel in the constrained CP-stream algorithm. By combining this ADMM optimization with the aforementioned MTTKRP optimization, our improved algorithm achieves up to 47× speedup over the original. We evaluate the performance and scalability of our new algorithm and optimization techniques using a 56-core quad-socket Intel Xeon system on four representative real-world tensors. Yongseok Soh, Patrick Flick, Shaden Smith, Fabio Checconi, Fabrizio Petrini, Jee W. Choi |
IPDPS | 2 |
| 2019 | Distributed enhanced suffix arrays: efficient algorithms for construction and queryingabstractSuffix arrays and trees are important and fundamental string data structures which lie at the foundation of many string algorithms, with important applications in computational biology, text processing, and information retrieval. Recent work enables the efficient parallel construction of suffix arrays and trees requiring at most O(n/p) memory per process in distributed memory. Patrick Flick, Srinivas Aluru |
SC | 1 |
| 2019 | Kmerind: A Flexible Parallel Library for K-mer Indexing of Biological Sequences on Distributed Memory SystemsabstractCounting and indexing fixed length substrings, or $k$k-mers, in biological sequences is a key step in many bioinformatics tasks including genome alignment and mapping, genome assembly, and error correction. While advances in next generation sequencing technologies have dramatically reduced the cost and improved latency and throughput, few bioinformatics tools can efficiently process the datasets at the current generation rate of 1.8 terabases per 3-day experiment from a single sequencer. We present Kmerind, a high performance parallel $k$k-mer indexing library for distributed memory environments. The Kmerind library provides a set of simple and consistent APIs with sequential semantics and parallel implementations that are designed to be flexible and extensible. Kmerind's $k$k-mer counter performs similarly or better than the best existing $k$k-mer counting tools even on shared memory systems. In a distributed memory environment, Kmerind counts $k$k-mers in a 120 GB sequence read dataset in less than 13 seconds on 1024 Xeon CPU cores, and fully indexes their positions in approximately 17 seconds. Querying for 1 percent of the $k$k-mers in these indices can be completed in 0.23 seconds and 28 seconds, respectively. Kmerind is the first $k$k-mer indexing library for distributed memory environments, and the first extensible library for general $k$k-mer indexing and counting. Kmerind is available at https://github.com/ParBLiSS/kmerind. Tony Pan, Patrick Flick, Yongchao Liu 0004, Srinivas Aluru |
IEEE ACM Trans. Comput. Biol. Bioinform. | 2 |
| 2017 | Parallel Construction of Suffix Trees and the All-Nearest-Smaller-Values ProblemabstractA Suffix tree is a fundamental and versatile string data structure that is frequently used in important application areas such as text processing, information retrieval, and computational biology. Sequentially, the construction of suffix trees takes linear time, and optimal parallel algorithms exist only for the PRAM model. Recent works mostly target low core-count shared-memory implementations but achieve suboptimal complexity, and prior distributed-memory parallel algorithms have quadratic worst-case complexity. Suffix trees can be constructed from suffix and longest common prefix (LCP) arrays by solving the All-Nearest-Smaller-Values(ANSV) problem. In this paper, we formulate a more generalized version of the ANSV problem, and present a distributed-memory parallel algorithm for solving it in O(n/p +p) time. Our algorithm minimizes the overall and per-node communication volume. Building on this, we present a parallel algorithm for constructing a distributed representation of suffix trees, yielding both superior theoretical complexity and better practical performance compared to previous distributed-memory algorithms. We demonstrate the construction of the suffix tree for the human genome given its suffix and LCP arrays in under 2 seconds on 1024 Intel Xeon cores. Patrick Flick, Srinivas Aluru |
IPDPS | 1 |
| 2017 | Reprint of "A parallel connectivity algorithm for de Bruijn graphs in metagenomic applications"
Patrick Flick, Tony Pan, Srinivas Aluru |
Parallel Comput. | 1 |
| 2017 | An Adaptive Parallel Algorithm for Computing Connected ComponentsabstractWe present an efficient distributed memory parallel algorithm for computing connected components in undirected graphs based on Shiloach-Vishkin's PRAM approach. We discuss multiple optimization techniques that reduce communication volume as well as load-balance the algorithm. We also note that the efficiency of the parallel graph connectivity algorithm depends on the underlying graph topology. Particularly for short diameter graph components, we observe that parallel Breadth First Search (BFS) method offers better performance. However, running parallel BFS is not efficient for computing large diameter components or large number of small components. To address this challenge, we employ a heuristic that allows the algorithm to quickly predict the type of the network by computing the degree distribution and follow the optimal hybrid route. Using large graphs with diverse topologies from domains including metagenomics, web crawl, social graph and road networks, we show that our hybrid implementation is efficient and scalable for each of the graph types. Our approach achieves a runtime of 215 seconds using 32 K cores of Cray XC30 for a metagenomic graph with over 50 billion edges. When compared against the previous state-of-the-art method, we see performance improvements up to 24 ×. Patrick Flick, Tony Pan, Oded Green, Srinivas Aluru |
IEEE Trans. Parallel Distributed Syst. | 2 |
| 2015 | Parallel distributed memory construction of suffix and longest common prefix arraysabstractSuffix arrays and trees are fundamental string data structures of importance to many applications in computational biology. Consequently, their parallel construction is an actively studied problem. To date, algorithms with best practical performance lack efficient worst-case run-time guarantees, and vice versa. In addition, much of the recent work targeted low core count, shared memory parallelization. In this paper, we present parallel algorithms for distributed memory construction of suffix arrays and longest common prefix (LCP) arrays that simultaneously achieve good worst-case run-time bounds and superior practical performance. Our algorithms run in O(Tsort(n, p) · log n) worst-case time where Tsort(n, p) is the run-time of parallel sorting. We present several algorithm engineering techniques that improve performance in practice. We demonstrate the construction of suffix and LCP arrays of the human genome in less than 8 seconds on 1,024 Intel Xeon cores, reaching speedups of over 110X compared to the best sequential suffix array construction implementation divsufsort. Patrick Flick, Srinivas Aluru |
SC | 1 |
| 2015 | A parallel connectivity algorithm for de Bruijn graphs in metagenomic applicationsabstractDramatic advances in DNA sequencing technology have made it possible to study microbial environments by direct sequencing of environmental DNA samples. Yet, due to the huge volume and high data complexity, current de novo assemblers cannot handle large metagenomic datasets or fail to perform assembly with acceptable quality. This paper presents the first parallel solution for decomposing the metagenomic assembly problem without compromising the post-assembly quality. We transform this problem into that of finding weakly connected components in the de Bruijn graph. We propose a novel distributed memory algorithm to identify the connected subgraphs, and present strategies to minimize the communication volume. We demonstrate the scalability of our algorithm on a soil metagenome dataset with 1.8 billion reads. Our approach achieves a runtime of 22 minutes using 1280 Intel Xeon cores for a 421 GB uncompressed FASTQ dataset. Moreover, our solution is generalizable to finding connected components in arbitrary undirected graphs. Patrick Flick, Tony Pan, Srinivas Aluru |
SC | 1 |
| 2013 | Malleable SortingabstractMalleable jobs can adapt to varying degrees of available parallelism. This is an interesting approach to more flexible usage of parallel resources. For example, malleable jobs can be scheduled optimally and efficiently where more restricted forms of parallel jobs are NP-hard to handle. However, little work has been done on how to make fundamental computations malleable. We study how this can be done for sorting. Our algorithm is an adaptive version of Multiway Merge Sort and outperforms a state-of-the art implementation in the multi core STL when the number of available cores fluctuates. Patrick Flick, Peter Sanders 0001, Jochen Speck |
IPDPS | 1 |