Title: COMP 206: Computer Architecture and Implementation
1COMP 206Computer Architecture and Implementation
- Montek Singh
- Mon, Nov 21, 2005 Mon, Nov 28, 2005
- Topic Storage Systems (Disk Technology)
2Disk Systems Characteristics
- Capacity bytes
- Mainframes typically have ?3.7 GB of disk storage
per MIPS - PCs rend to require ?5 MB of disk storage per
MIPS - Bandwidth (throughput)
- Bytes transferred per unit time
- Service rate
- Number of service requests satisfied per unit
time - Supercomputer I/O requests tend to involve large
amounts of data transaction processing systems
tend to involve small ones - Response time (latency)
- Time between start and completion of an event
- Cost /MB
3Example Parameters of A Single Disk Drive
4Technical Details (1)
- Platters
- 2-4mm thick, made of an aluminum alloy
- Typically 1-6 platters in a hard disk
- Both sides of each platter generally used
- One side of one platter dedicated to information
to guide the servomechanisms that control speed
of rotation and head movement - Each recording surface has its own read-write
head - Only one operational at any time
- Data transfer to and from disk is bit-serial
- Rotation
- Speed of rotation carefully controlled by
servomechanism - E.g., 7200 rpm ?1 or even ?1 rpm
- All disk drives are synchronized in some disk
arrays - Angular positions are identical (within
tolerance) at any time
5Technical Details (2)
- Flying height
- Read/write heads do not touch rotating disk
surface - Careful aerodynamic design keeps small constant
distance (?0.2 m) - Disk moves with approximate linear speed of 700
inches/sec - 18m/s, 40 miles/hour
- Smaller flying height ? higher writing density
- Hence, platters and heads sealed hermetically in
clean space - Called Winchester drives for historical reasons
- Parking the heads
- Before disk is allowed to slow down and stop,
heads are moved over an area of the disk not used
for recording, where they are allowed to come
into contact with the disk surface
6Why Disks Are Bit-Serial
- High TPI value makes parallel access disks
unworkable - Reading heads move as rigid unit
- One of them (the one over the servo disk)
supposedly defines radial (track) position - Ensemble is not truly rigid, and various reasons
(like thermal dilations) prevent all heads being
positioned over same track simultaneously,
repeatedly, and reliably - Only one head is positioned accurately at a time
servo guides the assembly to approximate position
of requested track, reading head does final
positioning using a high frequency signal between
data tracks - Sector ID always contains track number for
confirmation - Portable disks use shock sensors to prevent
overwriting of adjacent tracks caused by jarring
of R/W head
7Track Densities
- Until recently, only innermost track was recorded
with maximum density - All other tracks contained same number of sectors
and bytes - Recently, manufacturers are using bands of tracks
- Total number of tracks (100s-1000s) divided into
bands or zones (4, 8, 16, ) each containing the
same number of tracks - Each band has innermost track recorded at maximum
density, with other tracks having same capacity - Greatest capacity gains occur with a small number
of bands - Two scheduling options
- Constant rotational speed, use buffer for speed
matching - Constant data rate, head spinning with rotational
speed corresponding to recording density of zone
8Sector Format
- Sector is the smallest unit of data that can be
read or written - Typically between 32B and 4KB, with 512B being a
common size - Format of sector
- ID Identifies sector with information such as
angular position and track - Has its own error correcting code (ECC)
- GAP Permits electronics to process ECC
information - DATA and its ECC
Total sector size
is measure of formatted capacity of disk as
fraction of nominal capacity
9Disk Miscellanea
- Smaller disks tend to be more cost-effective
- Smaller inertia, lower power consumption per
megabyte, shorter seek distances, less vibration,
less heat generated - Heat generation proportional to N?RPM2.8 ?D4.6
- N number of platters
- D diameter
- RPM rotational speed
- Disk access time seek time rotational latency
transfer time - Typical values 12-30 ms seek time, 8.3 ms
rotational latency - Disk growth rates
- Disk areal density doubling every three years
- Disk transfer rate doubling every five years
- Disk access time halving every ten years
10Ensembles of Disks
- Key idea
- Use collection of disk drives to improve
characteristics of disk systems (storage
capacity, bandwidth, etc.) - Used in mainframes for a long time
- RAID
- Redundant Array of Inexpensive Disks (original
1988 acronym) - Redundant Array of Independent Disks (redefined
in 1992)
11Improving Bandwidth with Disk Arrays
- Arrays of independent disk drives
- Similar to high-order interleaving in main
memories - Each file assigned to different disk drive
- Simultaneous access to files
- Load balancing issues
- File striping/disk striping/disk interleaving
- Single file distributed across array of disks
- Similar to low-order interleaving in main
memories - Each logical I/O request corresponds to a data
stripe - Data stripe divided into number of equal sized
stripe units - Stripe units assigned to different disk units
- Two kinds of striping depending on size of stripe
unit - Fine-grained striping Stripe unit chosen to
balance load - Coarse-grained striping Larger stripe unit
12Improving Availability with Disk Arrays
- MTTF of large-system disks approaches 1,000,000
hours - MTTF of PC-class disks approaches 150,000 hours
- However, array of 1,000 PC-class disks has MTTF
of 150 hours - All schemes to cope with low MTTF aim to fail
soft - Operation should be able to continue while repair
is made - Always depends on some form of redundancy
13RAID-0
- Striped, non-redundant
- Parallel access to multiple disks
- Excellent data transfer rate (for small strips)
- Excellent I/O request processing rate (for large
strips) - Typically used for applications requiring high
performance for non-critical data
14RAID-1
- Mirrored/replicated (most costly form of
redundancy) - I/O request rate good for reads, fair for writes
- Data transfer rate good for reads writes
slightly slower - Read can be serviced by the disk with the shorter
seek distance - Write must be handled by both disks
- Typically used in system drives and critical
files - Banking, insurance data
- Web (e-commerce) servers
15Combining RAID-0 and RAID-1
- Can combine RAID-0 and RAID-1
- Mirrored stripes (RAID 01, or RAID 01)
- Example picture above
- Striped Mirrors (RAID 10, or RAID 10)
- Data transfer rate good for reads and writes
- Reliability good
- Efficiency poor (100 overhead in terms of disk
utilization)
16RAID-3
- Fine-grained (bit) interleaving with parity
- E.g., parity sum modulo 2 (XOR) of all bits
- Disks are synchronized, parity computed by disk
controller - When one disk fails (how do you know?)
- Data is recovered by subtracting all data in good
disks from parity disk - Recovering from failures takes longer than in
mirroring, but failures are rare, so is okay - Hot spares used to reduce vulnerability in
reduced mode - Performance
- Poor I/O request rate
- Excellent data transfer rate
- Typically used in large I/O request size
applications, such as imaging or CAD
17RAID-2
- Hamming codes capable of correcting two or more
erasures - E.g., single error-correcting, double
error-detecting (SEC-DED) - Problem with small writes (similar to DRAM cycle
time/access time) - Poor I/O request rate
- Excellent data transfer rate
18RAID-4
- Coarse-grained striping with parity
- Unlike RAID-3, not all disks need to be read on
each write - New parity computed by computing difference
between old and new data - Drawback
- Like RAID-3, parity disk involved in every write
serializes small reads - I/O request rate excellent for reads, fair for
writes - Data transfer rate good for reads, fair for
writes
19RAID-5
- Key Idea reduce load on parity disk
- Block-interleaved distributed parity
- Multiple writes can occur simultaneously
- Block 0 can be accessed in parallel with Block 5
- First needs disks 1 and 5 second needs disks 2
and 4 - I/O request rate excellent for reads, good for
writes - Data transfer rate good for reads, good for
writes - Typically used for high request rate,
read-intensive data lookup
20Removable Media
- Magnetic Tapes
- Have been used in computer systems as long as
disks - Similar magnetic technology as disks
- have followed similar density improvements as
disks - Long strips wound on removable spools
- Benefits can be essentially of unlimited
length removable - Drawbacks only offer sequential access wear
out - Used for archival backups but on the way out
- Optical Disks CDs and DVDs
- CD-ROM/DVD-ROM removable, inexpensive, random
access - CD-R/RW, DVD-R/RAM writable/re-writable
- Becoming immensely popular replacing floppy
drives, tape drives - Flash flash cards, memory sticks, digital film
- Microdrives small portable hard disks (up to
1GB)
21Interfacing I/O Subsystem to CPU
- Where do we connect I/O devices?
- Cache?
- Memory? ?
- Low-cost systems I/O bus memory bus!
- CPU and I/O compete for bus
- How does CPU address I/O devs.?
- Memory-mapped I/O
- Portions of address space assigned to I/O devices
- I/O opcodes (not very popular)
- How does CPU synch with I/O?
- Polling vs. interrupt-driven
- Real-time systems hybrid
- Clock interrupts periodically
- CPU polls during interrupt
22Bus Different Options
- Bus width
- High-perf separate address and data lines
- Low-cost multiplex address and data lines
- Data width
- High-perf wider is faster (e.g., 64 bits)
- Low-cost narrower is cheaper (e.g., 8 bits)
- Transfer size
- High-perf multiple words have less bus overhead
- Low-cost single-word transfer is simpler
- Bus masters
- High-perf multiple (requires arbitration)
- Low-cost single master (simpler)
- Split transaction
- High-perf Yes (request and reply in separate
packets) - Low-cost No (continuous connection is cheaper)
- Clocking
- High-perf synchronous (though it is changing)
- Low-cost asynchronous
23Examples of Bus Standards
IDE/Ultra ATA SCSI PCI PCI-X
Data width 16 bits 8 or 16 bits 32 or 64 bits 32 or 64 bits
Clock rate Up to 100 MHz 10-160 MHz 33-66 MHz 66-133 MHz
Bus masters 1 Multiple Multiple Multiple
Peak Bandwidth 200 MB/sec 320 MB/sec 533 MB/sec 1066 MB/sec
Clocking Async Async Sync Sync
24Does I/O Performance Matter?
- The No Argument
- There is always another process to run while one
process waits for I/O to complete - Counter-arguments
- Above argument applies only if throughput is sole
goal - Interactive software and personal computers lay
more emphasis on response time (latency), not
throughput - Interactive multimedia, transaction processing
- Process switching actually increases I/O (paging
traffic) - Desktop/Mobile computing only one
person/computer ? fewer processes than in
time-sharing - Amdahls Law benefits of making CPU faster
taper off if I/O becomes the bottleneck
25Does CPU Performance Matter?
- Consequences of Moores Law
- Large, fast CPUs
- Small, cheap CPUs
- Main goal keeping I/O devices busy, not keeping
CPU busy - bulk of the hardware cost is in I/O peripherals,
not CPU - Shift in focus
- From computation to communication
- Reflected in change of terminology
- 1960s-80s Computing Revolution
- 1990s-present Information Age
26Does Performance Matter?
- Performance is not the problem it once was!
- 15 years of doubling CPU speed every 18 months
(x1000) - Disks also have steadily become bigger and faster
- Most people would prefer more reliability than
speed - Todays speeds come at a cost frequent crashes
- Program crashes ? frustration
- Disk crashes ? hysteria
- Reliability, availability, dependability, etc.
are the key terms - Client-server model of computing has made
reliability the key criterion for evaluation - E.g., UNC-COMPSCI IMAP server 300 MHz or
something, 99.9 uptime