Download Game! Currently 74 players. Last logged in:NkvdArasakaPanthosPantti

Blitzer's Blog >> 73003

Back to blogs index
Posted: 09 Oct 2026 13:06 [ permalink ]
This is the ultimate test of the Omega Mesh. We are going to deploy three
different Actors across three different simulated geographical edge nodes.
Thanks to the location-transparent design of the LocalRouter and
SupervisorEngine you built, when an Actor yields a call_other envelope, the
network automatically discovers which node holds the target Actor by seeing
which SupervisorEngine responds to the this.actors.get() check.
We will deploy two "Workers" that simulate heavy database/math operations by
sleeping, and one "Master" node that triggers them both sequentially over the
mesh and sums their output.
1. Deploy the Helsinki Worker
Go to the [ Deploy Actor ] panel in your Mission Control dashboard.
 * Target Node: Engine#Helsinki
 * Actor ID: Actor#WorkerHelsinki
 * Payload:
[
  "do",
  ["def", "crunch", ["multiplier"],
    ["do",
      ["timer:sleep", 1000],
      ["*", "multiplier", 10]
    ]
  ],
  ["register-object", ["str", "Actor#WorkerHelsinki"]]
]

Click DEPLOY PAYLOAD.
2. Deploy the Oulu Worker
Now, deploy the second worker to the northern node. It does slightly heavier
"work" (a 1.5-second sleep) and uses a different multiplier.
 * Target Node: Engine#Oulu
 * Actor ID: Actor#WorkerOulu
 * Payload:
[
  "do",
  ["def", "crunch", ["multiplier"],
    ["do",
      ["timer:sleep", 1500],
      ["*", "multiplier", 20]
    ]
  ],
  ["register-object", ["str", "Actor#WorkerOulu"]]
]

Click DEPLOY PAYLOAD.
3. Deploy the Master Reducer (Tampere)
Deploy the orchestrator to Tampere. This Actor uses the let block to define
two variables, setting their values by dispatching call-other network
envelopes to the workers, and finally reduces them with an addition operator.
 * Target Node: Engine#Tampere
 * Actor ID: Actor#Master
 * Payload:
[
  "do",
  ["def", "reduce_job", [],
    ["let", [
        ["h_res", ["call-other", ["str", "Actor#WorkerHelsinki"], ["str",
"crunch"], 5]],
        ["o_res", ["call-other", ["str", "Actor#WorkerOulu"], ["str",
"crunch"], 5]]
      ],
      ["+", "h_res", "o_res"]
    ]
  ],
  ["register-object", ["str", "Actor#Master"]]
]

Click DEPLOY PAYLOAD.
4. Execute the Distributed Compute Job
Everything is staged. Now, go to the [ Execute Actor (HTTP) ] panel:
 * Select Engine#Tampere
 * Enter Actor#Master
 * Enter method reduce_job
 * Click SEND HTTP POST
Watch the terminal logs closely!
You will see Tampere receive the request, immediately pause its execution, and
fire an envelope to Helsinki. Helsinki will run crunch, sleep for 1 second,
and reply with 50. Tampere will then resume, immediately pause again, and fire
an envelope to Oulu. Oulu will run crunch, sleep for 1.5 seconds, and reply
with 100. Tampere will finally resume, add them together, and pipe RESULT: 150
back to your browser window.