Research record¶
Myxo grew out of a research programme, whose experiments these pages cite as E0 to E15. Each lives in experiments/, with a README.md, and a REPORT.md for its findings (E0's are in its README.md).
| Experiment | Directory | Subject |
|---|---|---|
| E0 | e0_testbed |
the testbed, and a minimal runtime |
| E1 | e1_transports |
what a call costs on each transport |
| E2 | e2_freethreading |
the free-threaded build |
| E3 | e3_subinterpreters |
subinterpreters |
| E4 | e4_events |
events, and whether they need a broker |
| E5 | e5_startup |
startup and packaging |
| E6 | e6_messages |
the discipline of messages |
| E7 | e7_ocm |
federation without Reva |
| E8 | e8_failures |
failure and recovery |
| E9 | e9_components |
how many components an installation needs |
| E10 | e10_targets |
one layout on several targets |
| E11 | e11_replicas |
replicas and failover |
| E12 | e12_without_redis |
running without Redis |
| E13 | e13_boundaries |
deployment boundaries, on Pyxeo |
| E14 | e14_continuum |
one installation through the continuum |
| E15 | e15_upgrade |
an upgrade, one process at a time |
uvx nox -s e10 runs an experiment, with the experiment's number in place of 10. Results are in each one's results/, with the versions they ran on.
The notes¶
| Note | Subject |
|---|---|
notes/tr/tr01.md |
technical report TR-01: the design, the experiments, the build and the port of Pyxeo's renditions |
notes/common/10-briefing.md |
the project in four questions, for a technical director |
notes/common/04-research-plan.md |
research questions, experiments, schedule and decisions |
notes/common/05-first-pass-report.md |
the first pass's results |
notes/common/08-second-pass-report.md |
the second pass's results, and the continuum |
notes/common/06-framework-plan.md |
what 0.1 contains, and its milestones |
notes/common/09-build-report.md |
the build of 0.1 |
notes/common/journal.md |
the log, deviations from the plan, mistakes and lessons |
make pdf typesets the numbered notes and the reports.
How far the numbers reach¶
The measurements have their limits, which each report states. These matter most when reading these pages:
- E10's deployment times are single runs, on a shared Apple M1 and a development server.
- E14's three runs used kind's nodes on one machine, so separate hosts remain to test.
- The rates of the job queue come from a reference machine with NVMe drives whose commits flush, with 6 cores and 12 threads.