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

Aleksandar Dragojevic

dblp:94/7061 · DBLP profile ↗
← Back
18ranked-venue papers
7as first author
3since 2021 · last 2025
—ORCID · none

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

Systems, architecture and hardware · 10 · 4 first-author · 2 since 2021Software engineering, systems software and programming languages · 5 · 2 first-authorDatabases, data management, data science and information retrieval · 3 · 1 since 2021Computer networks · 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
12 papers
Distributed systems · 55% Storage systems · 15% Parallel and multicore computing · 12%
Software engineering, system software, and programming languages
5 papers
Concurrent programming · 87% Operating systems · 9% Programming languages and type systems · 2%
Databases, data mining, and information retrieval
1 paper
Transaction processing and concurrency control · 100%

Topics — the 30 heaviest of 40, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Distributed systems
replication
1.732025
The LAW theorem: Local Reads and Linearizable Asynchronous Replication · Proc. VLDB Endow. 2025
Hermes: A Fast, Fault-Tolerant and Linearizable Replication Protocol · ASPLOS 2020
Fast General Distributed Transactions with Opacity · SIGMOD Conference 2019
Storage systems
key-value storage
0.812024
Honeycomb: Ordered Key-Value Store Acceleration on an FPGA-Based SmartNIC · IEEE Trans. Computers 2024
Distributed systems › distributed database
distributed transactions
0.722021
Zeus: locality-aware distributed transactions · EuroSys 2021
No compromises: distributed transactions with consistency, availability, and performance · SOSP 2015
Storage systems › storage architecture
in-memory storage
0.512021
Zeus: locality-aware distributed transactions · EuroSys 2021
Distributed systems
consensus
0.412020
Hermes: A Fast, Fault-Tolerant and Linearizable Replication Protocol · ASPLOS 2020
Concurrent programming
transactional memory
0.442011
On the power of hardware transactional memory to simplify memory management · PODC 2011
Leveraging parallel nesting in transactional memory · PPoPP 2010
Preventing versus curing: avoiding conflicts in transactional memories · PODC 2009
Transaction processing and concurrency control
distributed transaction processing
0.412019
Fast General Distributed Transactions with Opacity · SIGMOD Conference 2019
Transaction processing and concurrency control › serializability
strict serializability
0.412019
Fast General Distributed Transactions with Opacity · SIGMOD Conference 2019
Distributed systems
fault tolerance
0.412019
Fast General Distributed Transactions with Opacity · SIGMOD Conference 2019
Distributed systems › fault tolerance
high availability
0.412019
Fast General Distributed Transactions with Opacity · SIGMOD Conference 2019
Distributed systems › fault tolerance
transparent fault tolerance
0.412019
Fast General Distributed Transactions with Opacity · SIGMOD Conference 2019
Concurrent programming
concurrent data structures
0.312018
Log-Free Concurrent Data Structures · USENIX ATC 2018
Parallel and multicore computing
concurrent data structures
0.312018
Log-Free Concurrent Data Structures · USENIX ATC 2018
Memory systems › non-volatile memory
log-free data structures
0.312018
Log-Free Concurrent Data Structures · USENIX ATC 2018
Performance modeling and evaluation › performance prediction
scalability prediction
0.212016
ESTIMA: extrapolating scalability of in-memory applications · PPoPP 2016
Hardware accelerators and domain-specific architectures › network accelerator
SmartNIC
0.212024
Honeycomb: Ordered Key-Value Store Acceleration on an FPGA-Based SmartNIC · IEEE Trans. Computers 2024
Interconnection networks and networks-on-chip › remote direct memory access
RDMA-based replication
0.212015
No compromises: distributed transactions with consistency, availability, and performance · SOSP 2015
Distributed systems › replication › replication and fault tolerance
replication and recovery
0.212015
No compromises: distributed transactions with consistency, availability, and performance · SOSP 2015
Memory systems
remote memory
0.212014
FaRM: Fast Remote Memory · NSDI 2014
Distributed systems
distributed coordination
0.112021
Zeus: locality-aware distributed transactions · EuroSys 2021
Distributed systems › distributed database
sharding
0.112021
Zeus: locality-aware distributed transactions · EuroSys 2021
Parallel and multicore computing
concurrent programming
0.112012
STM in the small: trading generality for performance in software transactional memory · EuroSys 2012
Parallel and multicore computing › transactional memory
software transactional memory
0.112012
STM in the small: trading generality for performance in software transactional memory · EuroSys 2012
Concurrent programming › transactional memory
hardware transactional memory
0.112011
On the power of hardware transactional memory to simplify memory management · PODC 2011
Operating systems › resource management
memory management
0.112011
On the power of hardware transactional memory to simplify memory management · PODC 2011
Concurrent programming
memory reclamation
0.112011
On the power of hardware transactional memory to simplify memory management · PODC 2011
Concurrent programming › transactional memory
nested transactions
0.112010
Leveraging parallel nesting in transactional memory · PPoPP 2010
Parallel and multicore computing › parallelization strategies
nested parallelism
0.112010
Leveraging parallel nesting in transactional memory · PPoPP 2010
Parallel and multicore computing
parallel programming models
0.112010
Leveraging parallel nesting in transactional memory · PPoPP 2010
Concurrent programming › transactional memory
software transactional memory
0.112009
Stretching transactional memory · PLDI 2009

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

wait-free read · 0.8timestamp ordering · 0.8out-of-order execution · 0.8failover protocol · 0.8clock synchronization · 0.8caching · 0.8distributed transactional protocol · 0.5replication protocol design · 0.4FaRM · 0.4RDMA · 0.2dynamic collect · 0.1transactional memory · 0.1performance evaluation · 0.1contention manager · 0.1access set prediction · 0.1
YearPublicationVenuePosition
2025 The LAW theorem: Local Reads and Linearizable Asynchronous Replication
abstract
Distributed datastores underpin highly concurrent, read-intensive applications, ensuring consistency, availability, and performance. They use crash-tolerant protocols to replicate data and endure replica server crashes. To ensure safety and meet the performance demands, replication must support high-throughput, strongly consistent (i.e., linearizable) reads without assuming any synchrony. However, existing protocols either 1 relax consistency, or provide linearizable reads that are 2 fully asynchronous but remote (involving multiple replicas), or 3 local but require synchrony. This work explores the tradeoffs between consistency, asynchrony, and performance in crash-tolerant protocols, and proves that in linearizable asynchronous read/write registers tolerating a single crash, no reads can be local. Building on this, we introduce almost-local reads (ALRs), a new abstraction that ensures crash tolerance and linearizability under asynchrony. While ALRs have slightly higher latency than local reads, they remain lightweight, with computation and network costs close to single-node reads. We present two simple yet effective ALR schemes that enhance protocols across all three categories. For protocols with local reads, ALRs address consistency or synchrony issues with minimal throughput loss. In asynchronous linearizable protocols, they improve performance without compromises. Our evaluation shows that ALR-enhanced ZAB and Hermes achieve within 2% and 5% of their original throughput in 95% reads while ensuring linearizability under asynchrony. On Raft, ALRs deliver over 2.5x higher throughput without compromising consistency or asynchrony.
Emmanouil Giortamis, Antonios Katsarakis, Vasilis Gavrielatos, Pramod Bhatotia, Aleksandar Dragojevic, Boris Grot, Vijay Nagarajan, Panagiota Fatourou
Proc. VLDB Endow.5
2024 Honeycomb: Ordered Key-Value Store Acceleration on an FPGA-Based SmartNIC
abstract
In-memory ordered key-value stores are an important building block in modern distributed applications. We present Honeycomb, a hybrid software-hardware system for accelerating read-dominated workloads on ordered key-value stores that provides linearizability for all operations including scans. Honeycomb stores a B-Tree in host memory. It executesput,updateanddeleteon a CPU. At the same time, it offloadsscanandgetonto an FPGA-based SmartNIC. This approach enables large stores and simplifies the FPGA implementation but raises the challenge of data access and synchronization across the slow PCIe bus. We describe how Honeycomb overcomes this challenge with careful data structure design, caching, request parallelism with out-of-order execution, wait-free read operations, and fast synchronization between the CPU and the FPGA. For read-heavy YCSB workloads, Honeycomb increases the throughput of a state-of-the-art ordered key-value store by at least$1.8\times$. For scan-heavy workloads inspired by cloud storage, Honeycomb increases the throughput by more than$2\times$. The cost-performance, which is more important for large-scale deployments, is improved by at least$1.5\times$on these workloads.
Aleksandar Dragojevic, Shane T. Fleming, Antonios Katsarakis, Dario Korolija, Igor Zablotchi, Ho-Cheung Ng, Anuj Kalia, Miguel Castro 0001
IEEE Trans. Computers2
2021 Zeus: locality-aware distributed transactions
abstract
State-of-the-art distributed in-memory datastores (FaRM, FaSST, DrTM) provide strongly-consistent distributed transactions with high performance and availability. Transactions in those systems are fully general; they can atomically manipulate any set of objects in the store, regardless of their location. To achieve this, these systems use complex distributed transactional protocols. Meanwhile, many workloads have a high degree of locality. For such workloads, distributed transactions are an overkill as most operations only access objects located on the same server - if sharded appropriately.
Antonios Katsarakis, Yijun Ma, Zhaowei Tan, Andrew Bainbridge, Matthew Balkwill, Aleksandar Dragojevic, Boris Grot, Bozidar Radunovic, Yongguang Zhang
EuroSys6
2020 Hermes: A Fast, Fault-Tolerant and Linearizable Replication Protocol
abstract
Today's datacenter applications are underpinned by datastores that are responsible for providing availability, consistency, and performance. For high availability in the presence of failures, these datastores replicate data across several nodes. This is accomplished with the help of a reliable replication protocol that is responsible for maintaining the replicas strongly-consistent even when faults occur. Strong consistency is preferred to weaker consistency models that cannot guarantee an intuitive behavior for the clients. Furthermore, to accommodate high demand at real-time latencies, datastores must deliver high throughput and low latency.
Antonios Katsarakis, Vasilis Gavrielatos, M. R. Siavash Katebzadeh, Arpit Joshi, Aleksandar Dragojevic, Boris Grot, Vijay Nagarajan
ASPLOS5
2019 Fast General Distributed Transactions with Opacity
abstract
Transactions can simplify distributed applications by hiding data distribution, concurrency, and failures from the application developer. Ideally the developer would see the abstraction of a single large machine that runs transactions sequentially and never fails. This requires the transactional subsystem to provide opacity (strict serializability for both committed and aborted transactions), as well as transparent fault tolerance with high availability. As even the best abstractions are unlikely to be used if they perform poorly, the system must also provide high performance. Existing distributed transactional designs either weaken this abstraction or are not designed for the best performance within a data center. This paper extends the design of FaRM --- which provides strict serializability only for committed transactions --- to provide opacity while maintaining FaRM's high throughput, low latency, and high availability within a modern data center. It uses timestamp ordering based on real time with clocks synchronized to within tens of microseconds across a cluster, and a failover protocol to ensure correctness across clock master failures. FaRM with opacity can commit 5.4 million neworder transactions per second when running the TPC-C transaction mix on 90 machines with 3-way replication.
Alex Shamis, Matthew Renzelmann, Stanko Novakovic, Georgios Chatzopoulos, Aleksandar Dragojevic, Dushyanth Narayanan, Miguel Castro 0001
SIGMOD Conference5
2018 SPADE: Tuning scale-out OLTP on modern RDMA clusters
Georgios Chatzopoulos, Aleksandar Dragojevic, Rachid Guerraoui
Middleware2
2018 Log-Free Concurrent Data Structures
Tudor David, Aleksandar Dragojevic, Rachid Guerraoui, Igor Zablotchi
USENIX ATC2
2017 Self-managed collections: Off-heap memory management for scalable query-dominated collections
abstract
Explosive growth in DRAM capacities and the emergence of language-integrated query enable a new class of managed applications that perform complex query processing on huge volumes of data stored as collections of objects in the memory space of the application. While more flexible in terms of schema design and application development, this approach typically experiences sub-par query execution performance when compared to specialized systems like DBMS. To address this issue, we propose self-managed collections, which utilize off-heap memory management and dynamic query compilation to improve the performance of querying managed data through language-integrated query. We evaluate self-managed collections using both microbenchmarks and enumeration-heavy queries from the TPC-H business intelligence benchmark. Our results show that self-managed collections outperform ordinary managed collections in both query processing and memory management by up to an order of magnitude and even outperform an optimized in memory columnar database system for the vast majority of queries.
Fabian Nagel, Gavin M. Bierman, Aleksandar Dragojevic, Stratis Viglas
EDBT3
2016 ESTIMA: extrapolating scalability of in-memory applications
abstract
This paper presents ESTIMA, an easy-to-use tool for extrapolating the scalability of in-memory applications. ESTIMA is designed to perform a simple, yet important task: given the performance of an application on a small machine with a handful of cores, ESTIMA extrapolates its scalability to a larger machine with more cores, while requiring minimum input from the user. The key idea underlying ESTIMA is the use of stalled cycles (e.g. cycles that the processor spends waiting for various events, such as cache misses or waiting on a lock). ESTIMA measures stalled cycles on a few cores and extrapolates them to more cores, estimating the amount of waiting in the system. ESTIMA can be effectively used to predict the scalability of in-memory applications. For instance, using measurements of memcached and SQLite on a desktop machine, we obtain accurate predictions of their scalability on a server. Our extensive evaluation on a large number of in-memory benchmarks shows that ESTIMA has generally low prediction errors.
Georgios Chatzopoulos, Aleksandar Dragojevic, Rachid Guerraoui
PPoPP2
2015 No compromises: distributed transactions with consistency, availability, and performance
abstract
Transactions with strong consistency and high availability simplify building and reasoning about distributed systems. However, previous implementations performed poorly. This forced system designers to avoid transactions completely, to weaken consistency guarantees, or to provide single-machine transactions that require programmers to partition their data. In this paper, we show that there is no need to compromise in modern data centers. We show that a main memory distributed computing platform called FaRM can provide distributed transactions with strict serializability, high performance, durability, and high availability. FaRM achieves a peak throughput of 140 million TATP transactions per second on 90 machines with a 4.9 TB database, and it recovers from a failure in less than 50 ms. Key to achieving these results was the design of new transaction, replication, and recovery protocols from first principles to leverage commodity networks with RDMA and a new, inexpensive approach to providing non-volatile DRAM.
Aleksandar Dragojevic, Dushyanth Narayanan, Ed Nightingale, Matthew Renzelmann, Alex Shamis, Anirudh Badam, Miguel Castro 0001
SOSP1
2014 FaRM: Fast Remote Memory
Aleksandar Dragojevic, Dushyanth Narayanan, Miguel Castro 0001, Orion Hodson
NSDI1
2012 STM in the small: trading generality for performance in software transactional memory
abstract
Data structures implemented using software transactional memory (STM) have a reputation for being much slower than data structures implemented directly from low-level primitives such as atomic compare-and-swap (CAS). In this paper we present a specialized STM system (SpecTM) that allows the program to express additional knowledge about the particular operations being performed by transactions e.g., using a separate API to write transactions that access small, fixed, numbers of memory locations. We show that data structures implemented using SpecTM offer essentially the same performance and scalability as implementations built directly from CAS. We present results using hash tables and skip lists on machines with up to 8 sockets and up to 128 hardware threads. Specialized transactions can be mixed with normal transactions, allowing fast-path operations to be specialized for greater performance, while allowing less common cases to be expressed using normal transactions for simplicity. We believe that SpecTM provides a "sweet spot" for expert programmers developing scalable data structures.
Aleksandar Dragojevic, Tim Harris 0001
EuroSys1
2012 Unifying Thread-Level Speculation and Transactional Memory
João Barreto 0001, Aleksandar Dragojevic, Paulo Ferreira 0001, Ricardo Filipe, Rachid Guerraoui
Middleware2
2011 On the power of hardware transactional memory to simplify memory management
abstract
Dynamic memory management is a significant source of complexity in the design and implementation of practical concurrent data structures. We study how hardware transactional memory (HTM) can be used to simplify and streamline memory reclamation for such data structures. We propose and evaluate several new HTMbased algorithms for the “Dynamic Collect ” problem that lies at the heart of many modern memory management algorithms. We demonstrate that HTM enables simpler and faster solutions, with better memory reclamation properties, than prior approaches. Despite recent theoretical arguments that HTM provides no worst-case advantages, our results support the claim that HTM can provide significantly better common-case performance, as well as reduced conceptual complexity.
Aleksandar Dragojevic, Maurice Herlihy, Yossi Lev, Mark Moir
PODC1
2010 Leveraging parallel nesting in transactional memory
abstract
Exploiting the emerging reality of affordable multi-core architectures goes through providing programmers with simple abstractions that would enable them to easily turn their sequential programs into concurrent ones that expose as much parallelism as possible. While transactional memory promises to make concurrent programming easy to a wide programmer community, current implementations either disallow nested transactions to run in parallel or do not scale to arbitrary parallel nesting depths. This is an important obstacle to the central goal of transactional memory, as programmers can only start parallel threads in restricted parts of their code.
João Barreto 0001, Aleksandar Dragojevic, Paulo Ferreira 0001, Rachid Guerraoui, Michal Kapalka
PPoPP2
2009 Stretching transactional memory
abstract
Transactional memory (TM) is an appealing abstraction for programming multi-core systems. Potential target applications for TM, such as business software and video games, are likely to involve complex data structures and large transactions, requiring specific software solutions (STM). So far, however, STMs have been mainly evaluated and optimized for smaller scale benchmarks.
Aleksandar Dragojevic, Rachid Guerraoui, Michal Kapalka
PLDI1
2009 Preventing versus curing: avoiding conflicts in transactional memories
abstract
Transactional memories are typically speculative and rely on contention managers to cure conflicts. This paper explores a complementary approach that prevents conflicts by scheduling transactions according to predictions on their access sets.
Aleksandar Dragojevic, Rachid Guerraoui, Anmol V. Singh, Vasu Singh
PODC1
2009 Optimizing transactions for captured memory
abstract
In this paper, we identify transaction-local memory as a major source of overhead from compiler instrumentation in software transactional memory (STM). Transaction-local memory is memory allocated inside a transaction, which cannot escape (i.e., is captured by) the allocating transaction. Accesses to such memory do not require calls to STM memory access functions (i.e., STM barriers). A compiler unaware of that may translate accesses to captured memory into expensive STM barriers. This presents us opportunities to improve STM performance. Our measurements with the STAMP benchmark suite (version 0.9.9) revealed that as many as 60% of the STM barriers generated by our baseline compiler access captured memory, including 90% of the write barriers and 45% of the read barriers. We propose runtime and compiler optimizations to elide STM barriers to captured memory. These techniques can also elide barriers for accesses to thread-local and read-only data. We implemented those optimizations in the Intel C++ STM compiler. Our experiments with the STAMP benchmark suite on a Intel Dunnington system (with 24 cores in a 4-node SMP system) show that these optimizations can improve performance by to 18% at 16 threads.
Aleksandar Dragojevic, Ali-Reza Adl-Tabatabai
SPAA1