cirruslabs / orchard

Orchestrator for running Tart Virtual Machines on a cluster of Apple Silicon devices
Other
194 stars 16 forks source link

Reactive Scheduling #67

Closed fkorotkov closed 1 year ago

fkorotkov commented 1 year ago

Before we had two main loops: controller loop to assign VMs and worker loop to start VMs. Each of the loops was performed upon an interval every N seconds.

This change introduces a mechanism for reactively requesting loop execution:

  1. Controller loop will be executed upon VM creation to try to immediately schedule.
  2. A worker will be notified upon a VM assigment and worker loop will be requested to sync immediately.

    Fixes #31