Information Unbound Archive 1998 - 2000
An On-line Column by Erick Von Schweber

# 1: Microsoft's Millennium approach to Computing Fabrics presents weighty challenge to CORBA and Java

# 2: Computing Fabrics compared with distributed and parallel software technologies

# 3: Computing Fabrics - The BIGGER Picture
(a 4 part series)

# 3-1: Computing Fabrics extend the cell phone paradigm
# 3-2:
Virtual Personal Supercomputers (VPSCs)
# 3-3:
Computing Fabrics and next generation Interface Devices
# 3-4
Hyper-Reality - A Wild and Crazy GUI
# 4: Is History Repeating Itself?
The low-level procedurality of the past returns to haunt IT.
# 5: Object Based Semantic NetworksTM
Toward a Fusion of Knowledge Representation and the Relational Model



Information UNBOUND # 3-2
Also see: Computing Fabrics

Computing Fabrics: The BIGGER Picture
Part 2: VPSCs - Virtual Personal Supercomputers
November 1, 1998

Executive Summary: How 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.

Last week 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 these paradigms.

We begin 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.

At first 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".

The VPSC 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.

Star Tech

It should 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.

The dynamic 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!).

With Architecture-on-Demand™ 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 transformation.

This begins 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 now, today.

Getting Started

Assembling 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).

Latency, 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.

I've certainly 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.

Erick Von Schweber

Information UNBOUND is produced by Infomaniacs.
(C) Infomaniacs 1998. All Rights Reserved.
Copyright 1996-2004 by Infomaniacs. All Rights Reserved.  


By Erick Von Schweber
Copyright 1996-2004 by Infomaniacs. All Rights Reserved.
Updated January 22, 2002