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

Yuelu Duan

dblp:87/7944 · DBLP profile ↗
← Back
7ranked-venue papers
5as first author
0since 2021 · last 2016
—ORCID · none

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

Systems, architecture and hardware · 7 · 5 first-authorSoftware engineering, systems software and programming languages · 5 · 3 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
5 papers
Memory systems · 62% Processor architecture and microarchitecture · 26% Parallel and multicore computing · 12%
Software engineering, system software, and programming languages
4 papers
Concurrent programming · 86% Program analysis · 14%

Topics — the 10 heaviest of 11, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Memory systems
memory consistency
0.532016
SCsafe: Logging sequential consistency violations continuously and precisely · HPCA 2016
Asymmetric Memory Fences: Optimizing Both Performance and Implementability · ASPLOS 2015
WeeFence: toward making fences free in TSO · ISCA 2013
Concurrent programming
memory models
0.532016
SCsafe: Logging sequential consistency violations continuously and precisely · HPCA 2016
WeeFence: toward making fences free in TSO · ISCA 2013
DeAliaser: alias speculation using atomic region support · ASPLOS 2013
Concurrent programming › memory models
weak memory models
0.212016
SCsafe: Logging sequential consistency violations continuously and precisely · HPCA 2016
Memory systems › memory consistency
memory fences
0.212015
Asymmetric Memory Fences: Optimizing Both Performance and Implementability · ASPLOS 2015
Program analysis › static analysis
pointer analysis
0.212013
DeAliaser: alias speculation using atomic region support · ASPLOS 2013
Concurrent programming › memory models
test suite optimization
0.212013
WeeFence: toward making fences free in TSO · ISCA 2013
Parallel and multicore computing
deterministic execution
0.112012
BulkCompactor: Optimized deterministic execution via Conflict-Aware commit of atomic blocks · HPCA 2012
Processor architecture and microarchitecture
multicore design
0.112012
BulkCompactor: Optimized deterministic execution via Conflict-Aware commit of atomic blocks · HPCA 2012
Concurrent programming
concurrency bug detection
0.112016
SCsafe: Logging sequential consistency violations continuously and precisely · HPCA 2016
Concurrent programming
synchronization
0.012012
BulkCompactor: Optimized deterministic execution via Conflict-Aware commit of atomic blocks · HPCA 2012

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

simulation · 0.8hardware recovery · 0.5speculation · 0.3runtime checks · 0.3asymmetric fence design · 0.2
YearPublicationVenuePosition
2016 SCsafe: Logging sequential consistency violations continuously and precisely
abstract
Sequential Consistency Violations (SCV) in relaxed consistency machines cause programs to malfunction and are hard to debug. While there are proposals for detecting and recording SCVs, they are limited in that they end program execution after detecting the first SCV because the program is now non-SC. Therefore, they cannot be used in production runs. In addition, such proposals rely on complicated hardware. To address these problems, this paper proposes the first architecture that detects and logs SCVs in a continuous manner, while retaining SC. In addition, the scheme is precise and uses substantially simpler hardware. The scheme, called SCsafe, operates continously because, after SCV detection and logging, it recovers and resumes execution while retaining SC. As a result, it can be used in production runs. In addition, SCsafe is precise in that it identifies only true SCVs - rather than dependence cycles due to false sharing. Finally, SCsafe's hardware is mostly local to each processor, and uses known recovery techniques. We evaluate SCsafe using simulations of 16-processor multicores with Total Store Order or Release Consistency. In codes with SCVs, SCsafe detects and reports SCVs while enforcing SC during the execution. In codes with few SCVs, it adds a negligible performance overhead. Finally, SCsafe is scalable with the processor count.
Yuelu Duan, David A. Koufaty, Josep Torrellas
HPCA1
2015 Asymmetric Memory Fences: Optimizing Both Performance and Implementability
abstract
There have been several recent efforts to improve the performance of fences. The most aggressive designs allow post-fence accesses to retire and complete before the fence completes. Unfortunately, such designs present implementation difficulties due to their reliance on global state and structures.
Yuelu Duan, Nima Honarmand, Josep Torrellas
ASPLOS1
2013 DeAliaser: alias speculation using atomic region support
abstract
Alias analysis is a critical component in many compiler optimizations. A promising approach to reduce the complexity of alias analysis is to use speculation. The approach consists of performing optimizations assuming the alias relationships that are true most of the time, and repairing the code when such relationships are found not to hold through runtime checks.
Wonsun Ahn, Yuelu Duan, Josep Torrellas
ASPLOS2
2013 WeeFence: toward making fences free in TSO
abstract
Although fences are designed for low-overhead concurrency coordination, they can be expensive in current machines. If fences were largely free, faster fine-grained concurrent algorithms could be devised, and compilers could guarantee Sequential Consistency (SC) at little cost.
Yuelu Duan, Abdullah Muzahid, Josep Torrellas
ISCA1
2012 BulkCompactor: Optimized deterministic execution via Conflict-Aware commit of atomic blocks
abstract
Recent proposals for determinism-enforcement architectures are able to honor the dependences between threads through a commit step that often becomes a performance bottleneck. As they commit code blocks (or chunks) in a round-robin order, if one chunk gets squashed due to a conflict, its successors also observe a stall. We call this effect transitive squash delay. This paper proposes a novel, high-performance approach to deterministic execution based on Conflict-Aware commit. Rather than committing chunks in strict round-robin order, the idea is to skip those chunks with conflicts and deterministically execute them slightly later. The scheme, called BulkCompactor, largely eliminates transitive squash delay, “compacts” the chunk commits, and substantially speeds-up execution. With BulkCompactor, the squash overhead is O(N) rather than O(N2) as in round-robin. We describe BulkCompactor designs for machines with centralized or distributed commit. Finally, a simulation-based evaluation shows that BulkCompactor delivers performance comparable to nondeter-ministic systems. For example, for 32 processors, BulkCompactor incurs an average execution overhead of 22% over a nondetermin-istic system. The round-robin scheme's average overhead is 133%.
Yuelu Duan, Wonsun Ahn, Josep Torrellas
HPCA1
2010 An adaptive task creation strategy for work-stealing scheduling
abstract
Work-stealing is a key technique in many multi-threading programming languages to get good load balancing. The current work-stealing techniques have a high implementation overhead in some applications and require a large amount of memory space for data copying to assure correctness. They also cannot handle many application programs that have an unbalanced call tree or have no definitive working sets.
Lei Wang 0004, Huimin Cui, Yuelu Duan, Xiaobing Feng 0002, Pen-Chung Yew
CGO3
2009 Detecting and Eliminating Potential Violations of Sequential Consistency for Concurrent C/C++ Programs
abstract
When a concurrent shared-memory program written with a sequential consistency (SC) model is run on a machine implemented with a relaxed consistency (RC) model, it could cause SC violations that are very hard to debug. To avoid such violations, programmers need to provide explicit synchronizations or insert fence instructions. In this paper, we propose a scheme to detect and eliminate potential SC violations by combining Shasha/Snir's conflict graph and delay set theory with existing data race detection techniques. For each execution, we generate a race graph, which contains the improperly synchronized conflict accesses, called race accesses, and race cycles formed with those accesses. As a race cycle would probably lead to a non-sequential-consistent execution, we call it a potential violation of sequential consistency (PVSC) bug. We then compute the race delays of race cycles, and suggest programmers to insert fences into source code to eliminate PVSC bugs. We further convert a race graph into a PC race graph, and improves cycle detection and race delay computation to O(n2), where n is the number of race access instructions. We evaluate our approach with the SPLASH-2 benchmarks, two large real-world applications (MySQL and Apache), and several multi-threaded Cilk programs. The results show that (1) the proposed approach could effec-tively detect PVSC bugs in real-world applications with good scalability; (2) it retains most of the performance of the concurrent program after inserting required fence instructions, with less than 6.3% performance loss; and (3) the additional cost of our approach over traditional race detection techniques is quite low, with 3.3% on average.
Yuelu Duan, Xiaobing Feng 0002, Lei Wang 0004, Pen-Chung Yew
CGO1