Download c-reference/router.h from Snapkitty/sparse-router-formal: direct link, hf CLI and curl.
- Browser
- Download file 4.46 kB
-
https://huggingface.co/Snapkitty/sparse-router-formal/resolve/main/c-reference/router.h
- Command line
-
hf download hf://Snapkitty/sparse-router-formal/c-reference/router.h
-
curl -L -o router.h https://huggingface.co/Snapkitty/sparse-router-formal/resolve/main/c-reference/router.h
4.46 kB
| /* SPDX-License-Identifier: LicenseRef-Sovereign-Leviathan-SL-AGPL3-001 | |
| * Copyright (C) 2026 SNAPKITTYWEST / Sovereign Kernel Project | |
| * CLONE_GATE: sparse-router-formal::router | |
| * | |
| * Sparse Router — locality-aware work-stealing scheduler | |
| * | |
| * Novel method: routing decisions traverse only the sparse edge set | |
| * (bounded fan-out per memory region) rather than scanning all workers. | |
| * Formal invariant: every routed task lands on exactly one worker deque, | |
| * and region ownership converges to the worker with highest cumulative | |
| * affinity score (proven in formal/SparseRouter.lean). | |
| */ | |
| static inline worker_id_t select_least_loaded(const router_state_t *state) { | |
| worker_id_t best = 0; | |
| uint32_t min_load = UINT32_MAX; | |
| for (uint32_t i = 0; i < state->num_workers; i++) { | |
| if (state->workers[i].deque.count < min_load) { | |
| min_load = state->workers[i].deque.count; | |
| best = i; | |
| } | |
| } | |
| return best; | |
| } | |
| static inline worker_id_t raw_route(router_state_t *state, task_t *task) { | |
| region_id_t r = task->memory_region; | |
| /* Phase 1: region-owner fast path */ | |
| if (state->region_table[r].has_owner) { | |
| worker_id_t owner = state->region_table[r].owner; | |
| deque_push(&state->workers[owner].deque, task); | |
| state->workers[owner].local_count++; | |
| state->region_table[r].access_count++; | |
| state->region_table[r].last_access_tick = state->global_tick; | |
| return owner; | |
| } | |
| /* Phase 2: sparse edge traversal — O(MAX_SPARSE_EDGES) not O(num_workers) */ | |
| const sparse_edge_set_t *candidates = &state->sparse_edges[r]; | |
| worker_id_t best = WORKER_NONE; | |
| score_t best_score = INT64_MIN; | |
| for (uint32_t i = 0; i < candidates->count; i++) { | |
| worker_id_t wid = candidates->workers[i]; | |
| score_t s = compute_score(&state->workers[wid], task); | |
| if (s > best_score) { | |
| best_score = s; | |
| best = wid; | |
| } | |
| } | |
| if (best != WORKER_NONE) { | |
| deque_push(&state->workers[best].deque, task); | |
| state->workers[best].local_count++; | |
| state->region_table[r].owner = best; | |
| state->region_table[r].has_owner = true; | |
| state->region_table[r].access_count = 1; | |
| state->region_table[r].last_access_tick = state->global_tick; | |
| return best; | |
| } | |
| /* Phase 3: global fallback — no sparse edges for this region */ | |
| worker_id_t fallback = select_least_loaded(state); | |
| deque_push(&state->workers[fallback].deque, task); | |
| state->workers[fallback].local_count++; | |
| state->region_table[r].owner = fallback; | |
| state->region_table[r].has_owner = true; | |
| state->region_table[r].access_count = 1; | |
| state->region_table[r].last_access_tick = state->global_tick; | |
| return fallback; | |
| } | |
| /* Recursive steal chain: if a worker is idle, steal from the | |
| highest-loaded sparse neighbor, recursively rebalancing. */ | |
| static inline bool recursive_steal(router_state_t *state, worker_id_t thief) { | |
| worker_t *tw = &state->workers[thief]; | |
| if (tw->deque.count > 0) return false; | |
| worker_id_t victim = WORKER_NONE; | |
| uint32_t max_load = 0; | |
| for (uint32_t r = 0; r < MAX_REGIONS; r++) { | |
| if (!state->region_table[r].has_owner) continue; | |
| if (state->region_table[r].owner == thief) continue; | |
| const sparse_edge_set_t *edges = &state->sparse_edges[r]; | |
| for (uint32_t i = 0; i < edges->count; i++) { | |
| if (edges->workers[i] == thief) { | |
| worker_id_t owner = state->region_table[r].owner; | |
| if (state->workers[owner].deque.count > max_load) { | |
| max_load = state->workers[owner].deque.count; | |
| victim = owner; | |
| } | |
| break; | |
| } | |
| } | |
| } | |
| if (victim == WORKER_NONE) { | |
| for (uint32_t i = 0; i < state->num_workers; i++) { | |
| if (i == thief) continue; | |
| if (state->workers[i].deque.count > max_load) { | |
| max_load = state->workers[i].deque.count; | |
| victim = i; | |
| } | |
| } | |
| } | |
| if (victim == WORKER_NONE || max_load < 2) return false; | |
| task_t stolen; | |
| if (!deque_steal(&state->workers[victim].deque, &stolen)) return false; | |
| deque_push(&tw->deque, &stolen); | |
| tw->steal_count++; | |
| return true; | |
| } | |