250 likes | 257 Views
This chapter explores the importance of I/O in computer systems, discussing factors affecting I/O design, the impact of I/O on system performance, and assessing I/O performance. It covers various I/O devices and their relevance in a networked society.
E N D
Chapter 8 Interfacing Processors and Peripherals
Interfacing Processors and Peripherals • I/O Design affected by many factors (expandability, resilience) • Performance: — access latency — throughput — connection between devices and the system — the memory hierarchy — the operating system • A variety of different users (e.g., banks, supercomputers, engineers)each has different requirements.
Importance of I/O in a Networked Society • Processors are being built from the same basic technology. • I/O becomes one of the most distinctive features of the machines. • As the importance of networking and information infrastructure grows, I/O plays an increasing important role.
Impact of I/O on System Performance • Suppose we have a benchmark that executes in 100 seconds of elapse time, where 90 seconds is CPU time and the rest is I/O time. If the CPU improves by 50% per year for the next five years but I/O time doesn’t improve, how much faster will our program run at the end of five years?Amdahl’s Law again!
I/O • Important but neglected “The difficulties in assessing and designing I/O systems have often relegated I/O to second class status” “courses in every aspect of computing, from programming to computer architecture often ignore I/O or give it scanty coverage” “textbooks leave the subject to near the end, making it easier for students and instructors to skip it!” • GUILTY! — we won’t be looking at I/O in much detail — be sure and read Chapter 8 in its entirety. — you should probably take a networking class!
Assessing I/O Performance • Depends on the application • System throughput • I/O bandwidth • how much data can we move through the system in a certain time? • How many I/O operations can we do per unit of time? • Response time
I/O Performance Measures • Examples from Disk and File Systems • affected by disk technology, how disk are connected, the memory, the processor, and the file system provided by the OS. • Benchmark relatively primitive compared with those for the CPU. • Note: transfer rate: 1 MB = 10^6 bytes, not 2^20 bytes • Supercomputer I/O benchmarks: dominated by access to large files on magnetic disks. Data throughput, # of bytes per second that can be transferred between a supercomputer’s main memory and disks. • Transaction Processing(TP) I/O benchmarks: • involve both response time requirement and a performance based on throughput. • Concerned with I/O rate, measured as # of disk accesses per second. • TPC has developed several benchmarks. • File System I/O benchmarks: five phases --> Makedir, Copy, ScanDir, ReadAll, Make
I/O Devices • Very diverse devices — behavior (i.e., input vs. output) — partner (who is at the other end?) — data rate: peak rate at which data can be transferred
Magnetic Disks • Disk storage is nonvolatile, meaning that the data remains even when power is removed. • Platters in hard disk are metal (or glass), offering several advantages over floppy disks: • can be larger because it is rigid • has higher density because it can be controlled more precisely • Has a higher data rate because it spins faster • can incorporate more platter
I/O Example: Disk Drives • To access data: — seek: position head over the proper track (8 to 20 ms. avg.) — rotational latency: wait for desired sector (.5 / RPM) — transfer: grab the data (one or more sectors) 2 to 15 MB/sec
Example • For a disk rotating at 3600 RPM, average rotational latency = 0.5 rotation / 3600 RPM = 0.5 rotation/(3600 RPM/ 60) = 8.3ms • For a disk rotating at 7200 RPM, average rotational latency = 4.2ms • Note: detailed control of the disk and the transfer between the disk and the memory is usually handled by a disk controller. The controller adds the final component of disk access time, controller time. • The average time to perform an I/O operation will consist of these four times plus any wait time incurred because other processes are using the disk. • Many recent disks have included caches directly in the disk to speed up the access time.
Disk Read Time • What is the average time to read or write a 512-byte sector for a typical disk rotating at 5400 RPM? The advertised average seek time is 12 ms, the transfer rate is 5MB/sec, and the control overhead is 2ms. (Assuming no waiting time)
Networks • Key characteristics of typical networks: • distance: 0.01 to 10,000 kilometers • speed: 0.001 MB/sec to 1GBit/sec • topology: bus, ring, star, tree • shared lines: none (point-to-point) or shared • RS232: slow but cheap • LAN (ethernet): up to 1GBit/sec • Ethernet is a bus with multiple masters and a scheme for determining who gets bus control. • ATM: scalable network technology (155 Mbits/sec to 2.5 Gbits/sec) • Example: Performance of two networks( p.654 of text)
I/O Example: Buses • Shared communication link (one or more wires) • Difficult design: — may be bottleneck — length of the bus — number of devices — tradeoffs (buffers for higher bandwidth increases latency) — support for many different devices — cost • Types of buses: — processor-memory (short high speed, custom design) — backplane (high speed, often standardized, e.g., PCI) — I/O (lengthy, different devices, standardized, e.g., SCSI)
Bus: Connecting I/O Devices to Processor and Memory • A bus generally contains a set of control lines and a set of data lines. • Control lines are used to signal requests and acknowledges, and to indicate what type of information is on the data lines • Data lines carry information between the source and the destination. The information may consist of data, complex commands or addresses. • Bus transaction includes two parts: sending the address and receiving or sending the data. • Read transaction == input to memory so the processor can read it • Write transaction == output to device from memory
C o n t r o l l i n e s M e m o r y P r o c e s s o r D a t a l i n e s D i s k s C o n t r o l l i n e s M e m o r y P r o c e s s o r D a t a l i n e s D i s k s C o n t r o l l i n e s P r o c e s s o r D a t a l i n e s D i s 7 0 1 8 / P t t r s o n i g . 8 . 0 7 Output Operation a . b . M e m o r y k s c .
Synchronous and Asynchronous Buses • Synchronous buses • use a clock and a synchronous protocol, fast and small • but every device must operate at same rate • clock skew requires the bus to be short • processor-memory buses are often synchronous • Asynchronous buses • don’t use a clock and instead use handshaking • can accommodate a wide variety of devices
Asynchronous Protocol • Let’s look at some examples from the text “Performance Analysis of Synchronous vs. Asynchronous” “Performance Analysis of Two Bus Schemes”
Increasing Bus Bandwidth • Data bus width • Separate versus multiplexed address and data lines • Block transfers
Bus Arbitration • daisy chain arbitration (not very fair) • centralized arbitration (requires an arbiter), e.g., PCI • self selection, e.g., NuBus used in Macintosh • collision detection, e.g., Ethernet
Bus Standards • PCI ( a general purpose backplane bus) • SCSI (Small Computer System Interface) • IEEE 1394 (Firewire) • USB 2.0
Interfacing I/O Devices • Operating system: — polling — interrupts — DMA
Overhead of Polling • Example 1: mouse • Example 2: floppy disk • Example 3: hard disk • What if we use a interrupt-driven I/O? • How about DMA?
I/O System Design • Performance Analysis techniques: — queuing theory — simulation — analysis, i.e., find the weakest link (see “I/O System Design”) • Many new developments