Skip to content

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.