【问题标题】:How to allocate core to a process not process to core?如何将核心分配给进程而不是进程分配给核心?
【发布时间】:2016-02-26 04:36:03
【问题描述】:

将进程分配给特定核心很容易,但是如何确保只有该进程应该在该特定核心或多个核心上运行。其余进程可以在其他核心上运行。请帮帮我。

【问题讨论】:

  • 在 Linux 上,也许给它实时优先级以及使用taskset 将它固定到核心。这可能会或可能不会被接受,具体取决于什么样的流程和什么样的系统。
  • 我想将一个/多个核心专门提供给特定进程。没有其他进程在上面运行。
  • 有人在另一个问题上建议设置所有 other 进程的亲和力以排除该核心。与使用实时 prio 确保它始终获得核心相比,这可能会阻止其他线程弄脏该核心上的缓存。
  • 感谢彼得,我们可以做到这一点,但无论如何这是亲和力,所以如果核心不是免费的,那么它也可以使用我们的核心。
  • 我认为,我们可以做到这一点,就像你所说的“亲和力”一样,我只从这个平台上的其他问题得到这个。 1 将参数 isolcpus=[cpu_number] 添加到引导期间引导加载程序的 Linux 内核命令行。这将指示 Linux 调度程序不要在该 CPU 上运行任何常规任务,除非使用 cpu 亲和性特别请求。 2 使用 IRQ 亲和性来设置其他 CPU 处理所有中断,这样你的隔离 CPU 就不会收到任何中断。 3 使用 CPU 亲和性将您的特定任务固定到隔离的 CPU。

标签: process parallel-processing processor cpu-cores


【解决方案1】:

我得到了类似问题的答案

  1. 在引导期间将参数 isolcpus=[cpu_number] 从引导加载程序添加到 Linux 内核命令行。这将指示 Linux 调度程序不要在该 CPU 上运行任何常规任务,除非使用 cpu 亲和性特别请求。

  2. 使用 IRQ 亲和性设置其他 CPU 来处理所有中断,这样您的隔离 CPU 就不会收到任何中断。

  3. 使用 CPU 亲和性将您的特定任务修复到隔离的 CPU

【讨论】:

    猜你喜欢
    • 2016-03-03
    • 1970-01-01
    • 2019-05-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多