• Embed Doc
  • Readcast
  • Collections
  • CommentGo Back
Download
 
Preload — An Adaptive Prefetching Daemon
byBehdad EsfahbodA thesis submitted in conformity with the requirementsfor the degree of Master of ScienceGraduate Department of Computer ScienceUniversity of TorontoCopyrightc
2006 by Behdad Esfahbod
 
Abstract
Preload — An Adaptive Prefetching DaemonBehdad EsfahbodMaster of ScienceGraduate Department of Computer ScienceUniversity of Toronto2006In this thesis we develop
preload 
, a daemon that prefetches binaries and shared librariesfrom the hard disk to main memory on desktop computer systems, to achieve fasterapplication start-up times. Preload is adaptive: it monitors applications that the userruns, and by analyzing this data, predicts what applications she might run in the nearfuture, and fetches those binaries and their dependencies into memory.We build a Markov-based probabilistic model capturing the correlation between everytwo applications on the system. The model is then used to infer the probability that eachapplication may be started in the near future. These probabilities are used to choosefiles to prefetch into the main memory. Special care is taken to not degrade systemperformance and only prefetch when enough resources are available.Preload is implemented as a user-space application running on Linux 2.6 systems.ii
 
Acknowledgements
First, I would like to thank my supervisors, Allan Borodin and Angela Demke Brown,for helping me get past playing around the code and get to write my ideas in the formof this thesis.I wish to thank Søren Sandmann and Lorenzo Colitti for useful discussion, and sharingtheir measurements and tools with me.I also want to thank Bert Hubert for readily sharing his work with me prior topublication, and Rik van Riel for answering all my technical questions promptly.I would like to thank all my colleagues in the Systems Software Reading Group forintroducing me to recent research in the systems software area, for thought provokingdiscussions, and for providing useful feedback during the early days of my work.During the course of this project, I solicited advice from many, many colleagues hereat the University of Toronto, all of whom have helped me very generously. In particularI would like to thank Shiva Nejati, Mehrdad Sabetzadeh, Reza Azimi, and Faye Baron.Finally, I would like to thank Google and the Fedora Project, for partially supportingmy work through the Summer of Code program.iii
of 00

Leave a Comment

You must be to leave a comment.
Submit
Characters: ...
You must be to leave a comment.
Submit
Characters: ...