Software Systems Spring 2005 For next time you should: 1) work on your project -- refinement due on Friday You should be editing an existing document to bring it up to date, so this should not take a lot of time. 2) Read Rosenblum and Ousterhout and answer the questions below Reading questions ----------------- Again, practice reading technical papers in several passes: 1) First pass, read the abstract, introduction and conclusions. 2) Second pass, read the section headings and understand the outline of the paper. Decide which sections are most important. In this case, I suggest that we are most interested in the mechanism described in Section 4, and less interested in the performance evaluation in Section 5. 3) Read the questions below so you know what information to look for. 4) Give yourself a fixed amount of time (try 20 minutes) to read through the paper without getting bogged down, then see if you can answer the questions. 5) If there are questions you can't answer and you think it is worth spending more time on them, make a targeted search for the answers, or at least identify the relevant sections. Rosenblum and Ousterhout, "The LFS Storage Manager" 1) What were the technical circumstances, in 1990, that motivated LFS? Are these observations still applicable, or has the technology changed? 2) In conventional file systems, which factor dominates file system performance, latency or bandwidth? Why? 3) What is asynchronous I/O and how does it help? 4) What is sequential I/O and how does it help? 5) What workloads is LFS designed to support? What are the relevant characteristics of these workloads? 6) What information is stored in the inode map, and why is it necessary? 7) What information is stored in the segment summary blocks, and why is is necessary? 8) During segment cleaning, how does LFS identify live blocks? Where does it put live blocks? 9) When does data in the file cache get written to disk? How much data might be lost in a crash? Skim Section 5 to see what kind of evaluation they did 10) What kind of workload did Rosenblum and Ousterhout use to evaluate the performance of their implementation?