HackerTube
HomeLongsLikedHistoryWatch laterCategoriesPlaylistsSettings

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

Dave Ackley3 HN recommenders · recommended in 6 months, 2015-2023
YouTube
14K views · 13 years ago · demo · evergreen

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.

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

Computer architecture & CPUsAlgorithms & data structuresCreative coding & generative art#movablefeastmachine#robustness#cellularautomata#spatialcomputing#sorting

9 comments from Hacker News

@camel-cdr2023 · in “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

RecommendsView on HN
@raidicy2020 · in “Self Replicating Computer Programs”

Is this at all related to "Robust-first computing"? I first heard about it from this video[0]? He calls it a "movable feast machine". What interested me about cellular automation is that in my reading of Neumann, it is said he was working on using cellular automata to construct fully replicating machines. It is also said he probably would have gone on to develop said architecture in full had he not died. Is your research in anyway related? I'm interested but woefully lacking in formal cs training. [0] ▶ this video

CitesView on HN
@DonHopkins2019 · in “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 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-deterministic cellular automata with large windows that can modify adjacent cells. Here's a great example with an amazing demo and explanation, and some stuff I posted about it earlier: link 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 pa

RecommendsView on HN
@DonHopkins2019 · in “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 >To demonstrate the robustness of three membrane implementations in the MFM, an instance of each was placed side by side and subjected to a failure probability of 5e-5 per site per EPS. That is, each site is erased, on average, every 20,000 event cycles. Intercellular Transport also demonstrates some robust chemical and biological programming metaphors: link >Two cells are interconnected by self-healing wire. The magenta substance is being passed from the cell in the west to the cell in the east. The black particles are an ectoplasm, allowing the membrane to identify sites outside of the cell. Similarly, the yellow and blue particles are an endoplasm specific to the cell in which they reside, allowing the membrane to identify sites inside of it. Demon Horde Sort exemplifies the Robust Fi

RecommendsView on HN
@DonHopkins2017 · in “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-deterministic cellular automata with large windows that can modify adjacent cells. Here's a great example with an amazing demo and explanation, and some stuff I posted about it earlier: link 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 Architecture" [2] by Trent Small explains how those rules work, how the city streets adaptively learn how to route the ca

RecommendsView on HN
@DonHopkins2017 · in “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 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 of us face on a daily basis as we move around the cities we live in. This study proposes several routing methods based on road signs in a procedurally generated city which does not assume knowledge of global city structure and shows its overall efficiency in a variety of dense city environments. We show that techniques such as Intersection-Canalization allow for this method to be feasible for routing information arbitrarily on an architecture with limited resources. This talk "Robust-first computing: Demon Horde Sort" [4] by

Strongly recommendsView on HN
@DonHopkins2017 · in “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 of us face on a daily basis as we move around the cities we live in. This study proposes several routing methods based on road signs in a procedurally generated city which does not assume knowledge of global city structure and shows its overall efficiency in a variety of dense city environments. We show that techniques such as Intersection-Canalization allow for this method to be feasible for routing information arbitrarily on an architecture with limited resources. This talk "Robust-first computing: Demon Horde Sort" [4] by Dave Ackley describes an inherently robust sorting machine, like "sorting gas", implemented with the open source Movable Feast Machine simulator, available on github [5]. A Movable Feast Machine is similar in many ways to traditional cellular automata, except for a few

Strongly recommendsView on HN
@Kapura2015 · in “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

RecommendsView on HN
@justifier2015 · in “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

CitesView on HN
Robust-first computing: Beyond efficiency14:46

Robust-first computing: Beyond efficiency

Dave Ackley
8K views • 13 years ago
Living Computation: Robust-first programming in ULAM15:03

Living Computation: Robust-first programming in ULAM

Dave Ackley
4K views • 11 years ago
Sorting Algorithms: Speed Is Found In The Minds of People - Andrei Alexandrescu - CppCon 20191:29:55

Sorting Algorithms: Speed Is Found In The Minds of People - Andrei Alexandrescu - CppCon 2019

CppCon
184K views • 7 years ago
"Systems that run forever self-heal and scale" by Joe Armstrong (2013)1:10:23

"Systems that run forever self-heal and scale" by Joe Armstrong (2013)

Strange Loop Conference
85K views • 5 years ago
P vs. NP and the Computational Complexity Zoo10:44

P vs. NP and the Computational Complexity Zoo

hackerdashery
3.7M views • 12 years ago
15 Sorting Algorithms in 6 Minutes5:50

15 Sorting Algorithms in 6 Minutes

Timo Bingmann
29.4M views • 13 years ago
Advanced Topics in Programming Languages: A Lock-Free Hash Table58:36

Advanced Topics in Programming Languages: A Lock-Free Hash Table

GoogleTalksArchive
29K views • 14 years ago
Armok Invaders1:25

Armok Invaders

BaronWable
57K views • 10 years ago
"Agility & Robustness: Clojure spec" by Stuart Halloway40:00

"Agility & Robustness: Clojure spec" by Stuart Halloway

Strange Loop Conference
25K views • 10 years ago
Abseil's Open Source Hashtables: 2 Years In - Matt Kulukundis - CppCon 201954:01

Abseil's Open Source Hashtables: 2 Years In - Matt Kulukundis - CppCon 2019

CppCon
22K views • 7 years ago
Coding Adventure: Ant and Slime Simulations17:54

Coding Adventure: Ant and Slime Simulations

Sebastian Lague
2.2M views • 5 years ago
Bottom Up vs  Top Down Design in Clojure - Mark Bastian36:42

Bottom Up vs Top Down Design in Clojure - Mark Bastian

ClojureTV
29K views • 10 years ago
Matt Might - Winning the War on Error Solving the Halting Problem and Curing Cancer48:36

Matt Might - Winning the War on Error Solving the Halting Problem and Curing Cancer

Curry On!
9K views • 9 years ago
Three Beautiful Quicksorts53:56

Three Beautiful Quicksorts

Google TechTalks
45K views • 19 years ago
Turing & The Halting Problem - Computerphile6:14

Turing & The Halting Problem - Computerphile

Computerphile
919K views • 12 years ago
SORTDEMO.BAS2:50

SORTDEMO.BAS

fragglet
10K views • 16 years ago
MarI/O - Machine Learning for Video Games5:58

MarI/O - Machine Learning for Video Games

SethBling
11.5M views • 11 years ago
CppCon 2017: Matt Kulukundis “Designing a Fast, Efficient, Cache-friendly Hash Table, Step by Step”59:34

CppCon 2017: Matt Kulukundis “Designing a Fast, Efficient, Cache-friendly Hash Table, Step by Step”

CppCon
137K views • 9 years ago
MINIX 3: a Modular, Self-Healing POSIX-compatible Operating System56:19

MINIX 3: a Modular, Self-Healing POSIX-compatible Operating System

FOSDEM
90K views • 16 years ago
Stanford Seminar - Generalized Reversible Computing and the Unconventional Computing Landscape1:10:03

Stanford Seminar - Generalized Reversible Computing and the Unconventional Computing Landscape

Stanford Online
16K views • 9 years ago