Understanding and Improving Device Access ... - Semantic Scholar

2.2 Instances of hardware dependencies by modern Linux device drivers.(2.6.18.8 ker- ..... First, majority of the driver code is dedicated to driver ...... able over XenBus; these features must be accessed from the domain hosting the real driver.
1MB Sizes 18 Downloads 374 Views
Understanding and Improving Device Access Complexity By Asim Kadav A dissertation submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy (Computer Sciences) at the UNIVERSITY OF WISCONSIN-MADISON 2013

Date of final oral examination: 6/4/2013 The dissertation is approved by the following members of the Final Oral Committee: Prof. Michael M. Swift, Assistant Professor, Computer Sciences Prof. Remzi Arpaci-Dusseau, Professor, Computer Sciences Prof. Ben Liblit, Associate Professor, Computer Sciences Prof. Somesh Jha, Professor, Computer Sciences Prof. Parmesh Ramanathan, Professor, Electrical and Computer Engineering Prof. Thomas Ristenpart, Assistant Professor, Computer Sciences

© Copyright by Asim Kadav 2013 All Rights Reserved

i

To the systems research community, for inspiring me to create.

ii

Acknowledgments When I arrived at Wisconsin, my plan was to leave with only a Masters. However, a fun and productive summer in 2008 as a research assistant with Mike changed all that. I changed my degree goal to PhD under his supervision. However, more than the degree, I was looking forward to the educating and enjoyable collaboration with him. Over the next five years, I learnt how to estimate the importance of research problems, how to simplify the art of building complex systems and how to distill this experience in clear technical writing. I hope to continue to build upon these valuable skills in my career and would like to thank Mike for his knowledge, guidance and patience. I am also grateful to the members of my thesis committee: Remzi Arpaci-Dusseau, Somesh Jha, Ben Liblit, Parmesh Ramanathan and Tom Ristenpart. My journey in operating systems research started with Remzi’s CS 736 class, which I greatly enjoyed. I have always enjoyed the short and casual conversations on the seventh floor of the CS department with Remzi, Somesh and Tom. I started working on applying programming language techniques for improving driver reliability with Ben’s CS 706. I really enjoyed his class and recommend it to new students whenever they have asked me for advice (sometimes even when they didn’t). I am also thankful to Parmesh for agreeing to be a part of my committee at such a short notice. I would like to thank all of them for the useful feedback. During my PhD, I did three internships at Microsoft Research. My first internship was at the Silicon Valley Lab, where I had a great time with Mahesh Balakrishnan, Vijayan Prabhakaran and Dahlia Malkhi working on the Differential RAID project. During my second internship, I worked with Ed Nightingale on the ThinCloud project. I returned a third time to work with Ed and James Mickens on the same project. I enjoyed working closely with each one of them and their approach to problems has had a significant impact on my research skills. I am grateful to all of them for this opportunity to collaborate. I would also like to thank Mahesh Balakrishnan, Theo Benson, Haryadi Gunawi and Ed Nightingale for their useful advice during my job hunt. I am also thankful to my fellow students at Wisconsin. My office mates over the years, members of the SONAR system group and the ADSL lab were always available to share my joys, frustrations and the free food that graduate school offers. I am especially thankful to Matt Renzelmann for collaborating with me on several projects. His quality of thoroughness improved our projects and also allowed me to learn this valuable skill. I am also thankful to my friends at various departments at Wisconsin, my undergraduate friends (some of whom visited me during the course of my PhD) and the new ones I made during my internships. I really appreciate their friendship and affection. They gave me a much needed reality check about the outside world especially when I got too busy with my graduate studies or when I occasionally took life too seriously. Finally, I would like to thank my family, my parents, sister and brother-in-law for their love and support all these years. Without