I/O: Design Considerations, Buses
Tom Kelliher, CS 240
Apr. 28, 2000
Dynamic placement policies. Intro to I/O.
- Introduction to I/O system design.
- Buses.
- I/O can be:
- Local: keyboard, mouse, graphics, disk, printer.
- Remote: graphics, disk, printer, network services.
- Latency: Delay between request and first data received.
- Bandwidth: The rate at which data can be transferred.
Example 1:
- You're here in Maryland, on a T1, accessing a web page on a web
server in California.
- The files composing the web page are in RAM cache. In total, you
access 1MB of data in downloading the web page.
- What delay dominates, latency (minimally 32 ms) or bandwidth?
- Repeat, assuming you have a gigabit connection.
- Can we overcome latency?
- Hard to get around the speed of light.
- Caching data locally. Problems such as updates, validity. Does
this solve the problem? Is the problem solvable?
Example 2:
- You have a system with a 1 GHz CPU and a gigabit ethernet card.
- The ethernet card interrupts each time it receives 16 bytes.
- The ethernet interrupt handler requires executing 200 instructions.
(This is probably optimistic.)
- Do you get any work done?
- Bytes received per second: 1E8.
- Ethernet interrupts per second: 6.25E6.
- Cpu cycles spent handling interrupts: 1.25E9.
- Time spend handling one second of ethernet data: 1.25 s.
- Supercomputing: Weather forecasting. Supercomputing applications
tend to process large volumes of data, putting a premium on I/O bandwidth.
- ``Back Office'' computing: Online transaction processing.
Client/Server. This involves database operations: queries, adds, deletes,
edits. Requests from large geographical areas are aggregated at one
database server. Very large transaction volumes (airline ticketing
systems). For this reason, databases often kept in RAM (several GB of
RAM).
- e-Commerce computing: Client/Server. Client: web browser. Server:
web server (Apache, etc.) feeding dynamic HTML and data from a SQL (MySQL,
Oracle, etc.) database server. CGI used to interface the two.
Definition 1:
A set of wires.
Definition 2:
An expansion capability.
Terminology:
- Protocol.
- Initiator, target. Arbitration.
- Synchronous, asynchronous.
- Concurrency.
A smattering of buses:
- VME.
- ISA, EISA.
- VLB, PCI.
- AGP.
- SCSI.
- USB, FireWire.
Refer to handout:
- Complexity.
- Covers: bus protocol, configuration, electrical, mechanical.
- Architecture.
- Transfer rate, latency.
- Plug-'n-Play.
Thomas P. Kelliher
Fri Apr 28 09:35:06 EDT 2000
Tom Kelliher