skip to content
[readonly]

How a program is placed across the cluster: local, pinned to one machine, or split by an assignment of its parts (with the auto split), and each machine's role

sh
$ sexc add @ajax/mesh-place-mode
  • total 3
  • drwxr-xr-x-../
  • drwxr-xr-x-Oct 27 04:27v/# 2 versions
  • drwxr-xr-x-Oct 27 04:27files/# the files of 0.1.1
latest
0.1.1, published Oct 27 04:27 by ajax
owners
ajax
license
MIT
dependencies
@ajax/mesh-check ^0.1.0, @ajax/mesh-mt ^0.1.0, @ajax/mesh-parse ^0.1.0, @ajax/rust-fmt ^0.1.0, @ajax/mesh-abi-base ^0.1.0, @ajax/mesh-abi-placement ^0.1.0
dependents
@ajax/mesh-fleet-edit, @ajax/mesh-place-wire, @ajax/mesh-placer
keywords
mesh alphaos fleet placement split assignment
homepage
https://github.com/thomasdavis/alpha-c-mesh/tree/main/packages/mesh-place-mode
repository
https://github.com/thomasdavis/alpha-c-mesh
==> README.md <==
1# @ajax/mesh-place-mode
2
3How a program is placed across a cluster of N machines: `local`, pinned to one machine (`pin 2`), or
4split by an assignment of its parts to systems (`split`, `split 0,1`, `split 1:3,2:1`, and `split auto`,
5weighted by each machine's measured time per part); the wire codes (PLACE_*, PX_PLACE_ASSIGN); and each
6machine's role in a mode (local, runner, mirror, owner, follower), where input goes, which parts it
7renders, and whose state continues across a change.
8
9## Ported from
10
11[alpha-rust-mesh](https://github.com/rsafier/alpha-rust-mesh) `crates/mesh-host/src/place.rs`:
12`Assign` (`new`, `owner`, `mask_of`, `members`, `list`, `counts`, `even`, `auto`, `check`), `mask`,
13`Mode` (`parse`, `code`, `assign_bytes`, `from_code`, `label`, `allowed`, `fits`), `Target`, `Role`,
14`role`, `runs`, `input_to`, `parts_of`, `authority`.
15
16## Tests
17
18`tests/mode.c`: the Rust's `modes_and_assignments`, `roles_input_authority` and
19`auto_weights_the_slow_machine_down`, with the error messages.
20
21## Licence
22
23MIT. See the repository's LICENSE.