Skip to content

pegasus-isi/kiso

Repository files navigation

logo-kiso

Kiso

Describe your experiment in a YAML file β€” Kiso handles provisioning, software setup, execution, and result collection.

Tests License Latest Python Versions PyPi Downloads Code Style Contributors Documentation

Why Kiso

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.

Quick Start

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 resources

See Getting Started for a complete walkthrough, or use the experiment template to scaffold a new experiment.

What's Supported

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.

Documentation

Contributing

Contributions are welcome. To get started:

git clone https://github.com/pegasus-isi/kiso.git
cd kiso
pip install -e ".[all]"
pre-commit install

Please follow conventional commits for commit messages. Open an issue before submitting large changes.

References

  • 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

Funding

Kiso is funded by the National Science Foundation (NSF) under award 2403051.

License

Apache 2.0 Β© Pegasus ISI

About

πŸ‡ Edge to Cloud Workflows: Advancing Workflow Management in the Computing Continuum.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Contributors