- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第6章并行计算机的同步与通信
第6章 并行计算机的同步与通信
计算机系统结构
胡越明
计算机系
Agenda
6.1 并行计算机系统的通信
6.2 Cache与存储器数据一致性
6.3 并行计算机的同步
6.4 并行计算机程序设计
6.1 并行计算机系统的通信
并行计算机对程序的要求
代码的可重入
并行线程之间的竞态现象
线程之间对共享变量的不同的读-写和写-写访问顺序导致不同的程序执行结果
源自线程间的数据相关性
并行计算机的通信方式
共享存储器
互连网络的消息传递
共享存储器通信
共享变量
最简单的通信方式
没有同步功能
信号(signal)
一个二进制变量
可以表示条件、状态、锁和其它同步信息
不能传递数据内容
信箱
固定格式的通信结构
通常包含一个标志位
在发送方和接收方之间起到同步的作用
寻址和管理比较简单,不够灵活
消息
具有灵活格式的通信单位
共享存储器通信
线程同步
给线程执行顺序施加约束的机制
控制线程执行的相对顺序
建立在互斥机制的基础上
互斥机制
使得一次只有一个线程对共享变量进行访问
以保证每个线程对于共享变量访问的完整性
常见的互斥机制
锁
信号量
临界区
共享存储器通信
锁
一种互斥变量
一次只能被一个线程获得
信号量
通过PV操作在线程间传递同步信息
原子操作
P操作将一个变量减1
减后的变量小于0时线程被阻塞
V操作将一个变量加1
加后的变量大于或等于0时释放一个线程
共享存储器通信
临界区
短小的、不能被中断的程序段
进入的线程数量是有限制的
通常只允许一个线程进入临界区
可以采用锁机制来实现
锁
两个基本的原子操作
Acquire
原子地等待锁的状态变成打开的状态
将打开的锁状态变成关闭的状态
这时该线程获得了锁
Release
原子地将锁的状态从关闭状态变成打开的状态
这时线程释放了锁
锁的类型
互斥量
用PV操作上锁和解锁
有阻塞
可以加上时间属性
递归锁
可以递归地获得的锁
用于递归程序
读写锁
多读单写锁
限制写操作只能由一个线程执行
用于对共享变量的读写操作
自旋锁
非阻塞的锁
用于多处理机系统和多核系统
阻塞型锁机制的问题
优先级的颠倒priority inversion
当一个低优先级的线程占用了一个锁之后,需要同一个锁的高优先级线程就只能等待。
护航Convoying
当一个线程拥有一个锁而被切换出去时其他的线程如果需要同一个锁的话都不能运行下去
其他线程都围着拥有锁的线程团团转
死锁Deadlock
锁的拥有和依赖关系形成一个环
死锁及其解决
死锁的原因
对资源(锁)的访问是独占的
线程在已经持有一个资源时继续请求其他资源
所有线程都不放弃已经持有的资源
线程对资源的请求形成一个环
解决方法
复制需要独占访问的资源
按照一定的顺序获取资源
有序嵌套
无法获取其他资源时放弃已持有的资源
调用构件时避免使用锁
信号
硬件信号
一种黏滞性的逻辑电平
一旦被设置就一直保持不变
直到被清除
如访存完成、cache失效、时钟信号
可以表示为一个寄存器变量
对于信号变量的读操作清除这个信号
软件信号
表示为共享变量
如进程中止信号
互连网络的消息传递通信方式
消息
结点间通信的基本逻辑单位
消息头
目标结点号、源结点号、消息类型和消息长度等
消息体
通信数据
互连网络的消息传递通信方式
数据包
数据传输的物理单位
寻径信息
序号
数据内容
校验位
协议号
时间戳
存储转发
store-and-forward
电路交换
circuit switching
虚拟切换
virtual cut-through
虫孔寻径
wormhole
互连网络的消息传递通信方式
存储转发store-and-forward
问题:延迟大,缓存多
互连网络的消息传递通信方式
电路交换circuit switching
问题:冲突多,利用率低
互连网络的消息传递通信方式
虚拟切换virtual cut-through
问题:缓存多
flits
互连网络的消息传递通信方式
虫孔寻径wormhole
问题:死锁和活锁
互连网络的消息传递通信方式
虫孔寻径与存储转发的比较
互连网络的消息传递通信方式
衡量指标
通信带宽
单位时间能够传输的数据量
取决于处理器的通信处理吞吐率、存储器的吞吐率和互连网络的传输带宽
通信延迟
发送的时间开销
信号传输时间
传输持续时间
接收方的时间开销
通信延迟隐藏能力
通信时间与计算时间或者其他通信时间的重叠程度
例6-2
1个计算任务在单个核的计算机上运行的启动时间为1秒,运算时间为10秒,数据结果汇总的时间为1秒。如果将该计算任务放在多核处理器的计算机上运行,将运算部分分解成多个线程并行执行。
(1)假如任务的启动和数据汇总操作不能并行执行,运算部分可以进行任意的任务分解,任务之
您可能关注的文档
最近下载
- 《广告策划与创意》课件(全).pptx VIP
- 企业财务管理制度十二篇.docx VIP
- 工业行业市场前景及投资研究报告:解析Palantir.pdf VIP
- 检验科标本接收拒收制度标本验收标准.pdf VIP
- 卫生部手术分级目录(2025年版).doc VIP
- 电子束曝光技术.ppt VIP
- 第二单元《燕赵大地连津门》第2课时《津冀之声》课件 人教版二年级音乐上册.pptx VIP
- (2025)全国保密教育线上培训知识考试题库及参考答案.pdf
- 房地产制度与标准 - 绿城项目运营手册之交付后工作操作指引 .docx VIP
- 2024年9月28日福建省事业单位统考《行政职业能力测试》笔试试题.docx VIP
文档评论(0)