EDBT 2026 Demo / reviewers in the wild / expert
Luke Yen
dblp:64/2694
· DBLP profile ↗
9ranked-venue papers
2as first author
1since 2021 · last 2023
0000-0002-2798-6602ORCID · corroborated
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 9 · 2 first-author · 1 since 2021Software engineering, systems software and programming languages · 2
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
7 papers |
Parallel and multicore computing · 41% Processor architecture and microarchitecture · 36% Memory systems · 12% | |
| Software engineering, system software, and programming languages
1 paper |
Programming languages and type systems · 100% |
Topics — the 17 heaviest of 17, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Parallel and multicore computing
transactional memory |
0.4 | 6 | 2010 | ASF: AMD64 Extension for Lock-Free Data Structures and Transactional Memory · MICRO 2010 Notary: Hardware techniques to enhance signatures · MICRO 2008 Implementing Signatures for Transactional Memory · MICRO 2007 |
Processor architecture and microarchitecture
instruction fetch |
0.4 | 1 | 2019 | Elastic Instruction Fetching · HPCA 2019 |
Parallel and multicore computing › transactional memory
hardware transactional memory |
0.2 | 2 | 2010 | ASF: AMD64 Extension for Lock-Free Data Structures and Transactional Memory · MICRO 2010 LogTM-SE: Decoupling Hardware Transactional Memory from Caches · HPCA 2007 |
Memory systems
cache coherence |
0.1 | 2 | 2007 | LogTM-SE: Decoupling Hardware Transactional Memory from Caches · HPCA 2007 Supporting nested transactional memory in logTM · ASPLOS 2006 |
Parallel and multicore computing › transactional memory
conflict detection |
0.1 | 2 | 2007 | Implementing Signatures for Transactional Memory · MICRO 2007 Supporting nested transactional memory in logTM · ASPLOS 2006 |
Processor architecture and microarchitecture
branch prediction |
0.1 | 1 | 2019 | Elastic Instruction Fetching · HPCA 2019 |
Memory systems › cache › CPU cache
instruction cache |
0.1 | 1 | 2019 | Elastic Instruction Fetching · HPCA 2019 |
Processor architecture and microarchitecture
instruction set architecture |
0.1 | 1 | 2010 | ASF: AMD64 Extension for Lock-Free Data Structures and Transactional Memory · MICRO 2010 |
Processor architecture and microarchitecture
speculative execution |
0.1 | 1 | 2010 | ASF: AMD64 Extension for Lock-Free Data Structures and Transactional Memory · MICRO 2010 |
Electronic design automation › hardware security
hardware signatures |
0.1 | 1 | 2008 | Notary: Hardware techniques to enhance signatures · MICRO 2008 |
Performance modeling and evaluation
workload characterization |
0.1 | 1 | 2007 | Performance pathologies in hardware transactional memory · ISCA 2007 |
Distributed systems › transaction processing
nested transactions |
0.1 | 1 | 2006 | Supporting nested transactional memory in logTM · ASPLOS 2006 |
Parallel and multicore computing
synchronization |
0.1 | 2 | 2010 | ASF: AMD64 Extension for Lock-Free Data Structures and Transactional Memory · MICRO 2010 Implementing Signatures for Transactional Memory · MICRO 2007 |
Parallel and multicore computing › concurrent data structures
lock-free data structures |
0.0 | 1 | 2010 | ASF: AMD64 Extension for Lock-Free Data Structures and Transactional Memory · MICRO 2010 |
Processor architecture and microarchitecture
chip multiprocessor |
0.0 | 1 | 2008 | Notary: Hardware techniques to enhance signatures · MICRO 2008 |
Parallel and multicore computing
speculative parallelization |
0.0 | 1 | 2007 | Performance pathologies in hardware transactional memory · ISCA 2007 |
Programming languages and type systems › module systems
software composition |
0.0 | 1 | 2006 | Supporting nested transactional memory in logTM · ASPLOS 2006 |
Methods — techniques the papers use, named apart from their topics
bloom filter · 0.2log-based transactional memory · 0.1escape actions · 0.1out-of-order simulation · 0.1privatization interface · 0.1address entropy analysis · 0.1simulation · 0.1performance pathology analysis · 0.1cuckoo hashing · 0.1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2023 | FARSI: An Early-stage Design Space Exploration Framework to Tame the Domain-specific System-on-chip ComplexityabstractDomain-specific SoCs (DSSoCs) are an attractive solution for domains with extremely stringent power, performance, and area constraints. However, DSSoCs suffer from two fundamental complexities. On the one hand, their many specialized hardware blocks result in complex systems and thus high development effort. On the other hand, their many system knobs expand the complexity of design space, making the search for the optimal design difficult. Thus to reach prevalence, taming such complexities is necessary. To address these challenges, in this work, we identify the necessary features of an early-stage design space exploration framework that targets the complex design space of DSSoCs and provide an instance of one such framework that we refer to as FARSI. FARSI provides an agile system-level simulator with speed up and accuracy of 8,400× and 98.5% compared to Synopsys Platform Architect. FARSI also provides an efficient exploration heuristic and achieves up to 62× and 35× improvement in convergence time compared to the classic simulated annealing (SA) and modern Multi-Objective Optimistic Search. This is done by augmenting SA with architectural reasoning such as locality exploitation and bottleneck relaxation. Furthermore, we embed various co-design capabilities and show that, on average, they have a 32% impact on the convergence rate. Finally, we demonstrate that using development-cost-aware policies can lower the system complexity, both in terms of the component count and variation by as much as 60% and 82% (e.g., for Network-on-a-Chip subsystem), respectively. Behzad Boroujerdian, Devashree Tripathy, Lavanya Subramanian, Luke Yen, Vincent Lee, Vivek Venkatesan, Amit Jindal, Robert Shearer, Vijay Janapa Reddi |
ACM Trans. Embed. Comput. Syst. | 6 |
| 2019 | Elastic Instruction FetchingabstractBranch prediction (i.e., the generation of fetch addresses) and instruction cache accesses need not be tightly coupled. As the instruction fetch stage stalls because of an ICache miss or back-pressure, the branch predictor may run ahead and generate future fetch addresses that can be used for different optimizations, such as instruction prefetching but more importantly hiding taken branch fetch bubbles. This approach is used in many commercially available high-performance design. However, decoupling branch prediction from instruction retrieval has several drawbacks. First, it can increase the pipeline depth, leading to more expensive pipeline flushes. Second, it requires a large Branch Target Buffer (BTB) to store branch targets, allowing the branch predictor to follow taken branches without decoding instruction bytes. Missing the BTB will also cause additional bubbles. In some classes of workloads, those drawbacks may significantly offset the benefits of decoupling. In this paper, we present ELastic Fetching (ELF), a hybrid mechanism that decouples branch prediction from instruction retrieval while minimizing additional bubbles on pipeline flushes and BTB misses. We present two different implementations that trade off complexity for additional performance. Both variants outperform a baseline decoupled fetcher design by up to 3.7% and 5.2%, respectively. Arthur Perais, Rami Sheikh, Luke Yen, Michael McIlvaine, Robert D. Clancy |
HPCA | 3 |
| 2010 | ASF: AMD64 Extension for Lock-Free Data Structures and Transactional MemoryabstractAdvanced Synchronization Facility (ASF) is an AMD64 hardware extension for lock-free data structures and transactional memory. It provides a speculative region that atomically executes speculative accesses in the region. Five new instructions are added to demarcate the region, use speculative accesses selectively, and control the speculative hardware context. Programmers can use speculative regions to build flexible multi-word atomic primitives with no additional software support by relying on the minimum guarantee of available ASF hardware resources for lock-free programming. Transactional programs with high-level TM language constructs can either be compiled directly to the ASF code or be linked to software TM systems that use ASF to accelerate transactional execution. In this paper we develop an out-of-order hardware design to implement ASF on a future AMD processor and evaluate it with an in-house simulator. The experimental results show that the combined use of the L1 cache and the LS unit is very helpful for the performance robustness of ASF-based lock free data structures, and that the selective use of speculative accesses enables transactional programs to scale with limited ASF hardware resources. Jae-Woong Chung, Luke Yen, Stephan Diestelhorst, Martin Pohlack, Michael Hohmuth, David Christie, Dan Grossman |
MICRO | 2 |
| 2009 | StealthTest: Low Overhead Online Software Testing Using Transactional MemoryabstractSoftware testing is hard. The emergence of multicore architectures and the proliferation of bug-prone multithreaded software makes testing even harder. To this end, researchers have proposed methods to continue testing software after deployment, e.g., in vivo (IV) testing and delta execution (DE) patch testing. These on-line techniques typically fork new processes to hide the functional impact of testing. Unfortunately, the high overhead of fork() significantly degrades performance. To reduce the performance overhead of online testing, we adapt transactional memory (TM) to isolate the functional effects of tests with minimal impact on system performance. We propose StealthTest, an interface that exposes TM transactions as the key mechanism for executing tests. It allows online tests to work on a consistent view of memory without the overhead of creating new processes. Moreover, explicitly aborting the test transaction after it is done guarantees that its changes are invisible to the rest of the system. Thus, StealthTest promises transparent online testing. We demonstrate two test frameworks utilizing StealthTest - StealthlV and StealthDE - that improve on previously proposed fork-based in vivo testing and delta execution frameworks respectively. Implementing StealthTest on top of three software TM (STM) systems - TL2 STM, Intel STM and a pin-based STM- we demonstrate that StealthTest-based frameworks can (a) run a wide range of online tests and (b) execute many more tests with low overhead. StealthTest provides another motivation for efficient TM implementations by extending TM's applicability to a critical software engineering challenge. Jayaram Bobba, Weiwei Xiong, Luke Yen, Mark D. Hill, David A. Wood 0001 |
PACT | 3 |
| 2008 | Notary: Hardware techniques to enhance signaturesabstractHardware signatures have been recently proposed as an efficient mechanism to detect conflicts amongst concurrently running transactions in transactional memory systems (e.g., bulk, LogTM-SE, and SigTM). Signatures use fixed hardware to represent an unbounded number of addresses, but may lead to false conflicts (detecting a conflict when none exists). Previous work recommends that signatures be implemented with parallel Bloom filters with two or four hash functions (e.g., H3). Two problems exist with current signature designs. First, H3implementations use many XOR gates. This increases hardware area and power overheads. Second, signature false positives can result from conflicts with signature bits set by private memory addresses that do not require isolation. This paper develops Notary, a coupling of two signature enhancements to ameliorate these problems. First, we use address entropy analysis to develop page-block-XOR (PBX) hashing and show it performs similar to H3at lower hardware cost. Second, we introduce a privatization interface that explicitly allows the programmer to declare shared and private heap memory allocation. Privatization reduces false conflicts arising from private memory accesses and can lead to a reduction in the signature size used. Results from custom transistor-level layouts of H3and PBX, along with full-system simulation of a 16-core chip-multiprocessor implementing LogTM-SE, show (a) PBX hashing performs similar to H3hashing while requiring up to 24% less area and 4.7% less power overhead and (b) privatization can improve execution time by up to 86% (by reducing false conflicts by up to 96%). Luke Yen, Stark C. Draper, Mark D. Hill |
MICRO | 1 |
| 2007 | LogTM-SE: Decoupling Hardware Transactional Memory from CachesabstractThis paper proposes a hardware transactional memory (HTM) system called LogTM Signature Edition (LogTM-SE). LogTM-SE uses signatures to summarize a transactions read-and write-sets and detects conflicts on coherence requests (eager conflict detection). Transactions update memory "in place" after saving the old value in a per-thread memory log (eager version management). Finally, a transaction commits locally by clearing its signature, resetting the log pointer, etc., while aborts must undo the log. LogTM-SE achieves two key benefits. First, signatures and logs can be implemented without changes to highly-optimized cache arrays because LogTM-SE never moves cached data, changes a blocks cache state, or flash clears bits in the cache. Second, transactions are more easily virtualized because signatures and logs are software accessible, allowing the operating system and runtime to save and restore this state. In particular, LogTM-SE allows cache victimization, unbounded nesting (both open and closed), thread context switching and migration, and paging Luke Yen, Jayaram Bobba, Michael R. Marty, Kevin E. Moore, Haris Volos 0001, Mark D. Hill, Michael M. Swift, David A. Wood 0001 |
HPCA | 1 |
| 2007 | Performance pathologies in hardware transactional memoryabstractHardware Transactional Memory (HTM) systems reflect choices from three key design dimensions: conflict detection, version management, and conflict resolution. Previously proposed HTMs represent three points in this design space: lazy conflict detection, lazy version management, committer wins (LL); eager conflict detection, lazy version management, requester wins (EL); and eager conflict detection, eager version management, and requester stalls with conservative deadlock avoidance (EE). To isolate the effects of these high-level design decisions, we develop a common framework that abstracts away differences in cache write policies, interconnects, and ISA to compare these three design points. Not surprisingly, the relative performance of these systems depends on the workload. Under light transactional loads they perform similarly, but under heavy loads they differ by up to 80%. None of the systems performs best on all of our benchmarks. We identify seven performance pathologies-interactions between workload and system that degrade performance-as the root cause of many performance differences: FriendlyFire, StarvingWriter, SerializedCommit, FutileStall, StarvingElder, RestartConvoy, and DuelingUpgrades. We discuss when and on which systems these pathologies can occur and show that they actually manifest within TM workloads. The insight provided by these pathologies motivated four enhanced systems that often significantly reduce transactional memory overhead. Importantly, by avoiding transaction pathologies, each enhanced system performs well across our suite of benchmarks. Jayaram Bobba, Kevin E. Moore, Haris Volos 0001, Luke Yen, Mark D. Hill, Michael M. Swift, David A. Wood 0001 |
ISCA | 4 |
| 2007 | Implementing Signatures for Transactional MemoryabstractTransactional Memory (TM) systems must track the read and write sets - items read and written during a transaction - to detect conflicts among concurrent transactions. Several TMs use signatures, which summarize unbounded read/write sets in bounded hardware at a performance cost of false positives (conflicts detected when none exists). This paper examines different organizations to achieve hardware-efficient and accurate TM signatures. First, we find that implementing each signature with a single k-hash- function Bloom filter (True Bloom signature) is inefficient, as it requires multi-ported SRAMs. Instead, we advocate using k single-hash-function Bloom filters in parallel (Parallel Bloom signature), using area-efficient single-ported SRAMs. Our formal analysis shows that both organizations perform equally well in theory and our simulation- based evaluation shows this to hold approximately in practice. We also show that by choosing high-quality hash functions we can achieve signature designs noticeably more accurate than the previously proposed implementations. Finally, we adapt Pagh and Rodler's cuckoo hashing to implement Cuckoo-Bloom signatures. While this representation does not support set intersection, it mitigates false positives for the common case of small read/write sets and performs like a Bloom filter for large sets. Daniel Sánchez 0003, Luke Yen, Mark D. Hill, Karthikeyan Sankaralingam |
MICRO | 2 |
| 2006 | Supporting nested transactional memory in logTMabstractNested transactional memory (TM) facilitates software composition by letting one module invoke another without either knowing whether the other uses transactions. Closed nested transactions extend isolation of an inner transaction until the toplevel transaction commits. Implementations may flatten nested transactions into the top-level one, resulting in a complete abort on conflict, or allow partial abort of inner transactions. Open nested transactions allow a committing inner transaction to immediately release isolation, which increases parallelism and expressiveness at the cost of both software and hardware complexity.This paper extends the recently-proposed flat Log-based Transactional Memory (LogTM) with nested transactions. Flat LogTM saves pre-transaction values in a log, detects conflicts with read (R) and write (W) bits per cache block, and, on abort, invokes a software handler to unroll the log. Nested LogTM supports nesting by segmenting the log into a stack of activation records and modestly replicating R/W bits. To facilitate composition with nontransactional code, such as language runtime and operating system services, we propose escape actions that allow trusted code to run outside the confines of the transactional memory system. Michelle J. Moravan, Jayaram Bobba, Kevin E. Moore, Luke Yen, Mark D. Hill, Ben Liblit, Michael M. Swift, David A. Wood 0001 |
ASPLOS | 4 |