distribution_silo (faber_neuroevolution v1.2.4)

View Source

Distribution Silo - Mesh networking, island migration, and load balancing.

Part of the Liquid Conglomerate v2 architecture. The Distribution Silo manages: Island statistics and topology Migration between islands Load balancing across nodes Network connectivity Remote capacity tracking

Time Constant

τ = 60 (slow adaptation for distribution dynamics)

Cross-Silo Signals

Outgoing: network_latency to temporal: Network delay information remote_capacity to resource: Available remote compute migration_pressure to competitive: Migration opportunity island_diversity to ecological: Cross-island diversity

Incoming: local_pressure from resource: Local resource pressure compute_availability from temporal: Time budget available arms_race_load from competitive: Competition intensity abundance_signal from ecological: Resource levels

Summary

Functions

apply_actuators(Actuators, State)

collect_sensors(State)

compute_reward(State)

emit_cross_silo_signals(State)

get_distribution_stats(Pid)

-spec get_distribution_stats(pid()) -> map().

get_island(Pid, IslandId)

-spec get_island(pid(), term()) -> {ok, map()} | not_found.

get_migrations(Pid)

-spec get_migrations(pid()) -> [map()].

get_params(Pid)

-spec get_params(pid()) -> map().

get_silo_type()

get_state(Pid)

-spec get_state(pid()) -> map().

get_time_constant()

handle_call(Request, From, State)

handle_cast(Msg, State)

handle_cross_silo_signals(Signals, State)

handle_info(Info, State)

init(Config)

init_silo(Config)

record_migration(Pid, FromIsland, ToIsland, IndividualId)

-spec record_migration(pid(), term(), term(), term()) -> ok.

register_island(Pid, IslandId)

-spec register_island(pid(), term()) -> ok.

reset(Pid)

-spec reset(pid()) -> ok.

start_link()

-spec start_link() -> {ok, pid()} | {error, term()}.

start_link(Config)

-spec start_link(map()) -> {ok, pid()} | {error, term()}.

terminate(Reason, State)

update_island_stats(Pid, IslandId, Stats)

-spec update_island_stats(pid(), term(), map()) -> ok.