EDBT 2026 Demo / reviewers in the wild / expert
Owen Kaser
dblp:77/113
· DBLP profile ↗
23ranked-venue papers
9as first author
0since 2021 · last 2019
0000-0001-6204-5085ORCID · corroborated
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 9 · 4 first-authorDatabases, data management, data science and information retrieval · 9 · 4 first-authorArtificial intelligence and machine learning · 3Theory of computation · 3 · 1 first-authorSystems, architecture and hardware · 1 · 1 first-authorApplied, 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
2 papers |
Storage systems · 96% Electronic design automation · 4% | |
| Theoretical computer science
2 papers |
Algorithms and data structures · 54% Computational geometry · 41% Graph algorithms and graph theory · 5% | |
| Databases, data mining, and information retrieval
1 paper |
Indexing and storage engines · 100% |
Topics — the 11 heaviest of 11, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Storage systems
data compression |
0.1 | 1 | 2012 | Reordering rows for better compression: Beyond the lexicographic order · ACM Trans. Database Syst. 2012 |
Storage systems › data compression
run-length coding |
0.1 | 1 | 2012 | Reordering rows for better compression: Beyond the lexicographic order · ACM Trans. Database Syst. 2012 |
Algorithms and data structures › memory hierarchy
external memory data structures |
0.1 | 1 | 2008 | Hierarchical bin buffering: Online local moments for dynamic external memory arrays · ACM Trans. Algorithms 2008 |
Computational geometry › range searching
range query data structures |
0.1 | 1 | 2008 | Hierarchical bin buffering: Online local moments for dynamic external memory arrays · ACM Trans. Algorithms 2008 |
Indexing and storage engines
column store |
0.0 | 1 | 2012 | Reordering rows for better compression: Beyond the lexicographic order · ACM Trans. Database Syst. 2012 |
Indexing and storage engines
data compression |
0.0 | 1 | 2012 | Reordering rows for better compression: Beyond the lexicographic order · ACM Trans. Database Syst. 2012 |
Algorithms and data structures › memory hierarchy
external memory algorithms |
0.0 | 1 | 2008 | Hierarchical bin buffering: Online local moments for dynamic external memory arrays · ACM Trans. Algorithms 2008 |
Programming languages and type systems › control structures
recursion |
0.0 | 1 | 1997 | A Note on "On the Conversion of Indirect to Direct Recursion" · ACM Trans. Program. Lang. Syst. 1997 |
Electronic design automation
physical design |
0.0 | 1 | 1995 | On squashing hierarchical designs [VLSI] · IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 1995 |
Graph algorithms and graph theory
graph algorithms |
0.0 | 1 | 1997 | A Note on "On the Conversion of Indirect to Direct Recursion" · ACM Trans. Program. Lang. Syst. 1997 |
Graph algorithms and graph theory › graph algorithms › connectivity
strongly connected components |
0.0 | 1 | 1997 | A Note on "On the Conversion of Indirect to Direct Recursion" · ACM Trans. Program. Lang. Syst. 1997 |
Methods — techniques the papers use, named apart from their topics
vortex · 0.3traveling salesman heuristic · 0.3nearest neighbor · 0.3multiple lists · 0.3wavelet-based algorithm · 0.1overlapped bin buffering · 0.1hierarchical buffering · 0.1counterexample · 0.0network flow algorithm · 0.0heuristic · 0.0
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2019 | Faster remainder by direct computation: Applications to compilers and software librariesabstractSummary On common processors, integer multiplication is many times faster than integer division. Dividing a numerator n by a divisor d is mathematically equivalent to multiplication by the inverse of the divisor (n/d=n∗1/d). If the divisor is known in advance, or if repeated integer divisions will be performed with the same divisor, it can be beneficial to substitute a less costly multiplication for an expensive division. Currently, the remainder of the division by a constant is computed from the quotient by a multiplication and a subtraction. However, if just the remainder is desired and the quotient is unneeded, this may be suboptimal. We present a generally applicable algorithm to compute the remainder more directly. Specifically, we use the fractional portion of the product of the numerator and the inverse of the divisor. On this basis, we also present a new and simpler divisibility algorithm to detect nonzero remainders. We also derive new tight bounds on the precision required when representing the inverse of the divisor. Furthermore, we present simple C implementations that beat the optimized code produced by state‐of‐the‐art C compilers on recent x64 processors (eg, Intel Skylake and AMD Ryzen), sometimes by more than 25%. On all tested platforms, including 64‐bit ARM and POWER8, our divisibility test functions are faster than state‐of‐the‐art Granlund‐Montgomery divisibility test functions, sometimes by more than 50%. Daniel Lemire, Owen Kaser, Nathan Kurz |
Softw. Pract. Exp. | 2 |
| 2018 | Roaring bitmaps: Implementation of an optimized software libraryabstractSummary Compressed bitmap indexes are used in systems such as Git or Oracle to accelerate queries. They represent sets and often support operations such as unions, intersections, differences, and symmetric differences. Several important systems such as Elasticsearch, Apache Spark, Netflix's Atlas, LinkedIn's Pivot, Metamarkets' Druid, Pilosa, Apache Hive, Apache Tez, Microsoft Visual Studio Team Services, and Apache Kylin rely on a specific type of compressed bitmap index called Roaring. We present an optimized software library written in C implementing Roaring bitmaps: CRoaring. It benefits from several algorithms designed for the single‐instruction–multiple‐data instructions available on commodity processors. In particular, we present vectorized algorithms to compute the intersection, union, difference, and symmetric difference between arrays. We benchmark the library against a wide range of competitive alternatives, identifying weaknesses and strengths in our software. Our work is available under a liberal open‐source license. Daniel Lemire, Owen Kaser, Nathan Kurz, Luca Deri, Chris O'Hara, François Saint-Jacques, Gregory Ssi Yan Kai |
Softw. Pract. Exp. | 2 |
| 2016 | Better bitmap performance with Roaring bitmapsabstractSummary Bitmap indexes are commonly used in databases and search engines. By exploiting bit‐level parallelism, they can significantly accelerate queries. However, they can use much memory, and thus, we might prefer compressed bitmap indexes. Following Oracle's lead, bitmaps are often compressed using run‐length encoding (RLE). Building on prior work, we introduce the Roaring compressed bitmap format: it uses packed arrays for compression instead of RLE. We compare it to two high‐performance RLE‐based bitmap encoding techniques: Word Aligned Hybrid compression scheme and Compressed ‘n’ Composable Integer Set. On synthetic and real data, we find that Roaring bitmaps (1) often compress significantly better (e.g., 2×) and (2) are faster than the compressed alternatives (up to 900× faster for intersections). Our results challenge the view that RLE‐based bitmap compression is best. Copyright © 2015 John Wiley & Sons, Ltd. Samy Chambi, Daniel Lemire, Owen Kaser, Robert Godin |
Softw. Pract. Exp. | 3 |
| 2016 | Compressed bitmap indexes: beyond unions and intersectionsabstractSummary Compressed bitmap indexes are used to speed up simple aggregate queries in databases. Indeed, set operations like intersections, unions and complements can be represented as logical operations (AND, OR and NOT) that are ideally suited for bitmaps. However, it is less obvious how to apply bitmaps to more advanced queries. For example, we might seek products in a store that meet some, but maybe not all, criteria. Such threshold queries generalize intersections and unions; they are often used in information‐retrieval and data‐mining applications. We introduce new algorithms that are sometimes three orders of magnitude faster than a naïve approach. Our work shows that bitmap indexes are more broadly applicable than is commonly believed. Copyright © 2014 John Wiley & Sons, Ltd. Owen Kaser, Daniel Lemire |
Softw. Pract. Exp. | 1 |
| 2016 | Consistently faster and smaller compressed bitmaps with RoaringabstractSummary Compressed bitmap indexes are used in databases and search engines. Many bitmap compression techniques have been proposed, almost all relying primarily on run‐length encoding (RLE). However, on unsorted data, we can get superior performance with a hybrid compression technique that uses both uncompressed bitmaps and packed arrays inside a two‐level tree. An instance of this technique, Roaring, has recently been proposed. Due to its good performance, it has been adopted by several production platforms (e.g., Apache Lucene, Apache Spark, Apache Kylin, and Druid). Yet there are cases where run‐length‐encoded bitmaps are smaller than the original Roaring bitmaps—typically when the data are sorted so that the bitmaps contain long compressible runs. To better handle these cases, we build a new Roaring hybrid that combines uncompressed bitmaps, packed arrays, and RLE‐compressed segments. The result is a new Roaring format that compresses better. Overall, our new implementation of Roaring can be several times faster (up to two orders of magnitude) than the implementations of traditional RLE‐based alternatives (WAH, Concise, and EWAH) while compressing better. We review the design choices and optimizations that make these good results possible. Copyright © 2016 John Wiley & Sons, Ltd. Daniel Lemire, Gregory Ssi Yan Kai, Owen Kaser |
Softw. Pract. Exp. | 3 |
| 2014 | Strongly Universal String Hashing is FastabstractWe present fast strongly universal string hashing families: they can process data at a rate of 0.2 CPU cycle per byte. Maybe surprisingly, we find that these families—though they require a large buffer of random numbers—are often faster than popular hash functions with weaker theoretical guarantees. Moreover, conventional wisdom is that hash functions with fewer multiplications are faster. Yet we find that they may fail to be faster due to operation pipelining. We present experimental results on several processors including low-power processors. Our tests include hash functions designed for processors with the carry-less multiplication instruction set. We also prove, using accessible proofs, the strong universality of our families. Daniel Lemire, Owen Kaser |
Comput. J. | 2 |
| 2013 | Diamond dicing
Hazel Webb, Daniel Lemire, Owen Kaser |
Data Knowl. Eng. | 3 |
| 2012 | Reordering rows for better compression: Beyond the lexicographic orderabstractSorting database tables before compressing them improves the compression rate. Can we do better than the lexicographical order? For minimizing the number of runs in a run-length encoding compression scheme, the best approaches to row-ordering are derived from traveling salesman heuristics, although there is a significant trade-off between running time and compression. A new heuristic, Multiple Lists, which is a variant on Nearest Neighbor that trades off compression for a major running-time speedup, is a good option for very large tables. However, for some compression schemes, it is more important to generate long runs rather than few runs. For this case, another novel heuristic, Vortex, is promising. We find that we can improve run-length encoding up to a factor of 3 whereas we can improve prefix coding by up to 80%: these gains are on top of the gains due to lexicographically sorting the table. We prove that the new row reordering is optimal (within 10%) at minimizing the runs of identical values within columns, in a few cases. Daniel Lemire, Owen Kaser, Eduardo Gutarra |
ACM Trans. Database Syst. | 2 |
| 2011 | Reordering columns for smaller indexes
Daniel Lemire, Owen Kaser |
Inf. Sci. | 2 |
| 2010 | Recursive n-gram hashing is pairwise independent, at best
Daniel Lemire, Owen Kaser |
Comput. Speech Lang. | 2 |
| 2010 | Sorting improves word-aligned bitmap indexes
Daniel Lemire, Owen Kaser, Kamel Aouiche |
Data Knowl. Eng. | 2 |
| 2008 | Histogram-aware sorting for enhanced word-aligned compression in bitmap indexesabstractBitmap indexes must be compressed to reduce input/output costs and minimize CPU usage. To accelerate logical operations (AND, OR, XOR) over bitmaps, we use techniques based on run-length encoding (RLE), such as Word-Aligned Hybrid (WAH) compression. These techniques are sensitive to the order of the rows: a simple lexicographical sort can divide the index size by 9 and make indexes several times faster. We investigate reordering heuristics based on computed attribute-value histograms. Simply permuting the columns of the table based on these histograms can increase the sorting efficiency by 40%. Owen Kaser, Daniel Lemire, Kamel Aouiche |
DOLAP | 1 |
| 2008 | Pruning attribute values from data cubes with diamond dicingabstractData stored in a data warehouse are inherently multidimensional, unlike most data-pruning techniques (such as iceberg and top-k queries). However, analysts need to issue multidimensional queries. For example, an analyst may need to select not just the most profitable stores or---separately---the most profitable products, but simultaneous sets of stores and products fulfilling some profitability constraints. To fill this need, we propose a new operator, the diamond dice. Because of the interaction between dimensions, the computation of diamonds is challenging. We present the first diamond-dicing experiments on large data sets. Our external memory algorithm avoids potentially expensive random accesses. Experiments show that we can compute diamond cubes over fact tables containing 100 million facts and 500,000 distinct attribute values in less than an hour using a single-core PC. Hazel Webb, Owen Kaser, Daniel Lemire |
IDEAS | 2 |
| 2008 | Hierarchical bin buffering: Online local moments for dynamic external memory arraysabstractFor a massive I/O array of size n , we want to compute the first N local moments, for some constant N . Our simpler algorithms partition the array into consecutive ranges called bins, and apply not only to local-moment queries, but also to algebraic queries. With N buffers of size √ n , time complexity drops to O (√ n ). A more sophisticated approach uses hierarchical buffering and has a logarithmic time complexity ( O ( b log b n )), when using N hierarchical buffers of size n / b . Using overlapped bin buffering, we show that only one buffer is needed, as with wavelet-based algorithms, but using much less storage. Daniel Lemire, Owen Kaser |
ACM Trans. Algorithms | 2 |
| 2006 | Attribute value reordering for efficient hybrid OLAP
Owen Kaser, Daniel Lemire |
Inf. Sci. | 1 |
| 2004 | Compressing arrays by ordering attribute values
Owen Kaser |
Inf. Process. Lett. | 1 |
| 2003 | Attribute value reordering for efficient hybrid OLAPabstractThe normalization of a data cube is the process of choosing an ordering for the attribute values, and the chosen ordering.Our optimized hybrid OLAP storage mechanism was observed to be 44% more storage efficient than ROLAP and the gains due to normalization alone accounted for 45% of this increase in efficiency. Owen Kaser, Daniel Lemire |
DOLAP | 1 |
| 2001 | State Generation in the PARMC Model Checker
Owen Kaser |
PADL | 1 |
| 1998 | Evaluating Inlining Techniques
Owen Kaser, C. R. Ramakrishnan 0001 |
Comput. Lang. | 1 |
| 1997 | EQUALS - A Fast Parallel Implementation of a Lazy LanguageabstractThis paper describes E QUALS , a fast parallel implementation of a lazy functional language on a commercially available shared-memory parallel machine, the Sequent Symmetry. In contrast to previous implementations, we propagate normal form demand at compile time as well as run time, and detect parallelism automatically using strictness analysis. The E QUALS implementation indicates the effectiveness of NF-demand propagation in identifying significant parallelism and in achieving good sequential as well as parallel performance. Another important difference between E QUALS and previous implementations is the use of reference counting for memory management, instead of mark-and-sweep or copying garbage collection. Implementation results show that reference counting leads to very good scalability and low memory requirements, and offers sequential performance comparable to generational garbage collectors. We compare the performance of E QUALS with that of other parallel implementations (the 〈 v , G 〉-machine and GAML) as well as with the performance of SML/NJ, a sequential implementation of a strict language. Owen Kaser, C. R. Ramakrishnan 0001, I. V. Ramakrishnan, R. Sekar 0001 |
J. Funct. Program. | 1 |
| 1997 | A Note on "On the Conversion of Indirect to Direct Recursion"abstractIn the article “On the Conversion of Indirect to Direct Recursion”( ACM Lett. Program. Lang. 2, 1-4. pp. 151-164), a method was introduced to convert indirect to direct recursion. It was claimed that for any call graph, there is a mutual-recursion elimination sequence if and only if no strongly connected component contains two node-disjoint circuits. We first give a counterexample and then provide a correction. Owen Kaser |
ACM Trans. Program. Lang. Syst. | 2 |
| 1995 | On squashing hierarchical designs [VLSI]abstractThe problem of partially expanding a hierarchical VLSI design is examined, with the goal of reducing the number of levels of hierarchy while incurring minimal design-size expansion. While the general problem appears NP-hard, an important special case is considered, where the number of levels of hierarchy is reduced by one. For this special case, an exact algorithm is developed, based on network-flow techniques. Using this algorithm, a heuristic for the general problem is then developed and experimentally evaluated on a collection of VLSI designs.> Owen Kaser |
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. | 1 |
| 1993 | Optimal Parallel Algorithms for Multiple Updates of Minimum Spanning Trees
Shaunak Pawagi, Owen Kaser |
Algorithmica | 2 |