skip to content
==> README.md <==
1# @ajax/mesh-sched-score
2
3The fleet scheduler's feasibility filter and score:
4
5- `msc_filter`: the executor a program would run on at a member, or the first reason it cannot run
6  there (down, cordoned, backends, arch, `min_mem_mb`, avoid, a GPU node too big for the member's GPU);
7- `msc_score_terms`: the weighted terms of running it there (the processor share it would get times
8  its measured speed, CPU headroom after the move, memory headroom, spread or pack, link RTT, prefer,
9  stickiness, the owner penalty), and `msc_explain` their text.
10
11The arithmetic keeps the Rust's f32 and f64 steps in the same order, so a C and a Rust leader decide
12the same from the same inputs.
13
14## Ported from
15
16[alpha-rust-mesh](https://github.com/rsafier/alpha-rust-mesh) `crates/mesh-host/src/sched.rs`:
17`filter`, `eligible`, `Score` (`explain`), `Cx` (`simple`), `score_terms`, `score`.
18
19## Tests
20
21`tests/score.c`: the Rust's `filter_keeps_the_first_reason`, `node_shape_filters_members` (its filter
22part) and `scores_follow_share_speed_load_and_prefer`; an explain text checked against the Rust.
23
24## Licence
25
26MIT. See the repository's LICENSE.