EDBT 2026 Demo / reviewers in the wild / expert
Marco Elver
dblp:130/6547
· DBLP profile ↗
7ranked-venue papers
4as first author
0since 2021 · last 2018
0000-0002-1747-8399ORCID · corroborated
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 5 · 4 first-authorSoftware engineering, systems software and programming languages · 3 · 1 first-authorTheory of computation · 1
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
4 papers |
Memory systems · 77% Electronic design automation · 16% Parallel and multicore computing · 5% |
Topics — the 13 heaviest of 13, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Memory systems › memory consistency
memory consistency model |
0.4 | 2 | 2016 | McVerSi: A test generation framework for fast memory consistency verification in simulation · HPCA 2016 Fast RMWs for TSO: semantics and implementation · PLDI 2013 |
Memory systems › memory consistency › memory consistency model
total store order |
0.4 | 2 | 2014 | TSO-CC: Consistency directed cache coherence for TSO · HPCA 2014 Fast RMWs for TSO: semantics and implementation · PLDI 2013 |
Memory systems
cache coherence |
0.3 | 2 | 2016 | TSO-CC: Consistency directed cache coherence for TSO · HPCA 2014 C3D: Mitigating the NUMA bottleneck via coherent DRAM caches · MICRO 2016 |
Memory systems › cache coherence
cache coherence protocol |
0.3 | 2 | 2016 | TSO-CC: Consistency directed cache coherence for TSO · HPCA 2014 McVerSi: A test generation framework for fast memory consistency verification in simulation · HPCA 2016 |
Memory systems
cache |
0.2 | 1 | 2016 | C3D: Mitigating the NUMA bottleneck via coherent DRAM caches · MICRO 2016 |
Memory systems › cache
DRAM cache |
0.2 | 1 | 2016 | C3D: Mitigating the NUMA bottleneck via coherent DRAM caches · MICRO 2016 |
Electronic design automation › hardware verification and test
hardware verification |
0.2 | 1 | 2016 | McVerSi: A test generation framework for fast memory consistency verification in simulation · HPCA 2016 |
Memory systems › memory consistency
memory consistency verification |
0.2 | 1 | 2016 | McVerSi: A test generation framework for fast memory consistency verification in simulation · HPCA 2016 |
Electronic design automation › hardware verification and test
test generation |
0.2 | 1 | 2016 | McVerSi: A test generation framework for fast memory consistency verification in simulation · HPCA 2016 |
Memory systems › cache coherence
directory-based coherence |
0.2 | 1 | 2014 | TSO-CC: Consistency directed cache coherence for TSO · HPCA 2014 |
Memory systems
memory consistency |
0.2 | 1 | 2014 | TSO-CC: Consistency directed cache coherence for TSO · HPCA 2014 |
Parallel and multicore computing
synchronization |
0.2 | 1 | 2013 | Fast RMWs for TSO: semantics and implementation · PLDI 2013 |
Processor architecture and microarchitecture
chip multiprocessor |
0.1 | 1 | 2014 | TSO-CC: Consistency directed cache coherence for TSO · HPCA 2014 |
Methods — techniques the papers use, named apart from their topics
simulation · 0.2non-inclusive directory · 0.2genetic programming · 0.2clean cache protocol · 0.2timestamp-based acquire detection · 0.2self-invalidation · 0.2
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2018 | VerC3: A library for explicit state synthesis of concurrent systemsabstractWe propose an alternative, explicit state only, approach to concurrent system synthesis. In particular, the focus of this work is on the synthesis of distributed protocols. Given a correctness specification and a protocol skeleton (i.e. incomplete with holes), the goal is to synthesize the holes. At the heart of our technique is a dynamic programming based algorithm that prunes inferred failure candidates. The algorithm exploits the fact that typically only a few transitions are needed to reach an erroneous state in a faulty distributed protocol. Therefore, it is unlikely that every hole to be synthesized is contributing towards the error; thus, faulty protocol candidates where only a subset of holes were used can be used to infer failures of later candidates with a superset of holes. We evaluate the tool using a cache coherence protocol synthesis case study. Specifically, we study a directory based MSI protocol, assuming an unordered interconnect which gives rise to numerous race conditions which must be resolved via introducing transient states - a common cause of complexity and bugs in such protocols. In the case study, we therefore focus on synthesizing the transient state actions (we consider up to 12 holes out of possible 35). With the proposed candidate pruning optimization, we report up to 43x improvement over a naïve candidate enumeration scheme. We make available the tool and C++ library, VerC3. Marco Elver, Christopher J. Banks, Paul B. Jackson, Vijay Nagarajan |
DATE | 1 |
| 2017 | Verification of a lazy cache coherence protocol against a weak memory modelabstractIn this paper, we verify a modern lazy cache coherence protocol, TSO-CC, against the memory consistency model it was designed for, TSO. We achieve this by first showing a weak simulation relation between TSO-CC (with a fixed number of processors) and a novel finite-state operational model which exhibits the laziness of TSO-CC and satisfies TSO. We then extend this by an existing parameterisation technique, allowing verification for an unbounded number of processors. The approach is executed entirely within a model checker, no external tool is required and very little in-depth knowledge of formal verification methods is required of the verifier. Christopher J. Banks, Marco Elver, Ruth Hoffmann, Susmit Sarkar, Paul B. Jackson, Vijay Nagarajan |
FMCAD | 2 |
| 2016 | McVerSi: A test generation framework for fast memory consistency verification in simulationabstractThe memory consistency model (MCM), which formally specifies the behaviour of the memory system, is used by programmers to reason about parallel programs. It is imperative that hardware adheres to the promised MCM. For this reason, hardware designs must be verified against the specified MCM. One common way to do this is via executing tests, where specific threads of instruction sequences are generated and their executions are checked for adherence to the MCM. It would be extremely beneficial to execute such tests under simulation, i.e. when the functional design implementation of the hardware is being prototyped. Most prior verification methodologies, however, target post-silicon environments, which when applied under simulation would be too slow. We propose McVerSi, a test generation framework for fast MCM verification of a full-system design implementation under simulation. Our primary contribution is a Genetic Programming (GP) based approach to MCM test generation, which relies on a novel crossover function that prioritizes memory operations contributing to non-determinism, thereby increasing the probability of uncovering MCM bugs. To guide tests towards exercising as much logic as possible, the simulator's reported coverage is used as the fitness function. Furthermore, we increase test throughput by making the test workload simulation-aware. We evaluate our proposed framework using the Gem5 cycle accurate simulator in full-system mode with Ruby. We discover 2 new bugs due to the faulty interaction of the pipeline and the cache coherence protocol. Crucially, these bugs would not have been discovered through individual verification of the pipeline or the coherence protocol. We study 11 bugs in total. Our GP-based test generation approach finds all bugs consistently, therefore providing much higher guarantees compared to alternative approaches (pseudo-random test generation and litmus tests). Marco Elver, Vijay Nagarajan |
HPCA | 1 |
| 2016 | C3D: Mitigating the NUMA bottleneck via coherent DRAM cachesabstractMassive datasets prevalent in scale-out, enterprise, and high-performance computing are driving a trend toward ever-larger memory capacities per node. To satisfy the memory demands and maximize performance per unit cost, today's commodity HPC and server nodes tend to feature multi-socket shared memory NUMA organizations. An important problem in these designs is the high latency of accessing memory on a remote socket that results in degraded performance in workloads with large shared data working sets. This work shows that emerging DRAM caches can help mitigate the NUMA bottleneck by filtering up to 98% of remote memory accesses. To be effective, these DRAM caches must be private to each socket to allow caching of remote memory, which comes with the challenge of ensuring coherence across multiple sockets and GBs of DRAM cache capacity. Moreover, the high access latency of DRAM caches, combined with high inter-socket communication latencies, can make hits to remote DRAM caches slower than main memory accesses. These features challenge existing coherence protocols optimized for on-chip caches with fast hits and modest storage capacity. Our solution to these challenges relies on two insights. First, keeping DRAM caches clean avoids the need to ever access a remote DRAM cache on a read. Second, a non-inclusive on-chip directory that avoids tracking blocks in the DRAM cache enables a light-weight protocol for guaranteeing coherence without the staggering directory costs. Our design, called Clean Coherent DRAM Caches (C3D), leverages these insights to improve performance by 6.4-50.7% in a quad-socket system versus a baseline without DRAM caches. Cheng-Chieh Huang, Rakesh Kumar 0003, Marco Elver, Boris Grot, Vijay Nagarajan |
MICRO | 3 |
| 2015 | RC3: Consistency Directed Cache Coherence for x86-64 with RC ExtensionsabstractThe recent convergence towards programming language based memory consistency models has sparked renewed interest in lazy cache coherence protocols. These protocols exploit synchronization information by enforcing coherence only at synchronization boundaries via self-invalidation. In effect, such protocols do not require sharer tracking which benefits scalability. On the downside, such protocols are only readily applicable to a restricted set of consistency models, such as Release Consistency (RC), which expose synchronization information explicitly. In particular, existing architectures with stricter consistency models (such as x86-64) cannot readily make use of lazy coherence protocols without either: changing the architecture's consistency model to (a variant of) RC at the expense of backwards compatibility, or adapting the protocol to satisfy the stricter consistency model, thereby failing to benefit from synchronization information. We show an approach for the x86-64 architecture, which is a compromise between the two. First, we propose a mechanism to convey synchronization information via a simple ISA extension, while retaining backwards compatibility with legacy codes and older microarchitectures. Second, we propose RC3, a scalable hardware cache coherence protocol for RCtso, the resulting memory consistency model. RC3 does not track sharers, and relies on self-invalidation on acquires. To satisfy RCtso efficiently, the protocol reduces self-invalidations transitively using per-L1 timestamps only. RC3 outperforms a conventional lazy RC protocol by 12%, achieving performance comparable to a MESI directory protocol for RC optimized programs. RC3's storage overhead per cache line scales logarithmically with increasing core count, and reduces on-chip coherence storage overheads by 45% compared to a related approach specifically targeting TSO. Marco Elver, Vijay Nagarajan |
PACT | 1 |
| 2014 | TSO-CC: Consistency directed cache coherence for TSOabstractTraditional directory coherence protocols are designed for the strictest consistency model, sequential consistency (SC). When they are used for chip multiprocessors (CMPs) that support relaxed memory consistency models, such protocols turn out to be unnecessarily strict. Usually this comes at the cost of scalability (in terms of per core storage), which poses a problem with increasing number of cores in today's CMPs, most of which no longer are sequentially consistent. Because of the wide adoption of Total Store Order (TSO) and its variants in x86 and SPARC processors, and existing parallel programs written for these architectures, we propose TSO-CC, a cache coherence protocol for the TSO memory consistency model. TSO-CC does not track sharers, and instead relies on self-invalidation and detection of potential acquires using timestamps to satisfy the TSO memory consistency model lazily. Our results show that TSO-CC achieves average performance comparable to a MESI directory protocol, while TSO-CC's storage overhead per cache line scales logarithmically with increasing core count. Marco Elver, Vijay Nagarajan |
HPCA | 1 |
| 2013 | Fast RMWs for TSO: semantics and implementationabstractRead-Modify-Write (RMW) instructions are widely used as the building blocks of a variety of higher level synchronization constructs, including locks, barriers, and lock-free data structures. Unfortunately, they are expensive in architectures such as x86 and SPARC which enforce (variants of) Total-Store-Order (TSO). A key reason is that RMWs in these architectures are ordered like a memory barrier, incurring the cost of a write-buffer drain in the critical path. Such strong ordering semantics are dictated by the requirements of the strict atomicity definition (type-1) that existing TSO RMWs use. Programmers often do not need such strong semantics. Besides, weakening the atomicity definition of TSO RMWs, would also weaken their ordering -- thereby leading to more efficient hardware implementations. Bharghava Rajaram, Vijay Nagarajan, Susmit Sarkar, Marco Elver |
PLDI | 4 |