Name: Instructions. Problem 1 : Short answer. [48 points] CMU / Storage Systems 23 Feb 2011 Spring 2012 Exam 1

Similar documents
Name: Instructions. Problem 1 : Short answer. [56 points] CMU Storage Systems 25 Feb 2009 Spring 2009 Exam 1

Name: Instructions. Problem 1 : Short answer. [48 points] CMU Storage Systems 27 Feb 2008 Spring 2008 Exam 1

Name: Instructions. Problem 1 : Short answer. [48 points] CMU / Storage Systems 25 Feb 2009 Spring 2010 Exam 1

CMU Storage Systems 20 Feb 2004 Fall 2005 Exam 1. Name: SOLUTIONS

Lecture 21: Reliable, High Performance Storage. CSC 469H1F Fall 2006 Angela Demke Brown

Name: Instructions. Problem 1 : Short answer. [63 points] CMU Storage Systems 12 Oct 2006 Fall 2006 Exam 1

Name: Instructions. Problem 1 : Short answer. [48 points] CMU / Storage Systems 20 April 2011 Spring 2011 Exam 2

Name: Instructions. Problem 1 : Short answer. [48 points] CMU / Storage Systems 20 April 2011 Spring 2011 Exam 2

CMU Storage Systems 11 Oct 2005 Fall 2005 Exam 1

CSE 153 Design of Operating Systems

EECS 482 Introduction to Operating Systems

CS5460: Operating Systems Lecture 20: File System Reliability

COSC 6374 Parallel Computation. Parallel I/O (I) I/O basics. Concept of a clusters

PERSISTENCE: FSCK, JOURNALING. Shivaram Venkataraman CS 537, Spring 2019

COSC 6385 Computer Architecture. Storage Systems

CS 111. Operating Systems Peter Reiher

File systems CS 241. May 2, University of Illinois

CS 537 Fall 2017 Review Session

Operating Systems. Lecture File system implementation. Master of Computer Science PUF - Hồ Chí Minh 2016/2017

Virtual Memory. Reading. Sections 5.4, 5.5, 5.6, 5.8, 5.10 (2) Lecture notes from MKP and S. Yalamanchili

FILE SYSTEMS. CS124 Operating Systems Winter , Lecture 23

File. File System Implementation. File Metadata. File System Implementation. Direct Memory Access Cont. Hardware background: Direct Memory Access

CS-537: Final Exam (Fall 2013) The Worst Case

Operating Systems. File Systems. Thomas Ropars.

Operating Systems. Operating Systems Professor Sina Meraji U of T

COMP 3361: Operating Systems 1 Final Exam Winter 2009

FFS: The Fast File System -and- The Magical World of SSDs

Chapter 11: File System Implementation. Objectives

Database Architecture 2 & Storage. Instructor: Matei Zaharia cs245.stanford.edu

Midterm Exam #2 Solutions April 20, 2016 CS162 Operating Systems

(c) Why does the Shortest Positioning Time First (SPTF) scheduling algorithm typically outperform

Lecture 23: Storage Systems. Topics: disk access, bus design, evaluation metrics, RAID (Sections )

Frequently asked questions from the previous class survey

Crossing the Chasm: Sneaking a parallel file system into Hadoop

Differential RAID: Rethinking RAID for SSD Reliability

I/O CANNOT BE IGNORED

File system internals Tanenbaum, Chapter 4. COMP3231 Operating Systems

Presented by: Nafiseh Mahmoudi Spring 2017

[537] RAID. Tyler Harter

CS-537: Final Exam (Spring 2011) The Black Box

CS370: System Architecture & Software [Fall 2014] Dept. Of Computer Science, Colorado State University

Midterm #2 Exam Solutions April 26, 2006 CS162 Operating Systems

CMU Storage Systems 11 Oct 2005 Fall 2005 Exam 1

Yet other uses of a level of indirection...! Log-structured & Solid State File Systems Nov 19, Garth Gibson Dave Eckhardt Greg Ganger

CS370 Operating Systems

CSE380 - Operating Systems

CSC369 Lecture 9. Larry Zhang, November 16, 2015

CS 4284 Systems Capstone

Storage. Hwansoo Han

Locality and The Fast File System. Dongkun Shin, SKKU

Mass-Storage Structure

What is a file system

Crossing the Chasm: Sneaking a parallel file system into Hadoop

File. File System Implementation. Operations. Permissions and Data Layout. Storing and Accessing File Data. Opening a File

Operating Systems Design Exam 2 Review: Spring 2011

I/O and file systems. Dealing with device heterogeneity

CS 416: Opera-ng Systems Design March 23, 2012

Mass-Storage. ICS332 - Fall 2017 Operating Systems. Henri Casanova

Secondary storage. CS 537 Lecture 11 Secondary Storage. Disk trends. Another trip down memory lane

I/O CANNOT BE IGNORED

File system internals Tanenbaum, Chapter 4. COMP3231 Operating Systems

CSE 333 Lecture 9 - storage

Definition of RAID Levels

Topics in Computer System Performance and Reliability: Storage Systems!

CS 351 Exam 3 Mon. 5/11/2015

Current Topics in OS Research. So, what s hot?

6. Results. This section describes the performance that was achieved using the RAMA file system.

I/O, Disks, and RAID Yi Shi Fall Xi an Jiaotong University

Administrivia. CMSC 411 Computer Systems Architecture Lecture 19 Storage Systems, cont. Disks (cont.) Disks - review

Fully journaled filesystems. Low-level virtualization Filesystems on RAID Filesystems on Flash (Filesystems on DVD)

Operating Systems CMPSC 473 File System Implementation April 10, Lecture 21 Instructor: Trent Jaeger

HP AutoRAID (Lecture 5, cs262a)

- SLED: single large expensive disk - RAID: redundant array of (independent, inexpensive) disks

[537] Flash. Tyler Harter

Wednesday, May 3, Several RAID "levels" have been defined. Some are more commercially viable than others.

CSE 451: Operating Systems. Section 10 Project 3 wrap-up, final exam review

ECE 7650 Scalable and Secure Internet Services and Architecture ---- A Systems Perspective

Chapter 6. Storage and Other I/O Topics

ECE 650 Systems Programming & Engineering. Spring 2018

Question Points Score Total 100

ECE 550D Fundamentals of Computer Systems and Engineering. Fall 2017

Filesystem. Disclaimer: some slides are adopted from book authors slides with permission

File System Internals. Jo, Heeseung

Today s Papers. Array Reliability. RAID Basics (Two optional papers) EECS 262a Advanced Topics in Computer Systems Lecture 3

(a) Which of these two conditions (high or low) is considered more serious? Justify your answer.

CS370 Operating Systems

Name: uteid: 1. CS439: Fall 2011 Midterm 2

Computer Organization and Structure. Bing-Yu Chen National Taiwan University

Database Systems. November 2, 2011 Lecture #7. topobo (mit)

CSE380 - Operating Systems. Communicating with Devices

Main Points. File systems. Storage hardware characteristics. File system usage patterns. Useful abstractions on top of physical devices

File Systems. ECE 650 Systems Programming & Engineering Duke University, Spring 2018

HP AutoRAID (Lecture 5, cs262a)

Lecture 18: Reliable Storage

Hyperscaler Storage. September 12, 2016

Reliable Computing I

EECS 482 Introduction to Operating Systems

Improving throughput for small disk requests with proximal I/O

File System Performance (and Abstractions) Kevin Webb Swarthmore College April 5, 2018

BTREE FILE SYSTEM (BTRFS)

Transcription:

CMU 18-746/15-746 Storage Systems 23 Feb 2011 Spring 2012 Exam 1 Instructions Name: There are three (3) questions on the exam. You may find questions that could have several answers and require an explanation or a justification. As we ve said, many answers in storage systems are It depends!. In these cases, we are more interested in your justification, so make sure you re clear. Good luck! If you have several calculations leading to a single answer, please place a box around your answer. Problem 1 : Short answer. [48 points] (a) Imagine a system in which two ext2 file systems are mounted at /home and /home2. In such a system, can a hard link from /home/foo to /home2/foo be created? Explain your answer. No. A hard link associates a name within a directory with an inode number within the same file system. (b) Fred modifies his file system software to use the TRIM command whenever a file is deleted. Explain why Fred expects to observe higher write performance when using his modified file system (instead of the pre-modification version) on a Flash-based SSD. The TRIM command tells the SSD to treat specified blocks as not yet written, such that it is unnecessary to preserve their values when cleaning regions to allow subsequent writes. Thus, the SSD has less work to do in supporting writes.

(c) A good friend who administers a small storage system tells you that he has never had a disk fail, and he explains that it is because he buys disks with MTBF values of 3 years and always replaces them after only two years. Is his explanation correct or has he simply been lucky to not (yet) have a disk failure? Explain. Just lucky. The MTBF is not an expected lifetime, but a statistical indication of failure rate for devices of the given type. (d) Imagine a file system that uses synchronous writes (for update ordering) to protect the integrity of its metadata. Explain why, after a crash occurred during a rename operation, a file that I requested be renamed from one directory to another could end up with two names: one in each of the directories. Most file systems will ensure that the new name is persistent before removing the old name in order to avoid having neither name after a crash. (e) Imagine an inode with NULL in its first 9 block pointers and a non-null value in the tenth. Using only standard system calls, how could a user have caused the file s inode to be in this state? Explain. The user could have used the seek() system call to move the current file offset to the tenth block and then the write() system call to write one or more bytes. Just as a side note: one person answered that it might be the data of a very small file being stored in the block pointer space of the inode, which is a concept known as immediate files. This was not the answer we were anticipating, but we did accept it. (f) Julio implemented a RAID-4 disk array system for use in digital video recorders (DVRs) whose primary workload is writes of 128 KB in size. If there are 9 disks in the array, what is a good configuration value for the stripe unit size? Explain. One valid answer would be 16KB, if justified by saying that every 128KB write would then update an entire stripe and thus require no reading of unmodified data in order to compute new parity data. Another valid answer would be a multiple of 128KB, if justified by saying that one should ensure that all writes go to a single one of the data disks in order to amortize the positioning time as much as possible for these small writes.

Problem 2 : More short answer. [48 points] (a) In designing a Flash-based storage system for your data center, you are told by your boss that you should go with triple level cell (TLC)-based Flash products, because they are much less expensive. Explain why that might be a bad decision. TLC-based Flash is also less reliable and less durable (fewer writes before no longer functional). As such, it may require higher levels of fault-tolerance and higher rates of replacement. (b) Your boss is excited about a new line of disk drives that support write-back caching, expecting that they will significantly enhance performance. Is he likely to be correct? Explain your reasoning (and specify any relevant assumptions). Expected answer: No, because higher levels of the system (e.g., the file system or database) will do write-back caching and thereby make writes a background activity for which the reduced latency is not important. We also accepted: Yes, because the on-disk write-back caching can lead to effectively longer queues that in-firmware disk request schedulers exploit to increase write throughput. (c) Disk drives use very powerful ECC on each sector to ensure that incorrect data will not be returned from the media. Describe what a disk tells its host system if the ECC check and correction computation fails. The disk reports that the logical block number (LBN) cannot be read. It will continue to respond to reads of that LBN with the same error until the next time that that LBN is written.

(d) Imagine a mirrored pair of disks, where each disk can service 100 I/Os per second. Given a workload that issues requests at an exponentially distributed rate w/mean 20 I/Os per second, what is the average disk response time if every request is a read? (State any assumptions.) Assuming that the read requests are divided between the two disks evenly and blindly (e.g., without regard to current queue length or disk head position), the average response time will be 11.1ms. T s servicetimeµ 1000ms 100 10ms util 20 2 100 0 1 T q queuetimeµ T s util 1 util 1 1ms T r responsetimeµ T q T s 11 1ms (e) Some modern disk-based file systems prefetch 64 KB of data when they observe sequential read behavior for an open file. Your boss argues that the prefetch size should be raised to 1 MB. Do you agree or disagree? Explain your position. Agree. The data transfer time for 1MB is still less than an average disk positioning time and would much more effectively amortize positioning overheads. Few students got this question (which means that it will mostly be handled by a grading curve), and there were some recurring issues worth highlighting. Many students seemed to focus on in-disk prefetching rather than the filesystem-level (FS-level) prefetching discussed in this question. This resulted answers relating to disk buffers being too small (the FS prefetches data into main memory) or going past the end of a track, neither of which are particularly relevant to FS-level prefetching. It also seemed responsible for answers suggesting that useless data would get prefetched in the case of small files, which does not happen for FS-level prefetching because the FS knows the exact file size and only prefetches that file s data (in most FSs). We did give partial credit for answers that talked about indirect blocks not being sequential to direct blocks. A file system will generally try hard to have lengthy sequential runs of disk locations for data within sizable files, and much more than 1MB is usually referenced by a given indirect block of pointers. When it fails to do so, most FSs will prefetch only until the next non-contiguous LBN, rather than generating multiple reads of non-contiguous disk regions. (f) You are designing a redundant disk array using Flash-based SSDs instead of traditional disk drives. If the primary workload to be supported is small random writes, will the performance impact of choosing RAID-5 instead of mirroring be greater than or less than when using traditional disks? Explain you answer. Less. Unlike with traditional disks, SSD reads are significantly faster (on average) than SSD writes. As such, it is not as much more work to do two read-modify-write sequences to update data and parity (for RAID 5) than to just do two writes (for replication). Many students incorrectly pointed at write amplification generally as an issue. But, as some students correctly noted, both mirroring and RAID-5 will involve writes to two SSDs (for a small write), with those two writes being the same size. So, the write amplification would be the same, for small writes.

A couple of students offered this acceptable specific answer related to write amplification: Greater, because the striping of RAID-5 could cause more SSDs to be involved in writing smaller (stripe unit sized) chunks of data, perhaps inducing more write amplification. Note: this question asks about mirrored-ssds vs. RAID5-SSDs, not mirrored-traditional vs. RAID5- SSDs. A few students made this mistake, leading to answers that did not relate to the question being asked.

Problem 3 : Bonus questions. [up to 2 bonus points] (a) Name one instructor who is not present in class today (3/5/2012). Prof. Garth Gibson (b) Name two 746 TAs for this semester. Kai Ren, Wittawat Tantisiriroj, Yifan Wang (c) What is Carnegie Mellon s mascot? Scotty the Scottish Terrier (d) How many projectors does Prof. Ganger use when giving 746 lectures this semester? Two