Skip to main content

Copy-Space: validated scheduling toolkit (STRICT1, volume-based)

Project description

Copy-Space — validated scheduling toolkit for deterministic data movement

CI Release License Python

Copy-Space produces conflict-free schedules for directed data transfer demands under a deterministic resource model (STRICT1). It also provides an independent validator report with reproducible metrics.

What you get:

  • Correctness: schedule validation under STRICT1 (coverage + bandwidth + model constraints)
  • A lower bound on required ticks (lower_bound_ticks) and a normalized gap metric (gap_to_lower_bound)
  • Reproducible metrics suitable for CI gating and regression tracking

Try it in 60 seconds (hero example)

Hero workload: odd ring (15 demands, non-trivial gap to lower bound):

python3 -m venv .venv . .venv/bin/activate python -m pip install -e . copyspace-pilot --csv examples/ring15.csv --bw 256 --outdir tmp/pilot_ring15 --plot

Example output (expected shape):

baseline status=PASS ticks=12288 lb=8192 gap=4096 gapr=0.500000 util=0.7143 greedy status=PASS ticks=8778 lb=8192 gap=586 gapr=0.071533 util=0.9999

What to open after the run:

  • tmp/pilot_ring15/report_baseline.json
  • tmp/pilot_ring15/report_greedy.json
  • tmp/pilot_ring15/plot_baseline.html
  • tmp/pilot_ring15/plot_greedy.html

Bench history (smoke time series):


CLI entrypoints (Scheduler v0)

copyspace-validate --help copyspace-solve --help copyspace-pilot --help copyspace-demo-scheduler --help copyspace-bench-core --help copyspace-bench-scheduler --help

Partner-facing docs:

  • doc/partners/quickstart_pilot.md
  • doc/partners/pilot_intake.md
  • doc/partners/ci_gate_recipe.md

Technical contracts (source of truth):

  • doc/scheduler_io_v0.md
  • doc/strict1_model_v0.md

What is inside (high-level)

Scheduler v0 (pilot-facing, recommended):

  • validator + metrics (copyspace-validate)
  • solver strategies (copyspace-solve: baseline, greedy, external)
  • pilot runner (copyspace-pilot)

Under the hood (VM and toolchain):

  • minimal bit-addressable VM (space, ticks, copy slots)
  • std7_fixed image builder (mkimage_std7_fixed)
  • host-side Forth0 compiler (forth0c) and Forth0-first regression tests

Optional: VM demo (DB / analytics focus)

Build native tools:

make bins

Run demo (produces CSV):

scripts/demo_db.sh > /dev/null 2> tmp/demo.stderr cat tmp/demo.csv

Key metric in CSV:

vmrep_avg_bits_uniq_dst_per_tick

Meaning:

  • effective unique destination bits written per tick (useful write throughput)

Tests

Run all regression tests:

make test make tdd

Scheduler v0 fixtures and smokes:

  • scripts/test_scheduler.sh
  • scripts/scheduler/tests

Documentation

Start here:

  • doc/README.md

Status and roadmap:

  • doc/status.md
  • doc/roadmap.md

License

Apache-2.0 — see LICENSE Third-party notes — see THIRD_PARTY.md


Contact

Dmitri Bortoq Email: bortoq@gmail.com Telegram: @the_arctium GitHub repo: https://github.com/bortoq/copy-space

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

copy_space-0.1.3.tar.gz (21.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

copy_space-0.1.3-py3-none-any.whl (27.5 kB view details)

Uploaded Python 3

File details

Details for the file copy_space-0.1.3.tar.gz.

File metadata

  • Download URL: copy_space-0.1.3.tar.gz
  • Upload date:
  • Size: 21.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.4

File hashes

Hashes for copy_space-0.1.3.tar.gz
Algorithm Hash digest
SHA256 2e5b13d4a55308369eea778a8231fa34320470842359a2ed0176829a0c70e781
MD5 52df828b3a8c7b8e1d8b75732229b220
BLAKE2b-256 9b53fa4f96a3f441e6580fdd84998fd038530a0d4ad5458ef293ccd85fc2f4ea

See more details on using hashes here.

File details

Details for the file copy_space-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: copy_space-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 27.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.4

File hashes

Hashes for copy_space-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 7f37e00ca201b74bc1bfb0793219e7ad426d6eace4336791472e816140e3e351
MD5 4d16bdcb602dc9dc9ff05974d0f0d06f
BLAKE2b-256 b176d208de118f0ce097688a2260b195bbe5c9d4e0045b53717767a47e65630a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page