A Project on High Performance I/0 Subsystems Randy H. Katz, John K. Ousterhout, David A. Patterson, Peter Chen, Ann Chervenak, Rich Drewes, Garth Gibson, Ed Lee, Ken Lutz, Ethan Miller, Mendel Rosenblum Computer Science Division Department of Electrical Engineering and Computer Sciences University of California Berkeley, California 94720 1. Introduction and Overview Computing is seeing an unprecedented improvement in performance; over the last five years there has been an order-of-magnitude improvement in the speeds of workstation CPUs. At least another order of magnitude seems likely in the next five years, to machines with 100 MIPs or more. DARPA has already launched a program to develop even larger, more powerful machines, executing as many as 1012 operations per second. Unfortunately, we have seen no comparable break-throughs in I/O performance; the speeds of I/O devices and the hardware and software architectures for managing them have not changed substantially in many years [Katz 89]. What will unbalanced improvements in performance mean? Twenty years ago, Gene Amdahl was asked to comment about the Illiac-IV. He noted that while the vector portion of programs might run much faster, a major portion of the programs would run essentially at the same speed. In what has come to be known as Amdahl's Law, he observed that no matter how much faster one piece of the program would go over tradi- tional computers, overall performance improvement is limited by the part of the program that is not improved. Without major increases in I/O performance and reliability we think that transaction processing systems, supercomputers, and high-performance workstations will be unable to achieve their true potential. Our research group is pursuing a program of research to develop hardware and software I/O architectures capable of supporting the kinds of internetworked work- stations and super compute servers that will appear in the early 1990s. The project has three overall goals: High Performance. We are developing new I/O architectures and a prototype system that can scale to achieve significant factors of improvement in I/O performance, relative to today's commercially available I/O systems, for the same cost. We believe this speedup can be achieved using a combination of arrays of inexpensive personal computer disks coupled with a file system that can accommodate both striped and partitioned file organizations. High Reliability. To support the high-performance computing of the mid-1990's, I/O 24