Lasp: a little further down the Erlang rabbithole
The LASP author also has a good reading list for CRDTs. [0]<p>Here&#x27;s why I find LASP intriguing. It started with a simple question: can&#x27;t the OS just migrate a &quot;process&quot; to another machine for me?<p>For a couple decades now, we&#x27;ve been taking hardware and software originally designed to run on little islands called PCs and trying to build datacenter-scale distributed systems out of them. We&#x27;ve got kernels that can load balance workloads across many CPU cores, but we can&#x27;t reuse those to distribute work across a large number of physical machines -- because of CAP, because of unreliable networks, and because there are performance issues. So we&#x27;re reimplementing OS schedulers now [1] on machines instead of cores, but the basic building blocks we&#x27;re using don&#x27;t seem to have anticipated distributed systems very well. So there&#x27;s tons of resource waste, we&#x27;re still solving lots of hard distributed systems problems at the application layer, and we&#x27;re maintaining a huge, somewhat-historically-accidental pile of abstractions between the hardware and the distributed application running on it.<p>One wonders if and when that pile may collapse. One also wonders what a distributed-first OS might look like. LASP <i>might</i> be the first step towards a whole new computing architecture. The syntax is hideous to my eye, and I have serious questions about performance, but if I can write a long-running program that efficiently scales from 1 machine to 100,000 machines with no code changes, that might be a game changer.<p>PS. I think Meiklejohn&#x27;s decision to start by modernizing Distributed Erlang was a solid one. Distributed Erlang&#x27;s fully connected graph topology and pre-CAP approach to state probably wasn&#x27;t workable...we&#x27;ve learned a ton about distributed systems since the 80s.<p>[0] <a href="https:&#x2F;&#x2F;webcache.googleusercontent.com&#x2F;search?q=cache:QJlbCkMI68YJ:https:&#x2F;&#x2F;christophermeiklejohn.com&#x2F;crdt&#x2F;2014&#x2F;07&#x2F;22&#x2F;readings-in-crdts.html+&amp;cd=1&amp;hl=en&amp;ct=clnk&amp;gl=us" rel="nofollow">https:&#x2F;&#x2F;webcache.googleusercontent.com&#x2F;search?q=cache:QJlbCk...</a><p>[1] <a href="https:&#x2F;&#x2F;kubernetes.io&#x2F;docs&#x2F;admin&#x2F;kube-scheduler&#x2F;" rel="nofollow">https:&#x2F;&#x2F;kubernetes.io&#x2F;docs&#x2F;admin&#x2F;kube-scheduler&#x2F;</a>