FSprof: An In-Kernel File System Operations Profiler
نویسندگان
چکیده
Developing efficient file systems is difficult. Often, profiling tools are useful for analyzing system bottlenecks and correcting them. Whereas there are several techniques to profile system call activity or disk-block activity, there are no good tools to profile file systems—which logically reside below system calls and above disk drivers. We developed a tool called FSprof that instruments existing file systems’ source code to profile their activity. This instrumentation incurs negligible runtime overhead. For file systems that do not have source code available, we also developed a thin file-system wrapper. When a profiled file system runs, it records operation frequencies and precise latencies and sorts them into configurable exponential buckets. We wrote additional tools to help verify, analyze, and display the profiling data. We ran FSprof on several popular Linux file systems: Ext2, Ext3, Reiserfs, and a stackable (layered) file system called Wrapfs. Our analysis revealed interesting discoveries about file systems and benchmarks. We analyzed bi-modal and even tri-modal distributions we found in certain operation latencies, which result from complex interactions between file system caches and disks. We illustrate how simple file system designs can lead to serious lock contention and slow down the entire operating system. We show how seemingly similar file system benchmarks can unexpectedly behave rather differently. We also observed that a tiny percentage of certain calls can have a disproportionate overall effect. FSprof is the first tool specifically designed for analyzing file system behavior, using high precision and a fine level of detail. FSprof helps developers collect and organize information, then diagnose and optimize file system performance.
منابع مشابه
File System Extensibility and Reliability Using an in-Kernel Database
of the Thesis File System Extensibility and Reliability Using an in-Kernel Database by Aditya Kashyap Master of Science in Computer Science Stony Brook University 2004 File systems are responsible for storing data efficiently and reliably. Databases also have similar tasks, but generally have more concern for reliability than file systems. We have developed a file system, KBDBFS, on top of an i...
متن کاملA Stackable File System Interface For Linux
Linux is a popular operating system that is rapidly evolving due to being Open Source and having many developers. The Linux kernel comes with more than two dozen file systems, all of which are native: they access device drivers directly. Native file systems are harder to develop. Stackable file systems, however, are easier to develop because they use existing file systems and interfaces. This p...
متن کاملA Source-level Kernel Profiler based on Dynamic Aspect-Orientation
We present a source-level kernel profiler named KLAS. Since this profiler is based on dynamic aspect-orientation, it allows the users to describe any code fragment in the C language. That code fragment is automatically executed for collecting detailed performance data at execution points specified by the users. Enabling dynamic aspect-orientation is crucial since otherwise the users would have ...
متن کاملA Low-Complexity Versatile Transactional File Interface
A transactional file system has long been desired, and already some systems have been proposed. Each time, however, the proposal focuses on augmenting a traditional file system or creating an entirely new one, usually based upon a larger and more complicated database. Both approaches lead to kernel bloat: the operating system becomes increasingly large and complicated, incorporating a more powe...
متن کاملDerived Virtual Devices: A Secure Distributed File System Mechanism
This paper presents the design of derived virtual devices (DVDs). DVDs are the mechanism used by the Netstation Project to provide secure shared access to networkattached peripherals distributed in an untrusted network environment. DVDs improve Input/Output efficiency by allowing user processes to perform I/O operations directly from devices without intermediate transfer through the controlling...
متن کامل