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

Add Intel RDT support #19922

Closed
wpross opened this issue Sep 11, 2023 · 6 comments · Fixed by #20150
Closed

Add Intel RDT support #19922

wpross opened this issue Sep 11, 2023 · 6 comments · Fixed by #20150
Assignees
Labels
kind/feature Categorizes issue or PR as related to a new feature. locked - please file new issue/PR Assist humans wanting to comment on an old issue or PR with locked comments.

Comments

@wpross
Copy link
Contributor

wpross commented Sep 11, 2023

Feature request description

When running a container, I would love be able to use the Cache Allocation Technology (CAT) feature that is part of the Intel Resource Director Technology (RDT) feature set. It is already integrated into the OCI runtime spec and runc and is based on the resctrl kernel driver.

Resctrl enables a user to interact with registers that specify the RDT behaviour based on a pseudo-file system mounted at /sys/fs/resctrl. By e.g. writing the PID of a container to a subfolders' tasks file, runc enables the container to use the cache-ways defined within the bitmask within the schemata file in this subfolder. the subfolder's name is the name of the Class of service (CLOS). runc gets the CLOS name (or closID) from the intelRDT section within the Linux Container specification, for example

"linux": {
    "intelRdt": {
        "closID": "myClos",
    }
}

myClos would be the name of the CLOS, so a subfolder within /sys/fs/resctrl.

Suggest potential solution

Add a flag, similar to the one in nerdctrl or ctr, e.g. --rdt-class=myClos that is then added to the OCI spec's linux section to look like in the above example.

Additional context

Intel RDT is only supported in runc so far. So the default runtime crun does not support it so far. However, I will also open an issue to support RDT in crun.

@wpross wpross added the kind/feature Categorizes issue or PR as related to a new feature. label Sep 11, 2023
@baude
Copy link
Member

baude commented Sep 11, 2023

care to submit a PR?

@giuseppe
Copy link
Member

I can take a look from the crun side, but I lack the hardware to test it (and that is the main reason why crun doesn't implement it yet).

Is it possible to enable the feature under qemu?

@rhatdan
Copy link
Member

rhatdan commented Sep 15, 2023

@wpross Care to open a PR to add support?

@wpross
Copy link
Contributor Author

wpross commented Sep 22, 2023

@rhatdan I will add a PR for Podman soon.

@wpross
Copy link
Contributor Author

wpross commented Sep 22, 2023

I can take a look from the crun side, but I lack the hardware to test it (and that is the main reason why crun doesn't implement it yet).

I could test it on my side if I get access to the changes

@wpross
Copy link
Contributor Author

wpross commented Sep 22, 2023

unfortunately I can't set the "In Progress" label myself. Can someone help with it?

@github-actions github-actions bot added the locked - please file new issue/PR Assist humans wanting to comment on an old issue or PR with locked comments. label Dec 28, 2023
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Dec 28, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
kind/feature Categorizes issue or PR as related to a new feature. locked - please file new issue/PR Assist humans wanting to comment on an old issue or PR with locked comments.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants