1 of 17

RAJIV MAYANI · KARAN VAHI · MATS RYNGE · EWA DEELMAN

2 of 17

What is Kiso?

Kiso helps researchers run and reproduce experiments across edge, cloud, and testbed environments, like Chameleon , FABRIC, etc. You (as a USER) define your experiments declaratively and let Kiso handle the infrastructure complexity. Kiso is designed for

  • Agentic experiments.
  • Workflow experiments across testbeds with built-in support for Pegasus.

For your experiments, Kiso will

1

Provision Resources On

2

Install & Configure Software

3

Run Experiments

  • Shell-based experiments
  • Agentic AI experiments
  • Pegasus scientific workflows
  • Multi-site data pipelines
  • Complex workflow orchestration

NSF Award #2403051 — OAC Core: Edge to Cloud Workflows

3 of 17

Running Experiments Shouldn't Be the Hard Part

Without Kiso

  • Days spent provisioning VMs
  • Software installation by hand
  • Results scattered across remote nodes

With Kiso

  • Describe your experiment in YAML
  • One command provisions everything
  • Specified results retrieved automatically
  • Reproduce experiments reliably

Kiso handles the infrastructure — you focus on the science.

NSF Award #2403051 — OAC Core: Edge to Cloud Workflows

4 of 17

What Kiso Can Do on Chameleon

1

Provision Resources

  • Provision nodes on Chameleon
  • Provision nodes on Chameleon Edge
  • Provision nodes across multiple sites

2

Install & Configure Software

  • Docker
  • Container runtime for packaging and deploying experiment environments
  • Apptainer
  • HPC-native containers for running on shared cluster resources
  • HTCondor
  • Distributed job scheduler for high-throughput computing workloads
  • Ollama
  • Local LLM inference server for running AI models on provisioned GPUs

3

Run Experiments

  • Shell-based experiments
  • Agentic AI experiments
  • Pegasus scientific workflows
  • Multi-site data pipelines
  • Complex workflow orchestration
  • Edge-to-Cloud experiments

Chameleon provides 7 sites with large-scale compute 5,000 cores , storage 5 PB, etc. across the U.S., enabling Kiso to orchestrate complex experiments at scale.

NSF Award #2403051 — OAC Core: Edge to Cloud Workflows

5 of 17

Supported Resources Sites

Experiment Definition (YAML)

Setup Resources

Provision Resources

Run Experiments

Preserve Results

Deprovision Resources

1

2

3

4

5

The Big Picture

NSF Award #2403051 — OAC Core: Edge to Cloud Workflows

6 of 17

Pydantic Agent Example

What It Does

  • Provisions a bare-metal node via Chameleon on TACC (or optionally Vagrant/VirtualBox)
  • Installs Ollama to serve a local open-source LLM
  • Pull the required model (gpt-oss:20b)
  • Runs a Python agent using Pydantic for structured output

How It Works

  • Agent asks a question (e.g., "Where were the 2012 Olympics held?")
  • Parses response into a typed CityLocation object
  • Serves as a template for more complex agentic workloads

Run On

  • Chameleon · Vagrant

NSF Award #2403051 — OAC Core: Edge to Cloud Workflows

7 of 17

Pydantic Agent Example — YAML Config

sites:

- kind: chameleon

rc_file: secrets/tacc-app-cred-oac-edge-openrc.sh

walltime: "02:00:00"

lease_name: tacc-lease

key_name: mayani-mac-mini

image: CC-Ubuntu22.04

resources:

machines:

- labels:[ollama, agent]

flavour: compute_skylake

networks:

- sharednet1

experiments:

- kind: shell

name: shell-experiment

scripts:

- labels: [agent]

script: |

sudo apt update

sudo apt -y install python3 python3-pip python3-setuptools

pip3 install --break-system-packages --user pydantic-ai

- labels: [agent]

script: |

bin/agent.py > agent-output.txt

outputs:

- labels: [agent]

src: agent-output.txt

dst: ./

⚙️ Infrastructure

🧪 Experiment

📦 Software

software:

ollama:

- labels: [ollama]

models: [gpt-oss:20b]

Provision 1 bare-metal node with

compute_skylake flavour

Install Ollama and Download gpt-oss:20b model

Install Dependencies Run the Agent 🤖

8 of 17

Setting up the Pydantic Example

Step 1

Clone the Repository

Pull the Kiso agentic experiment source code from the Git repository to your local machine.

https://github.com/pegasus-isi/kiso-chameleon-agent

Step 2

Setup Chameleon Credentials

  • Create an account on Chameleon
  • Create a new or join an existing Chameleon project
  • Generate Chameleon SSH keypair
  • Create a tacc-app-cred-oac-edge-openrc.sh file and place it in the secrets directory
  • Modify the key_name field in experiment.yml file to be your SSH key name

Step 3

Install Kiso

Install the Kiso package with the Chameleon extra to get all required dependencies.

pip install kiso[chameleon]

NSF Award #2403051 — OAC Core: Edge to Cloud Workflows

9 of 17

Try Kiso on Chameleon

Step 1: Validate kiso check experiment.yml

Step 2: Setup kiso up experiment.yml

Step 3: Run kiso run experiment.yml

Step 4: Destroy kiso down experiment.yml

Resources

Website: kiso.scitech.group

Docs: kiso.readthedocs.org

Starter Repo: github.com/pegasus-isi/kiso-chameleon-agent

GitHub: github.com/pegasus-isi/kiso

NSF Award #2403051 — OAC Core: Edge to Cloud Workflows

$ cat agent-output.txt

city='London' country='United Kingdom'

RunUsage(input_tokens=138, output_tokens=198, requests=1)

kiso-chameleon-agent — cat agent-output.txt

10 of 17

Chameleon: Needs and Challenges

What worked on Chameleon

  • Ability to run experiments created years ago with minimal changes by setting chi.context.version

Challenges Encountered

  • Random InternalServerErrors causing failures
  • Chameleon Edge API timing out on execute, upload, and download methods

What would be great to have

  • Ability to SSH into Chameleon Edge containers maybe via a SSH jump host
  • Proposal: ssh -J user@jump-host <container-ip-or-uuid>

NSF Award #2403051 — OAC Core: Edge to Cloud Workflows

11 of 17

Workflow Experiment – Kiso Pegasus Integration

  • Distributed workflow experiments across testbeds
  • Performs common actions for Pegasus workflows
    • Install Pegasus
    • Install HTCondor cluster
    • Configure HTCondor cluster
    • Install Docker
    • Install Apptainer

NSF Award #2403051 — OAC Core: Edge to Cloud Workflows

12 of 17

Step 1 – Experiment Setup

CHI@Edge

Kiso

Chameleon Cloud

VM-1

Label: Central Manager

VM-2

Label: Submit

Edge Node 1

Label: Edge

Edge Node 2

Label: Edge

  1. Provision Resources
  2. Install Software
  3. Setup HTCondor Cluster

13 of 17

Step 2 – Run Experiment

CHI@Edge

Kiso

Chameleon Cloud

VM-1

Label: Central Manager

VM-2

Label: Submit

1. Copy inputs to Submit node

2. Run Pegasus workflow from Submit node

3. Copy results back to Kiso node

1

3

2

3

3

Edge Node 1

Label: Edge

Edge Node 2

Label: Edge

14 of 17

Running Workflows – DAG > Job Queue > Execution

CHI@Edge

Kiso

Chameleon Cloud

VM-1

Label: Central Manager

Edge Node 1

Label: Edge

Edge Node 2

Label: Edge

VM-2

Label: Submit

A

B

C

D

Pegasus Workflow

Job

Queue

15 of 17

Kiso + Chameleon: Getting Started

Prerequisites

  • A Chameleon account with an active project allocation
  • Python 3.9+ and pip installed locally
  • Chameleon SSH keys configured

Quick Start Steps

  • Clone the starter repo: git clone https://github.com/pegasus-isi/kiso-chameleon-starter
  • Install Kiso via pip: pip install kiso[chameleon]
  • Place your TACC credentials file, named (tacc-app-cred-oac-edge-openrc.sh) in the secrets directory
  • Modify the key_name in the experiment-shell.yml file as per your SSH key name.
  • Run: kiso up experiment-shell.yml — provisions nodes, installs and configures software for your experiment
  • Run: kiso run experiment-shell.yml — runs a hello world experiment

What Happens Next

  • Kiso provisions Chameleon nodes, installs dependencies, runs your experiment and brings the results back automatically
  • 🎉 Start defining your experiment using experiment-shell.yml as a template

NSF Award #2403051 — OAC Core: Edge to Cloud Workflows

16 of 17

Resources & Links

W

Kiso Website

kiso.scitech.group

Documentation

kiso.readthedocs.org

GitHub Repository

github.com/pegasus-isi/kiso

GitHub Chameleon Starter

github.com/pegasus-isi/kiso-chameleon-starter

Get Help

kiso.readthedocs.io/contact

17 of 17

Thank You

Rajiv Mayani · Karan Vahi · Mats Rynge · Ewa Deelman