2009并行计算与多核程序设计13-14多核多线程研讨课

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
CPU访问任何地址所需要的时间都是相同的,这种内存就叫UMA
NUMA
非一致访问分布共享存储技术non-uniform memory architecture 是在多处理系统中配置微处理器的簇的方法 例如
簇一般由四个微处理器(例如四个奔腾微处理器)组成,这四个微处理器通 过一条局域总线(例如外围组件互联总线)与一个单独主板(也可能是一个 卡)上的共享内存(就是L3缓存)连接
3
浙 江 大 学 软 硬 件 协 同 设 计 实 验 室
任务分别适合怎么样的多核多处理器?
单进程单线程 多进程单线程 单进程多线程 多进程多线程
http://multicore.zju.edu.cn/fatlab
哪种任务会更优?
4
浙 江 大 学 软 硬 件 协 同 设 计 实 验 室
多线程讨论话题2 多线程讨论话题2
所有的刀片可以连接起来提供高速的网络环境,共享资源,为相同的用户群服务 在集群中插入新的刀片,就可以提高整体性能
http://multicore.zju.edu.cn/fatlab
热插拔
刀片服务器分类
服务器刀片、网络刀片、存储刀片、管理刀片、光纤通道SAN刀片、扩展I/O刀片等等
特点
克服了芯片服务器集群的缺点 实现了机柜优化
编程如何实现这几个亲和性?
11
浙 江 大 学 软 硬 件 协 同 设 计 实 验 室
多线程讨论话题4 多线程讨论话题4
线程这个级别并发,是否可更细致
http://multicore.zju.edu.cn/fatlab
12
浙 江 大 学 软 硬 件 协 同 设 计 实 验 室
硬件线程
Intel的HT技术 SUN的SMT技术 AMD Bulldozer技术
6
浙 江 大 学 软 硬 件 协 同 设 计 实 验 室
共享级别
共享L1的多核,少见 处理器核心可以L2共享,也可以L2独享 处理器核心可以L3共享 AMD
4核处理器Barcelona一个4核共享的2MB的三级 Cache Magny-Cours皓龙处理器两个6核拼接,12MB L3
http://multicore.zju.edu.cn/fatlab
单核多线程技术(multi-threadingtechnology) 2011年推出Bulldozer“推土机”技术,增加Bulldozer器件 双核成本增加75%,双核的性能提高90% SSE 5
http://multicore.zju.edu.cn/fatlab
13










学Байду номын сангаас



多路Nehalem会形成一个ccNUMA架构
ccNUMA:cache coherent Non-Uniform Memory Access 多个Nehalem处理器之间使用MESIF协议来保持缓存一致性
http://multicore.zju.edu.cn/fatlab
9
浙 江 大 学 软 硬 件 协 同 设 计 实 验 室
Intel
六核心Dunnington Xeon 7400三级缓存12/16MB 八核心Nehalem-EX Xeon服务器处理器
每个处理器核支持两路同时多线程,8处理器共享24MB三级缓存
IBM
power6的L2私有化
4MB
P5是共享的
7
浙 江 大 学 软 硬 件 协 同 设 计 实 验 室
UMA
http://multicore.zju.edu.cn/fatlab
14
浙 江 大 学 软 硬 件 协 同 设 计 实 验 室
并发级别
指令级(Instruction level)并发
一条单指令中的多个部分被同时执行时,便产生了指令级的并发 汇编加速
多线程讨论话题3 多线程讨论话题3
线程迁移,软亲和与硬亲和,对多核程序有何优劣
http://multicore.zju.edu.cn/fatlab
10
浙 江 大 学 软 硬 件 协 同 设 计 实 验 室
线程迁移
线程从一个 CPU 移动到另一个上的过程称作迁移 目的是负载平衡、任务并行
亲和的作用
程序员操控处理器核心
http://multicore.zju.edu.cn/fatlab
2
浙 江 大 学 软 硬 件 协 同 设 计 实 验 室
多处理器
每个处理器是多核
塔式服务器 机架式服务器(1U-4U) 刀片服务器
blade server 主要结构为:
一大型主体机箱,内部可插上许多 “刀片”,每一块刀片上就是一块系统母板 类似于多个独立的服务器,可以通过本地硬盘启动自己的操作系统 每一块刀片可以运行自己的系统,服务于指定的不同用户群,相互之间没有关联 可以用系统软件将这些主板集合成一个服务器集群,成为集群模式
并行计算与多核程序设计
研讨课 多核多线程
陈天洲,施青松,胡威 {tzchen, zjsqs, ehu}@zju.edu.cn 2009年12月16日,玉泉校区曹西101
1
浙 江 大 学 软 硬 件 协 同 设 计 实 验 室
多线程讨论话题1 多线程讨论话题1
多核多处理器服务器上的线程,运行机制是怎么样的
http://multicore.zju.edu.cn/fatlab
单独的处理器内存看起来就像一个内存 访存顺序
首先察看本身的L1缓存 然后是附近的稍微大些的L1 然后是L2缓存芯片 再然后是NUMA结构在寻找数据之前提供的L3缓存 位于另一个微处理器附近的"远程内存“
8
浙 江 大 学 软 硬 件 协 同 设 计 实 验 室
L2cache共享与否,与程序设计的哪些部分有关系
http://multicore.zju.edu.cn/fatlab
5
浙 江 大 学 软 硬 件 协 同 设 计 实 验 室
缓存的功能
本身核心上线程访问变量是否hit 其他核心上线程访问变量能否hit
缓存大小 缓存共享机制
http://multicore.zju.edu.cn/fatlab
线程的节点亲和性(Node affinity)
http://multicore.zju.edu.cn/fatlab
尽量在线程的本地内存上为其进行分配, 并尽量让线程保持在该节点上 常见于NUMA中强调低延迟访问时候
缓存亲和性(Cache Affinity)
让数据尽量长时间的保留在某一个CPU的缓存中,而不是来回在多个 CPU的缓存里换来换去
相关文档
最新文档