학술논문

Toward a Practical and Timely Diagnosis of Application’s I/O Behavior
Document Type
Periodical
Source
IEEE Access Access, IEEE. 11:110184-110207 2023
Subject
Aerospace
Bioengineering
Communication, Networking and Broadcast Technologies
Components, Circuits, Devices and Systems
Computing and Processing
Engineered Materials, Dielectrics and Plasmas
Engineering Profession
Fields, Waves and Electromagnetics
General Topics for Engineers
Geoscience
Nuclear Engineering
Photonics and Electrooptics
Power, Energy and Industry Applications
Robotics and Control Systems
Signal Processing and Analysis
Transportation
Pipelines
Behavioral sciences
Data visualization
Information filters
Task analysis
Real-time systems
Storage management
Input-output programs
Storage systems
I/O diagnosis
tracing
analysis
Language
ISSN
2169-3536
Abstract
We present DIO, a generic tool for observing inefficient and erroneous I/O interactions between applications and in-kernel storage backends that lead to performance, dependability, and correctness issues. DIO eases the analysis and enables near real-time visualization of complex I/O patterns for data-intensive applications generating millions of storage requests. This is achieved by non-intrusively intercepting system calls, enriching collected data with relevant context, and providing timely analysis and visualization for traced events. We demonstrate its usefulness by analyzing four production-level applications. Results show that DIO enables diagnosing inefficient I/O patterns that lead to poor application performance, unexpected and redundant I/O calls caused by high-level libraries, resource contention in multithreaded I/O that leads to high tail latency, and erroneous file accesses that cause data loss. Moreover, through a detailed evaluation, we show that, when comparing DIO’s inline diagnosis pipeline with a similar state-of-the-art solution, our system captures up to $28{x}$ more events while keeping tracing performance overhead between 14% and 51%.