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:
- NII systems must be communication systems. The hardware architecture must
integrate the network, rather than relegating it to the I/O subsystem. The
software architecture must allow access to the network that is low latency,
high bandwidth, low cost and application-specific.
- NII systems must support "plug-and-play" networking. Hosts must be
compatible at any site at many levels of abstraction. They must operate in
different geographical locations while providing services that are
location-independent. They must be easy to configure at a new location. They
must operate effectively in a disconnected mode, with smooth reconnection and
re-integration.
- NII systems must accommodate extraordinary diversity in hosts, protocols,
functionality and services. Hosts will span a huge range in terms of cost,
performance and user interface. They will interact by means of many different
protocols, defined by many different bodies. They will use and provide a wide
range of services, and within each service, a wide range of quality of service.
- NII systems must be highly scalable. The geographical scope, the size of
the user community, the range of services and the diversity of clients and
servers all are unprecedented. Services, servers and networks must be highly
scalable, within an architecture that allows the creation of affordable
services and clients.
- NII systems must be highly available. As users come to depend on the NII
for health care, financial services, government information and education, they
will expect it to be at least as reliable and available as today's telephone
systems, requiring the correct operation of a long chain of hardware and
software components.
- NII systems must be "future-proof." The hosts on the NII will represent a
major investment that will be upgraded over time. These systems must be
designed to be evolvable.
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:
- Moving network interfaces closer to high-bandwidth processing (and
ultimately onto commodity microprocessors) to both improve performance and
lower cost.
- Supporting low-latency, high-bandwidth network access, using mechanisms
such as those employed in more-homogeneous massively parallel processors.
- Developing methods for determining how to partition functionality between
the network interface and general-purpose processing.
- Developing memory systems (cache, memory, TLB) optimized for streaming
data and real-time considerations.
- Developing and safely exposing memory system mechanisms for managing data
movement, allocating cache and memory buffers, and reserving bandwidth.
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:
- Disk management systems--for files, virtual memory and persistent
storage--that can stream data in real time.
- Tertiary storage systems that are reliable, cheap, vast and incorporate
media-aging considerations.
- Less expensive secondary and tertiary media to meet new (and often
conflicting) demands--larger, faster (higher bandwidth and lower latency) and
non-volatile.
- Evaluation of the architectural impact of new devices, such as flash
memory, synchronous DRAMs and optical interconnects within appliances.
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:
- Development on real-time nanokernels that enable communication with
diverse appliances.
- Resource management algorithms that allow applications to reserve but
share memory buffers, network interfaces, displays, etc.
- Model tools that support software and hardware design with guarantees.
- Programming models and APIs that support application/system negotiation
and feedback.
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:
- Application programming interfaces (APIs) for protocols.
- Rapid design, implementation and deployment techniques.
- Partitioning protocol components between applications, system software and
hardware on diverse information appliances.
- Configuration, manageability, upgradability and coexistence trade-offs.
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:
- Scalable servers that can be modularly expanded.
- High-performance servers that can be constructed from commodity parts.
- Hardware and software architecture of storage systems that will handle
(store, index, search, etc.) huge volumes and rates of data.
- Techniques for building reliable services from collections of servers on a
scale never before considered.
- Resource management to achieve high utilization while satisfying real-time
constraints.
- Programming models and environments for distributed application
development.
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:
- Fault classification and failure models of all hardware and software
(especially hard) components, including outages due to reconfiguration,
operator error and acts of nature.
- Methods for determining levels where redundancy is most effective.
- Improved verification techniques and recovery protocols.
- Models of fault containment and isolation.
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:
- Special-purpose support for encryption/decryption,
compression/decompression, speech recognition/synthesis, video
recognition/synthesis and interactive multimedia.
- Methods for determining where special-purpose devices "plug in" and how
they integrate with the memory system.
- Models for evaluating cost and performance trade-offs in special-purpose
hardware and hardware/software co-design.
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:
- High-bandwidth, low-cost interconnection technology (e.g., for fiber into
a videophone).
- High-bandwidth, low-cost DRAM interfaces.
- Vast, inexpensive storage (e.g., non-volatile without moving parts).
- Inexpensive displays that strive for the resolution of paper, and
holographic displays that achieve three-dimensional realism.