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

Ajit Mathew

dblp:175/6120 · DBLP profile ↗
← Back
5ranked-venue papers
1as first author
1since 2021 · last 2021
0009-0009-7673-3845ORCID · reported

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

Systems, architecture and hardware · 4 · 1 since 2021Software engineering, systems software and programming languages · 2Databases, data management, data science and information retrieval · 1 · 1 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
5 papers
Memory systems · 55% Storage systems · 27% Distributed systems · 11%
Software engineering, system software, and programming languages
2 papers
Concurrent programming · 94% Compilers and program optimization · 6%
Databases, data mining, and information retrieval
2 papers
Indexing and storage engines · 88% Transaction processing and concurrency control · 12%

Topics — the 19 heaviest of 21, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Memory systems
non-volatile memory
0.512021
TIPS: Making Volatile Index Structures Persistent with DRAM-NVMM Tiering · USENIX ATC 2021
Memory systems › non-volatile memory › persistent memory
persistent memory indexing
0.512021
TIPS: Making Volatile Index Structures Persistent with DRAM-NVMM Tiering · USENIX ATC 2021
Indexing and storage engines
in-memory index
0.412020
HydraList: A Scalable In-Memory Index Using Asynchronous Updates and Partial Replication · Proc. VLDB Endow. 2020
Storage systems
crash consistency
0.412020
Durable Transactional Memory Can Scale with Timestone · ASPLOS 2020
Distributed systems › concurrency control
multi-version concurrency control
0.412020
Durable Transactional Memory Can Scale with Timestone · ASPLOS 2020
Memory systems › non-volatile memory
non-volatile main memory
0.412020
Durable Transactional Memory Can Scale with Timestone · ASPLOS 2020
Memory systems › non-volatile memory › persistent memory
persistent transactional memory
0.412020
Durable Transactional Memory Can Scale with Timestone · ASPLOS 2020
Concurrent programming
multi-version execution
0.412019
MV-RLU: Scaling Read-Log-Update with Multi-Versioning · ASPLOS 2019
Concurrent programming › synchronization
read-copy-update
0.412019
MV-RLU: Scaling Read-Log-Update with Multi-Versioning · ASPLOS 2019
Concurrent programming
synchronization
0.412019
MV-RLU: Scaling Read-Log-Update with Multi-Versioning · ASPLOS 2019
Electronic design automation
high-level synthesis
0.212016
Re-targeting Optimization Sequences from Scalar Processors to FPGAs in HLS compilers (Abstract Only) · FPGA 2016
Storage systems
data placement
0.112020
HydraList: A Scalable In-Memory Index Using Asynchronous Updates and Partial Replication · Proc. VLDB Endow. 2020
Storage systems
logging
0.112020
Durable Transactional Memory Can Scale with Timestone · ASPLOS 2020
Memory systems
non-uniform memory access
0.112020
HydraList: A Scalable In-Memory Index Using Asynchronous Updates and Partial Replication · Proc. VLDB Endow. 2020
Storage systems › flash and SSD › flash memory management › garbage collection
write amplification
0.112020
Durable Transactional Memory Can Scale with Timestone · ASPLOS 2020
Transaction processing and concurrency control
concurrency control
0.112019
MV-RLU: Scaling Read-Log-Update with Multi-Versioning · ASPLOS 2019
Storage systems › key-value storage
in-memory key-value store
0.112019
MV-RLU: Scaling Read-Log-Update with Multi-Versioning · ASPLOS 2019
Storage systems
key-value storage
0.112019
MV-RLU: Scaling Read-Log-Update with Multi-Versioning · ASPLOS 2019
Compilers and program optimization › compiler optimization
optimization phase ordering
0.112016
Re-targeting Optimization Sequences from Scalar Processors to FPGAs in HLS compilers (Abstract Only) · FPGA 2016

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

software transactional memory · 1.1autonomous garbage collection · 1.1partial replication · 0.9cache coherence optimization · 0.9asynchronous updates · 0.9multiversioning · 0.8heuristic search · 0.5downsampled sequence set · 0.5multi-version concurrency control · 0.4hybrid logging · 0.4multi-versioning · 0.4
YearPublicationVenuePosition
2021 TIPS: Making Volatile Index Structures Persistent with DRAM-NVMM Tiering
Madhava Krishnan Ramanathan, Wook-Hee Kim, Xinwei Fu, Sumit K. Monga, Hee Won Lee, Minsung Jang, Ajit Mathew, Changwoo Min
USENIX ATC7
2020 Durable Transactional Memory Can Scale with Timestone
abstract
Non-volatile main memory (NVMM) technologies promise byte addressability and near-DRAM access that allows developers to build persistent applications with common load and store instructions. However, it is difficult to realize these promises because NVMM software should also provide crash consistency while providing high performance, and scalability. Durable transactional memory (DTM) systems address these challenges. However, none of them scale beyond 16 cores. The poor scalability either stems from the underlying STM layer or from employing limited write parallelism (single writer or dual version). In addition, other fundamental issues with guaranteeing crash consistency are high write amplification and memory footprint in existing approaches. To address these challenges, we propose TimeStone: a highly scalable DTM system with low write amplification and minimal memory footprint. TimeStone uses a novel multi-layered hybrid logging technique, called TOC logging, to guarantee crash consistency. Also, TimeStone further relies on Multi-Version Concurrency Control (MVCC) mechanism to achieve high scalability and to support different isolation levels on the same data set. Our evaluation of TimeStone against the state-of-the-art DTM systems shows that it significantly outperforms other systems for a wide range of workloads with varying data-set size and contention levels, up to 112 hardware threads. In addition, with our TOC logging, TimeStone achieves a write amplification of less than 1, while existing DTM systems suffer from 2×-6× overhead.
Madhava Krishnan Ramanathan, Ajit Mathew, Xinwei Fu, Anthony Demeri, Changwoo Min, Sudarsun Kannan
ASPLOS3
2020 HydraList: A Scalable In-Memory Index Using Asynchronous Updates and Partial Replication
abstract
Increased capacity of main memory has led to the rise of in-memory databases. With disk access eliminated, efficiency of index structures has become critical for performance in these systems. An ideal index structure should exhibit high performance for a wide variety of workloads, be scalable, and efficient in handling large data sets. Unfortunately, our evaluation shows that most state-of-the-art index structures fail to meet these three goals. For an index to be performant with large data sets, it should ideally have time complexity independent of the key set size. To ensure scalability, critical sections should be minimized and synchronization mechanisms carefully designed to reduce cache coherence traffic. Moreover, complex memory hierarchy in servers makes data placement and memory access patterns important for high performance across all workload types. In this paper, we present HydraList, a new concurrent, scalable, and high performance in-memory index structure for massive multi-core machines. The key insight behind our design of HydraList is that an index structure can be divided into two components (search and data layers) which can be updated independently leading to lower synchronization overhead. By isolating the search layer, we are able to replicate it across NUMA nodes and reduce cache misses and remote memory accesses. As a result, our evaluation shows that HydraList outperforms other index structures especially in a variety of workloads and key types.
Ajit Mathew, Changwoo Min
Proc. VLDB Endow.1
2019 MV-RLU: Scaling Read-Log-Update with Multi-Versioning
abstract
This paper presents multi-version read-log-update (MV-RLU), an extension of the read-log-update (RLU) synchronization mechanism. While RLU has many merits including an intuitive programming model and excellent performance for read-mostly workloads, we observed that the performance of RLU significantly drops in workloads with more write operations. The core problem is that RLU manages only two versions. To overcome such limitation, we extend RLU to support multi-versioning and propose new techniques to make multi-versioning efficient. At the core of MV-RLU design is concurrent autonomous garbage collection, which prevents reclaiming invisible versions being a bottleneck, and reduces the version traversal overhead the main overhead of multi-version design. We extensively evaluate MV-RLU with the state-of-the-art synchronization mechanisms, including RCU, RLU, software transactional memory (STM), and lock-free approaches, on concurrent data structures and real-world applications (database concurrency control and in-memory key-value store). Our evaluation results show that MV-RLU significantly outperforms other techniques for a wide range of workloads with varying contention levels and data-set size.
Ajit Mathew, Sanidhya Kashyap, Madhava Krishnan Ramanathan, Changwoo Min
ASPLOS2
2016 Re-targeting Optimization Sequences from Scalar Processors to FPGAs in HLS compilers (Abstract Only)
abstract
A high-level synthesis compiler translates a source program written in a high level programming language such as C or SystemC into an equivalent circuit. The performance of the generated circuit in terms of metrics such as area, frequency and clock cycles depends on the compiler optimizations enabled and their order of application. Finding an optimal sequence for a given program is a hard combinatorial optimization problem. In this paper, we propose a practical and search time efficient technique for finding a near-optimal sequence for a given program. The main idea is to strike a balance between the search for a universally good sequence (like that of O3) which works for all programs vis-a-vis finding a good sequence on a per-program basis. Towards that, we construct a rich downsampled sequence set, which caters to different program classes, from the unbounded optimization sequence space by applying heuristic search algorithms on a set of Microkernel benchmark programs. The optimization metric that we use while constructing the downsampled sequence set is the execution time on a scalar processor. Given a new program, we try all the sequences from the downsampled sequence setand pick the best. Applying this technique in the LegUp high-level synthesis compiler, we are able to obtain 23% and 40% improvement on CHStone and Machsuite benchmark programs respectively. We also propose techniques to further reduce the size of the downsampled sequence set to improve the sequence search time.
Ronak Kogta, Suresh Purini, Ajit Mathew
FPGA3