Disk-based Storage Oct. 20, 2009 Topics How disk storage fits in systems Performance effects of paging How disks work lecture-15.ppt 15-213 “The course.

Slides:



Advertisements
Similar presentations
Fabián E. Bustamante, Spring 2007 The Memory Hierarchy Today Storage technologies and trends Locality of reference Caching in the memory hierarchy Next.
Advertisements

Carnegie Mellon 1 The Memory Hierarchy : Introduction to Computer Systems 9 th Lecture, Sep. 21, 2010 Instructors: Randy Bryant and Dave O’Hallaron.
Memory Hierarchy and Caching
Instructor: Prof. Jason Fritts
Carnegie Mellon 1 The Memory Hierarchy : Introduction to Computer Systems 9th Lecture, Sep. 21, 2010 Instructors: Randy Bryant and Dave O’Hallaron.
Memory Hierarchy and Caching Summer 2014 COMP 2130 Intro Computer Systems Computing Science Thompson Rivers University.
The Memory Hierarchy September 15th, 2008 Topics Storage technologies and trends Locality of reference Caching in the memory hierarchy class09.ppt
The Memory Hierarchy Apr 26, 2006 Topics Storage technologies and trends Locality of reference Caching in the memory hierarchy CS213.
The Memory Hierarchy Topics Storage technologies and trends Locality of reference Caching in the memory hierarchy CS213.
1 CS222: Principles of Database Management Fall 2010 Professor Chen Li Department of Computer Science University of California, Irvine Notes 01.
The Memory Hierarchy.
Introduction to Database Systems 1 The Storage Hierarchy and Magnetic Disks Storage Technology: Topic 1.
Systems I Locality and Caching
The Memory Hierarchy Topics Storage technologies Capacity and latency trends The hierarchy Systems I.
Disk-based Storage Oct. 23, 2008 Topics Storage technologies and trends Locality of reference Caching in the memory hierarchy lecture-17.ppt “The.
Disk Memory Topics Disk Memory Structure Disk Capacity class10.ppt.
1 Seoul National University The Memory Hierarchy.
Chapter 6: The Memory Hierarchy Topics  Storage technologies and trends  Locality of reference  Caching in the memory hierarchy  Cache design principles.
1 Secondary Storage Management Submitted by: Sathya Anandan(ID:123)
Lecture 12: The Memory Hierarchy EEN 312: Processors: Hardware, Software, and Interfacing Department of Electrical and Computer Engineering Spring 2014,
Lecture 17: The Memory Hierarchy CS 2011 Fall 2014, Dr. Rozier.
Carnegie Mellon 1 Bryant and O’Hallaron, Computer Systems: A Programmer’s Perspective, Third Edition The Memory Hierarchy : Introduction to Computer.
The Memory Hierarchy Topics Storage technologies and trends Locality of reference Caching in the memory hierarchy.
CS 105 Tour of the Black Holes of Computing
The Memory Hierarchy Topics Storage technologies and trends Locality of reference Caching in the memory hierarchy.
Carnegie Mellon 1 The Memory Hierarchy /18-243: Introduction to Computer Systems 11 th Lecture, 09 June, 2011 Instructors: Gregory Kesden.
The Memory Hierarchy Topics Storage technologies and trends Locality of reference Caching in the memory hierarchy.
Carnegie Mellon 1 The Memory Hierarchy / : Introduction to Computer Systems 10 th Lecture, Sep. 29, 2011 Instructors: Dave O’Hallaron, Greg.
Introduction: Memory Management 2 Ideally programmers want memory that is large fast non volatile Memory hierarchy small amount of fast, expensive memory.
1 Memory Hierarchy ( Ⅱ ). 2 Outline Storage technologies and trends Locality The memory hierarchy Cache memories Suggested Reading: 6.1, 6.2, 6.3, 6.4.
The Memory Hierarchy Topics Storage technologies and trends Locality of reference Caching in the memory hierarchy.
Carnegie Mellon 1 Bryant and O’Hallaron, Computer Systems: A Programmer’s Perspective, Third Edition The Memory Hierarchy CENG331 - Computer Organization.
The Memory Hierarchy Feb. 20, 2003 Topics Storage technologies and trends Locality of reference Caching in the memory hierarchy class12.ppt “The.
The Memory Hierarchy October 5, 2004 Topics Storage technologies and trends Locality of reference Caching in the memory hierarchy class11.ppt “The.
Carnegie Mellon 1 Bryant and O’Hallaron, Computer Systems: A Programmer’s Perspective, Third Edition The Memory Hierarchy : Introduction to Computer.
Carnegie Mellon 1 Bryant and O’Hallaron, Computer Systems: A Programmer’s Perspective, Third Edition The Memory Hierarchy MCS284: Computer Organization.
The Memory Hierarchy Topics Storage technologies and trends Locality of reference Caching in the memory hierarchy mem1.ppt CS 105 Tour of the Black Holes.
1 Input/Output: Organization, Disk Performance, and RAID.
Lecture 15: The Memory Hierarchy CS 2011 Spring 2016, Dr. Rozier.
The Memory Hierarchy January 21, 2002 Topics Storage technologies and trends Locality of reference Caching in the memory hierarchy Reading: 6.1 – 6.4 Problems:
Vassar College 1 Jason Waterman, CMPU 224: Computer Organization, Fall 2015 The Memory Hierarchy CMPU 224: Computer Organization Nov 17 th Fall 2015.
Advanced Computer Architecture CS 704 Advanced Computer Architecture Lecture 25 Memory Hierarchy Design (Storage Technologies Trends and Caching) Prof.
The Memory Hierarchy Topics Storage technologies and trends Locality of reference Caching in the memory hierarchy mem1.ppt CS 105 Tour of the Black Holes.
Carnegie Mellon 1 The Memory Hierarchy / : Introduction to Computer Systems 10 th Lecture, Sep. 25, 2014 Instructors: Greg Ganger, Greg Kesden,
The Memory Hierarchy Topics Storage technologies and trends Locality of reference Caching in the memory hierarchy mem1.ppt CS 105 Tour of the Black Holes.
The Memory Hierarchy Oct 4, 2001 Topics Storage technologies and trends Locality of reference Caching in the memory hierarchy class12.ppt “The course.
The Memory Hierarchy Sept 26, 2007 Topics Storage technologies and trends class09.ppt “The course that gives CMU its Zip!”
Carnegie Mellon 1 Bryant and O’Hallaron, Computer Systems: A Programmer’s Perspective, Third Edition The Memory Hierarchy : Introduction to Computer.
1 Binghamton University The Memory Hierarchy CS220: Computer Systems II.
Chapter 6: The Memory Hierarchy
CS 105 Tour of the Black Holes of Computing
The Memory Hierarchy CSCE 312
The Memory Hierarchy.
The Memory Hierarchy Instructor: Dr. Hyunyoung Lee
The Memory Hierarchy CSE 238/2038/2138: Systems Programming
The Memory Hierarchy.
The Memory Hierarchy Topics Storage technologies and trends
Local secondary storage (local disks)
CS 201 The Memory Heirarchy
Memory Hierarchy (I).
Slides Courtesy of: Randy Bryant and Dave O’Hallaron
CSE 153 Design of Operating Systems Winter 2018
The Memory Hierarchy /18-213/15-513: Introduction to Computer Systems 11th Lecture, October 2, 2018.
The Memory Hierarchy CSCE312: Computer Organization
Memory Hierarchy (I).
Memory Hierarchy.
Persistence: I/O devices
The Memory Hierarchy Professor Hugh C. Lauer CS-2011, Machine Organization and Assembly Language (Slides include copyright materials from Computer Systems:
Instructors: Majd Sakr and Khaled Harras
Memory Hierarchy.
Presentation transcript:

Disk-based Storage Oct. 20, 2009 Topics How disk storage fits in systems Performance effects of paging How disks work lecture-15.ppt “The course that gives CMU its Zip!”

, F’09 Announcements Yet another cheating note taking ANY code from the web is cheating shouldn’t even be looking for code to solve your problems only exceptions: code from the book, website, or the csapp website associated with the book

, F’09 Disk-based storage in computers Memory/storage hierarchy Memory/storage hierarchy Combining many technologies to balance costs/benefits Recall the virtual memory lecture

, F’09 Memory/storage hierarchies Balancing performance with cost Balancing performance with cost Small memories are fast but expensive Large memories are slow but cheap Exploit locality to get the best of both worlds Exploit locality to get the best of both worlds locality = re-use/nearness of accesses allows most accesses to use small, fast memory Capacity Performance

, F’09 An Example Memory Hierarchy registers on-chip L1 cache (SRAM) main memory (DRAM) local secondary storage (local disks) Larger, slower, and cheaper (per byte) storage devices remote secondary storage (tapes, distributed file systems, Web servers) Local disks hold files retrieved from disks on remote network servers. Main memory holds disk blocks retrieved from local disks. off-chip L2 cache (SRAM) L1 cache holds cache lines retrieved from the L2 cache memory. CPU registers hold words retrieved from L1 cache. L2 cache holds cache lines retrieved from main memory. L0: L1: L2: L3: L4: L5: Smaller, faster, and costlier (per byte) storage devices From lecture-9.ppt

, F’09 Reminder: Page Faults A page fault is caused by a reference to a VM word that is not in physical (main) memory Example: An instruction references a word contained in VP 3, a miss that triggers a page fault exception null Memory resident page table (DRAM) Physical memory (DRAM) VP 7 VP 4 Virtual memory (disk) Valid Physical page number or disk address PTE 0 PTE 7 PP 0 VP 2 VP 1 PP 3 VP 1 VP 2 VP 4 VP 6 VP 7 Virtual address VP 3 From lecture-14.ppt

, F’09 Performance and page faults First: how often do they happen? First: how often do they happen? depends! (on workloads and memory sizes) in most systems, very rare scenario: random access to 4GB of VM with 2GB real memory 50% of memory access will generate page faults

, F’09 Disk-based storage in computers Memory/storage hierarchy Memory/storage hierarchy Combining many technologies to balance costs/benefits Recall the virtual memory lecture Persistence Persistence Storing data for lengthy periods of time DRAM/SRAM is “volatile”: contents lost if power lost Disks are “non-volatile”: contents survive power outages To be useful, it must also be possible to find it again later this brings in many interesting data organization, consistency, and management issues take / Storage Systems

, F’09 What’s Inside A Disk Drive? Spindle Arm Actuator Platters Electronics SCSI connector Image courtesy of Seagate Technology

, F’09 Disk Electronics Connect to disk Control processor Cache memory Control ASIC Connect to motor Just like a small computer – processor, memory, network iface

, F’09 Disk “Geometry” Disks contain platters, each with two surfaces Each surface organized in concentric rings called tracks Each track consists of sectors separated by gaps spindle surface tracks track k sectors gaps

, F’09 Disk Geometry (Muliple-Platter View) Aligned tracks form a cylinder Aligned tracks form a cylinder surface 0 surface 1 surface 2 surface 3 surface 4 surface 5 cylinder k spindle platter 0 platter 1 platter 2

, F’09 Disk Structure Read/Write Head Upper Surface Platter Lower Surface Cylinder Track Sector Arm Actuator

, F’09 Disk Operation (Multi-Platter View) arm read/write heads move in unison from cylinder to cylinder spindle

, F’09 Tracks divided into sectors Disk Structure - top view of single platter Surface organized into tracks

, F’09 Disk Access Head in position above a track

, F’09 Disk Access Rotation is counter-clockwise

, F’09 Disk Access – Read About to read blue sector

, F’09 Disk Access – Read After BLUE read After reading blue sector

, F’09 Disk Access – Read After BLUE read Red request scheduled next

, F’09 Disk Access – Seek After BLUE readSeek for RED Seek to red’s track

, F’09 Disk Access – Rotational Latency After BLUE readSeek for REDRotational latency Wait for red sector to rotate around

, F’09 Disk Access – Read After BLUE readSeek for REDRotational latencyAfter RED read Complete read of red

, F’09 Disk Access – Service Time Components After BLUE readSeek for REDRotational latencyAfter RED read Seek Rotational Latency Data Transfer

, F’09 Disk Access Time Average time to access a specific sector approximated by: Taccess = Tavg seek + Tavg rotation + Tavg transfer Seek time (Tavg seek) Time to position heads over cylinder containing target sector Typical Tavg seek = 3-5 ms Rotational latency (Tavg rotation) Time waiting for first bit of target sector to pass under r/w head Tavg rotation = 1/2 x 1/RPMs x 60 sec/1 min e.g., 3ms for 10,000 RPM disk Transfer time (Tavg transfer) Time to read the bits in the target sector Tavg transfer = 1/RPM x 1/(avg # sectors/track) x 60 secs/1 min e.g., 0.006ms for 10,000 RPM disk with 1,000 sectors/track given 512-byte sectors, ~85 MB/s data transfer rate

, F’09 Disk Access Time Example Given: Rotational rate = 7,200 RPM Average seek time = 5 ms Avg # sectors/track = 1000 Derived average time to access random sector: Tavg rotation = 1/2 x (60 secs/7200 RPM) x 1000 ms/sec = 4 ms Tavg transfer = 60/7200 RPM x 1/400 secs/track x 1000 ms/sec = ms Taccess = 5 ms + 4 ms ms = ms Time to second sector: ms Important points: Access time dominated by seek time and rotational latency First bit in a sector is the most expensive, the rest are “free” SRAM access time is about 4 ns/doubleword, DRAM about 60 ns ~100,000 times longer to access a word on disk than in DRAM

, F’09 Performance and page faults First: how often do they happen? First: how often do they happen? depends! (on workloads and memory sizes) in most systems, very rare scenario: random access to 4GB of VM with 2GB real memory 50% of memory access will generate page faults Second: how long do they take? Second: how long do they take? usually, one disk access lets say 10ms, for our scenario So, how fast does the program go in the scenario? So, how fast does the program go in the scenario? 100 pageFaults/second * 2 memoryAccesses/pageFault 200 memory accesses per second

, F’09 Disk storage as array of blocks OS’s view of storage device (as exposed by SCSI or IDE/ATA protocols) Common “logical block” size: 512 bytes Common “logical block” size: 512 bytes Number of blocks: device capacity / block size Number of blocks: device capacity / block size Common OS-to-storage requests defined by few fields Common OS-to-storage requests defined by few fields R/W, block #, # of blocks, memory source/dest ……

, F’09 Reminder: Page Faults A page fault is caused by a reference to a VM word that is not in physical (main) memory Example: An instruction references a word contained in VP 3, a miss that triggers a page fault exception null Memory resident page table (DRAM) Physical memory (DRAM) VP 7 VP 4 Virtual memory (disk) Valid Physical page number or disk address PTE 0 PTE 7 PP 0 VP 2 VP 1 PP 3 VP 1 VP 2 VP 4 VP 6 VP 7 Virtual address VP 3 From lecture-14.ppt “logical block” number can be remembered in page table to identify disk location for pages not resident in main memory

, F’09 In device, “blocks” mapped to physical store Disk Sector (usually same size as block)

, F’09 Physical sectors of a single-surface disk

, F’09 LBN-to-physical for a single-surface disk

, F’09 Mapping file offsets to disk LBNs Issue in question Issue in question need to keep track of which LBNs hold which file data Most trivial mapping: just remember start location Most trivial mapping: just remember start location then keep entire file in contiguous LBNs what happens when it grows? alternately, include a “next pointer” in each “block” how does one find location of a particular offset? Most common approach: block lists Most common approach: block lists an array with one LBN per block in the file Note: file block size can exceed one logical (disk) block so, groups of logical blocks get treated as a unit by file system e.g., 8KB = 16 disk blocks (of 512 bytes each)

, F’09 Direct Block 1 Indirect Block Double-Indirect Block Indirect Block 1... Direct Block 2 Data (lbn 344) Data (lbn 576) Direct Block 12 Data (lbn 968)... (lbn 632) Data Block 13 Data (lbn 1944) (lbn 480) Data Block 14 Data Block N... Data (lbn 72)... Indirect Block 2 Data Block Q+1 Data (lbn 96) Data Block N+1 Data (lbn 176) Data Block N+2... Data A common approach to recording a block list

, F’09 Reminder: How the Unix Kernel Represents Open Files Two descriptors referencing two distinct open disk files. Descriptor 1 (stdout) points to terminal, and descriptor 4 points to open disk file Two descriptors referencing two distinct open disk files. Descriptor 1 (stdout) points to terminal, and descriptor 4 points to open disk file fd 0 fd 1 fd 2 fd 3 fd 4 Descriptor table [one table per process] Open file table [shared by all processes] v-node table [shared by all processes] File pos refcnt=1... File pos refcnt=1... stderr stdout stdin File access... File size File type File access... File size File type File A (terminal) File B (disk) Info in stat struct From lecture-13.ppt

, F’09 Disk Capacity Capacity: maximum number of bits that can be stored Vendors express capacity in units of gigabytes (GB), where 1 GB = 10 9 Bytes (Lawsuit pending! Claims deceptive advertising) Capacity is determined by these technology factors: Recording density (bits/in): number of bits that can be squeezed into a 1 inch linear segment of a track Track density (tracks/in): number of tracks that can be squeezed into a 1 inch radial segment Areal density (bits/in 2 ): product of recording and track density

, F’09 Computing Disk Capacity Capacity = (# bytes/sector) x (avg. # sectors/track) x (# tracks/surface) x (# surfaces/platter) x (# platters/disk) (# platters/disk)Example: 512 bytes/sector 1000 sectors/track (on average) 20,000 tracks/surface 2 surfaces/platter 5 platters/disk Capacity = 512 x 1000 x x 2 x 5 = 409,600,000,000 = 409,600,000,000 = GB = GB

, F’09 Looking back at the hardware main memory bus interface ALU register file CPU chip

, F’09 Connecting I/O devices: the I/O Bus main memory I/O bridge bus interface ALU register file CPU chip system busmemory bus USB controller mousekeyboard graphics adapter monitor disk controller disk I/O bus Expansion slots for other devices such as network adapters

, F’09 Reading from disk (1) main memory ALU register file CPU chip disk controller graphics adapter USB controller mousekeyboardmonitor disk I/O bus bus interface CPU initiates a disk read by writing a READ command, logical block number, number of blocks, and destination memory address to a port (address) associated with disk controller

, F’09 Reading from disk (2) main memory ALU register file CPU chip disk controller graphics adapter USB controller mousekeyboardmonitor disk I/O bus bus interface Disk controller reads the sectors and performs a direct memory access (DMA) transfer into main memory

, F’09 Reading from disk (3) main memory ALU register file CPU chip disk controller graphics adapter USB controller mousekeyboardmonitor disk I/O bus bus interface When the DMA transfer completes, the disk controller notifies the CPU with an interrupt (i.e., asserts a special “interrupt” pin on the CPU)