EDBT 2026 Demo / reviewers in the wild / expert
Yossi Lev
dblp:27/5398
· DBLP profile ↗
22ranked-venue papers
2as first author
0since 2021 · last 2018
0000-0003-3514-8016ORCID · corroborated
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 20 · 2 first-authorSoftware engineering, systems software and programming languages · 3Theory 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.
| Software engineering, system software, and programming languages
10 papers |
Concurrent programming · 82% Compilers and program optimization · 12% Operating systems · 5% | |
| Computer architecture, parallel and distributed computing, and storage systems
8 papers |
Parallel and multicore computing · 86% High-performance computing · 9% Memory systems · 3% |
Topics — the 20 heaviest of 22, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Parallel and multicore computing › transactional memory
hardware transactional memory |
0.6 | 4 | 2016 | Refined transactional lock elision · PPoPP 2016 Using hardware transactional memory to correct and simplify and readers-writer lock algorithm · PPoPP 2013 Hybrid NOrec: a case study in the effectiveness of best effort hardware transactional memory · ASPLOS 2011 |
Parallel and multicore computing
synchronization |
0.6 | 3 | 2016 | Refined transactional lock elision · PPoPP 2016 Scalable statistics counters · PPoPP 2013 Using hardware transactional memory to correct and simplify and readers-writer lock algorithm · PPoPP 2013 |
Concurrent programming
synchronization |
0.5 | 3 | 2017 | Transactional Lock Elision Meets Combining · PODC 2017 NUMA-aware reader-writer locks · PPoPP 2013 Early experience with a commercial hardware transactional memory implementation · ASPLOS 2009 |
Concurrent programming
transactional memory |
0.4 | 4 | 2011 | On the power of hardware transactional memory to simplify memory management · PODC 2011 Hybrid NOrec: a case study in the effectiveness of best effort hardware transactional memory · ASPLOS 2011 Split hardware transactions: true nesting of transactions using best-effort hardware transactional memory · PPoPP 2008 |
Compilers and program optimization › loop transformation
fusion |
0.3 | 1 | 2017 | Transactional Lock Elision Meets Combining · PODC 2017 |
Concurrent programming › transactional memory
hardware transactional memory |
0.2 | 2 | 2011 | On the power of hardware transactional memory to simplify memory management · PODC 2011 Split hardware transactions: true nesting of transactions using best-effort hardware transactional memory · PPoPP 2008 |
Concurrent programming › transactional memory
hybrid transactional memory |
0.2 | 2 | 2011 | Hybrid NOrec: a case study in the effectiveness of best effort hardware transactional memory · ASPLOS 2011 Hybrid transactional memory · ASPLOS 2006 |
Concurrent programming › synchronization
reader-writer locks |
0.2 | 1 | 2013 | NUMA-aware reader-writer locks · PPoPP 2013 |
Parallel and multicore computing › synchronization
reader-writer locks |
0.2 | 1 | 2013 | Using hardware transactional memory to correct and simplify and readers-writer lock algorithm · PPoPP 2013 |
High-performance computing
system monitoring |
0.2 | 1 | 2013 | Scalable statistics counters · PPoPP 2013 |
Operating systems › resource management
memory management |
0.1 | 1 | 2011 | On the power of hardware transactional memory to simplify memory management · PODC 2011 |
Concurrent programming
memory reclamation |
0.1 | 1 | 2011 | On the power of hardware transactional memory to simplify memory management · PODC 2011 |
Concurrent programming › transactional memory
software transactional memory |
0.1 | 2 | 2011 | Hybrid transactional memory · ASPLOS 2006 Hybrid NOrec: a case study in the effectiveness of best effort hardware transactional memory · ASPLOS 2011 |
Parallel and multicore computing
transactional memory |
0.1 | 1 | 2009 | Early experience with a commercial hardware transactional memory implementation · ASPLOS 2009 |
Concurrent programming › transactional memory
nested transactions |
0.1 | 1 | 2008 | Split hardware transactions: true nesting of transactions using best-effort hardware transactional memory · PPoPP 2008 |
Concurrent programming
speculative execution |
0.1 | 1 | 2016 | Refined transactional lock elision · PPoPP 2016 |
Concurrent programming
concurrent data structures |
0.1 | 1 | 2007 | SNZI: scalable NonZero indicators · PODC 2007 |
Memory systems
non-uniform memory access |
0.0 | 1 | 2013 | Scalable statistics counters · PPoPP 2013 |
Processor architecture and microarchitecture
multicore design |
0.0 | 1 | 2009 | Early experience with a commercial hardware transactional memory implementation · ASPLOS 2009 |
Transaction processing and concurrency control
transactional memory |
0.0 | 1 | 2007 | SNZI: scalable NonZero indicators · PODC 2007 |
Methods — techniques the papers use, named apart from their topics
transactional memory · 0.9hardware transactional memory · 0.6performance evaluation · 0.5compiler support for transactions · 0.5lock design · 0.3flat combining · 0.3simulation · 0.2counter sharding · 0.2approximate counting · 0.2split hardware transactions · 0.2linearizability · 0.1dynamic collect · 0.1nonblocking implementation · 0.1compiler support · 0.1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2018 | BQ: A Lock-Free Queue with BatchingabstractConcurrent data structures provide fundamental building blocks for concurrent programming. Standard concurrent data structures may be extended by allowing a sequence of operations to be submitted as a batch for later execution. A sequence of such operations can then be executed more efficiently than the standard execution of one operation at a time. In this paper we develop a novel algorithmic extension to the prevalent FIFO queue data structure that exploits such batching scenarios. An implementation in C++ on a multicore demonstrates a significant performance improvement of up to 16x (depending on batch lengths), compared to previous queue implementations. Gal Sela 0001, Alex Kogan, Yossi Lev, Victor Luchangco, Erez Petrank |
SPAA | 3 |
| 2017 | Transactional Lock Elision Meets CombiningabstractFlat combining (FC) and transactional lock elision (TLE) are two techniques that facilitate efficient multi-thread access to a sequentially implemented data structure protected by a lock. FC allows threads to delegate their operations to another (combiner) thread, and benefit from executing multiple operations by that thread under the lock through combining and elimination optimizations tailored to the specific data structure. TLE employs hardware transactional memory (HTM) that allows multiple threads to apply their operations concurrently as long as they do not conflict. This paper explores how these two radically different techniques can complement one another, and introduces the HTM-assisted Combining Framework (HCF). HCF leverages HTM to allow multiple combiners to run concurrently with each other, as well as with other, non-combiner threads. This makes HCF a good fit for data structures and workloads in which some operations may conflict with each other while others may run concurrently without conflicts. HCF achieves all that with changes to the sequential code similar to those required by TLE and FC, and in particular, without requiring the programmer to reason about concurrency. Alex Kogan, Yossi Lev |
PODC | 2 |
| 2016 | Refined transactional lock elisionabstractTransactional lock elision (TLE) is a well-known technique that exploits hardware transactional memory (HTM) to introduce concurrency into lock-based software. It achieves that by attempting to execute a critical section protected by a lock in an atomic hardware transaction, reverting to the lock if these attempts fail. One significant drawback of TLE is that it disables hardware speculation once there is a thread running under lock. In this paper we present two algorithms that rely on existing compiler support for transactional programs and allow threads to speculate concurrently on HTM along with a thread holding the lock. We demonstrate the benefit of our algorithms over TLE and other related approaches with an in-depth analysis of a number of benchmarks and a wide range of workloads, including an AVL tree-based micro-benchmark and ccTSA, a real sequence assembler application. David Dice, Alex Kogan, Yossi Lev |
PPoPP | 3 |
| 2016 | Investigating the Performance of Hardware Transactions on a Multi-Socket MachineabstractThe introduction of hardware transactional memory (HTM) into commercial processors opens a door for designing and implementing scalable synchronization mechanisms. One example for such a mechanism is transactional lock elision (TLE), where lock-based critical sections are executed concurrently using hardware transactions. So far, the effectiveness of TLE and other HTM-based mechanisms has been assessed mostly on small, single-socket machines. This paper investigates the behavior of hardware transactions on a large two-socket machine. Using TLE as an example, we show that a system can scale as long as all threads run on the same socket, but a single thread running on a different socket can wreck performance. We identify the reason for this phenomenon, and present a simple adaptive technique that overcomes this problem by throttling threads as necessary to optimize system performance. Using extensive evaluation of multiple microbenchmarks and real applications, we demonstrate that our technique achieves the full performance of the system for workloads that scale across sockets, and avoids the performance degradation that cripples TLE for workloads that do not. Trevor Brown 0001, Alex Kogan, Yossi Lev, Victor Luchangco |
SPAA | 3 |
| 2014 | Adaptive integration of hardware and software lock elision techniquesabstractTransactional Lock Elision (TLE) and optimistic software execution can both improve scalability of lock-based programs. The former uses hardware transactional memory (HTM) without requiring code changes; the latter involves modest code changes but does not require special hardware support. Numerous factors affect the choice of technique, including: critical section code, calling context, workload characteristics, and hardware support for synchronization. David Dice, Alex Kogan, Yossi Lev, Timothy Merrifield, Mark Moir |
SPAA | 3 |
| 2013 | NUMA-aware reader-writer locksabstractNon-Uniform Memory Access (NUMA) architectures are gaining importance in mainstream computing systems due to the rapid growth of multi-core multi-chip machines. Extracting the best possible performance from these new machines will require us to revisit the design of the concurrent algorithms and synchronization primitives which form the building blocks of many of today's applications. This paper revisits one such critical synchronization primitive -- the reader-writer lock. Irina Calciu, David Dice, Yossi Lev, Victor Luchangco, Virendra J. Marathe, Nir Shavit |
PPoPP | 3 |
| 2013 | Using hardware transactional memory to correct and simplify and readers-writer lock algorithmabstractDesigning correct synchronization algorithms is notoriously difficult, as evidenced by a bug we have identified that has apparently gone unnoticed in a well-known synchronization algorithm for nearly two decades. We use hardware transactional memory (HTM) to construct a corrected version of the algorithm. This version is significantly simpler than the original and furthermore improves on it by eliminating usage constraints and reducing space requirements. Performance of the HTM-based algorithm is competitive with the original in "normal" conditions, but it does suffer somewhat under heavy contention. We successfully apply some optimizations to help close this gap, but we also find that they are incompatible with known techniques for improving progress properties. We discuss ways in which future HTM implementations may address these issues. Finally, although our focus is on how effectively HTM can correct and simplify the algorithm, we also suggest bug fixes and workarounds that do not depend on HTM. David Dice, Yossi Lev, Yujie Liu 0003, Victor Luchangco, Mark Moir |
PPoPP | 2 |
| 2013 | Scalable statistics countersabstractNaive statistics counters that are commonly used to monitor system events and performance become a scalability bottleneck as systems become larger and more NUMA; furthermore some are so inaccurate that they are not useful. We present a number of techniques to address these problems, evaluating solutions in terms of performance, scalability, space overhead, and accuracy. David Dice, Yossi Lev, Mark Moir |
PPoPP | 2 |
| 2013 | Scalable statistics countersabstractStatistics counters are important for purposes such as detecting excessively high rates of various system events, or for mechanisms that adapt based on event frequency. As systems grow and become increasingly NUMA, commonly used naive counters impose scalability bottlenecks and/or such inaccuracy that they are not useful. We present both precise and statistical (probabilistic) counters that are nonblocking and provide dramatically better scalability and accuracy properties. Crucially, these counters are competitive with the naive ones even when contention is low. David Dice, Yossi Lev, Mark Moir |
SPAA | 2 |
| 2011 | Hybrid NOrec: a case study in the effectiveness of best effort hardware transactional memoryabstractTransactional memory (TM) is a promising synchronization mechanism for the next generation of multicore processors. Best-effort Hardware Transactional Memory (HTM) designs, such as Sun's prototype Rock processor and AMD's proposed Advanced Synchronization Facility (ASF), can efficiently execute many transactions, but abort in some cases due to various limitations. Hybrid TM systems can use a compatible software TM (STM) in such cases. Luke Dalessandro, François Carouge, Sean White, Yossi Lev, Mark Moir, Michael L. Scott, Michael F. Spear |
ASPLOS | 4 |
| 2011 | On the power of hardware transactional memory to simplify memory managementabstractDynamic 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 |
PODC | 3 |
| 2010 | Simplifying concurrent algorithms by exploiting hardware transactional memoryabstractWe explore the potential of hardware transactional memory (HTM) to improve concurrent algorithms. We illustrate a number of use cases in which HTM enables significantly simpler code to achieve similar or better performance than existing algorithms for conventional architectures. We use Sun's prototype multicore chip, code-named Rock, to experiment with these algorithms, and discuss ways in which its limitations prevent better results, or would prevent production use of algorithms even if they are successful. Our use cases include concurrent data structures such as double ended queues, work stealing queues and scalable non-zero indicators, as well as a scalable malloc implementation and a simulated annealing application. We believe that our paper makes a compelling case that HTM has substantial potential to make effective concurrent programming easier, and that we have made valuable contributions in guiding designers of future HTM features to exploit this potential. David Dice, Yossi Lev, Virendra J. Marathe, Mark Moir, Daniel Nussbaum, Marek Olszewski |
SPAA | 2 |
| 2009 | tm_db: A Generic Debugging Library for Transactional ProgramsabstractTransactional memory (TM) has received a lot of attention as a programming API for concurrent programs on emerging multicore architectures. If the transactional programming model is to realize its promise of simplifying the problem of writing correct and scalable concurrent programs, debuggers will have to change. In this paper, we introduce tm_db, an open-source library to provide debuggers with a general debugging support for transactional programs. The library helps debuggers provide programmers with generic transactional debugging features, independent of the particular TMpsilas runtime internals. In addition, it provides TM designers with a well defined interface for transactional debugging support. We discuss the basic debugging features we believe are essential to debug transactional programs, how they are provided by the library, and how they integrate into a general debugging infrastructure. Maurice Herlihy, Yossi Lev |
PACT | 2 |
| 2009 | Early experience with a commercial hardware transactional memory implementationabstractWe report on our experience with the hardware transactional memory (HTM) feature of two revisions of a prototype multicore processor. Our experience includes a number of promising results using HTM to improve performance in a variety of contexts, and also identifies some ways in which the feature could be improved to make it even better. We give detailed accounts of our experiences, sharing techniques we used to achieve the results we have, as well as describing challenges we faced in doing so. This technical report expands on our ASPLOS paper [9], providing more detail and reporting on additional work conducted since that paper was written. David Dice, Yossi Lev, Mark Moir, Daniel Nussbaum |
ASPLOS | 2 |
| 2009 | Scalable reader-writer locksabstractWe present three new reader-writer lock algorithms that scale under high read-only contention. Many previous reader-writer locks suffer significant degradation when many readers attempt to acquire the lock concurrently, even though they are all allowed to hold the lock at the same time. In contrast, our locks scale almost perfectly when there is only read contention on a 4-chip system with a total of 256 hardware threads. Yossi Lev, Victor Luchangco, Marek Olszewski |
SPAA | 1 |
| 2008 | Split hardware transactions: true nesting of transactions using best-effort hardware transactional memoryabstractTransactional Memory (TM) is on its way to becoming the programming API of choice for writing correct, concurrent, and scalable programs. Hardware TM (HTM) implementations are expected to be significantly faster than pure software TM (STM); however, full hardware support for true closed and open nested transactions is unlikely to be practical. Yossi Lev, Jan-Willem Maessen |
PPoPP | 1 |
| 2007 | SNZI: scalable NonZero indicatorsabstractWe introduce the SNZI shared object, which is related to traditional shared counters, but has weaker semantics. We also introduce a resettable version of SNZI called SNZI-R. We present implementations that are scalable, linearizable, nonblocking, and fast in the absence of contention, properties that are difficult or impossible to achieve simultaneously with the stronger semantics of traditional counters. Our primary motivation in introducing SNZI and SNZI-R is to use them to improve the performance and scalability of software and hybrid transactional memory systems. We present performance experiments showing that our implementations have excellent performance characteristics for this purpose. Faith Ellen, Yossi Lev, Victor Luchangco, Mark Moir |
PODC | 2 |
| 2007 | A Simple Optimistic Skiplist Algorithm
Maurice Herlihy, Yossi Lev, Victor Luchangco, Nir Shavit |
SIROCCO | 2 |
| 2006 | Hybrid transactional memoryabstractTransactional memory (TM) promises to substantially reduce the difficulty of writing correct, efficient, and scalable concurrent programs. But "bounded" and "best-effort" hardware TM proposals impose unreasonable constraints on programmers, while more flexible software TM implementations are considered too slow. Proposals for supporting "unbounded" transactions in hardware entail significantly higher complexity and risk than best-effort designs.We introduce Hybrid Transactional Memory (HyTM), an approach to implementing TMin software so that it can use best effort hardware TM (HTM) to boost performance but does not depend on HTM. Thus programmers can develop and test transactional programs in existing systems today, and can enjoy the performance benefits of HTM support when it becomes available.We describe our prototype HyTM system, comprising a compiler and a library. The compiler allows a transaction to be attempted using best-effort HTM, and retried using the software library if it fails. We have used our prototype to "transactify" part of the Berkeley DB system, as well as several benchmarks. By disabling the optional use of HTM, we can run all of these tests on existing systems. Furthermore, by using a simulated multiprocessor with HTM support, we demonstrate the viability of the HyTM approach: it can provide performance and scalability approaching that of an unbounded HTM implementation, without the need to support all transactions with complicated HTM support. Peter Damron, Alexandra Fedorova, Yossi Lev, Victor Luchangco, Mark Moir, Daniel Nussbaum |
ASPLOS | 3 |
| 2006 | A dynamic-sized nonblocking work stealing deque
Danny Hendler, Yossi Lev, Mark Moir, Nir Shavit |
Distributed Comput. | 2 |
| 2005 | Dynamic circular work-stealing dequeabstractThe non-blocking work-stealing algorithm of Arora, Blumofe, and Plaxton (henceforth ABP work-stealing) is on its way to becoming the multiprocessor load balancing technology of choice in both industry and academia. This highly efficient scheme is based on a collection of array-based double-ended queues (deques) with low cost synchronization among local and stealing processes. Unfortunately, the algorithm's synchronization protocol is strongly based on the use of fixed size arrays, which are prone to overflows, especially in the multiprogrammed environments for which they are designed. We present a work-stealing deque that does not have the overflow problem.The only ABP-style work-stealing algorithm that eliminates the overflow problem is the list-based one presented by Hendler, Lev and Shavit. Their algorithm indeed deals with the overflow problem, but it is complicated, and introduces a trade-off between the space and time complexity, due to the extra work required to maintain the list.Our new algorithm presents a simple lock-free work-stealing deque, which stores the elements in a cyclic array that can grow when it overflows. The algorithm has no limit other than integer overflow (and the system's memory size) on the number of elements that may be on the deque, and the total memory required is linear in the number of elements in the deque. David Chase, Yossi Lev |
SPAA | 2 |
| 2004 | Dynamic Memory ABP Work-Stealing
Danny Hendler, Yossi Lev, Nir Shavit |
DISC | 2 |