-
Notifications
You must be signed in to change notification settings - Fork 70
Add support for managing compute resources #341
Comments
For the first cut we can skip cgroups and just make the CPU and Memory sizes passed to QEMU configurable. Adding cgroup support can come subsequently. /cc @amyleeland |
That is handled today in a different issue / PR:
#297
From: Manohar Castelino [mailto:[email protected]]
Sent: Tuesday, July 18, 2017 1:13 PM
To: clearcontainers/runtime <[email protected]>
Cc: Ernst, Eric <[email protected]>; Mention <[email protected]>
Subject: Re: [clearcontainers/runtime] Add support for managing compute resources (#341)
For the first cut we can skip cgroups and just make the CPU and Memory sizes passed to QEMU configurable. Adding cgroup support can come subsequently.
/cc @amyleeland<https://github.com/amyleeland>
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub<#341 (comment)>, or mute the thread<https://github.com/notifications/unsubscribe-auth/ATPXW-cu0USNsUXno_lWen2DVaO-c4CDks5sPRGvgaJpZM4ObtCw>.
|
@mcastelino, with #297 you can setup for each new POD (== VM) default number of vCPUs. If you set -1 then runtime will set the same number as physical cores on the host. |
@dvoytik #297 provides us with the right degree of flexibility from a machine level default point of view. IMO the default on non NUMA systems should be -1 so reflect more closely the behavior of a namespaced container (once we evaluate the memory footprint impact) What we are missing is honoring the per container/POD values that come in via config.json in the case of docker. We are also missing setting up the cgroups setup to constrain QEMU itself. So a valid configuration would be -1 and constrain the QEMU using cgroups. This will give us behavior similar to runc. |
Related: #19. |
Hi, I'd like to work on this one if it's not taken.
My idea is to get cpu quota and period from container OCI spec, and make the calculation of number of vcpus for qemu. But obviously, --cpus 1.5 doesn't make sense from qemu point of view. That's a limitation. We should round down/up to integer. Any ideas? |
Hi @wcwxyz , sure, if you want it we can assign. I think you'd work closely with @mcastelino and @dvoytik on the details of how this interacts as a whole, with k8s and pods for instance (see above). We should probably open an Issue specifically for adding non-POD I was contemplating how we map say |
@grahamwhaley emm.. I'm not familiar with k8s. I mean to work on #393 ...
Actually --cpus will be translated to CFS cpu period and quota in the OCI spec config.json. See https://github.com/opencontainers/runtime-spec/blob/master/specs-go/config.go#L292~L307. I'll quote it here:
So when runtime supports Anyway #393 seems to be a better place to discuss how we handle --cpu. |
Related:
|
** Changes - cc-check: Always run all tests - build: Fix config file warning message - list: Ensure "--cc-all" details are correct - refactor: simplify code to return the fastpath first - Unbreak gofmt - process: Add github issue template - paths: Resolve paths earlier - scripts: Improve collect data script - build: Show version of go - tests: Increase unit test timeout - build: Fix go vet issues flagged by go 1.9 - docs: developers: how to build custom kernel - scripts: Create script to gather environment details - readme: Update CI badges - ci: Remove Travis and add unit testing to all CI ** Shortlog 413e2ed cc-check: Only warn if nesting not available c761552 cc-check: Always run all tests 6ec4ecd build: Fix config file warning message b629d80 list: Ensure "--cc-all" details are correct 1378b68 refactor: simplify code to return the fastpath first fc87e7b tests: Fix gofmt and ineffassign issues 2212ef7 CI: Unbreak gofmt logic 651cfb3 process: Add github issue template 2c1ce71 paths: Resolve paths earlier 16b1dae scripts: Improve formatting in cc-collect-data.sh 53bd495 scripts: Simpify main function in cc-collect-data.sh 08ed990 scripts: Rename Meta heading in cc-collect-data.sh 57f2500 scripts: Use more punctuation in cc-collect-data.sh 6a7fc90 scripts: Add more patterns to cc-collect-data.sh 541fe44 scripts: Add more patterns to cc-collect-data.sh 1c7d20c build: Generate cc-collect script ffe6ccf build: Generalise ".in" file rule 9280a6b build: Show version of go 1bde169 tests: Increase unit test timeout d4954bc Revert: Undo "Merge pull request *587 from mcastelino/topic/govet" 5213667 go vet: Fix issues detected by go vet in go 1.9 acecd7b Revendor: Revendor testify to fix go vet 3d07c40 docs: developers: how to build custom kernel c8fc271 scripts: Create script to gather environment details 062522d readme: Update CI badges fb10a0e .ci: Remove travis and add unit testing to Jenkins ** Compatibility with Docker Clear Containers 3.0.1 is compatible with Docker v17.06-ce ** OCI Runtime Specification Clear Containers 3.0.1 support the OCI Runtime Specification [v1.0.0-rc5][ocispec] ** Clear Linux Containers image Clear Containers 3.0.1 requires at least Clear Linux containers image [17270][clearlinuximage] ** Clear Linux Containers Kernel Clear Containers 3.0.1 requires at least Clear Linux Containers kernel [v4.9.47-77.container][kernel] ** Installation - [Ubuntu][ubuntu] - [Fedora][fedora] - [Developers][developers] ** Issues & limitations *** Networking **** Adding networks dynamically *** Resource management **** `docker run --cpus=` See issue [\*341](clearcontainers#341) for more information. **** `docker run --kernel-memory=` See issue [\*388](clearcontainers#388) for more information. **** shm **** cgroup constraints **** Capabilities See issue [\*51](clearcontainers#51) for more information. **** sysctl **** tmpfs *** Other **** checkpoint and restore **** `docker stats` See issue [\*200](clearcontainers#200) for more information. *** runtime commands **** `ps` command See issue [\*95](clearcontainers#95) for more information. **** `events` command See issue [\*379](clearcontainers#379) for more information. **** `update` command See issue [\*380](clearcontainers#380) for more information. *** Networking **** Support for joining an existing VM network **** `docker --net=host` **** `docker run --link` *** Host resource sharing **** `docker --device` **** `docker -v /dev/...` **** `docker run --privileged` *** Other **** Annotations *** runtime commands **** `init` command **** `spec` command More information [Limitations][limitations] [clearlinuximage]: https://download.clearlinux.org/releases/17270/clear/clear-17270-containers.img.xz [kernel]: https://github.com/clearcontainers/linux/tree/v4.9.47-77.container [ocispec]: https://github.com/opencontainers/runtime-spec/releases/tag/v1.0.0-rc5 [limitations]: https://github.com/clearcontainers/runtime/blob/f5bc403510ab2a837ba4b2115ea4c94cf51e9dea/docs/limitations.md [ubuntu]: https://github.com/clearcontainers/runtime/blob/f5bc403510ab2a837ba4b2115ea4c94cf51e9dea/docs/ubuntu-installation-guide.md [fedora]: https://github.com/clearcontainers/runtime/blob/f5bc403510ab2a837ba4b2115ea4c94cf51e9dea/docs/fedora-installation-guide.md [developers]: https://github.com/clearcontainers/runtime/blob/f5bc403510ab2a837ba4b2115ea4c94cf51e9dea/docs/developers-clear-containers-install.md Signed-off-by: Jose Carlos Venegas Munoz <[email protected]>
** Changes - cc-check: Always run all tests - build: Fix config file warning message - list: Ensure "--cc-all" details are correct - refactor: simplify code to return the fastpath first - Unbreak gofmt - process: Add github issue template - paths: Resolve paths earlier - scripts: Improve collect data script - build: Show version of go - tests: Increase unit test timeout - build: Fix go vet issues flagged by go 1.9 - docs: developers: how to build custom kernel - scripts: Create script to gather environment details - readme: Update CI badges - ci: Remove Travis and add unit testing to all CI ** Shortlog 413e2ed cc-check: Only warn if nesting not available c761552 cc-check: Always run all tests 6ec4ecd build: Fix config file warning message b629d80 list: Ensure "--cc-all" details are correct 1378b68 refactor: simplify code to return the fastpath first fc87e7b tests: Fix gofmt and ineffassign issues 2212ef7 CI: Unbreak gofmt logic 651cfb3 process: Add github issue template 2c1ce71 paths: Resolve paths earlier 16b1dae scripts: Improve formatting in cc-collect-data.sh 53bd495 scripts: Simpify main function in cc-collect-data.sh 08ed990 scripts: Rename Meta heading in cc-collect-data.sh 57f2500 scripts: Use more punctuation in cc-collect-data.sh 6a7fc90 scripts: Add more patterns to cc-collect-data.sh 541fe44 scripts: Add more patterns to cc-collect-data.sh 1c7d20c build: Generate cc-collect script ffe6ccf build: Generalise ".in" file rule 9280a6b build: Show version of go 1bde169 tests: Increase unit test timeout d4954bc Revert: Undo "Merge pull request *587 from mcastelino/topic/govet" 5213667 go vet: Fix issues detected by go vet in go 1.9 acecd7b Revendor: Revendor testify to fix go vet 3d07c40 docs: developers: how to build custom kernel c8fc271 scripts: Create script to gather environment details 062522d readme: Update CI badges fb10a0e .ci: Remove travis and add unit testing to Jenkins ** Compatibility with Docker Clear Containers 3.0.1 is compatible with Docker v17.06-ce ** OCI Runtime Specification Clear Containers 3.0.1 support the OCI Runtime Specification [v1.0.0-rc5][ocispec] ** Clear Linux Containers image Clear Containers 3.0.1 requires at least Clear Linux containers image [17270][clearlinuximage] ** Clear Linux Containers Kernel Clear Containers 3.0.1 requires at least Clear Linux Containers kernel [v4.9.47-77.container][kernel] ** Installation - [Ubuntu][ubuntu] - [Fedora][fedora] - [Developers][developers] ** Issues & limitations *** Networking **** Adding networks dynamically *** Resource management **** `docker run --cpus=` See issue [\*341](clearcontainers#341) for more information. **** `docker run --kernel-memory=` See issue [\*388](clearcontainers#388) for more information. **** shm **** cgroup constraints **** Capabilities See issue [\*51](clearcontainers#51) for more information. **** sysctl **** tmpfs *** Other **** checkpoint and restore **** `docker stats` See issue [\*200](clearcontainers#200) for more information. *** runtime commands **** `ps` command See issue [\*95](clearcontainers#95) for more information. **** `events` command See issue [\*379](clearcontainers#379) for more information. **** `update` command See issue [\*380](clearcontainers#380) for more information. *** Networking **** Support for joining an existing VM network **** `docker --net=host` **** `docker run --link` *** Host resource sharing **** `docker --device` **** `docker -v /dev/...` **** `docker run --privileged` *** Other **** Annotations *** runtime commands **** `init` command **** `spec` command More information [Limitations][limitations] [clearlinuximage]: https://download.clearlinux.org/releases/17270/clear/clear-17270-containers.img.xz [kernel]: https://github.com/clearcontainers/linux/tree/v4.9.47-77.container [ocispec]: https://github.com/opencontainers/runtime-spec/releases/tag/v1.0.0-rc5 [limitations]: https://github.com/clearcontainers/runtime/blob/f5bc403510ab2a837ba4b2115ea4c94cf51e9dea/docs/limitations.md [ubuntu]: https://github.com/clearcontainers/runtime/blob/f5bc403510ab2a837ba4b2115ea4c94cf51e9dea/docs/ubuntu-installation-guide.md [fedora]: https://github.com/clearcontainers/runtime/blob/f5bc403510ab2a837ba4b2115ea4c94cf51e9dea/docs/fedora-installation-guide.md [developers]: https://github.com/clearcontainers/runtime/blob/f5bc403510ab2a837ba4b2115ea4c94cf51e9dea/docs/developers-clear-containers-install.md Fixes clearcontainers#640 Signed-off-by: Jose Carlos Venegas Munoz <[email protected]>
** Changes - cc-check: Always run all tests - build: Fix config file warning message - list: Ensure "--cc-all" details are correct - refactor: simplify code to return the fastpath first - Unbreak gofmt - process: Add github issue template - paths: Resolve paths earlier - scripts: Improve collect data script - build: Show version of go - tests: Increase unit test timeout - build: Fix go vet issues flagged by go 1.9 - docs: developers: how to build custom kernel - scripts: Create script to gather environment details - readme: Update CI badges - ci: Remove Travis and add unit testing to all CI ** Shortlog 413e2ed cc-check: Only warn if nesting not available c761552 cc-check: Always run all tests 6ec4ecd build: Fix config file warning message b629d80 list: Ensure "--cc-all" details are correct 1378b68 refactor: simplify code to return the fastpath first fc87e7b tests: Fix gofmt and ineffassign issues 2212ef7 CI: Unbreak gofmt logic 651cfb3 process: Add github issue template 2c1ce71 paths: Resolve paths earlier 16b1dae scripts: Improve formatting in cc-collect-data.sh 53bd495 scripts: Simpify main function in cc-collect-data.sh 08ed990 scripts: Rename Meta heading in cc-collect-data.sh 57f2500 scripts: Use more punctuation in cc-collect-data.sh 6a7fc90 scripts: Add more patterns to cc-collect-data.sh 541fe44 scripts: Add more patterns to cc-collect-data.sh 1c7d20c build: Generate cc-collect script ffe6ccf build: Generalise ".in" file rule 9280a6b build: Show version of go 1bde169 tests: Increase unit test timeout d4954bc Revert: Undo "Merge pull request *587 from mcastelino/topic/govet" 5213667 go vet: Fix issues detected by go vet in go 1.9 acecd7b Revendor: Revendor testify to fix go vet 3d07c40 docs: developers: how to build custom kernel c8fc271 scripts: Create script to gather environment details 062522d readme: Update CI badges fb10a0e .ci: Remove travis and add unit testing to Jenkins ** Compatibility with Docker Clear Containers 3.0.1 is compatible with Docker v17.06-ce ** OCI Runtime Specification Clear Containers 3.0.1 support the OCI Runtime Specification [v1.0.0-rc5][ocispec] ** Clear Linux Containers image Clear Containers 3.0.1 requires at least Clear Linux containers image [17270][clearlinuximage] ** Clear Linux Containers Kernel Clear Containers 3.0.1 requires at least Clear Linux Containers kernel [v4.9.47-77.container][kernel] ** Installation - [Ubuntu][ubuntu] - [Fedora][fedora] - [Developers][developers] ** Issues & limitations *** Networking **** Adding networks dynamically *** Resource management **** `docker run --cpus=` See issue [\*341](clearcontainers#341) for more information. **** `docker run --kernel-memory=` See issue [\*388](clearcontainers#388) for more information. **** shm **** cgroup constraints **** Capabilities See issue [\*51](clearcontainers#51) for more information. **** sysctl **** tmpfs *** Other **** checkpoint and restore **** `docker stats` See issue [\*200](clearcontainers#200) for more information. *** runtime commands **** `ps` command See issue [\*95](clearcontainers#95) for more information. **** `events` command See issue [\*379](clearcontainers#379) for more information. **** `update` command See issue [\*380](clearcontainers#380) for more information. *** Networking **** Support for joining an existing VM network **** `docker --net=host` **** `docker run --link` *** Host resource sharing **** `docker --device` **** `docker -v /dev/...` **** `docker run --privileged` *** Other **** Annotations *** runtime commands **** `init` command **** `spec` command More information [Limitations][limitations] [clearlinuximage]: https://download.clearlinux.org/releases/17270/clear/clear-17270-containers.img.xz [kernel]: https://github.com/clearcontainers/linux/tree/v4.9.47-77.container [ocispec]: https://github.com/opencontainers/runtime-spec/releases/tag/v1.0.0-rc5 [limitations]: https://github.com/clearcontainers/runtime/blob/f5bc403510ab2a837ba4b2115ea4c94cf51e9dea/docs/limitations.md [ubuntu]: https://github.com/clearcontainers/runtime/blob/f5bc403510ab2a837ba4b2115ea4c94cf51e9dea/docs/ubuntu-installation-guide.md [fedora]: https://github.com/clearcontainers/runtime/blob/f5bc403510ab2a837ba4b2115ea4c94cf51e9dea/docs/fedora-installation-guide.md [developers]: https://github.com/clearcontainers/runtime/blob/f5bc403510ab2a837ba4b2115ea4c94cf51e9dea/docs/developers-clear-containers-install.md Fixes clearcontainers#640 Signed-off-by: Jose Carlos Venegas Munoz <[email protected]>
** Changes - cc-check: Always run all tests - build: Fix config file warning message - list: Ensure "--cc-all" details are correct - refactor: simplify code to return the fastpath first - Unbreak gofmt - process: Add github issue template - paths: Resolve paths earlier - scripts: Improve collect data script - build: Show version of go - tests: Increase unit test timeout - build: Fix go vet issues flagged by go 1.9 - docs: developers: how to build custom kernel - scripts: Create script to gather environment details - readme: Update CI badges - ci: Remove Travis and add unit testing to all CI ** Shortlog 413e2ed cc-check: Only warn if nesting not available c761552 cc-check: Always run all tests 6ec4ecd build: Fix config file warning message b629d80 list: Ensure "--cc-all" details are correct 1378b68 refactor: simplify code to return the fastpath first fc87e7b tests: Fix gofmt and ineffassign issues 2212ef7 CI: Unbreak gofmt logic 651cfb3 process: Add github issue template 2c1ce71 paths: Resolve paths earlier 16b1dae scripts: Improve formatting in cc-collect-data.sh 53bd495 scripts: Simpify main function in cc-collect-data.sh 08ed990 scripts: Rename Meta heading in cc-collect-data.sh 57f2500 scripts: Use more punctuation in cc-collect-data.sh 6a7fc90 scripts: Add more patterns to cc-collect-data.sh 541fe44 scripts: Add more patterns to cc-collect-data.sh 1c7d20c build: Generate cc-collect script ffe6ccf build: Generalise ".in" file rule 9280a6b build: Show version of go 1bde169 tests: Increase unit test timeout d4954bc Revert: Undo "Merge pull request *587 from mcastelino/topic/govet" 5213667 go vet: Fix issues detected by go vet in go 1.9 acecd7b Revendor: Revendor testify to fix go vet 3d07c40 docs: developers: how to build custom kernel c8fc271 scripts: Create script to gather environment details 062522d readme: Update CI badges fb10a0e .ci: Remove travis and add unit testing to Jenkins ** Compatibility with Docker Clear Containers 3.0.1 is compatible with Docker v17.06-ce ** OCI Runtime Specification Clear Containers 3.0.1 support the OCI Runtime Specification [v1.0.0-rc5][ocispec] ** Clear Linux Containers image Clear Containers 3.0.1 requires at least Clear Linux containers image [17270][clearlinuximage] ** Clear Linux Containers Kernel Clear Containers 3.0.1 requires at least Clear Linux Containers kernel [v4.9.47-77.container][kernel] ** Installation - [Ubuntu][ubuntu] - [Fedora][fedora] - [Developers][developers] ** Issues & limitations *** Networking **** Adding networks dynamically *** Resource management **** `docker run --cpus=` See issue [\*341](clearcontainers#341) for more information. **** `docker run --kernel-memory=` See issue [\*388](clearcontainers#388) for more information. **** shm **** cgroup constraints **** Capabilities See issue [\*51](clearcontainers#51) for more information. **** sysctl **** tmpfs *** Other **** checkpoint and restore **** `docker stats` See issue [\*200](clearcontainers#200) for more information. *** runtime commands **** `ps` command See issue [\*95](clearcontainers#95) for more information. **** `events` command See issue [\*379](clearcontainers#379) for more information. **** `update` command See issue [\*380](clearcontainers#380) for more information. *** Networking **** Support for joining an existing VM network **** `docker --net=host` **** `docker run --link` *** Host resource sharing **** `docker --device` **** `docker -v /dev/...` **** `docker run --privileged` *** Other **** Annotations *** runtime commands **** `init` command **** `spec` command More information [Limitations][limitations] [clearlinuximage]: https://download.clearlinux.org/releases/17270/clear/clear-17270-containers.img.xz [kernel]: https://github.com/clearcontainers/linux/tree/v4.9.47-77.container [ocispec]: https://github.com/opencontainers/runtime-spec/releases/tag/v1.0.0-rc5 [limitations]: https://github.com/clearcontainers/runtime/blob/f5bc403510ab2a837ba4b2115ea4c94cf51e9dea/docs/limitations.md [ubuntu]: https://github.com/clearcontainers/runtime/blob/f5bc403510ab2a837ba4b2115ea4c94cf51e9dea/docs/ubuntu-installation-guide.md [fedora]: https://github.com/clearcontainers/runtime/blob/f5bc403510ab2a837ba4b2115ea4c94cf51e9dea/docs/fedora-installation-guide.md [developers]: https://github.com/clearcontainers/runtime/blob/f5bc403510ab2a837ba4b2115ea4c94cf51e9dea/docs/developers-clear-containers-install.md Fixes clearcontainers#640 Signed-off-by: Jose Carlos Venegas Munoz <[email protected]>
** Changes - cc-check: Always run all tests - build: Fix config file warning message - list: Ensure "--cc-all" details are correct - refactor: simplify code to return the fastpath first - Unbreak gofmt - process: Add github issue template - paths: Resolve paths earlier - scripts: Improve collect data script - build: Show version of go - tests: Increase unit test timeout - build: Fix go vet issues flagged by go 1.9 - docs: developers: how to build custom kernel - scripts: Create script to gather environment details - readme: Update CI badges - ci: Remove Travis and add unit testing to all CI ** Shortlog 413e2ed cc-check: Only warn if nesting not available c761552 cc-check: Always run all tests 6ec4ecd build: Fix config file warning message b629d80 list: Ensure "--cc-all" details are correct 1378b68 refactor: simplify code to return the fastpath first fc87e7b tests: Fix gofmt and ineffassign issues 2212ef7 CI: Unbreak gofmt logic 651cfb3 process: Add github issue template 2c1ce71 paths: Resolve paths earlier 16b1dae scripts: Improve formatting in cc-collect-data.sh 53bd495 scripts: Simpify main function in cc-collect-data.sh 08ed990 scripts: Rename Meta heading in cc-collect-data.sh 57f2500 scripts: Use more punctuation in cc-collect-data.sh 6a7fc90 scripts: Add more patterns to cc-collect-data.sh 541fe44 scripts: Add more patterns to cc-collect-data.sh 1c7d20c build: Generate cc-collect script ffe6ccf build: Generalise ".in" file rule 9280a6b build: Show version of go 1bde169 tests: Increase unit test timeout d4954bc Revert: Undo "Merge pull request *587 from mcastelino/topic/govet" 5213667 go vet: Fix issues detected by go vet in go 1.9 acecd7b Revendor: Revendor testify to fix go vet 3d07c40 docs: developers: how to build custom kernel c8fc271 scripts: Create script to gather environment details 062522d readme: Update CI badges fb10a0e .ci: Remove travis and add unit testing to Jenkins ** Compatibility with Docker Clear Containers 3.0.1 is compatible with Docker v17.06-ce ** OCI Runtime Specification Clear Containers 3.0.1 support the OCI Runtime Specification [v1.0.0-rc5][ocispec] ** Clear Linux Containers image Clear Containers 3.0.1 requires at least Clear Linux containers image [17270][clearlinuximage] ** Clear Linux Containers Kernel Clear Containers 3.0.1 requires at least Clear Linux Containers kernel [v4.9.47-77.container][kernel] ** Installation - [Ubuntu][ubuntu] - [Fedora][fedora] - [Developers][developers] ** Issues & limitations *** Networking **** Adding networks dynamically *** Resource management **** `docker run --cpus=` See issue [\*341](clearcontainers#341) for more information. **** `docker run --kernel-memory=` See issue [\*388](clearcontainers#388) for more information. **** shm **** cgroup constraints **** Capabilities See issue [\*51](clearcontainers#51) for more information. **** sysctl **** tmpfs *** Other **** checkpoint and restore **** `docker stats` See issue [\*200](clearcontainers#200) for more information. *** runtime commands **** `ps` command See issue [\*95](clearcontainers#95) for more information. **** `events` command See issue [\*379](clearcontainers#379) for more information. **** `update` command See issue [\*380](clearcontainers#380) for more information. *** Networking **** Support for joining an existing VM network **** `docker --net=host` **** `docker run --link` *** Host resource sharing **** `docker --device` **** `docker -v /dev/...` **** `docker run --privileged` *** Other **** Annotations *** runtime commands **** `init` command **** `spec` command More information [Limitations][limitations] [clearlinuximage]: https://download.clearlinux.org/releases/17270/clear/clear-17270-containers.img.xz [kernel]: https://github.com/clearcontainers/linux/tree/v4.9.47-77.container [ocispec]: https://github.com/opencontainers/runtime-spec/releases/tag/v1.0.0-rc5 [limitations]: https://github.com/clearcontainers/runtime/blob/f5bc403510ab2a837ba4b2115ea4c94cf51e9dea/docs/limitations.md [ubuntu]: https://github.com/clearcontainers/runtime/blob/f5bc403510ab2a837ba4b2115ea4c94cf51e9dea/docs/ubuntu-installation-guide.md [fedora]: https://github.com/clearcontainers/runtime/blob/f5bc403510ab2a837ba4b2115ea4c94cf51e9dea/docs/fedora-installation-guide.md [developers]: https://github.com/clearcontainers/runtime/blob/f5bc403510ab2a837ba4b2115ea4c94cf51e9dea/docs/developers-clear-containers-install.md Fixes clearcontainers#640 Signed-off-by: Jose Carlos Venegas Munoz <[email protected]>
Kubernetes supports the notion of CPU resources assigned to a container
Similarly in docker we have
Which manifests in the config file as
The clear containers runtime should support at the very least the --cpus option.
However in the case of runc the CPU's visible to the application is the full set available to the host.
In the case or runc the cpu cgroups are used to actually constrain the process.
The mimic this behavior such that the application seems very similar availability of vCPU's for threading we should
However on systems with very large number of CPUs, hence adding up to larger memory consumption per container, we can consider limiting the number of vCPU to equal the requests CPU shares, while still applying cgroups.
/cc @dlespiau @egernst
The text was updated successfully, but these errors were encountered: