dav*_*vid 6 cpu multithreading multicore cgroups kubernetes
当我谷歌搜索时,有一些答案说在kubernetes中,100ms cpu意味着你将使用一个cpu核心的1/10时间,而2300ms cpu意味着你将充分使用2个核心和3/10时间另一个CPU核心。这是对的吗?
我只是想知道在 kubernetes 中使用低于 1000ms 的 cpu 请求时,多个线程是否可以同时在多个核心上并行运行。
关于第一部分,您确实可以使用部分 CPU 资源来运行某些任务。\n在Kubernetes 文档 - 管理容器资源中,您可以找到可以指定requests
运行 pod 的最低资源要求的信息,而limits
哪些不能超过了。
这篇文章中有很好的描述
\n\n\n请求和限制是 Kubernetes 用于控制 CPU 和内存等资源的机制。请求是容器保证得到的。如果容器请求资源,Kubernetes 只会将其调度到可以为其提供该资源的节点上。另一方面,限制可确保容器永远不会超过特定值。容器只允许达到极限,然后就受到限制。
\n
CPU 请求/限制:
\n\n\nCPU 资源以毫核为单位定义。如果您的容器需要两个完整核心才能运行,您可以将值放入
\n2000m
. 如果您的容器仅需要核心的 \xc2\xbc,则您可以输入值250m
。\n关于 CPU 请求需要记住的一件事是,如果您输入的值大于最大节点的核心数,那么您的 pod永远不会被安排。
关于第二部分,您可以并行使用多个线程。Kubernetes Job就是一个很好的例子。
\n\n\n\n一种简单的情况是创建一个 Job 对象,以便可靠地运行一个 Pod 直至完成。如果第一个 Pod 失败或被删除(例如由于节点硬件故障或节点重新启动),作业对象将启动新的 Pod。\n您还可以使用作业并行运行多个 Pod。
\n
您还可以使用扩展检查并行处理,Jobs
以基于通用模板运行多个并行处理。您可以使用此方法并行处理批量工作。在本文档中,您可以找到示例及其工作原理说明。
归档时间: |
|
查看次数: |
1192 次 |
最近记录: |