Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement dagent resource management #589

Open
polaroi8d opened this issue May 8, 2023 · 8 comments
Open

Implement dagent resource management #589

polaroi8d opened this issue May 8, 2023 · 8 comments
Labels
issue:enhancement New feature or request lang:golang lang:typescript pr:feat severity:medium source:agent The scope of the issue or pull request is agent. source:proto Protobuf related changes. source:web The scope of the issue or pull request is web.

Comments

@polaroi8d
Copy link
Collaborator

We ignored this since it may not have a significant impact, but it would be nice to have and not too complicated to implement.

Compared to Kubernetes, resource requests don't really make sense for us because we don't need to instruct the scheduler since it doesn't exist. However, Docker does have CPU and memory limits.

Affected scope:

  • golang: Add CPU and memory limits to the builder, dagent, and proto.
  • crux: Display the options on the UI.

Please provide a test case in golang as well.

Additional information: Our platform backend is built with Node.js called crux, and the UI built with React is called crux-ui.

@polaroi8d polaroi8d added issue:enhancement New feature or request source:agent The scope of the issue or pull request is agent. source:web The scope of the issue or pull request is web. pr:feat lang:golang lang:typescript severity:medium source:proto Protobuf related changes. labels May 8, 2023
@polaroi8d polaroi8d assigned polaroi8d and unassigned polaroi8d May 10, 2023
@AmorfEvo
Copy link
Contributor

Hi, pls assign this issue to me ;)

@polaroi8d
Copy link
Collaborator Author

Assigned to you, @AmorfEvo. If you have any questions don't hesitate to ask the team 🖖🏻

@AmorfEvo
Copy link
Contributor

Thx. I want to figure it out from zero to 1, but if I have any questions I'll ask them ^^ @polaroi8d

@polaroi8d
Copy link
Collaborator Author

Dear #Hacktoberfest, this task is still open 😄

@chandhuDev
Copy link
Contributor

Hi @polaroi8d , I have a few questions related to this. Kubernetes also has a scheduler for resource limits and resource requests, why only for the docker? Is there any specific reason for that? I don't have enough hands-on experience in Kubernetes as well. It would be great if you explain about this such that I could start over from zero

@PapePathe
Copy link
Contributor

Hello @chandhuDev are you still working on this issue ? I figured out the golang changes for the builder , dagent and proto? Would you like to pair on it ? @polaroi8d what do you think, should i continue. If yes i have some questions .

@nandor-magyar
Copy link
Contributor

As response to @chandhuDev questions, a summary: we already have Kubernetes integration of resource management in-place, but for docker, this is less used, may be less practical and a bit hidden. The docker part is missing from our builder, that is what we seek to implement here.
UI: the resource requests are currently crane (thus k8s) only, that should be moved into the common section.
dagent: docker SDK exposes the necessary features to implement such functionality into our builder.

These information should be enough to start effectively working on it.

@PapePathe
Copy link
Contributor

I implemented the docker part here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
issue:enhancement New feature or request lang:golang lang:typescript pr:feat severity:medium source:agent The scope of the issue or pull request is agent. source:proto Protobuf related changes. source:web The scope of the issue or pull request is web.
Projects
Status: 🏄🏻‍♀️ Planned
Development

No branches or pull requests

5 participants