Demo Data from EDBT 2026 / reviewers in the wild / expert
Xu Zhao 0004
dblp:37/3580-4
· DBLP profile ↗
9ranked-venue papers
4as first author
3since 2021 · last 2024
0000-0003-2906-8677ORCID · conflict
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 7 · 4 first-author · 1 since 2021Systems, architecture and hardware · 3 · 3 since 2021Databases, data management, data science and information retrieval · 1 · 1 since 2021
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
6 papers |
Storage systems · 49% Memory systems · 16% Performance modeling and evaluation · 15% | |
| Software engineering, system software, and programming languages
4 papers |
Runtime systems and virtual machines · 34% Compilers and program optimization · 34% Debugging and program repair · 13% |
Topics — the 18 heaviest of 21, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Storage systems › indexing
file indexing |
1.1 | 2 | 2022 | ctFS: Replacing File Indexing with Hardware Memory Translation through Contiguous File Allocation for Persistent Memory · ACM Trans. Storage 2022 ctFS: Replacing File Indexing with Hardware Memory Translation through Contiguous File Allocation for Persistent Memory · FAST 2022 |
Storage systems › file systems › file system design
persistent memory file system |
1.1 | 2 | 2022 | ctFS: Replacing File Indexing with Hardware Memory Translation through Contiguous File Allocation for Persistent Memory · ACM Trans. Storage 2022 ctFS: Replacing File Indexing with Hardware Memory Translation through Contiguous File Allocation for Persistent Memory · FAST 2022 |
Runtime systems and virtual machines › dynamic compilation
just-in-time compilation |
0.8 | 1 | 2024 | PyTorch 2: Faster Machine Learning Through Dynamic Python Bytecode Transformation and Graph Compilation · ASPLOS (2) 2024 |
Memory systems › memory management › virtual memory
address translation |
0.6 | 1 | 2022 | ctFS: Replacing File Indexing with Hardware Memory Translation through Contiguous File Allocation for Persistent Memory · FAST 2022 |
Storage systems
file systems |
0.6 | 1 | 2022 | ctFS: Replacing File Indexing with Hardware Memory Translation through Contiguous File Allocation for Persistent Memory · ACM Trans. Storage 2022 |
Embedded and real-time systems › runtime monitoring
non-intrusive profiling |
0.4 | 2 | 2016 | Non-Intrusive Performance Profiling for Entire Software Stacks Based on the Flow Reconstruction Principle · OSDI 2016 lprof: A Non-intrusive Request Flow Profiler for Distributed Systems · OSDI 2014 |
Performance modeling and evaluation
performance diagnosis |
0.4 | 2 | 2016 | Non-Intrusive Performance Profiling for Entire Software Stacks Based on the Flow Reconstruction Principle · OSDI 2016 lprof: A Non-intrusive Request Flow Profiler for Distributed Systems · OSDI 2014 |
Performance modeling and evaluation
profiling |
0.4 | 2 | 2016 | Non-Intrusive Performance Profiling for Entire Software Stacks Based on the Flow Reconstruction Principle · OSDI 2016 lprof: A Non-intrusive Request Flow Profiler for Distributed Systems · OSDI 2014 |
Software maintenance and evolution
logging |
0.3 | 1 | 2017 | Log20: Fully Automated Optimal Placement of Log Printing Statements under Specified Overhead Threshold · SOSP 2017 |
Debugging and program repair › software debugging
post-mortem debugging |
0.3 | 1 | 2017 | Log20: Fully Automated Optimal Placement of Log Printing Statements under Specified Overhead Threshold · SOSP 2017 |
Machine learning › Deep learning architectures and training › deep learning systems
deep learning framework |
0.2 | 1 | 2024 | PyTorch 2: Faster Machine Learning Through Dynamic Python Bytecode Transformation and Graph Compilation · ASPLOS (2) 2024 |
Hardware reliability and fault tolerance
failure analysis |
0.2 | 1 | 2014 | Simple Testing Can Prevent Most Critical Failures: An Analysis of Production Failures in Distributed Data-Intensive Systems · OSDI 2014 |
Distributed systems
fault tolerance |
0.2 | 1 | 2014 | Simple Testing Can Prevent Most Critical Failures: An Analysis of Production Failures in Distributed Data-Intensive Systems · OSDI 2014 |
Memory systems
memory management |
0.2 | 1 | 2022 | ctFS: Replacing File Indexing with Hardware Memory Translation through Contiguous File Allocation for Persistent Memory · ACM Trans. Storage 2022 |
Memory systems › memory management
memory management unit |
0.2 | 1 | 2022 | ctFS: Replacing File Indexing with Hardware Memory Translation through Contiguous File Allocation for Persistent Memory · ACM Trans. Storage 2022 |
Software testing
software reliability |
0.1 | 1 | 2014 | Simple Testing Can Prevent Most Critical Failures: An Analysis of Production Failures in Distributed Data-Intensive Systems · OSDI 2014 |
Program analysis
static analysis |
0.1 | 1 | 2014 | Cybertron: pushing the limit on I/O reduction in data-parallel programs · OOPSLA 2014 |
Distributed systems › observability
distributed monitoring |
0.1 | 1 | 2014 | lprof: A Non-intrusive Request Flow Profiler for Distributed Systems · OSDI 2014 |
Methods — techniques the papers use, named apart from their topics
just-in-time compilation · 1.5graph compilation · 1.5runtime profiling · 0.4constraint-based encoding · 0.4tracing · 0.3information theory · 0.3flow reconstruction · 0.2
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2024 | PyTorch 2: Faster Machine Learning Through Dynamic Python Bytecode Transformation and Graph CompilationabstractThis paper introduces two extensions to the popular PyTorch machine learning framework, TorchDynamo and TorchInductor, which implement the torch.compile feature released in PyTorch 2. TorchDynamo is a Python-level just-in-time (JIT) compiler that enables graph compilation in PyTorch programs without sacrificing the flexibility of Python. It achieves this by dynamically modifying Python bytecode before execution and extracting sequences of PyTorch operations into an FX graph, which is then JIT compiled using one of many extensible backends. TorchInductor is the default compiler backend for TorchDynamo, which translates PyTorch programs into OpenAI's Triton for GPUs and C++ for CPUs. Results show that TorchDynamo is able to capture graphs more robustly than prior approaches while adding minimal overhead, and TorchInductor is able to provide a 2.27× inference and 1.41× training geometric mean speedup on an NVIDIA A100 GPU across 180+ real-world models, which outperforms six other compilers. These extensions provide a new way to apply optimizations through compilers in eager mode frameworks like PyTorch. Jason Ansel, Edward Z. Yang, Horace He, Natalia Gimelshein, Animesh Jain, Michael Voznesensky, Bin Bao, Peter Bell 0008, David Berard, Evgeni Burovski, Geeta Chauhan, Anjali Chourdia, Will Constable, Alban Desmaison, Zach DeVito, Elias Ellison, Will Feng, Jiong Gong, Michael Gschwind, Brian Hirsh, Sherlock Huang, Kshiteej Kalambarkar, Laurent Kirsch, Michael Lazos, Mario Lezcano Casado, Yanbo Liang, Jason Liang, Yinghai Lu, C. K. Luk, Bert Maher, Yunjie Pan, Christian Puhrsch, Matthias Reso, Mark Saroufim, Marcos Yukio Siraichi, Helen Suk, Shunting Zhang, Michael Suo, Phil Tillet, Xu Zhao 0004, Eikan Wang, Keren Zhou 0001, Richard Zou, Ajit Mathews, Xiaoquan Wen, Gregory Chanan, Peng Wu 0001, Soumith Chintala |
ASPLOS (2) | 40 |
| 2022 | ctFS: Replacing File Indexing with Hardware Memory Translation through Contiguous File Allocation for Persistent Memory
Ruibin Li, Xiang Ren 0003, Xu Zhao 0004, Siwei He, Michael Stumm, Ding Yuan 0004 |
FAST | 3 |
| 2022 | ctFS: Replacing File Indexing with Hardware Memory Translation through Contiguous File Allocation for Persistent MemoryabstractPersistent byte-addressable memory (PM) is poised to become prevalent in future computer systems. PMs are significantly faster than disk storage, and accesses to PMs are governed by the Memory Management Unit (MMU) just as accesses with volatile RAM. These unique characteristics shift the bottleneck from I/O to operations such as block address lookup—for example, in write workloads, up to 45% of the overhead in ext4-DAX is due to building and searching extent trees to translate file offsets to addresses on persistent memory. We propose a novel contiguous file system, ctFS, that eliminates most of the overhead associated with indexing structures such as extent trees in the file system. ctFS represents each file as a contiguous region of virtual memory, hence a lookup from the file offset to the address is simply an offset operation, which can be efficiently performed by the hardware MMU at a fraction of the cost of software-maintained indexes. Evaluating ctFS on real-world workloads such as LevelDB shows it outperforms ext4-DAX and SplitFS by 3.6× and 1.8×, respectively. Ruibin Li, Xiang Ren 0003, Xu Zhao 0004, Siwei He, Michael Stumm, Ding Yuan 0004 |
ACM Trans. Storage | 3 |
| 2017 | The Game of Twenty Questions: Do You Know Where to Log?abstractA production system's printed logs are often the only source of runtime information available for postmortem debugging, performance analysis and profiling, security auditing, and user behavior analytics. Therefore, the quality of this data is critically important. Recent work has attempted to enhance log quality by recording additional variable values, but logging statement placement, i.e., where to place a logging statement, which is the most challenging and fundamental problem for improving log quality, has not been adequately addressed so far. This position paper proposes we automate the placement of logging statements by measuring how much uncertainty, i.e., the expected number of possible execution code paths taken by the software, can be removed by adding a logging statement to a basic block. Guided by ideas from information theory, we describe a simple approach that automates logging statement placement. Preliminary results suggest that our algorithm can effectively cover, and further improve, the existing logging statement placements selected by developers. It can compute an optimal logging statement placement that disambiguates the entire function call path with only 0.218% of slowdown. Xu Zhao 0004, Kirk Rodrigues, Yu Luo 0006, Michael Stumm, Ding Yuan 0004, Yuanyuan Zhou 0001 |
HotOS | 1 |
| 2017 | Log20: Fully Automated Optimal Placement of Log Printing Statements under Specified Overhead ThresholdabstractWhen systems fail in production environments, log data is often the only information available to programmers for postmortem debugging. Consequently, programmers' decision on where to place a log printing statement is of crucial importance, as it directly affects how effective and efficient postmortem debugging can be. This paper presents Log20, a tool that determines a near optimal placement of log printing statements under the constraint of adding less than a specified amount of performance overhead. Log20 does this in an automated way without any human involvement. Guided by information theory, the core of our algorithm measures how effective each log printing statement is in disambiguating code paths. To do so, it uses the frequencies of different execution paths that are collected from a production environment by a low-overhead tracing library. We evaluated Log20 on HDFS, HBase, Cassandra, and ZooKeeper, and observed that Log20 is substantially more efficient in code path disambiguation compared to the developers' manually placed log printing statements. Log20 can also output a curve showing the trade-off between the informativeness of the logs and the performance slowdown, so that a developer can choose the right balance. Xu Zhao 0004, Kirk Rodrigues, Yu Luo 0006, Michael Stumm, Ding Yuan 0004, Yuanyuan Zhou 0001 |
SOSP | 1 |
| 2016 | Non-Intrusive Performance Profiling for Entire Software Stacks Based on the Flow Reconstruction Principle
Xu Zhao 0004, Kirk Rodrigues, Yu Luo 0006, Ding Yuan 0004, Michael Stumm |
OSDI | 1 |
| 2014 | Cybertron: pushing the limit on I/O reduction in data-parallel programsabstractI/O reduction has been a major focus in optimizing data-parallel programs for big-data processing. While the current state-of-the-art techniques use static program analysis to reduce I/O, Cybertron proposes a new direction that incorporates runtime mechanisms to push the limit further on I/O reduction. In particular, Cybertron tracks how data is used in the computation accurately at runtime to filter unused data at finer granularity dynamically, beyond what current static-analysis based mechanisms are capable of, and to facilitate a new mechanism called constraint based encoding for more efficient encoding. Cybertron has been implemented and applied to production data-parallel programs; our extensive evaluations on real programs and real data have shown its effectiveness on I/O reduction over the existing mechanisms at reasonable CPU cost, and its improvement on end-to-end performance in various network environments. Tian Xiao, Hucheng Zhou, Xu Zhao 0004, Chencheng Ye 0001, Xi Wang 0005, Wei Lin 0016, Lidong Zhou |
OOPSLA | 5 |
| 2014 | Simple Testing Can Prevent Most Critical Failures: An Analysis of Production Failures in Distributed Data-Intensive Systems
Ding Yuan 0004, Yu Luo 0006, Xin Zhuang, Guilherme Renna Rodrigues, Xu Zhao 0004, Yongle Zhang 0007, Pranay Jain, Michael Stumm |
OSDI | 5 |
| 2014 | lprof: A Non-intrusive Request Flow Profiler for Distributed Systems
Xu Zhao 0004, Yongle Zhang 0007, David Lion, Muhammad Faizan Ullah, Yu Luo 0006, Ding Yuan 0004, Michael Stumm |
OSDI | 1 |