Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Kaan Kara

dblp:186/8781 · DBLP profile ↗
← Back
18ranked-venue papers
7as first author
3since 2021 · last 2024
0009-0007-0789-4077ORCID · corroborated

Domains — the database's venue-derived domains; a paper can count in several

Systems, architecture and hardware · 8 · 4 first-author · 1 since 2021Databases, data management, data science and information retrieval · 8 · 3 first-author · 2 since 2021Artificial intelligence and machine learning · 2

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.

Databases, data mining, and information retrieval
7 papers
Machine learning and data management · 74% Distributed and cloud data management · 17% Query processing and optimization · 5%
Computer architecture, parallel and distributed computing, and storage systems
6 papers
Hardware accelerators and domain-specific architectures · 56% Reconfigurable computing and FPGAs · 44%
Artificial intelligence
4 papers
Efficient and distributed learning · 90% Optimization for machine learning · 10%

Topics — the 15 heaviest of 17, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Machine learning and data management
in-database machine learning
2.452024
Stochastic gradient descent without full data shuffle: with applications to in-database machine learning and deep learning systems · VLDB J. 2024
In-Database Machine Learning with CorgiPile: Stochastic Gradient Descent without Full Data Shuffle · SIGMOD Conference 2022
Accelerating Generalized Linear Models with MLWeaving: A One-Size-Fits-All System for Any-precision Learning · Proc. VLDB Endow. 2019
Machine learning and data management › optimization for machine learning
stochastic gradient descent
1.322024
Stochastic gradient descent without full data shuffle: with applications to in-database machine learning and deep learning systems · VLDB J. 2024
In-Database Machine Learning with CorgiPile: Stochastic Gradient Descent without Full Data Shuffle · SIGMOD Conference 2022
Hardware accelerators and domain-specific architectures
machine learning accelerator
1.132019
Accelerating Generalized Linear Models with MLWeaving: A One-Size-Fits-All System for Any-precision Learning · Proc. VLDB Endow. 2019
doppioDB 2.0: Hardware Techniques for Improved Integration of Machine Learning into Databases · Proc. VLDB Endow. 2019
ColumnML: Column-Store Machine Learning with On-The-Fly Data Transformation · Proc. VLDB Endow. 2018
Distributed and cloud data management
data shuffling
0.812024
Stochastic gradient descent without full data shuffle: with applications to in-database machine learning and deep learning systems · VLDB J. 2024
Machine learning › Efficient and distributed learning
low-precision training
0.722019
Accelerating Generalized Linear Models with MLWeaving: A One-Size-Fits-All System for Any-precision Learning · Proc. VLDB Endow. 2019
ZipML: Training Linear Models with End-to-End Low Precision, and a Little Bit of Deep Learning · ICML 2017
Reconfigurable computing and FPGAs
FPGA accelerator
0.622017
doppioDB: A Hardware Accelerated Database · SIGMOD Conference 2017
FPGA-based Data Partitioning · SIGMOD Conference 2017
Machine learning › Efficient and distributed learning
model compression
0.312017
ZipML: Training Linear Models with End-to-End Low Precision, and a Little Bit of Deep Learning · ICML 2017
Machine learning › Efficient and distributed learning › model compression
quantization
0.312017
ZipML: Training Linear Models with End-to-End Low Precision, and a Little Bit of Deep Learning · ICML 2017
Reconfigurable computing and FPGAs › reconfigurable computing
FPGA-based machine learning accelerators
0.312017
ZipML: Training Linear Models with End-to-End Low Precision, and a Little Bit of Deep Learning · ICML 2017
Machine learning › Efficient and distributed learning
distributed training
0.212024
Stochastic gradient descent without full data shuffle: with applications to in-database machine learning and deep learning systems · VLDB J. 2024
Query processing and optimization › query execution › query operator implementation
columnar execution
0.112018
ColumnML: Column-Store Machine Learning with On-The-Fly Data Transformation · Proc. VLDB Endow. 2018
Distributed and cloud data management
data partitioning
0.112017
FPGA-based Data Partitioning · SIGMOD Conference 2017
Query processing and optimization › query execution
hardware-accelerated query processing
0.112017
doppioDB: A Hardware Accelerated Database · SIGMOD Conference 2017
Query processing and optimization
parallel query processing
0.112017
FPGA-based Data Partitioning · SIGMOD Conference 2017
Information retrieval › pattern matching
regular expression matching
0.112017
doppioDB: A Hardware Accelerated Database · SIGMOD Conference 2017

Methods — techniques the papers use, named apart from their topics

stochastic gradient descent · 4.6hardware acceleration · 1.4quantization · 1.1MLWeaving · 1.1coordinate descent · 0.8stochastic coordinate descent · 0.7compression-preserving execution · 0.7variance-optimal quantization · 0.6stochastic quantization · 0.6double sampling · 0.6
YearPublicationVenuePosition
2024 Stochastic gradient descent without full data shuffle: with applications to in-database machine learning and deep learning systems
abstract
Abstract Modern machine learning (ML) systems commonly use stochastic gradient descent (SGD) to train ML models. However, SGD relies on random data order to converge, which usually requires a full data shuffle. For in-DB ML systems and deep learning systems with large datasets stored onblock-addressable secondary storagesuch as HDD and SSD, this full data shuffle leads to low I/O performance—the data shuffling time can be even longer than the training itself, due to massive random data accesses. To balance the convergence rate of SGD (which favors data randomness) and its I/O performance (which favors sequential access), previous work has proposed several data shuffling strategies. In this paper, we first perform an empirical study on existing data shuffling strategies, showing that these strategies suffer from either low performance or low convergence rate. To solve this problem, we propose a simple but noveltwo-leveldata shuffling strategy named , which canavoida full data shuffle while maintainingcomparableconvergence rate of SGD as if a full shuffle were performed. We further theoretically analyze the convergence behavior of and empirically evaluate its efficacy in both in-DB ML and deep learning systems. For in-DB ML systems, we integrate into PostgreSQL by introducing three newphysicaloperators with optimizations. For deep learning systems, we extend single-process to multi-process for the parallel/distributed environment and integrate it into PyTorch. Our evaluation shows that can achieve comparable convergence rate with the full-shuffle-based SGD for both linear models and deep learning models. For in-DB ML with linear models, is 1.6 $$\times $$ × $$-$$ - 12.8 $$\times $$ × faster than two state-of-the-art systems, Apache MADlib and Bismarck, on both HDD and SSD. For deep learning models on ImageNet, is 1.5 $$\times $$ × faster than PyTorch with full data shuffle.
Lijie Xu, Binhang Yuan, Jiawei Jiang 0001, Cédric Renggli, Shaoduo Gan, Kaan Kara, Guoliang Li 0001, Ji Liu 0002, Wentao Wu 0001, Jieping Ye, Ce Zhang 0001
VLDB J.7
2022 In-Database Machine Learning with CorgiPile: Stochastic Gradient Descent without Full Data Shuffle
abstract
Stochastic gradient descent (SGD) is the cornerstone of modern ML systems. Despite its computational efficiency, SGD requires random data access that is inherently inefficient when implemented in systems that rely on block-addressable secondary storage such as HDD and SSD, e.g., in-DB ML systems and TensorFlow/PyTorch over large files. To address this impedance mismatch, various data shuffling strategies have been proposed to balance the convergence rate of SGD (which favors randomness) and its I/O performance (which favors sequential access).
Lijie Xu, Binhang Yuan, Jiawei Jiang 0001, Cédric Renggli, Shaoduo Gan, Kaan Kara, Guoliang Li 0001, Ji Liu 0002, Wentao Wu 0001, Jieping Ye, Ce Zhang 0001
SIGMOD Conference7
2022 Exploiting HBM on FPGAs for Data Processing
abstract
Field Programmable Gate Arrays (FPGAs) are increasingly being used in data centers and the cloud due to their potential to accelerate certain workloads as well as for their architectural flexibility, since they can be used as accelerators, smart-NICs, or stand-alone processors. To meet the challenges posed by these new use cases, FPGAs are quickly evolving in terms of their capabilities and organization. The utilization of High Bandwidth Memory (HBM) in FPGA devices is one recent example of such a trend. In this article, we study the potential of FPGAs equipped with HBM from a data analytics perspective. We consider three workloads common in analytics-oriented databases and implement them on an FPGA showing in which cases they benefit from HBM: range selection, hash join, and stochastic gradient descent for linear model training. We integrate our designs into a columnar database (MonetDB) and show the trade-offs arising from the integration related to data movement and partitioning. We consider two possible configurations of the HBM, using a single and a dual clock version design. With the right design, FPGA+HBM-based solutions are able to surpass the highest performance provided by either a two-socket POWER9 1 system or a 14-core Xeon 2 E5 by up to 5.9× (range selection), 18.3× (hash join), and 6.1× (SGD).
Runbin Shi, Kaan Kara, Christoph Hagleitner, Dionysios Diamantopoulos, Dimitris Syrivelis, Gustavo Alonso
ACM Trans. Reconfigurable Technol. Syst.2
2020 Tackling Hardware/Software co-design from a database perspective
Gustavo Alonso, Timothy Roscoe, David A. Cock, Mohsen Ewaida, Kaan Kara, Dario Korolija, David Sidler, Zeke Wang
CIDR5
2020 High Bandwidth Memory on FPGAs: A Data Analytics Perspective
abstract
FPGA-based data processing in datacenters is increasing in popularity due to the demands of modern workloads and the resulting need for specialization in hardware. Driven by this trend, vendors are rapidly adapting reconfigurable devices to suit data and compute intensive workloads. Inclusion of High Bandwidth Memory (HBM) in FPGA devices is a recent example. HBM promises overcoming the bandwidth bottleneck, often faced by FPGA-based accelerators due to their throughput oriented design. In this paper, we study the usage and benefits of HBM on FPGAs from a data analytics perspective. We consider three workloads that are often performed in analytics oriented databases and implement them on FPGA showing in which cases they benefit from HBM: range selection, hash join, and stochastic gradient descent for linear model training. We integrate our designs into a columnar database (MonetDB) and show the trade-offs arising from the integration related to data movement and partitioning. In certain cases, FPGA+HBM based solutions are able to surpass the highest performance provided by either a 2-socket POWER9 system or a 14-core XeonE5 by up to 1.8x (selection), 12.9x (join), and 3.2x (SGD).
Kaan Kara, Christoph Hagleitner, Dionysios Diamantopoulos, Dimitris Syrivelis, Gustavo Alonso
FPL1
2020 HyperLogLog Sketch Acceleration on FPGA
abstract
Data sketches are a set of widely used approximated data summarizing techniques. Their fundamental property is sub-linear memory complexity on the input cardinality, an important aspect when processing streams or data sets with a vast base domain such as URLs, IP addresses, user IDs, etc. Among the many data sketches available, HyperLogLog has become the reference for cardinality counting i.e., how many distinct data items there are in a data set. Although it does not count every data item but provides probabilistic guarantees on the result thereby reducing its memory footprint, and the result is often used to analyze data streams. In this paper, we explore how to implement HyperLogLog on an FPGA to benefit from the parallelism available and the ability to process data streams coming from high-speed networks. Our multi-pipelined high-cardinality HyperLogLog implementation delivers 1.8x higher throughput than the best-optimized multi-thread HyperLogLog running on a dual-socket Intel Xeon E5-2630 v3 system with a total of 16 cores and 32 hyper-threads.
Amit Kulkarni 0002, Monica Chiosa, Thomas B. Preußer, Kaan Kara, David Sidler, Gustavo Alonso
FPL4
2020 PipeArch: Generic and Context-Switch Capable Data Processing on FPGAs
abstract
Data processing systems based on FPGAs offer high performance and energy efficiency for a variety of applications. However, these advantages are achieved through highly specialized designs. The high degree of specialization leads to accelerators with narrow functionality and designs adhering to a rigid execution flow. For multi-tenant systems this limits the scope of applicability of FPGA-based accelerators, because, first, supporting a single operation is unlikely to have any significant impact on the overall performance of the system, and, second, serving multiple users satisfactorily is difficult due to simplistic scheduling policies enforced when using the accelerator. Standard operating system and database management system features that would help address these limitations, such as context-switching, preemptive scheduling, and thread migration are practically non-existent in current FPGA accelerator efforts. In this work, we propose PipeArch, an open-source project 1 for developing FPGA-based accelerators that combine the high efficiency of specialized hardware designs with the generality and functionality known from conventional CPU threads. PipeArch provides programmability and extensibility in the accelerator without losing the advantages of SIMD-parallelism and deep pipelining. PipeArch supports context-switching and thread migration, thereby enabling for the first time new capabilities such as preemptive scheduling in FPGA accelerators within a high-performance data processing setting. We have used PipeArch to implement a variety of machine learning methods for generalized linear model training and recommender systems showing empirically their advantages over a high-end CPU and even over fully specialized FPGA designs.
Kaan Kara, Gustavo Alonso
ACM Trans. Reconfigurable Technol. Syst.1
2019 doppioDB 2.0: Hardware Techniques for Improved Integration of Machine Learning into Databases
abstract
Database engines are starting to incorporate machine learning (ML) functionality as part of their repertoire. Machine learning algorithms, however, have very different characteristics than those of relational operators. In this demonstration, we explore the challenges that arise when integrating generalized linear models into a database engine and how to incorporate hardware accelerators into the execution, a tool now widely used for ML workloads. The demo explores two complementary alternatives: (1) how to train models directly on compressed/encrypted column-stores using a specialized coordinate descent engine, and (2) how to use a bitwise weaving index for stochastic gradient descent on low precision input data. We present these techniques as implemented in our prototype database doppioDB 2.0 and show how the new functionality can be used from SQL.
Kaan Kara, Zeke Wang, Ce Zhang 0001, Gustavo Alonso
Proc. VLDB Endow.1
2019 Accelerating Generalized Linear Models with MLWeaving: A One-Size-Fits-All System for Any-precision Learning
abstract
Learning from the data stored in a database is an important function increasingly available in relational engines. Methods using lower precision input data are of special interest given their overall higher efficiency. However, in databases, these methods have a hidden cost: the quantization of the real value into a smaller number is an expensive step. To address this issue, we present ML-Weaving, a data structure and hardware acceleration technique intended to speed up learning of generalized linear models over low precision data. MLWeaving provides a compact in-memory representation that enables the retrieval of data at any level of precision. MLWeaving also provides a highly efficient implementation of stochastic gradient descent on FPGAs and enables the dynamic tuning of precision, instead of using a fixed precision level during learning. Experimental results show that MLWeaving converges up to 16 x faster than low-precision implementations of first-order methods on CPUs.
Zeke Wang, Kaan Kara, Hantian Zhang, Gustavo Alonso, Ce Zhang 0001, Onur Mutlu
Proc. VLDB Endow.2
2018 Layerwise Systematic Scan: Deep Boltzmann Machines and Beyond
abstract
For Markov chain Monte Carlo methods, one of the greatest discrepancies between theory and system is the scan order — while most theoretical development on the mixing time analysis deals with random updates, real-world systems are implemented with systematic scans. We bridge this gap for models that exhibit a bipartite structure, including, most notably, the Restricted/Deep Boltzmann Machine. The de facto implementation for these models scans variables in a layer-wise fashion. We show that the Gibbs sampler with a layerwise alternating scan order has its relaxation time (in terms of epochs) no larger than that of a random-update Gibbs sampler (in terms of variable updates). We also construct examples to show that this bound is asymptotically tight. Through standard inequalities, our result also implies a comparison on the mixing times.
Heng Guo 0001, Kaan Kara, Ce Zhang 0001
AISTATS2
2018 ColumnML: Column-Store Machine Learning with On-The-Fly Data Transformation
abstract
The ability to perform machine learning (ML) tasks in a database management system (DBMS) provides the data analyst with a powerful tool. Unfortunately, integration of ML into a DBMS is challenging for reasons varying from differences in execution model to data layout requirements. In this paper, we assume a column-store main-memory DBMS, optimized for online analytical processing, as our initial system. On this system, we explore the integration of coordinate-descent based methods working natively on columnar format to train generalized linear models. We use a cache-efficient, partitioned stochastic coordinate descent algorithm providing linear throughput scalability with the number of cores while preserving convergence quality, up to 14 cores in our experiments. Existing column oriented DBMS rely on compression and even encryption to store data in memory. When those features are considered, the performance of a CPU based solution suffers. Thus, in the paper we also show how to exploit hardware acceleration as part of a hybrid CPU+FPGA system to provide on-the-fly data transformation combined with an FPGA-based coordinate-descent engine. The resulting system is a column-store DBMS with its important features preserved (e.g., data compression) that offers high performance machine learning capabilities.
Kaan Kara, Kenneth Eguro, Ce Zhang 0001, Gustavo Alonso
Proc. VLDB Endow.1
2017 FPGA-Accelerated Dense Linear Machine Learning: A Precision-Convergence Trade-Off
abstract
Stochastic gradient descent (SGD) is a commonly used algorithm for training linear machine learning models. Based on vector algebra, it benefits from the inherent parallelism available in an FPGA. In this paper, we first present a single-precision floating-point SGD implementation on an FPGA that provides similar performance as a 10-core CPU. We then adapt the design to make it capable of processing low-precision data. The low-precision data is obtained from a novel compression scheme-called stochastic quantization, specifically designed for machine learning applications. We test both full-precision and low-precision designs on various regression and classification data sets. We achieve up to an order of magnitude training speedup when using low-precision data compared to a full-precision SGD on the same FPGA and a state-of-the-art multi-core solution, while maintaining the quality of training. We open source the designs presented in this paper.
Kaan Kara, Dan Alistarh, Gustavo Alonso, Onur Mutlu, Ce Zhang 0001
FCCM1
2017 Centaur: A Framework for Hybrid CPU-FPGA Databases
abstract
Accelerating relational databases in general and SQL in particular has become an important topic given the challenges arising from large data collections and increasingly complex workloads. Most existing work, however, has been focused on either accelerating a single operator (e.g., a join) or in data reduction along the data path (e.g., from disk to CPU). In this paper we focus instead on the system aspects of accelerating a relational engine in hybrid CPU-FPGA architectures. In particular, we present Centaur, a framework running on the FPGA that allows the dynamic allocation of FPGA operators to query plans, pipelining these operators among themselves when needed, and the hybrid execution of operator pipelines running on the CPU and the FPGA. Centaur is fully compatible with relational engines as we demonstrate through its seamless integration with MonetDB, a popular column store database. In the paper, we describe how this integration is achieved, and empirically demonstrate the advantages of such an approach. The main contribution of the paper is to provide a realistic solution for accelerating SQL that is compatible with existing database architectures, thereby opening up the possibilities for further exploration of FPGA based data processing.
Muhsen Owaida, David Sidler, Kaan Kara, Gustavo Alonso
FCCM3
2017 doppioDB: A hardware accelerated database
abstract
Relational databases provide a wealth of functionality to a wide range of applications. Yet, there are tasks for which they are less than optimal, for instance when processing becomes more complex (e.g., regular expression evaluation, data analytics) or the data is less structured (e.g., text or long strings). With the increasing amount of user-generated data stored in relational databases, there is a growing need to analyze unstructured text data. At the same time more complex analytical operators are required to extract useful information from the vast amount of collected data. However, many analytical operators incur a significant compute complexity not suitable to database engines where multiple queries share the available resources. In this demonstration we show the benefit of using specialized hardware for such tasks and highlight the importance of a flexible, reusable mechanism for extending database engines with hardware-based operators. Our hybrid database engine, doppioDB, is deployed on an emerging Xeon+FPGA multicore architecture where the CPU and FPGA have cache-coherent access to the same memory, such that the hardware operators can directly access the database tables. The demonstration is illustrating the acceleration benefits of hardware operators, as well as doppioDB's flexibility in accommodating changing workloads.
David Sidler, Muhsen Owaida, Zsolt István, Kaan Kara, Gustavo Alonso
FPL4
2017 ZipML: Training Linear Models with End-to-End Low Precision, and a Little Bit of Deep Learning
abstract
Recently there has been significant interest in training machine-learning models at low precision: by reducing precision, one can reduce computation and communication by one order of magnitude. We examine training at reduced precision, both from a theoretical and practical perspective, and ask: is it possible to train models at end-to-end low precision with provable guarantees? Can this lead to consistent order-of-magnitude speedups? We mainly focus on linear models, and the answer is yes for linear models. We develop a simple framework called ZipML based on one simple but novel strategy called double sampling. Our ZipML framework is able to execute training at low precision with no bias, guaranteeing convergence, whereas naive quantization would introduce significant bias. We validate our framework across a range of applications, and show that it enables an FPGA prototype that is up to $6.5\times$ faster than an implementation using full 32-bit precision. We further develop a variance-optimal stochastic quantization strategy and show that it can make a significant difference in a variety of settings. When applied to linear models together with double sampling, we save up to another $1.7\times$ in data movement compared with uniform quantization. When training deep networks with quantized models, we achieve higher accuracy than the state-of-the-art XNOR-Net.
Hantian Zhang, Jerry Li 0001, Kaan Kara, Dan Alistarh, Ji Liu 0002, Ce Zhang 0001
ICML3
2017 FPGA-based Data Partitioning
abstract
Implementing parallel operators in multi-core machines often involves a data partitioning step that divides the data into cache-size blocks and arranges them so to allow concurrent threads to process them in parallel. Data partitioning is expensive, in some cases up to 90% of the cost of, e.g., a parallel hash join. In this paper we explore the use of an FPGA to accelerate data partitioning. We do so in the context of new hybrid architectures where the FPGA is located as a co-processor residing on a socket and with coherent access to the same memory as the CPU residing on the other socket. Such an architecture reduces data transfer overheads between the CPU and the FPGA, enabling hybrid operator execution where the partitioning happens on the FPGA and the build and probe phases of a join happen on the CPU. Our experiments demonstrate that FPGA-based partitioning is significantly faster and more robust than CPU-based partitioning. The results open interesting options as FPGAs are gradually integrated tighter with the CPU.
Kaan Kara, Jana Giceva, Gustavo Alonso
SIGMOD Conference1
2017 doppioDB: A Hardware Accelerated Database
abstract
Relational databases provide a wealth of functionality to a wide range of applications. Yet, there are tasks for which they are less than optimal, for instance when processing becomes more complex (e.g., matching regular expressions) or the data is less structured (e.g., text or long strings). In this demonstration we show the benefit of using specialized hardware for such tasks and highlight the importance of a flexible, reusable mechanism for extending database engines with hardware-based operators.
David Sidler, Zsolt István, Muhsen Owaida, Kaan Kara, Gustavo Alonso
SIGMOD Conference4
2016 Fast and robust hashing for database operators
abstract
Hashing is an essential part of many database operators, such as joins or aggregation, especially when executed in parallel. Often, database engines resort to using easily computed hash functions like modulo to prevent that hashing becomes a bottleneck. The disadvantage of simple hash functions is that they produce imperfect data distributions, particularly when the data is skewed. Robust hash functions produce balanced distributions but they are computationally expensive. Our purpose in this paper is to break the present trade-off between robustness and performance. We achieve this by showing how to implement robust hash functions suitable for database operators on an FPGA. Our target platform (Intel QuickAssist QPI-FPGA) provides a shared memory architecture between the CPU and the FPGA, enabling database engines to use the hardware hashing without any modifications to their memory layout. Depending on the hash function, we achieve 6.6× improvement over pure software implementations. We also show how to integrate hardware hashing in a hybrid hash table without any acceleration overhead.
Kaan Kara, Gustavo Alonso
FPL1