多处理器

task level parallelism:utilizing multiple processors by running independent programs simutaneously

parallel processing program并行处理程序:在多个处理器上运行的单个程序

并行处理器怎么共享数据:

1.具有单一地址空间的处理器为程序员提供一个所有处理器共享的单一的内存地址空间。这种多处理器称为共享内存处理器。

共享内存处理器的协调称为同步。一种同步方法是锁(任何时刻只允许一个处理器访问数据的同步设备)。每次只有一个处理器可以得到锁。

单地址空间多处理器的两种类型:

访问主存时间相同。对称多处理器或均匀存储器存取多处理器。

根据发出访问请求的处理器和请求的字的关系,一些存储器的访问要比其他的要快。

2.消息传递。通过显式发送和接收消息在多处理器之间通信。

消息传递用于具有私有内存而不是共享内存的机器。

单一总线连接的多处理器

多处理器高速缓存一致性:监听协议

读:多个数据副本在读的时候不会发生问题。

写:写一个字时必须互斥的访问。写处理器在总线上发布一个无效信号,所有的高速缓存都检查自己是否有副本。一个写操作完成后,所有处理器必须得到对象的新值。

通过网络连接的多处理器

分布式内存:被分成多个模块的物理内存,在多处理器中的每个处理器周围都有一些较近的模块。

UMA uniform memory access 一致性内存访问 不论字在哪里,内存访问时间是一样的

NUMA nonuniform memory access 非一致性内存访问 内存访问时间取决于地址。和物理上分布式内存是一样的

高速缓存一致的非统一内存访问CC-NUMA

集群

完整的计算机,独立的可升级的网络。

缺点:管理N个节点的集群和管理N个独立节点的费用大致相当。而管理N个处理器共享地址的多处理器的费用相当于管理一台节点的费用。

集群通常以计算机I/O总线相连,而多处理器通常以计算机存储总线相连,具有更高的带宽。

内存的划分:集群数与内存和操作系统数目相同。

优点:大规模多处理器数量少,费用高。

集群中很容易更换某个节点而无需关闭系统。

多线程multithreading

允许多个线程以交迭的方式在单个处理器上共享功能单元。处理器复制保存每个线程的独立状态。

每个线程都要寄存器堆的副本,独立的程序计数器和独立的页表。内存本身是通过虚拟内存机制实现。

细粒度多线程:在每个指令中切换线程,结果是多个线程交叉处理。多用轮询方式,跳过任何当时停止的进程。处理器必须能在每个时钟周期切换进程。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值