C.2 Information Appliances and Servers

Principal Author:

Mark D. Hill

Additional Contributors:

Gerald Brost, Anoop Gupta, Robert Horst, Jeffrey Jaffe, Kevin Jeffay, Dick Lampman, Edward D. Lazowska, Tom Lyon, Bruce E. Mann, Joseph Pasquale, Larry Peterson, Jonathan Smith, Peter Steenkiste and Thorsten von Eicken


1. Introduction

"Computer" is an inadequate word to described the client and server systems that connect people to the National Information Infrastructure and provide its services. These systems must be "information appliances" that support communication, information storage and/or user interactions, and incidentally compute. Client appliances--purchased by individuals--face extreme cost pressures and must be embedded in diverse devices, such as thermostats, televisions, videophones, personal digital assistants (PDA), camcorders, automobiles and occasionally traditional computers. Server appliances must scale from simple systems through distributed systems and massively parallel processors (MPP). Without effective information appliances, users will not be able to exploit the advantages of the NII and, hence, will not wish to invest in it.

2. Technical Challenges

System software and hardware design goals and trade-offs must radically change to build information appliances, not just computers. Key system challenges include:

3. Research and Development Recommendations

Next we outline research issues and an agenda in several critical areas. We focus on where we believe information appliances will differ from traditional computers. Research should advance understanding through analysis (modeling and simulation) and synthesis (prototyping) of information appliances and servers.

3.1 Network Interfaces and Memory Systems

The NII will deliver high-bandwidth, time-sensitive information to information appliances. Current computers treat network interfaces as "peripheral," placing them on ancillary buses and controlling them with slow mechanisms (e.g., uncacheable memory-mapped loads and stores) hidden beneath many layers of protocol software, while current memory systems support CPU-centric, high-locality computation. Information appliances, however, must integrate network interfaces to make them as central as the CPU (the central processing unit) so that they can stream data at high bandwidth and respond rapidly when protocol decisions are required (e.g., demultiplexing ATM cells). Furthermore, information appliances will need memory systems oriented toward supporting communication more than storage, and the network interface more than the CPU. For example, communication-centric memory systems must allow applications to reserve buffers to guarantee that multimedia data are processed neither too slow (jitters to user) nor too fast (saturating memory). Furthermore, all of the above must be deployed in client information appliances under very strong cost pressures. Key research issues:

3.2 Storage Hierarchies

Beyond communication, the NII information appliances, particularly server appliances, must provide non-volatile storage that is fast, vast, cheap, reliable and lasts longer than any media--the Library of Congress for every person. This storage--really communication with the distant future--will be created virtually using storage hierarchies that automatically move data to anticipate access patterns (as is done for computation by today's virtual memory and file systems). NII storage hierarchies must span from memory systems through secondary storage (e.g., disks) to vast tertiary storage (e.g., tape jukeboxes). As with memory systems, they must anticipate new access and communication patterns and incorporate real-time considerations. Key research issues:

3.3 Resource Management

Current computers are designed to compute fast on average. Information appliances must work in concert to meet sustained real-time throughput and latency requirements. To achieve this, applications need to interact with system resource management and control software so that resource capacity can be reserved and scheduling decisions be made for realizing guaranteed, statistical and best-effort performance. Key research issues:

3.4 Protocol Infrastructure

Protocol multiplicity is likely, given that protocols will be authored by many bodies over a long time for diverse services running on and interacting with radically varied information appliances. Thus, we need to develop a software infrastructure for implementing and executing network protocols that allow protocols to build on each other and seamlessly interact with underlying hardware mechanisms. These software interfaces will enable the rapid design and implementation of new protocols, the wide deployment of protocols, the configuration of the optimal protocols for a particular node, and the maintenance and upgradability of the appliances over time. Key research issues:

3.5 Distributed Systems Architecture

The NII is a distributed system whose scale and complexity are orders of magnitude beyond those of its predecessors. The architecture of previous generations has been hugely simplified by the fact that these systems are, relatively speaking, uniform, bounded and loosely connected. In contrast, the NII will involve enormous scale and will require the close coupling of a great diversity of hosts, protocols and services. Innovations are required both in the area of services and in the area of servers. Key research issues:

3.6 Design for Availability

As discussed elsewhere, the high availability requirements of information appliances--particularly service appliances--for hospitals, financial services, defense, etc., impose sophisticated availability strategies on the NII. These strategies can be made both more effective and more economical if low-level mechanisms are designed into information appliances. If information appliances protect all internal buses with error correcting codes, for example, some faults can be masked while others can be contained before they contaminate subsequent communication, storage and computation. Design for availability (mechanisms cannot be added on later) needs:

3.7 Special-Purpose Support

While general-purpose computing cost-performance is improving rapidly, some functions that are common to many applications can be performed more cost-effectively with special-purpose hardware or hardware/software co-design. Trade-offs are complex and varied due, in part, to the diversity of information appliances. Clearly, the balance must change as one moves from a $50 PDA to a $50 million MPP. Key research issues:

3.8 Advances in Technology

Information appliances will use many existing computer technologies and require new ones in ways that we cannot fully anticipate. Information appliances will place dramatically increased and varied cost and performance demands on both conventional and new technologies. They will benefit and sometimes require both evolutionary and revolutionary advances in communication, storage and user interaction technologies. Examples include: