增加线程数有什么缺点

时间:2017-08-04 02:44:39

标签: openmp

我的机器中的逻辑核心数是8.如果我增加线程数例如16 omp_set_num_threads(16);会有什么缺点?

1 个答案:

答案 0 :(得分:1)

缓存失效是一个很大的问题。让我们假设每个核心都可以在两个线程上运行。当一个线程被换出另一个线程时,所有的缓存条目都被无效,因此需要从更高级别的高速缓存或主存储器为新线程加载数据。这将减缓处理速度。如果将线程数保持在8,则无法保证不会发生这种情况,但机会较少(在多处理环境中,任何时候将新进程移动到核心上都会发生这种情况)。 / p>