Describe your experiment in a YAML file β Kiso handles provisioning, software setup, execution, and result collection.
Setting up experiments across cloud and edge testbeds typically means writing custom provisioning scripts, manually installing software on remote nodes, and stitching together execution logic for each new environment. This work is repetitive, error-prone, and hard to reproduce.
Kiso replaces that with a single declarative configuration file. The same experiment definition runs on Chameleon Cloud, FABRIC, or a local Vagrant VM β no changes to your experiment code required.
pip install kiso
kiso check experiment.yml # validate your config
kiso up experiment.yml # provision resources and install software
kiso run experiment.yml # run the experiment
kiso down experiment.yml # tear down resourcesSee Getting Started for a complete walkthrough, or use the experiment template to scaffold a new experiment.
| Category | Options |
|---|---|
| Testbeds | Chameleon Cloud, Chameleon Edge, FABRIC, Vagrant |
| Software | Docker, Apptainer, Ollama |
| Deployment | HTCondor |
| Experiments | Pegasus workflows, Shell scripts |
New testbeds, software, and experiment types can be added as plugins via Python entry points. See Extending Kiso.
- Getting Started β install Kiso and run your first experiment
- Concepts β understand sites, labels, software, deployments, and experiments
- Experiment Configuration β full YAML schema reference
- Example Experiments β real-world experiments built with Kiso
- Extending Kiso β add custom testbeds, software, and experiment types
- Full Documentation
Contributions are welcome. To get started:
git clone https://github.com/pegasus-isi/kiso.git
cd kiso
pip install -e ".[all]"
pre-commit installPlease follow conventional commits for commit messages. Open an issue before submitting large changes.
- Pegasus Workflow Management System β scientific workflow engine used to define and execute experiments in Kiso
- EnOSlib β infrastructure management library that Kiso builds on for provisioning and remote execution
- Chameleon Cloud β NSF-funded cloud testbed supported by Kiso
- FABRIC β nationwide programmable research infrastructure supported by Kiso
- Vagrant β tool for managing local VMs; used by Kiso for local development without a cloud account
- VirtualBox β virtualization platform used as the default Vagrant backend
Kiso is funded by the National Science Foundation (NSF) under award 2403051.
Apache 2.0 Β© Pegasus ISI
