The capacities and economics of
computer systems do not advance
smoothly, nor are the rates of improvement of various components synchronized. The resulting interactions produce dramatically different trade-offs
in system partitioning that evolve over
time. What is correct today may not
be right after the next technology improvement. An example will illustrate
the point.
Once upon a time, disk storage was
expensive—really expensive—but it
also exhibited significant economy of
scale. At that time, LAN connectivity
and processor performance were sufficient to make it desirable to share large
disks among multiple workstations,
giving rise to the diskless workstation.
This lasted for a number of years, but
as disks slid down the learning curve,
the decreasing cost per megabyte of
disk space overwhelmed the operational complexity of diskless workstations so they became diskfull, and they
have been ever since—until relatively
recently. Today the typical large organization averages the better part of one
PC per employee, so the operational
grief of administering all those desktop PCs is substantial. This cost is now
high enough that the diskless workstation has been rediscovered, this time
named thin clients. All the storage is
elsewhere; nothing permanent exists
on the desktop unit. History is busily
repeating itself. Why? Because the various cost curves have moved enough,
relative to each other, to the point
where centralization makes sense.
The same thing happens with NFEs.
At a point in time, systems don’t have
enough network “go-fast” to deliver
the performance required, so just add
a dedicated processor to the network
interface to make up for it. The economics of that are fleeting at best, however. Between chip design and system-integration complexity, an NFE will
need to be an economically attractive
solution for quite some time to recoup
the development costs. Unfortunately,
the relentless improvements in processor, memory system, and system interconnect in the base PC platform make
that window of advantage a shrinking,
fast-moving target. Does anyone else
remember the HiFN file compression
processor chip? It was built into PC
systems for a very short time. Proces-
sors quickly improved enough to do
compression/decompression on the
fly, however, and that was the end of
HiFN’s dream—well before the dropping cost of disk storage would have
killed it.
Any effort to question the efficacy
of NFEs should include a caveat for
one particular case that merits a special mention because it indeed makes
a compelling case for a particular style
of NFE.
The proliferation of microcontrollers in devices such as thermostats,
light switches, toasters, and almost
everything else with more than a simple on/off switch has created a real
opportunity for NFEs. Almost all of
these microcontroller applications are
typified by intense cost pressure, which
usually translates into extreme limitations on available computing resources. It is simply out of the question to
put a network stack in the vast majority
of these systems, but the desirability of
remote management of these devices
increases daily.
This has created a new breed of
NFE: the network communications
adapter (NCA) that specializes in the
simplicity of the protocol between the
microcontroller host and the NFE—
serial ASCII. Most microcontrollers have
some serial port ability, so by looking
like a terminal, the NCA can play the
role of translator, speaking serial out
one side and TCP/IP out the other. The
NCA appears as a host on the TCP network, often containing a simple Web
server that vends state information
and may provide certain other management functions that get translated
into simple ASCII exchanges with the
microcontroller system.
An NCA is usually implemented in
one of the more powerful microcontrollers that have been designed to
provide an Ethernet interface and support enough RAM and ROM to contain
a simplified network stack. The NCA is
now available as an off-the-shelf module designed for easy integration no
more difficult than a modem on a serial port.
The question of which is the tail
and which is the dog comes to mind in
many of these applications. From the
TCP network’s point of view, the NCA is
the host and the microcontroller is being managed. From the point of view of
the lighting controller, the NCA looks
like just one more switch, albeit a chatty one. This distinction is usually irrelevant—it just makes hash of pedantic
layering diagrams. There’s something
quite satisfying about that.
Conclusion
Rather than debate the religious propriety of NFEs, particularly the TOE variety, I have examined the architectural
issues that have produced their recurring rise and fall. The TOE-style NFE
is best viewed as a tactical tool with a
limited expected lifetime of economic
viability, not an enduring architectural
approach. This is just another example
of the recurring ebb and flow of functions between specialized peripherals
and the system CPU(s), as the economics slosh back and forth interacting
with system requirements. The limited lifetime of the NFE’s advantages
makes it difficult to justify the significant development costs for any but the
highest-value applications.
That said, the inexpensive NCA is
likely to be an approach that does endure. It literally transforms network
communication into an inexpensive,
pluggable physical component. By doing so, it provides an avenue for dealing with the extreme cost pressure inherent in microcontroller applications
while providing an incremental option
of genuine network citizenship when
the customer will pay for it.
Related articles
on queue.acm.org
TCP Offload to the Rescue
Andy Currid
http://queue.acm.org/detail.cfm?id=1005069
Network Virtualization
Scott Rixner
http://queue.acm.org/detail.cfm?id=1348592
DAFS: A New High-Performance
Networked File System
Steve Kleiman
http://queue.acm.org/detail.cfm?id=1388770
Mike O’Dell is a venture partner at new enterprise
associates (nea), chevy chase, mD, where he works
to identify early-stage it, communications, and energy
opportunities. Prior to this position, odell was chief
scientist at uunet technologies, responsible for network
and product architecture during the emergence of the
commercial internet. he has also held positions at
bellcore (now telcordia), a gaas sparc supercomputer
startup, and a u.s. government contractor. he was
founding editor of Computing Systems, an international
refereed scholarly journal.
© 2009 acm 0001-0782/09/0600 $10.00