Computer architectures that presume global hardware determinism are ultimately unscalable, but they are relatively easy to program because each operation is strictly sequenced and has an assured effect. Architectures that forgo global determinism can be indefinitely scalable, but they demand a shift in programming concepts, towards software mechanisms that can perform useful work given only limited, local synchronization and merely best-effort determinism. This paper introduces a parallel computing framework called SPOT—Stage Priority Operation Teams—designed for ulam programmers coding for the 2D grid of the Movable Feast Machine. Spatial threads, a simple but flexible 1D distributed programming paradigm, are introduced as a first use-case for SPOTs, with sample tasks ranging from moving objects to search, quorum sensing, and data reductions. SPOT and spatial threads also make intriguingly literal connections between crass physical concepts—such as space, time, and motion—and computational concepts such as program and data, and suggest a humble but fundamentally sensible meaning for the term ‘object’.

This content is only available as a PDF.