设为首页 加入收藏

TOP

2.3.4 并行度控制
2013-10-07 15:23:13 来源: 作者: 【 】 浏览:66
Tags:2.3.4 并行 控制

2.3.4   并行度控制

一般情况下,并行循环的迭代操作在内核上的具体分配是由系统自行管理的。但在某些特殊的时候,我们也需要取得更多的控制权。

在并行循环模式中,我们经常会在各种情况下用到这些模式变体。例如,为了模拟一些性能较差的硬件,我们需要通过降低程序的并行度来执行一些性能测试;而如果循环中各次迭代都要花费大量时间来等待I/O输入,就适于提高程序的并行度来提高执行线程的数量,使之大于内核数。

你可以控制一个并行循环中并发的活动线量的最大数量。

所谓并行度,实质上是指我们在迭代时占用的内核数量。一般来说,并行度都是交由系统的底层组件自行管理的,例如parallel_for和parallel_for_each的函数实现、并发运行时的任务调度,以及操作系统中的线程调度等。这些组件都为各种条件下优化系统的吞吐量做出了一定的贡献。因此,尽管无法直接控制并行度,但我们可以通过控制执行一个并行循环的线程数量来对其施加影响。而这需要我们去设置一下SchedulerPolicy类中MinConcurrency和MaxConcurrency策略。关于设置这些策略(policies)的更多信息,读者可以参考附录A中的相关内容。

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇2.4.3 重复输入性枚举 下一篇在C++中使用Rice构建 Ruby 扩展

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·Sphinx : 高性能SQL (2025-12-24 10:18:11)
·Pandas 性能优化 - (2025-12-24 10:18:08)
·MySQL 索引 - 菜鸟教 (2025-12-24 10:18:06)
·Shell 基本运算符 - (2025-12-24 09:52:56)
·Shell 函数 | 菜鸟教 (2025-12-24 09:52:54)