每个内核在多个线程中存在的并行度

熊猫突袭

因此,我一直在研究一些实现每个内核多个线程的技术(例如intel的超线程),并且我想知道这些技术中并行性的程度如何。是真正的并行性还是更有效的并发?看起来他们仍然共享相同的执行单元和核心资源,基本上看起来只是对其用法进行虚拟化。因此,我不确定真正的并行性如何发生。如果是这种情况,那么有什么好处?您可以通过有效的线程上下文切换来实现并发。

熊猫突袭

因此,有许多因素决定了超线程技术的优势。首先,因为它们共享资源,所以显然没有真正的并行性,但是它们的并发性有所增加,具体取决于处理器的类型。

硬件线程有三种类型。细粒度以循环方式切换线程,目的是增加吞吐量,但要增加单个线程的等待时间。切换是逐个时钟进行的。当然,过程更像上下文切换,其中处理器在停顿或某种类型的内存提取发生时切换线程。然后在同一时钟中同时发生线程切换,这意味着重排序缓冲区和管道中同时存在多个线程数据。它们描述如下。

阴影对应于执行线程

超线程对应于此图中的SMT。可以看出,设计的有效性主要取决于一件事:管道的繁忙程度。在动态调度的处理器中,目标是使管道和执行单元尽可能地繁忙,其优势是使收益比我所见的减少了大约5%到5%。对于流水线有大量停顿的静态调度处理器,其好处更为普遍,取决于编译器对指令重新排序的能力,其收益大约为20%到40%。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Delphi中的每个内核中运行线程

来自分类Dev

如何在python中获取每个内核的线程数

来自分类Dev

使用线程概念Java在多个设备中并行执行

来自分类Dev

当我运行多个与CPU内核/线程数量匹配的线程时,每个线程都将在单独的内核/线程上运行吗?

来自分类Dev

当我运行多个与CPU内核/线程数量匹配的线程时,每个线程都将在单独的内核/线程上运行吗?

来自分类Dev

代码中的并行线程

来自分类Dev

在CUDA内核中填充数组或列表,但不在每个线程中填充

来自分类Dev

使用集合m中的每个数据创建多个线程

来自分类Dev

如果只有一个CPU内核,每个线程的内存可见性问题还会存在吗?

来自分类Dev

我不能在python中启动两个并行线程,每个线程都有一个forerver循环

来自分类Dev

Apache Flink中的并行度

来自分类Dev

使线程并行睡眠,每个线程都有随机的时间

来自分类Dev

Python中的并行处理/线程

来自分类Dev

Python中的并行处理/线程

来自分类Dev

在多个内核上运行python线程

来自分类Dev

在多个内核上运行python线程

来自分类Dev

Ruby 线程是否在多个内核上运行?

来自分类Dev

多个线程可以在多核处理器中并行运行吗

来自分类Dev

在一个内核中的Spark worker上启动多个处理器线程

来自分类Dev

定时在shell中并行运行的多个命令并将其保存在文件中

来自分类Dev

在ARM Linux中,在内核堆栈“底部”为每个线程保留几个字节的目的是什么?

来自分类Dev

任务并行库(TPL)中的线程同步

来自分类Dev

对Java中的并行线程进行正确的迭代

来自分类Dev

在C ++中并行运行线程

来自分类Dev

任务并行库中的线程数限制

来自分类Dev

从并行包中获取线程 ID

来自分类Dev

在Matlab中稀疏内核/相似度矩阵

来自分类Dev

在Matlab中稀疏内核/相似度矩阵

来自分类Dev

从for循环更改为内核中的多线程

Related 相关文章

  1. 1

    在Delphi中的每个内核中运行线程

  2. 2

    如何在python中获取每个内核的线程数

  3. 3

    使用线程概念Java在多个设备中并行执行

  4. 4

    当我运行多个与CPU内核/线程数量匹配的线程时,每个线程都将在单独的内核/线程上运行吗?

  5. 5

    当我运行多个与CPU内核/线程数量匹配的线程时,每个线程都将在单独的内核/线程上运行吗?

  6. 6

    代码中的并行线程

  7. 7

    在CUDA内核中填充数组或列表,但不在每个线程中填充

  8. 8

    使用集合m中的每个数据创建多个线程

  9. 9

    如果只有一个CPU内核,每个线程的内存可见性问题还会存在吗?

  10. 10

    我不能在python中启动两个并行线程,每个线程都有一个forerver循环

  11. 11

    Apache Flink中的并行度

  12. 12

    使线程并行睡眠,每个线程都有随机的时间

  13. 13

    Python中的并行处理/线程

  14. 14

    Python中的并行处理/线程

  15. 15

    在多个内核上运行python线程

  16. 16

    在多个内核上运行python线程

  17. 17

    Ruby 线程是否在多个内核上运行?

  18. 18

    多个线程可以在多核处理器中并行运行吗

  19. 19

    在一个内核中的Spark worker上启动多个处理器线程

  20. 20

    定时在shell中并行运行的多个命令并将其保存在文件中

  21. 21

    在ARM Linux中,在内核堆栈“底部”为每个线程保留几个字节的目的是什么?

  22. 22

    任务并行库(TPL)中的线程同步

  23. 23

    对Java中的并行线程进行正确的迭代

  24. 24

    在C ++中并行运行线程

  25. 25

    任务并行库中的线程数限制

  26. 26

    从并行包中获取线程 ID

  27. 27

    在Matlab中稀疏内核/相似度矩阵

  28. 28

    在Matlab中稀疏内核/相似度矩阵

  29. 29

    从for循环更改为内核中的多线程

热门标签

归档