Skip to content

[Feature]: Horizontal scaling of agents with runtime pools #1981

@mauricioaniche

Description

@mauricioaniche

Deployment type

Self-hosted

What do you want and why?

Currently, agents are binded to a single runtime and tasks enqueue with a concrete runtime decided up front up. This means there's no way to horizontally scale a single agent.

Imagine I have a couple dozen developers in my team opening up tasks using the "Developer" agent. Some legacy apps may require a lot of CPU and RAM when building and running tests, so even if I vertically scale the machine, I'll get to a limit.

Proposed solution (optional)

I don't know the internals that well, but I would explore something like:

  • Required: Change the agents -> runtime model to agent -> runtime pool. This way, we can add more runtimes to the pool of that agent whenever needed.
  • In a v1, we could still decide how to assign a task to a runtime upfront, but with some simple balancing algorithm. In a v2, ideally, we'd assign the task to the truly next available runtime.

Screenshots / mockups (optional)

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions