| Title | Prefetching Algorithms in Linux Kernel |
| Abstract | The ever-increasing gap between CPU and I/O speed has created the most outstanding imbalance in computer systems.The improvement of disk throughput has been unable to keep up with the rapidly speeding-up CPU,and the I/O delay has been lagging behind seriously.Prefetching is a vital technique for improving disk I/O performance.It can transform small synchronous I/O requests from applications into large asynchronous readahead I/Os,so that I/O delays could be hid from applications,and I/O could be parallelized.Sequential prefetching has been a standard function in modern operating systems. The Linux kernel implemented a generic file readahead algorithm in its virtual file system layer.As Linux is widely deployed and runs an increasing variety of workloads, its in-kernel readahead algorithm has been challenged by many unexpected and subtle problems.To name a few:readahead thrashings arise when readahead pages are evicted prematurely under memory pressure;readahead attempts on already cached pages are undesirable;interrupted-then-retried reads can easily fool the sequential detection logic. In this thesis,we present a demand prefetching framework.By introducing a pair of readahead triggers,it can handle most abnormal cases in a natural and uniform way.The modular design simplifies the pattern detection and readahead logics,and makes them independently improvable.With the trend towards multi-core and multi-thread processors,software developers multi-thread their applications and bring forward more parallel I/Os.It is a big challenge for the prefetching algorithm to efficiently recognize and handle the interleaved sequential read streams in parallel I/O workloads.On the basis of the demand prefetching framework, we designed and implemented a reactive sequential detection algorithm and a proactive one,which feature the use of page status as a complement to the less reliable readahead states,as well as relaxed sequentiatity criterion.They can support various semi-sequential access patterns:sequential streams mixed in random accesses;interleaved read pattern created by concurrent sequential accesses to one file descriptor;sparse sequential reads; locally reordered sequential NFS reads;high density random read areas;row iterations on huge arrays,etc.The reactive algorithm brings no overhead to the classical single thread case;for parallel I/Os the space and time complexities are trivial and irrelevant to the number of concurrent streams.The proactive algorithm is equipped with an efficient sequential detection logic,which guarantees the detection of sequential streams and hot random read areas.Its adaptive readahead size can prevent readahead thrashing and hence achieve better performance.Experiments show that the proposed algorithms perform much better than legacy Linux readahead:Network throughput is 3~4 times better in the case of thrashing; Sequential reads intermixed with random ones are faster by 29%;I/O throughput of interleaved streams could be 4~27 times better,while the application visible I/O latencies are improved by up to 35 times;On serving large files via NFS,throughput could be 1.8 times better;On serving large files with lighttpd,the disk utilization is decreased by 26%while providing 17%more network throughput;On randomly populating a file,the proactive algorithm performs 3 time better than the legacy one.Our prefetching algorithms have real-world relevance,among them the demand prefetching framework and reactive sequential prefetching algorithm has been adopted by Linux kernel 2.6.23 and 2.6.24. |
| Category | Internet |
| Keywords | access pattern, file prefetching, I/O Performance, Linux, operating system, page cache, parallel I/O, readahead thrashing, sequential detection, |
| FileType | |
| Pages | 172 |
| Price | US$48.00 |
| Buy Now | |
| Download | |
| Contact |
E-Mail:itpaper@hotmail.com TEL:1-888-786-998A |
| FAQ |
How to get this paper's electronic documents? 1, Click the "Buy Now" button to complete the online payment 2, Download the paper's electronic document from the successful payment return page/Or the system will send this paper's electronic document to your E-Mail within 24 hours |
| Favorite | ADD TO FAVORITE |
| Version | zh-cn |
Prefetching Algorithms in Linux Kernel

Billy HU, Ph.D
E-Mail:itpaper@hotmail.com
TEL:1-888-786-998A
Categories
Recent Posts
- Research on the Spectrum Sharing for Cognitive Radios Based on Game Theory
- Study and Analysis of Spectrum Sensing in Cognitive Radio
- Analysis of Microorganism Metabolic System Based on Multi-biosource
- Research on Target Motion Detection and Tracking Technology
- On the Role of Mass Media in Political Socialization
Archives
Tags
ARM
BP neural network
clustering
data acquisition
Database
Data mining
data warehouse
DSP
embedded system
fault diagnosis
feature extraction
FPGA
Fuzzy Control
Genetic Algorithm
GIS
GPRS
Image processing
image segmentation
intrusion detection
J2EE
LabVIEW
Linux
Network Security
neural network
OFDM
Ontology
optimization
P2P
PLC
QoS
RFID
Simulation
SOA
Support Vector Machine
SVM
UML
Virtual Reality
wavelet transform
Web Service
Web Services
Wireless sensor network
Wireless Sensor Networks
Workflow
XML
ZigBee



