A Movable Architecture for Robust Spatial Computing

D. H. Ackley, D. C. Cannon, L. R. Williams
2012 Computer journal  
For open-ended computational growth, we argue that: (i) instead of hardwiring and hiding component spatial relationships, computer architecture should soften and expose them; and (2) instead of relegating reliability to hardware, robustness must climb the computational stack toward the end users. We suggest that eventually all truly large-scale computers will be robust spatial computers-even if intended neither for spatial tasks nor harsh environments. This paper is an extended introduction for
more » ... the spatial computing community to the Movable Feast Machine (MFM), a computing model in the spirit of an object-oriented asynchronous cellular automata. We motivate the approach and then present the model, touching on robustness mechanisms such as redundancy, compartmentalization and homeostasis. We provide simulation data from prototype movable elements such as self-healing wire for data transport and movable 'membrane' rings for spatial segregation, and illustrate how some larger computations like sorting or evaluating a lambda expression can be reconceived for robustness and movability within a spatial computing architecture. We have presented [3] a research case for indefinitely scalable computer architectures which, by definition, support openended computational growth without re-engineering. Indefinite scalability rejects all internal limits-such as single-source clocking, or fixed-width global addresses for memory or processors-so machine size is limited only by external costs such as real estate, materials and construction, and power and cooling. The physical realities of finite light speed and non-zero minimum device size mean that indefinite scalability implies spatial computing. Processors and memory must be distributed, and communication latencies can be no better than linear in the machine's physical extents. We argued that an indefinitely scalable machine is an up-to-three-dimensional spatial tiling of configurable elements that are initially interchangeable, communicate only locally via relative spatial addresses and execute asynchronously, at least above some granularity. Indefinite scalability is a computational abstraction very different from serial determinism, but both styles admit a wide range of implementations. A conservative, coarse-grained approach to indefinite scalability could employ conventional computers with IP networking, avoiding the finiteness of IPv6 addresses via the aggressive use of anycasting [4, 5]-which offers indefinite spatial scaling in exchange for a finite set of interprocessor request types. For more exotic, longer-term strategies, emerging biochemical and nanoscale computing mechanisms (e.g. [6, 7] ) might one day yield fine-grained robust spatial computers in which billions of devices are cost-effective, or ultimately even 'pourable computers' with devices by the mole. The MFM employs an intermediate granularity, designed to offer flexible and expressive programmability for research explorations, while still possessing properties-such as regular structure, short spatial dependencies and error toleranceto offer development and optimization opportunities for implementations in both existing and novel media. Spatial computing Spatial computing, described as 'computation distributed in space such that position and distance metrics matter to the computation' [8], is receiving increasing research attention (e.g. [9] [10] [11] [12] [13] [14] ); also, [15] is a good survey focusing on languages for spatial computing. Our particular point of entry-indefinite scalability-is distinct from, but largely compatible with, other motivations for spatial computing, falling perhaps most readily into the 'computationally intense' aspect of the Dagstuhl framework [8] . Although a spatial computer embedded within an external spatial task can offer choice low-hanging fruit, we focus more on architectural uses of space when computations are either not inherently spatial, or are spatialized differently from the machine itself. Of course, any machine design for indefinite scale must consider its physical embodiment, and its computations will typically employ spatial representations at multiple levels. Among the cross-cutting issues identified at Dagstuhl, fault tolerance and robustness are central to this enterprise, and are discussed below. Compared to spatial computing languages framed in continuous or amorphous spaces such as Proto [16] , or all-in 'vertical' models such as 'blob' machines [17] , the MFM style of spatial computing is discrete, reified and designed bottom-up. We presume discrete sites in space and time, and employ a new form of asynchronous cellular automata (see section 1.4.3) that has a neighborhood far too large to allow construction of a state transition table. Instead of transition tables, we propose to use modified versions of familiar programming language constructs-such as sequential code, pointers, objects and classes-to specify state transitions. But despite those unusual elements, it is clear that the MFM approach is deeply compatible with other spatial computing approaches (e.g. [18] ), and that is the motivation for [2] and this paper. Architectural criteria Taking indefinite scalability as the backbone requirement brings other principles to the forefront. Here we touch on three: robustness, movability and asynchronous design. Robustness Von Neumann [19] argued that 'future' computers would be more robust than his namesake approach, yet more than a half century later, here we are, still rooting around in CPU+RAM designs. We are now deploying millions of such machines per week, and connecting them to vast personal information and economic value-and in many ways, this is a disaster waiting to happen. The fragility that von Neumann discussed-the long chains of logic with no allowance for error-remains embedded in our approach to computing today. The very notion of a central processing unit-in which all instructions, regardless of origin, execute at the exact same physical location-is a key to our The
doi:10.1093/comjnl/bxs129 fatcat:kfnhwe5wpvh4ffenic2u4qzhae