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

Stéphane Eranian

dblp:18/3450 · DBLP profile ↗
← Back
5ranked-venue papers
0as first author
1since 2021 · last 2022
—ORCID · none

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

Systems, architecture and hardware · 4 · 1 since 2021Software engineering, systems software and programming languages · 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
3 papers
Performance modeling and evaluation · 66% Electronic design automation · 27% Processor architecture and microarchitecture · 7%
Software engineering, system software, and programming languages
3 papers
Concurrent programming · 41% Compilers and program optimization · 27% Debugging and program repair · 20%

Topics — the 7 heaviest of 9, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Performance modeling and evaluation › performance monitoring
hardware performance counters
0.212016
Reliable and efficient performance monitoring in linux · SC 2016
Electronic design automation › power analysis
power profiling
0.212014
HaPPy: Hyperthread-aware Power Profiling Dynamically · USENIX ATC 2014
Compilers and program optimization › dynamic optimization
profile-guided optimization
0.212013
Taming Hardware Event Samples for Precise and Versatile Feedback Directed Optimizations · IEEE Trans. Computers 2013
Concurrent programming
concurrency bugs
0.112011
RACEZ: a lightweight and non-invasive race detection tool for production applications · ICSE 2011
Concurrent programming › concurrency bug detection
data race detection
0.112011
RACEZ: a lightweight and non-invasive race detection tool for production applications · ICSE 2011
Debugging and program repair › runtime debugging
production debugging
0.112011
RACEZ: a lightweight and non-invasive race detection tool for production applications · ICSE 2011
Processor architecture and microarchitecture
performance monitoring unit
0.012013
Taming Hardware Event Samples for Precise and Versatile Feedback Directed Optimizations · IEEE Trans. Computers 2013

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

dynamic event scheduling · 0.5cache-coherence style protocol · 0.5interprocedural optimization · 0.3heuristics · 0.3hardware event sampling · 0.3program instrumentation · 0.1
YearPublicationVenuePosition
2022 MemGaze: Rapid and Effective Load-Level Memory Trace Analysis
abstract
A challenge of memory trace analysis is combining detailed analysis and low overhead measurement. Currently, hardware/software-based analysis of load-level sequences easily incurs time slowdowns of 100x. We present MemGaze, a tool for low-overhead, high-resolution memory trace analysis. MemGaze uses Intel's Processor Tracing (PT) instruction ptwrite to collect sampled and compressed memory address traces for load-level, sequence-aware analysis of data reuse. We describe multi-resolution analysis for locations vs. operations, accesses vs. spatio-temporal reuse, and reuse (distance, rate, volume) vs. access patterns. Both trace size and resolution are controllable. We use MemGaze to elucidate the memory effects of different data structures and algorithms. For sampled traces that are ≈ 1 % of a full one, analysis metrics have 1-25% MAPE for histograms of varying dynamic sequence lengths. With current suboptimal kernel support (PT runs continuously), MemGaze's time overhead is typically 10-95%; 7x at worst. However, when PT runs only during samples, overhead is 10–35 % on memory intensive regions and correlates with executed ptwrites.
Ozgur O. Kilic, Nathan R. Tallent, Yasodha Suriyakumar, Chenhao Xie 0001, Andrés Márquez 0001, Stéphane Eranian
CLUSTER6
2016 Reliable and efficient performance monitoring in linux
abstract
Processor hardware performance counters have recently improved in quality and features, while performance monitoring support in Linux has been significantly revamped with the development of the perf_events subsystem, which contributed in making performance analysis an increasingly common practice among developers. However, no performance analysis is possible without an efficient monitoring interface and reliable hardware counter data. In this paper, we first address a reliability issue in the Performance Monitoring Unit of recent Intel processors with Hyper-Threading enabled. A published erratum causes cross hyper-thread hardware counter corruption and may produce unreliable results. We propose a cache-coherence style protocol which we implement in the Linux kernel to address the issue by introducing cross hyper-thread dynamic event scheduling. Second, we improve event scheduling efficiency by introducing an algorithm which optimally schedules events onto hardware counters consistently. The proposed optimizations do not require any user level changes. They leverage the internal design of the perf_events subsystem and have broader applicability in processors. The improvements have been contributed to the upstream Linux kernel 4.1.
Maria Dimakopoulou, Stéphane Eranian, Nectarios Koziris, Nicholas Bambos
SC2
2014 HaPPy: Hyperthread-aware Power Profiling Dynamically
Yan Zhai, Stéphane Eranian, Lingjia Tang, Jason Mars
USENIX ATC3
2013 Taming Hardware Event Samples for Precise and Versatile Feedback Directed Optimizations
abstract
Feedback-directed optimization (FDO) is effective in improving application runtime performance, but has not been widely adopted due to the tedious dual-compilation model, the difficulties in generating representative training data sets, and the high runtime overhead of profile collection. The use of hardware-event sampling overcomes these drawbacks by providing a lightweight approach to collect execution profiles in the production environment, which naturally consumes representative input. Yet, hardware event samples are typically not precise at the instruction or basic-block granularity. These inaccuracies lead to missed performance when compared to instrumentation-based FDO. In this paper, we use Performance Monitoring Unit (PMU)-based sampling to collect the instruction frequency profiles. By collecting profiles using multiple events, and applying heuristics to predict the accuracy, we improve the accuracy of the profile. We also show how emerging techniques can be used to further improve the accuracy of the sample-based profile. Additionally, these emerging techniques are used to collect value profiles, as well as to assist a lightweight interprocedural optimizer. All these profiles are represented in a portable form, thus they can be used across different platforms. We demonstrate that sampling-based FDO can achieve an average of 92 percent of the performance gains obtained using instrumentation-based exact profiles for both SPEC CINT2000 and CINT2006 benchmarks. The overhead of collection is only 0.93 percent on average, while compiler-based instrumentation incurs 2.0-351.5 percent overhead (and 10x overhead on an industrial web search application).
Dehao Chen, Neil Vachharajani, Robert Hundt, Xinliang D. Li, Stéphane Eranian
IEEE Trans. Computers5
2011 RACEZ: a lightweight and non-invasive race detection tool for production applications
abstract
Concurrency bugs, particularly data races, are notoriously difficult to debug and are a significant source of unreliability in multithreaded applications. Many tools to catch data races rely on program instrumentation to obtain memory instruction traces. Unfortunately, this instrumentation introduces significant runtime overhead, is extremely invasive, or has a limited domain of applicability making these tools unsuitable for many production systems. Consequently, these tools are typically used during application testing where many data races go undetected.
Tianwei Sheng, Neil Vachharajani, Stéphane Eranian, Robert Hundt
ICSE3