【问题标题】:Migrating a running process/thread to different core将正在运行的进程/线程迁移到不同的核心
【发布时间】:2016-02-23 17:46:04
【问题描述】:

有没有办法通过触发从另一个进程的迁移来将当前正在运行的进程迁移到不同的 cpu 内核。

这是我想要做的更详细的事情。 我正在研究异构处理器系统。我有一个在系统上运行的多线程应用程序。每当我的管理器进程决定时,我想将其中一个线程迁移到不同的核心(具有不同的功能)。

我的管理器进程能否触发​​目标应用程序 pid 的特定 tid 的线程迁移? 如果是这样,是否可以立即完成,即在我的管理器进程触发时,正在运行的线程立即迁移到另一个核心(例如从核心 0 到核心 1)?

【问题讨论】:

    标签: linux multithreading process-migration


    【解决方案1】:

    我想这应该是可能的(如果您使用的是 POSIX 线程 API)使用 pthread_setaffinity_np(3)

    pthread_setaffinity_np() 函数设置 CPU 亲和掩码 cpuset 指向的 CPU 集的线程线程。如果来电是 成功,并且线程当前未在其中一个 CPU 上运行 在 cpuset 中,然后将其迁移到其中一个 CPU。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-29
      • 1970-01-01
      • 2023-04-09
      • 1970-01-01
      • 2013-02-01
      • 1970-01-01
      相关资源
      最近更新 更多