Master's Thesis: Memory-Array-Level Hardware Acceleration for In-Memory SQL Processing
-
chair:
CDNC
- Kontaktperson:
Introduction
In-memory databases (IMDBs) store and process entire datasets directly in main memory rather than relying on traditional disk-based storage.
This design achieves significantly lower latency and higher throughput by eliminating frequent disk I/O operations.
As a result, IMDBs enable real-time query execution, fast analytics, and efficient handling of large-scale data streams---making them particularly suitable for latency-sensitive applications such as financial trading, recommendation systems, and online transaction processing.
Some popular in-memory data stores include **Redis**, **Memcached**, and **Apache Ignite**, each with varying support for database-like operations.
With the growing availability of large-capacity DRAM and emerging non-volatile memory (NVM) technologies, IMDBs are increasingly seen as a key enabler for next-generation data-intensive systems that require both speed and reliability.
Project Description
Our goal is to identify lightweight yet highly parallelizable SQL operations within queries and offload them to specialized hardware accelerators integrated into main memory, while the remaining operations are handled by the processor.
Operations such as *search*, *predicate evaluation*, and *aggregation of bitmap index results* are examples of computations that can be offloaded to dedicated in-memory hardware accelerators.
Your tasks would include
- Analyzing OLTP (Online Transaction Processing), OLAP (Online Analytical Processing), and HTAP (Hybrid Transactional and Analytical Processing) workloads, with a focus on standard benchmarks such as:
- TPC-E
- TPC-H
- TPC-DS
- Azure Database Benchmark
- Identifying operations that can be parallelized and optimized using in-memory hardware accelerators
- Modifying open-source database management system code (e.g., MonetDB, MongoDB, SQLite) or providing a custom compiler or script to extract these operations from SQL queries
- Collaborating with a PhD student responsible for system-level and hardware-level acceleration of these operations. This may also involve modifying the data layout of tables to maximize performance gains
Qualifications
The ideal candidate is a highly motivated and diligent master's student with:
- Solid programming skills in C/C++, Python, or another high-level programming language
- Strong knowledge of algorithms and data structures
- Basic knowledge of database management systems (DBMS) and SQL
- Basic knowledge of compiler design, SQL parsing, or query plan extraction
- Basic knowledge of computer architecture and systems
Our Chair
The Chair of Dependable Nano Computing (CDNC) at KIT focuses on the design, analysis, and implementation of reliable and energy-efficient nanoscale computing systems.
Its research encompasses hardware architectures, memory technologies, and fault-tolerant computing methods, bridging fundamental research with practical applications in advanced computing.
Contact
For inquiries or applications, interested candidates are invited to contact Ali Nezhadi