What a program needs and prefers from the fleet scheduler (backends, arch, terms, replicas, groups, reservations) and its one-token wire form
$ sexc add @ajax/mesh-sched-needs- total 3
- drwxr-xr-x-../
- drwxr-xr-x-Oct 27 04:08v/# 1 version
- drwxr-xr-x-Oct 27 04:08files/# the files of 0.1.0
- latest
- 0.1.0, published Oct 27 04:08 by ajax
- owners
- ajax
- license
- MIT
- dependencies
- @ajax/mesh-check ^0.1.0, @ajax/mesh-manifest-needs ^0.1.0, @ajax/mesh-text ^0.1.0, @ajax/mesh-mt ^0.1.0, @ajax/mesh-parse ^0.1.0, @ajax/rust-fmt ^0.1.0, @ajax/mesh-sched-member ^0.1.0, @ajax/mesh-abi-base ^0.1.0, @ajax/mesh-abi-backend ^0.1.0
- dependents
- @ajax/mesh-fleet-doc, @ajax/mesh-fleet-edit, @ajax/mesh-jobd, @ajax/mesh-jobs-sched, @ajax/mesh-peer-relay, @ajax/mesh-sched-place, @ajax/mesh-sched-score, @ajax/mesh-sched-tracker
- keywords
- mesh alphaos fleet scheduler needs requirements
- homepage
- https://github.com/thomasdavis/alpha-c-mesh/tree/main/packages/mesh-sched-needs
- repository
- https://github.com/thomasdavis/alpha-c-mesh
1# @ajax/mesh-sched-needs 2 3What a program needs and prefers from the fleet scheduler (`msn_needs`): backends, arch, 4`min_mem_mb`, `prefer` / `avoid` terms (`cuda`, `host:dgx-00`, `system:2`, `arch:aarch64`), 5`replicas = N | all`, spread or pack, `colocate_with`, the pipes it feeds, a lockstep group 6(`group_size`, `group_members`), priority, `cpu` / `mem_mb` reservations, how it may migrate, and its 7GPU node shape. `msn_encode` / `msn_decode` are the document's one-token form 8(`b=cuda;ar=-;mm=0;...`), byte for byte the Rust's; `msn_summary` is the `sched` line. 9 10## Ported from 11 12[alpha-rust-mesh](https://github.com/rsafier/alpha-rust-mesh) `crates/mesh-host/src/sched.rs`: 13`Replicas`, `Migrate`, `Term` (`parse`, `word`, `matches`) and `Needs` (`default`, `encode`, `decode`, 14`summary`). 15 16## Tests 17 18`tests/needs.c`: the Rust's `needs_round_trip_and_terms`, the exact encodings and summaries, every 19decode error. The cpu value is written with Rust's float Display (`@ajax/rust-fmt`). 20 21## Licence 22 23MIT. See the repository's LICENSE.