Computing Fabrics: The BIGGER
Part 2: VPSCs - Virtual Personal
November 1, 1998
can next generation applications be supported - mobile -
collaborative - verbal - 3D spatial - intelligent applications
- without generally over-providing each user with a portable
supercomputer? The cell phone paradigm provides a potential
solution. Fluid system boundaries enable virtual systems
to be self-assembled out of the local processing nodes and
interconnects of a Computing Fabric to meet the needs of
these next generation applications.
we examined cellular phones, Network Computing, and Ubiquitous
Computing, three paradigms that provide information, interface,
computation, and communication "locally" even as the locality
changes over time. This week we look at how virtual computers
can locally self-assemble out of a Computing Fabric, extending
by envisioning a world where processing is not only a
commodity, not merely omnipresent, but has become infrastructure
in both commercial and residential areas. Processors are as
populous as wall sockets, perhaps more so - located throughout
buildings, at telephone junction boxes, in cable head-ends,
and in central office switches. These processors are richly
interconnected by low latency, high bandwidth connections, and
with distributed shared memory or distributed shared objects
constitute a Computing Fabric.
our imaginary user is stationary with respect to the fabric.
Tasks running on their behalf are executing on a local cell
- processing nodes that lie within a quarter of a mile of each
other and are working together as a single system. Should the
user's tasks require it, and they have the compute cycle credits
to pay for it, their cell can incorporate 10's, 100's, or even
1,000's of processing nodes of varying computational capacity
- in effect a virtual personal supercomputer (VPSC) surrounding
(or in proximity to) the user. The proximity of the VPSC means
that many, if not most, latency-sensitive operations can be
handled by it, such as the tasks involved with a next generation
application featuring a rich user interface.
As the user
moves through the office complex their cell virtually moves
with them. Virtually is the key word here, as no processing
nodes ever need to move physically. Processing nodes are relinquished
from the user's cell as their distance pushes latencies beyond
an established threshold, replaced by nodes that enter their
cell as they come within proximity. Given that processors are
omnipresent across the infrastructure, the cell follows the
user down the highway, on customer visits, at trade shows, even
at home. They're always surrounded (logically speaking) by a
VPSC, limited only by the density and extent of the fabric.
Just as with the cell phone paradigm there are regions where
nodes and connectivity are dense and areas where both are sparse,
amounting to variations in computational "strength".
becomes your personal computer, replacing the
notion of the desktop, workstation, etc.. One way to (functionally)
think about a VPSC is as a middle-tier application server that
follows you around and scales up and down based on your ever
changing application needs from moment to moment. It's personal,
or better yet, personalized, directly or indirectly
by you, with rules and parameters establishing, modifying, and
maintaining its configuration.
be added that not all tasks require locality (in the sense of
"nearness to the user or the user interface"). Those that don't
can be performed by remote cells formed from the fabric, with
inter- and intra-task dependencies defining appropriate cell
boundaries. Such remote cells can be dynamically assembled based
on node availability, costs, performance parameters, and data
and function locality.
formation of cells, local and remote, can be seen as a natural
progression of technology. First there was local processing.
Next came remote processing that "masquerades" as local (CORBA,
DCOM, RMI). Then came processes that migrate from one location
to execute at another (Java, Voyager). Now, with Computing Fabrics,
"computer systems" can be disassembled, communicated as configuration
information to a new location, then reassembled at the destination
out of the ambient resources. We call it Architecture-on-DemandTM
trade, but you can certainly think of it as "computer teleportation",
a transporter beam for computer systems (Compuportation? Argh!).
we can request data on the web that not only downloads a Java
application (to present the data) but self-assembles a local
"system" appropriate to run the application and present the
data. Of course a multiprocessor system is hardly required to
execute a typical Java application - it's more reasonable that
such computational resources will be dynamically assembled along
with a multi-component application. The components, surprisingly,
may already be local, in a replicated object cache, and not
even require downloading.
In any event,
the concept of a VM - a Virtual Machine - undergoes quite a
to sound like science fiction - is this destined for the enterprise,
or for the Enterprise? Perhaps both. But it should be reiterated
that the enabling technologies are for the most part working
cells, local and remote, is likely to require both current technological
approaches to Computing Fabrics - the "hardware" approach of
SGI and the "software" approach of Microsoft Millennium. Also
required, in our opinion, is convergence of distributed database
technology with the distributed objects of the fabric, and a
very high level model (or view) of the resulting distributed
system (beyond the relational, object, and object/relational
models - a topic for future columns).
and therefore locality, is an issue we must grapple with as
it will be with us for quite some time. Unlimited spending on
internetworking can increase bandwidth by an arbitrary amount,
but has no effect on latency, which is dictated by the speed
of light (and only amazing engineering breakthroughs in Quantum
Computing can even theoretically break this limit). The VPSCs
enabled by Computing Fabrics tackle the issue of locality head-on
by assembling the needed computational resources as needed,
on the spot or following the user, supporting next generation
user interfaces and applications.
made it seem like costly interface devices need to be located
everywhere (in addition to the processors and interconnects
that will become infrastructure). This needn't be the case,
however. Next week we'll explore the personal interface devices
that will emerge over the next several years and transform the
fabric from a personal experience to an intimate one, all while
reducing equipment needs.