The Design and Implementation of Appointed File Prefetching for Distributed File Systems

Many types of distributed file systems have been in widespread use for more than a decade. One of key issues in their design is how to reduce the latency when accessing remote files, with the solutions including cache replacement and file-prefetching technologies. In this paper, we propose a novel method called appointed file prefetching, in which the main idea is to enable the user or system administrator to specify how to perform file prefetching. We define the appointed fileprefetching language (AFPL) that the user and system administrator can use to instruct the system to perform desired prefetching at appropriate times. The prefetching instructions in the AFPL can be divided into two categories: (1) selecting the required files and (2) specifying when to perform prefetching. The experimental results show that the waiting time of remote file fetching is reduced by 30% to 90% and the hit ratio is increased by 6% to 18% in most cases.

[1]  Sailesh Chutani,et al.  DEcorum File System Architectural Overview , 1990, USENIX Summer.

[2]  Abraham Silberschatz,et al.  Operating System Concepts , 1983 .

[3]  Darrell D. E. Long,et al.  Predicting Future File-System Actions From Prior Events , 1996, USENIX Annual Technical Conference.

[4]  Carl Smith,et al.  NFS Version 3: Design and Implementation , 1994, USENIX Summer.

[5]  Hui Lei,et al.  An analytical approach to file prefetching , 1997 .

[6]  Joel P. Kanter Understanding Thin Client/Server Computing , 1997 .

[7]  Darrell D. E. Long,et al.  Design and Implementation of a Predictive File Prefetching Algorithm , 2001, USENIX Annual Technical Conference, General Track.

[8]  J. Duane Northcutt,et al.  The interactive performance of SLIM: a stateless, thin-client architecture , 1999, SOSP.

[9]  Chris J. Scheiman,et al.  Extending the operating system at the user level: the Ufo global file system , 1997 .

[10]  John H. Howard,et al.  On Overview of the Andrew File System , 1988, USENIX Winter.

[11]  Adrian Nye X protocol reference manual , 1990 .

[12]  Maria Ebling,et al.  Exploiting weak connectivity for mobile file access , 1995, SOSP.

[13]  Guy L. Steele,et al.  The Java Language Specification , 1996 .

[14]  George Coulouris,et al.  Distributed systems - concepts and design , 1988 .

[15]  Christopher M. Frenz Linux terminal server project , 2001 .

[16]  Jim Griffioen,et al.  Reducing File System Latency using a Predictive Approach , 1994, USENIX Summer.

[17]  Abraham Silberschatz,et al.  Distributed file systems: concepts and examples , 1990, CSUR.

[18]  John H. Terpstra,et al.  The Official Samba 3 How-To and Reference Guide , 2003 .

[19]  Tom Chen,et al.  Design and implementation , 2006, IEEE Commun. Mag..

[20]  Guy L. Steele,et al.  Java(TM) Language Specification, The (3rd Edition) (Java (Addison-Wesley)) , 2005 .