用于计算绑定作业的多线程

时间:2013-06-22 18:43:36

标签: multithreading scheduling

在公平性和粒度方面,进程/线程调度程序如何在典型系统上运行?调度程序是通过在进程之间还是在线程之间切换来将指令传递给处理器?如果是后者,那么,我可以通过在我的进程中生成更多线程来提高计算绑定作业的性能吗?关于这个主题的文献似乎可以互换地使用过程和线程。为清楚起见,我使用了一个进程的定义,它是一个或多个执行线程的集合。

我认为多个线程不会改善单个处理器上的计算绑定作业,这意味着调度程序的调度粒度处于进程级别。例如,如果有N个进程,则每个进程获得处理器的1 / N,无论生成多少线程(如果调度程序是公平的,当然)。

我在这里找到了一个相关的对话:How Linux handles threads and process scheduling

Linux不区分线程和进程,因此线程实际上被视为具有共享内存的进程。如果是这种情况,我似乎可以通过生成更多线程来改善计算限制运行时间。我能正确地解释这个吗?

0 个答案:

没有答案