I/O
This presentation is the property of its rightful owner.
Sponsored Links
1 / 37

I/O PowerPoint PPT Presentation


  • 77 Views
  • Uploaded on
  • Presentation posted in: General

I/O. Chapter 8. Outline. Introduction - 8.1 Disk Storage and Dependability – 8.2 Buses and other connectors – 8.4 I/O performance measures – 8.6. Input / Ouput devices. Communicate between human and computer keyboard, mouse, printer, game controllers, …

Download Presentation

I/O

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


I o

I/O

Chapter 8


Outline

Outline

  • Introduction - 8.1

  • Disk Storage and Dependability – 8.2

  • Buses and other connectors – 8.4

  • I/O performance measures – 8.6


Input ouput devices

Input / Ouput devices

  • Communicate between human and computer

    • keyboard, mouse, printer, game controllers, …

  • Store more than what is on processor

    • hard drive, thumb drive, …

  • Enhanced functionality

    • music, video, …


Constraints

Constraints

  • Users intolerant of lost data

  • Unknown (non-standard) devices

  • Slow devices (relatively speaking)


Goals

Goals

  • Dependability

  • Expandability


Taxonomy

Taxonomy

  • Behavior –

    • Input (read once)

    • Output (write once, never read)

    • Storage (read / write / carries state)

  • Partner

    • Human or machine on other side?

  • Data rate (speed)

    • peak data transfer rate


Measures of performance

Measures of Performance

  • Response time

    • latency – time a user must wait for task

  • Bandwidth

    • I/O operations per unit time

    • Data transferred per unit time


Outline1

Outline

  • Introduction - 8.1

  • Disk Storage and Dependability – 8.2

  • Buses and other connectors – 8.4

  • I/O performance measures – 8.6


Anatomy of a disk drive

Anatomy of a Disk Drive


Vocabulary

Vocabulary

  • Head – the device that reads data from a disk

  • Each disk is divided into ________ _______ called _________

  • Each track is made up of _________

  • cylinder – volume of all _______ that lie under the heads at a given point on all surfaces

  • nonvolatile – data that remains even when ______ is removed

Concentric circles

tracks

sectors

tracks

power


Vocabulary1

Vocabulary

  • seek – the act of positioning the _____ over the correct ________

  • rotational delay or latency – average latency to rotate disk to put the ______ over the correct _______

  • transfer time – time required to _________ a block of data

  • disk controller – controls disk accesses

head

track

head

sector

send / receive


Example 1 performance

Example 1 - Performance

  • What is the average time to read or write a 512-byte sector for a typical disk rotating at 10,000 RPM? The advertised average seek time is 6 ms, the transfer rate is 50 MB/sec, and the controller overhead is 0.2 ms. Assume that the disk is idle, so that there is no waiting time.


I o

  • seek time: 6ms

  • rotational delay: ½ rev * 1min / 10,000 rev

  • transfer time: 512 B * 1 sec / 50*1024*1024 B

  • controller overhead = 0.2ms

  • 6ms + 3ms + 0.01ms + 0.2ms = 9.21ms


Reliability

Reliability

  • Reliability – measure of a continuously working system

  • Availability – how often, on average, the system is working properly

  • MTTF – Mean Time to Failure

  • MTTR – Mean Time to Repair

  • MTBF – Mean time between failures


Availability

Availability

  • Availability – how often, on average, the system is working properly

  • Availability = MTTF / (MTTF + MTTR)


Improving mttf

Improving MTTF

  • Fault avoidance

  • Fault tolerance

  • Fault forecasting

preventing fault occurrence by construction

using redundancy to continue executing in the

presence of faults (usually hardware faults)

predicting the presence and creation of faults

(hardware & software faults)


Raid redundant arrays of inexpensive disks

RAID - Redundant Arrays of Inexpensive Disks

  • Shift from one large disk to several small disks

  • Cheaper, smaller, faster

  • Inherently less reliable

  • Provide redundancy to counteract lower reliability


Raid 0

RAID 0

  • No redundancy!!!

  • Only a performance increase

  • Striping (interleaving) – allocation of logically sequential blocks to separate disks to increase performance

  • Parallel access controlled by disk controller – computer knows nothing about it.


Raid 1

RAID 1

  • mirroring – write the identical data to multiple disks

  • Requires twice as many disks as RAID 0

  • If a disk fails, use the backup copy, move to a working set of mirrored space.


Raid 3

RAID 3

  • Bit-interleaved parity

  • Store only enough data to recover original

  • Group N blocks

  • Add one bit of parity – xor of all bits.

  • Lost data can be reconstructed by looking at the rest of the bits in the group.


On a write

On a write

  • Read all blocks of data in parity group

  • Calculate new parity

  • Write new block

  • Write new parity


Raid 4

RAID 4

  • More efficient parity update

  • On write:

    • Read old data

    • xor with new data

    • adjust parity

    • Write parity, Write new data


Raid 5

RAID 5

  • Rotate parity blocks around system

  • Spread out writing (since parity always written)


Summary

Summary

  • RAID 1 and RAID 5 most common

  • 80% of server disks use RAID

  • Repair:

    • hot swapping – replace disks with power on

    • Standby spares – spares included in system for immediate reconstruction of data


Outline2

Outline

  • Introduction - 8.1

  • Disk Storage and Dependability – 8.2

  • Buses and other connectors – 8.4

  • I/O performance measures – 8.6


Connecting i o devices

Connecting I/O Devices

  • Much slower than processor / memory

  • Support lots of heterogeneous devices


I o

Bus

  • control lines – send / receive commands

  • data lines – transfer data

  • processor-memory bus – fast, small bus connecting DRAM to processor

  • I/O bus – slow, long bus connecting many devices to system through a controller.


Synchrony

Synchrony

  • Synchronous – clock in control line, fixed protocol is relative to clock.

  • Asynchronous – no clock – must coordinate through hand-shaking to determine when data is ready to send / receive.

  • split transaction protocol – bus is released between data request and data response


Hand shaking

hand-shaking

  • Series of steps used to coordinate bus transfers. Both parties must acknowledge they are ready before moving to next step.

  • Control lines:

  • ReadReq: proc/device wants to read

  • DataRdy: dev/proc is ready to send data

  • Ack: acknowledge ReadReq or DataRdy


Handshaking protocol

Handshaking protocol

ReadReq

1

3

Data

Address

Data

0: Request

2

4: Response

6

Ack

5

7

DataRdy


Outline3

Outline

  • Introduction - 8.1

  • Disk Storage and Dependability – 8.2

  • Buses and other connectors – 8.4

  • I/O performance measures – 8.6


Metric units

Metric Units

  • Memory: GB = 2^30

  • I/O: GB = 10^9

  • Be careful when reading specs

  • For this class, we will pretend that all use base-2 units.


Measuring performance

Measuring Performance

  • Throughput more important than latency

  • Large database operations (TP – Transaction Processing)


Example 1

Example 1

  • Execution time = 100 seconds

  • 90 seconds CPU time, 10 sec I/O time

  • CPU time improves by 50%/yr for 5 years

  • I/O does not improve

  • How much faster is program after 5 years?

  • What percentage of new time is I/O?


I o

  • New CPU time: 90 / (1.5^5) = 12 seconds

  • CPU improvement: 90/12 = 7.5 speedup

  • Overall improvement: 100/22 = 4.5 speedup

  • Now I/O is 10/22 = 45% of total time


Example 2

Example 2

  • System A:

    • .005 sec per I/O op

    • 4 overlapping I/O ops at a time

  • System B:

    • .002 sec per I/O op

    • no overlapping I/O ops

  • Which has the higher throughput?


I o

  • Throughput: 4 ops / 0.005 sec = 800 ops/sec

  • Throughput: 1 op / 0.002 sec = 500 ops / sec


  • Login