Runa reviewed the use of Terracotta for this and finished publishing swarmiji as a library of distributed agents.
One of the real differences between an SMP system and a cluster is shared memory. In a cluster, code must request data, while in SMP, it can simply read it directly. This has some good advantages and some (scalable) disadvantages.
Clojure STM, which differs significantly from many other STM systems, is based on the concept of relative time , measured by the generation counter for each transaction. Without general access to the counter of this generation, he cannot give events an order and cannot carry out this work (I apologize for this overly simple explanation).
One of the main motives of STM was to create a system that really used shared memory concurrency , ensuring, for example, that readers never wait for writers and readers to always see reliable data. Since it was built to use shared memory, it loses a lot of its appeal without shared memory.
The actor model (ala Erlang) is better suited for distributed computing.
Or, in other words: perhaps we should not try to put a square snap in a distributed parallel hole.
source share