Robust-first computing: Demon Horde Sort (full version)

Dave Ackley · 14K views · 2013 · 27:13

Open on YouTube

Computer architecture & CPUsAlgorithms & data structuresCreative coding & generative artdemo

Why Hacker News recommends it

HN readers recommend it as the best introduction to robust-first computing, where randomness and fault tolerance are built into the architecture.

What it is

Dave Ackley demonstrates the Demon Horde Sort, an inherently robust sorting machine running in his Movable Feast Machine simulator. This is the uncut version with all details and side thoughts.

Recommended by 3 HN commenters across 6 different months, 2015 to 2023.

What Hacker News said

Strong rec DonHopkins · 2017-05 · on “Robust-First Computing: Distributed City Generation (2015) [video]”

A Movable Feast Machine [1] is a "Robust First" asynchronous distributed fault tolerant cellular-automata-like computer architecture. The video "Distributed City Generation" [2] demonstrates how you can program a set of Movable Feast Machine rules that build a self-healing city that fills all available space with urban sprawl, and even repairs itself after disasters! The paper "Local Routing in a new Indefinitely Scalable Architecture" [2] by Trent Small explains how those rules work, how the city streets adaptively learn how to route the cars to nearby buildings they desire to find, and illustrated the advantages of "Robust First" computing: Abstract: Local routing is a problem which most o

Strong rec DonHopkins · 2017-05 · on “Esoteric programming paradigms”

I recently submitted a link about "Robust First Computing". It didn't get any response, but I'll repeat the link and description here, since it's certainly esoteric, but has some extremely important properties. Robust-First Computing: Distributed City Generation [LINK] A Movable Feast Machine [1] is a "Robust First" asynchronous distributed fault tolerant cellular-automata-like computer architecture. The video "Distributed City Generation" [2] demonstrates how you can program a set of Movable Feast Machine rules that build a self-healing city that fills all available space with urban sprawl, and even repairs itself after disasters! The paper "Local Routing in a new Indefinitely Scalable Arch

Recommends Kapura · 2015-12 · on “It Probably Works: Probabilistic algorithms are all around us”

Fantastic article. Probabilistic algorithm design is fascinating to me because it's all about making sure that the system behaves as expected, rather than every individual operation being perfect. Implementing most random algorithms in practise strongly reminds me of studies of populations & behaviours of organic life (which is much better than the rube goldberg/spaghetti factories which sometimes arise as "solutions" to complex problems). Another interesting related field is Dave Ackley's Robustness-First Computing model[1], which operates with every atomic computational cell having some elements of randomness built in. [1] [this video]

Recommends DonHopkins · 2017-10 · on “Cryptography with Cellular Automata (1985) [pdf]”

A "Moveable Feast Machine" is a "Robust First" asynchronous distributed fault tolerant cellular-automata-like computer architecture. It's similar to a Cellular Automata, but it different in several important ways, for the sake of "Robust First Computing". These differences give some insight into what CA really are, and what their limitations are. Cellular Automata are synchronous and deterministic, and can only modify the current cell: all cells are evaluated at once (so the evaluation order doesn't matter), so it's necessary to double buffer the "before" and "after" cells, and the rule can only change the value of the current (center) cell. Moveable Feast Machines are like asynchronous non-

Recommends DonHopkins · 2019-04 · on “A Conversation with Language Creators: Guido, James, Anders and Larry [video]”

Actually, the Moveable Feast Machine is a "Robust First" asynchronous distributed fault tolerant cellular-automata-like computer architecture that DOES reason about what might happen if computers randomly explode in mid-program! (One of my favorite topics, that I've written about in other threads!) [LINK] Check out how the city seamlessly regrows after you nuke it: [LINK] > Robust-first Computing: Distributed City Generation: A rough video demo of Trent R. Small's procedural city generation dynamics in the Movable Feast Machine simulator. See [LINK] for more information. And here's a robust, self-healing membrane, that tolerates random failures (like tiny little exploding computers): [LINK]

Recommends DonHopkins · 2019-12 · on “Can Programming Be Liberated from the von Neumann Style? (1977) [pdf]”

I've posted about this before, but it's worth repeating here: [LINK] DonHopkins on Oct 26, 2017 | parent | favorite | on: Cryptography with Cellular Automata (1985) [pdf] A "Moveable Feast Machine" is a "Robust First" asynchronous distributed fault tolerant cellular-automata-like computer architecture. It's similar to a Cellular Automata, but it different in several important ways, for the sake of "Robust First Computing". These differences give some insight into what CA really are, and what their limitations are. Cellular Automata are synchronous and deterministic, and can only modify the current cell: all cells are evaluated at once (so the evaluation order doesn't matter), so it's necessa

Recommends camel-cdr · 2023-01 · on “Artificial Life Creation T-0 and Launching”

As I understood it: The T2 tiles are "normal" microcomputers, that run a special software stack implementing the cellular automata. The tiles communicate over the connections, and essentially just act like a bigger automata grid. But the interesting part is that there is no global synchronization, and this architecture could be scaled indefinitely wide, by just adding more tiles. The impressive/hard part is creating the asynchronous automata, where each cell can only see a fixed amount of neighbors, and creating something from that. Edit: I think this video explained the general idea quite well: [this video]

Cites justifier · 2015-11 · on “The Movable Feast Machine”

the 'grid' changing bounds is the intended mode of existence in regard to demon horde the paper(o) states 'channel size increases performance' but this should be uncontroversial more resources give better results it will be an optimisation problem to determine necessary resource alocation for desired results the shape of the simulation was stated(i) to be a simplified representation of the functionality the paper discusses 'a movable membrane whose contents cannot diffuse out', the figure is an almost organic shape, much more adaptable than the rectangular simulation demonstration (o) comjnl.oxfordjournals.org/content/56/12/1450.full.pdf+htmlb (i) [this video]