Skip to content

Conversation

@DiegoTavares
Copy link
Collaborator

@DiegoTavares DiegoTavares commented Dec 17, 2025

Add a new booking mode that doesn't take cores and memory into consideration, but a predefined limit on how many concurrent frames a host is allowed to run.

Rationale: Booking by slot is useful for pipelines where frames are small and limited not by their
cpu/memory consumption but by other resources like storage bandwidth or network availability. In
these scenarios, limiting the concurrency is more important than the resource consumption.

Attention:* This branch is stacked on top of #2002

Tasks:

  • Implement booking logic on Scheduler
  • Add new columns to Host to mark how many slots are available and fill them up on Cuebot
  • Add new column to Layer to define slot limit and implement logic to fill it up on Cuebot
  • Handle new attributes on Host and Layer using pycue
  • Handle new attributes on Host and Layer using pyoutline
  • Allow setting hosts' slot limit on cuegui
  • Change rqd to ignore core count for slot base booking
  • Change scheduler to mark slot layers as non-threadable

Cuegui Changes

Add a new column to HostMonitorTree to show the number of concurrent slots:
Screenshot 2025-12-18 at 10 34 19 AM

Add a new menu option on HostMonitorTree to change the concurrent slots limit value:
Screenshot 2025-12-18 at 10 34 26 AM
Screenshot 2025-12-18 at 10 37 07 AM

This field limits the number of concurrent frames allowed to run on a specific host.
This commit is the first step towards the goal of allowing a new booking mode that doesn't take
cores and memory into consideration, but a predefined limit on how many concurrent frames a host is
allowed to run.

Rationale: Booking by slot is useful for pipelines where frames are small and limited not by their
cpu/memory consumption but by other resources like storage bandwith or network availability. In
these scenarios, limiting the concurrency is more important than the resource consumption.
Add slots_required attribute to layer for slot-based booking
Add a menu action for setting a host's slot limit.
When a limit is defined, booking will only allocate layers with slots_required > 0 to be executed on this host. Which means regular booking by cores/memory/gpu becomes disabled.
(0 for no limit, >0 for specific limit)

Changes:
 - Add new proto field to Host and NestedHost
 - Change pycue to allow setting concurrent_procs_limit
 - Change cuegui action menu to add an option to update the new field
 - Update Cuebot to receive the request and update the database
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant