§ 2.1  ·  Research area

Distributed orchestration

AHISTER, DEBOHAC, and the cluster lifecycle: distributing evolutionary search across heterogeneous compute under hierarchical capacity and budget.

§ 1   Why orchestration

Distributing evolutionary search

A symbolic-regression run is not a single optimization loop. It is a population that fans out into independent evolutionary branches, each running for as long as it makes progress. When branches stagnate they are paired, and each pair forks into a tournament branch that intensifies the most promising material and an advanced branch that explores away from it. Those branches can fork further. The structure that emerges is a tree of cooperating computations, not a flat job queue.

Distributing this tree across heterogeneous compute is hard for two coupled reasons. Where a newly forked branch should run depends on what compute is available below the current node, and that changes as siblings finish or fail. How much effort a branch may consume depends on what budget its parent still has, and budget can be reclaimed when a sibling stalls. Conventional distributed schedulers conflate the two into a single resource quota and lose the ability to balance them.

Ufinq's orchestration is split across two complementary algorithms. AHISTER governs within-branch dynamics: the lifecycle of a single branch from isolation through arena to asymmetric split. DEBOHAC governs between-branch dynamics: how a tree of cooperating instances delegates branches downward, shares budget, and recovers from failure.

§ 2   Sub-areas

Four threads of work

§ 2.1

AHISTER: within-branch lifecycle

  • Adaptive isolation. Every branch develops in isolation until its own stagnation signal fires. Branches do not migrate on a fixed schedule; the schedule is the search dynamics itself.
  • Tournament arena. A stagnated branch joins a pool of finished branches, and the two with the closest maturity are paired. Their elites combine into a tournament branch (intensification, narrow elite); everything else combines into an advanced branch (diversification, wide tail).
  • Roles, not strategies. Every branch pursues the same objective. What differs is its role: fresh exploration, a successor recombined from a pair, or a restart seeded from the Hall of Fame. An earlier design alternated search strategies between successors, each with its own gene pool; measured against the simpler role model it showed no advantage and was removed.
  • Open questions. Opponent selection beyond closest maturity; an adaptive tournament/advanced split under different stagnation signatures.
§ 2.2

DEBOHAC: between-branch orchestration

  • Two currencies, opposite directions. Capacity flows upward as periodic situation reports that aggregate hierarchically; each tier presents its entire subtree as a single abstract unit to the level above. Budget flows downward as the authority to evolve, and is topped up when most of a share is used.
  • Subsidiarity at every level. Every instance runs the same three-step cycle: prefer delegating downward to a subordinate with free capacity; otherwise run locally, if this instance is allowed to host work; otherwise escalate upward. A root can be set to coordinate only, in which case work waits for a follower instead of landing on the root.
  • Bounded propagation. Each branch carries a signed depth and a hop count, both bounded, so a branch cannot circulate indefinitely.
  • Failure recovery. When a peer drops, the branches it was running are re-delegated to a surviving follower or adopted locally; only when neither is possible does a branch end with a failed outcome. Branches that arrived from the lost peer are cancelled. No consensus protocol runs.
  • Fresh capacity. Capacity reports expire, and a peer that declines work is left alone for a cooling period, so routing follows what is true now.
  • Open questions. Hop policy when topology changes mid-run; convergence proofs for the recursive three-step cycle under arbitrary failure patterns.
§ 2.3

Cluster transport & data plane

  • Virtual-thread transport. The cluster transport runs on virtual threads over TLS sockets. One virtual thread per peer connection, blocking I/O, push-based messaging.
  • Peer-local datastore. Datasets are referenced by ID. A peer fetches the chunks it lacks from the peer that handed it the work, caches them locally with least-recently-used eviction, and deduplicates requests in flight, so a dataset is pulled at most once per peer.
  • Branch envelopes. A delegated branch carries its datasets by reference, not inline. The receiving peer pulls only what it has not seen, which removes the duplicate-payload problem under fan-out delegation.
  • Open questions. Adaptive chunk size under varying network quality; backpressure when one peer is saturated by fetch demand.
§ 2.4

Shared budget & capacity

  • A partitioned budget. The budget of a run is a tree of allocations. A delegated branch receives a share carved from its parent's; what it spends is reported back with its state.
  • Accounting at the work boundary. Cost is charged when a unit of work completes, and cancellation is observed at the same boundary. A branch can overshoot its bound by at most one unit of work.
  • Hierarchical capacity rollup. Capacity reported by a peer already represents the entire subtree below it. The recursive aggregation is what makes a single three-step cycle correct at every depth without special-casing the leaves.
  • Open questions. Non-uniform cost models when peers expose accelerators; budget transfer between sibling subtrees that finish out of phase.
§ 3   Why it matters

Three consequences of this design

Heterogeneity is freeA peer with twice the capacity reports twice the capacity; the three-step cycle routes more work toward it. No tuning, no manual placement, no node-affinity rules.
Decisions are localEvery instance decides from its own view of capacity reports. There is no coordination round-trip on the hot path.
Resilience is structuralRecovery is built into the routing, not bolted on. A peer dropping out triggers re-delegation and cancellation locally, without a cluster-wide agreement step.
§ 4   Notes & references

Related material

Two papers are in preparation: AHISTER describes the within-branch lifecycle in detail; DEBOHAC describes the cluster scheme. Both are listed under Papers.

The system view of the cluster (coordinating branch, periphery branches, cluster ring) is described under Technology § 2 with Figure 2. The single-branch lifecycle (isolation → arena → asymmetric split) is described under Technology § 1 with Figure 1.

Read

Continue reading

Other research areas are listed under Research. Published work lives on Papers; short-form notes on Notes.

Back to Research areas