EDBT 2026 Demo / reviewers in the wild / expert
Vasileios Trigonakis
dblp:93/11190
· DBLP profile ↗
13ranked-venue papers
1as first author
1since 2021 · last 2021
0009-0009-9796-2620ORCID · corroborated
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 10 · 1 first-author · 1 since 2021Software engineering, systems software and programming languages · 3
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
8 papers |
Memory systems · 26% Storage systems · 22% Parallel and multicore computing · 20% | |
| Software engineering, system software, and programming languages
5 papers |
Concurrent programming · 100% | |
| Databases, data mining, and information retrieval
2 papers |
Graph data management · 85% Indexing and storage engines · 15% |
Topics — the 18 heaviest of 21, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Concurrent programming
synchronization |
1.0 | 4 | 2018 | Lock-Unlock: Is That All? A Pragmatic Analysis of Locking in Software Systems · ACM Trans. Comput. Syst. 2018 Optimistic concurrency with OPTIK · PPoPP 2016 Asynchronized Concurrency: The Secret to Scaling Concurrent Search Data Structures · ASPLOS 2015 |
Graph data management › graph query processing
distributed graph queries |
0.5 | 1 | 2021 | aDFS: An Almost Depth-First-Search Distributed Graph-Querying System · USENIX ATC 2021 |
Concurrent programming › synchronization
mutex lock |
0.3 | 1 | 2018 | Lock-Unlock: Is That All? A Pragmatic Analysis of Locking in Software Systems · ACM Trans. Comput. Syst. 2018 |
Storage systems
key-value storage |
0.3 | 1 | 2017 | FloDB: Unlocking Memory in Persistent Key-Value Stores · EuroSys 2017 |
Storage systems › key-value storage
LSM-tree |
0.3 | 1 | 2017 | FloDB: Unlocking Memory in Persistent Key-Value Stores · EuroSys 2017 |
Memory systems › non-volatile memory
persistent memory |
0.3 | 1 | 2017 | FloDB: Unlocking Memory in Persistent Key-Value Stores · EuroSys 2017 |
Concurrent programming
concurrent data structures |
0.2 | 1 | 2016 | Optimistic concurrency with OPTIK · PPoPP 2016 |
Concurrent programming › concurrency control
optimistic concurrency control |
0.2 | 1 | 2016 | Optimistic concurrency with OPTIK · PPoPP 2016 |
Energy-efficient computing
energy management |
0.2 | 1 | 2016 | Unlocking Energy · USENIX ATC 2016 |
Parallel and multicore computing
concurrent data structures |
0.2 | 1 | 2015 | Asynchronized Concurrency: The Secret to Scaling Concurrent Search Data Structures · ASPLOS 2015 |
Memory systems
cache coherence |
0.2 | 2 | 2013 | Everything you always wanted to know about synchronization but were afraid to ask · SOSP 2013 TM2C: a software transactional memory for many-cores · EuroSys 2012 |
Processor architecture and microarchitecture
many-core architecture |
0.2 | 2 | 2013 | TM2C: a software transactional memory for many-cores · EuroSys 2012 Everything you always wanted to know about synchronization but were afraid to ask · SOSP 2013 |
Memory systems › cache coherence
cache coherence protocol |
0.2 | 1 | 2013 | Everything you always wanted to know about synchronization but were afraid to ask · SOSP 2013 |
Distributed systems › distributed database
distributed query processing |
0.1 | 1 | 2021 | aDFS: An Almost Depth-First-Search Distributed Graph-Querying System · USENIX ATC 2021 |
Concurrent programming › transactional memory
software transactional memory |
0.1 | 1 | 2012 | TM2C: a software transactional memory for many-cores · EuroSys 2012 |
Concurrent programming
transactional memory |
0.1 | 1 | 2012 | TM2C: a software transactional memory for many-cores · EuroSys 2012 |
High-performance computing › performance engineering
performance portability |
0.1 | 1 | 2017 | Abstracting Multi-Core Topologies with MCTOP · EuroSys 2017 |
Processor architecture and microarchitecture
multicore design |
0.0 | 1 | 2013 | Everything you always wanted to know about synchronization but were afraid to ask · SOSP 2013 |
Methods — techniques the papers use, named apart from their topics
tail latency analysis · 0.7performance study · 0.7log-structured merge · 0.6performance benchmarking · 0.4lock-free synchronization · 0.4synchronization study · 0.3cache coherence protocol · 0.3topology abstraction · 0.3version numbers · 0.2lock-free techniques · 0.2OPTIK locks · 0.2
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2021 | aDFS: An Almost Depth-First-Search Distributed Graph-Querying System
Vasileios Trigonakis, Jean-Pierre Lozi, Tomás Faltín, Nicholas P. Roth, Iraklis Psaroudakis, Arnaud Delamare, Vlad Haprian, Calin Iorgulescu, Petr Koupy, Jinsoo Lee, Sungpack Hong, Hassan Chafi |
USENIX ATC | 1 |
| 2020 | Thread-Placement LearningabstractIn a non-uniform memory access machine, the placement of software threads to hardware cores can have a significant effect on the performance of concurrent applications. Detecting the best possible placement for each application is a necessity for thread scheduling. Yet, due to the difficulty of this problem, operating-system schedulers do not really try to understand the needs of applications, but rather focus on (non-portable) scheduling heuristics. In this paper, we introduce thread-placement learning (TPLE), a technique for understanding the placement requirements of applications. TPLE utilizes machine learning and performance counters for choosing between different placement policies. To feed the machine learning model, TPLE requires a set of portable microbenchmarks that produce training data-i.e., performance counter measurements-for all the target placement policies. We use this data to train a classifier that is able to choose between these policies online in order to change the thread-placement of a running application. We demonstrate the practicality of TPLE by implementing a thread-placement algorithm, named Slate. Slate is able to automatically and online (i.e., in runtime) select between the two most commonly-used placement policies, namely locality and round-robin placement on the nodes of a multicore. To the best of our knowledge, Slate is the first online thread-placement algorithm that utilizes machine learning in combination with performance counters. We evaluate Slate and show that it achieves up to 93% accuracy in its decisions and outperforms the Linux scheduler by up to 16%. Karolos Antoniadis, Rachid Guerraoui, Vasileios Trigonakis |
ICDCS | 3 |
| 2020 | CSR++: A Fast, Scalable, Update-Friendly Graph Data StructureabstractThe graph model enables a broad range of analysis, thus graph processing is an invaluable tool in data analytics. At the heart of every graph-processing system lies a concurrent graph data structure storing the graph. Such a data structure needs to be highly efficient for both graph algorithms and queries. Due to the continuous evolution, the sparsity, and the scale-free nature of real-world graphs, graph-processing systems face the challenge of providing an appropriate graph data structure that enables both fast analytical workloads and low-memory graph mutations. Existing graph structures offer a hard trade-off between read-only performance, update friendliness, and memory consumption upon updates. In this paper, we introduce CSR++, a new graph data structure that removes these trade-offs and enables both fast read-only analytics and quick and memory-friendly mutations. CSR++ combines ideas from CSR, the fastest read-only data structure, and adjacency lists to achieve the best of both worlds. We compare CSR++ to CSR, adjacency lists from the Boost Graph Library, and LLAMA, a state-of-the-art update-friendly graph structure. In our evaluation, which is based on popular graph-processing algorithms executed over real-world graphs, we show that CSR++ remains close to CSR in read-only concurrent performance (within 10% on average), while significantly outperforming CSR (by an order of magnitude) and LLAMA (by almost 2×) with frequent updates. Soukaina Firmli, Vasileios Trigonakis, Jean-Pierre Lozi, Iraklis Psaroudakis, Alexander Weld, Dalila Chiadmi, Sungpack Hong, Hassan Chafi |
OPODIS | 2 |
| 2018 | TM2C: a software transactional memory for many-cores
Vincent Gramoli, Rachid Guerraoui, Vasileios Trigonakis |
Distributed Comput. | 3 |
| 2018 | Lock-Unlock: Is That All? A Pragmatic Analysis of Locking in Software SystemsabstractA plethora of optimized mutex lock algorithms have been designed over the past 25 years to mitigate performance bottlenecks related to critical sections and locks. Unfortunately, there is currently no broad study of the behavior of these optimized lock algorithms on realistic applications that consider different performance metrics, such as energy efficiency and tail latency. In this article, we perform a thorough and practical analysis of synchronization, with the goal of providing software developers with enough information to design fast, scalable, and energy-efficient synchronization in their systems. First, we perform a performance study of 28 state-of-the-art mutex lock algorithms, on 40 applications, on four different multicore machines. We consider not only throughput (traditionally the main performance metric) but also energy efficiency and tail latency, which are becoming increasingly important. Second, we present an in-depth analysis in which we summarize our findings for all the studied applications. In particular, we describe nine different lock-related performance bottlenecks, and we propose six guidelines helping software developers with their choice of a lock algorithm according to the different lock properties and the application characteristics. From our detailed analysis, we make several observations regarding locking algorithms and application behaviors, several of which have not been previously discovered: (i) applications stress not only the lock–unlock interface but also the full locking API (e.g., trylocks, condition variables); (ii) the memory footprint of a lock can directly affect the application performance; (iii) for many applications, the interaction between locks and scheduling is an important application performance factor; (vi) lock tail latencies may or may not affect application tail latency; (v) no single lock is systematically the best; (vi) choosing the best lock is difficult; and (vii) energy efficiency and throughput go hand in hand in the context of lock algorithms. These findings highlight that locking involves more considerations than the simple lock/unlock interface and call for further research on designing low-memory footprint adaptive locks that fully and efficiently support the full lock interface, and consider all performance metrics. Rachid Guerraoui, Hugo Guiroux, Renaud Lachaize, Vivien Quéma, Vasileios Trigonakis |
ACM Trans. Comput. Syst. | 5 |
| 2017 | FloDB: Unlocking Memory in Persistent Key-Value StoresabstractLog-structured merge (LSM) data stores enable to store and process large volumes of data while maintaining good performance. They mitigate the I/O bottleneck by absorbing updates in a memory layer and transferring them to the disk layer in sequential batches. Yet, the LSM architecture fundamentally requires elements to be in sorted order. As the amount of data in memory grows, maintaining this sorted order becomes increasingly costly. Contrary to intuition, existing LSM systems could actually lose throughput with larger memory components. Oana Balmau, Rachid Guerraoui, Vasileios Trigonakis, Igor Zablotchi |
EuroSys | 3 |
| 2017 | Abstracting Multi-Core Topologies with MCTOPabstractPortability and efficiency are usually antagonists in multi-core computing. In order to develop efficient code, one needs to take into account the topology of the target multi-cores (e.g., for locality). This clearly hampers code portability. In this paper, we show that you can have the cake and eat it too. Georgios Chatzopoulos, Rachid Guerraoui, Tim Harris 0001, Vasileios Trigonakis |
EuroSys | 4 |
| 2016 | Locking Made Easy
Jelena Antic, Georgios Chatzopoulos, Rachid Guerraoui, Vasileios Trigonakis |
Middleware | 4 |
| 2016 | Optimistic concurrency with OPTIKabstractWe introduce OPTIK, a new practical design pattern for designing and implementing fast and scalable concurrent data structures. OPTIK relies on the commonly-used technique of version numbers for detecting conflicting concurrent operations. We show how to implement the OPTIK pattern using the novel concept of OPTIK locks. These locks enable the use of version numbers for implementing very efficient optimistic concurrent data structures. Existing state-of-the-art lock-based data structures acquire the lock and then check for conflicts. In contrast, with OPTIK locks, we merge the lock acquisition with the detection of conflicting concurrency in a single atomic step, similarly to lock-free algorithms. We illustrate the power of our OPTIK pattern and its implementation by introducing four new algorithms and by optimizing four state-of-the-art algorithms for linked lists, skip lists, hash tables, and queues. Our results show that concurrent data structures built using OPTIK are more scalable than the state of the art. Rachid Guerraoui, Vasileios Trigonakis |
PPoPP | 2 |
| 2016 | Unlocking Energy
Babak Falsafi, Rachid Guerraoui, Javier Picorel, Vasileios Trigonakis |
USENIX ATC | 4 |
| 2015 | Asynchronized Concurrency: The Secret to Scaling Concurrent Search Data StructuresabstractWe introduce "asynchronized concurrency (ASCY)," a paradigm consisting of four complementary programming patterns. ASCY calls for the design of concurrent search data structures (CSDSs) to resemble that of their sequential counterparts. We argue that ASCY leads to implementations which are portably scalable: they scale across different types of hardware platforms, including single and multi-socket ones, for various classes of workloads, such as read-only and read-write, and according to different performance metrics, including throughput, latency, and energy. We substantiate our thesis through the most exhaustive evaluation of CSDSs to date, involving 6 platforms, 22 state-of-the-art CSDS algorithms, 10 re-engineered state-of-the-art CSDS algorithms following the ASCY patterns, and 2 new CSDS algorithms designed with ASCY in mind. We observe up to 30% improvements in throughput in the re-engineered algorithms, while our new algorithms out-perform the state-of-the-art alternatives. Tudor David, Rachid Guerraoui, Vasileios Trigonakis |
ASPLOS | 3 |
| 2013 | Everything you always wanted to know about synchronization but were afraid to askabstractThis paper presents the most exhaustive study of synchronization to date. We span multiple layers, from hardware cache-coherence protocols up to high-level concurrent software. We do so on different types of architectures, from single-socket -- uniform and non-uniform -- to multi-socket -- directory and broadcast-based -- many-cores. We draw a set of observations that, roughly speaking, imply that scalability of synchronization is mainly a property of the hardware. Tudor David, Rachid Guerraoui, Vasileios Trigonakis |
SOSP | 3 |
| 2012 | TM2C: a software transactional memory for many-coresabstractTransactional memory is an appealing paradigm for concurrent programming. Many software implementations of the paradigm were proposed in the last decades for both shared memory multi-core systems and clusters of distributed machines. However, chip manufacturers have started producing many-core architectures, with low network-on-chip communication latency and limited support for cache-coherence, rendering existing transactional memory implementations inapplicable. Vincent Gramoli, Rachid Guerraoui, Vasileios Trigonakis |
EuroSys | 3 |