哈尔滨工业大学计算机科学与技术学院 1
并行处理与体系结构
哈尔滨工业大学计算机科学与技术学院 2
第 5章 分布式存储器及其
时延容忍
??1 层次存储器技术
??2 高缓一致性协议
??3 共享存储器的同一性
??4 分布式高速缓 /主存体系结
构
哈尔滨工业大学计算机科学与技术学院 3
?3 共享存储器 同一 性
? 对共享存储器存在一致性问题,须建
立有效的多处理机共享存储器模型。
该模型能影响,
① 性能;
② 准确性;
③ 可编程性;
④ 并行应用的可移植性。
哈尔滨工业大学计算机科学与技术学院 4
? 一、存储器事件排序
? 共享存储器的行为由程序次序和存储
器存取次序共同决定。
? 1,基本概念
? 多处理机系统的存储器事件
? 存储器一致性模型 (memory
consistency model)
哈尔滨工业大学计算机科学与技术学院 5
? 存储器次序 (memory order)
? 当多个进程同时对同一存储器单元集合进
行操作时,事件次序用于区分各存储操作
是否在 某一特定时间可执行 还是必须 等待
? 由某一特定存储器一致性模型给出的存储
器次序 (Memory order)用于指导多处理器
对存储器的存取操作应具有的正确次序,
并可加速并发进程的执行。
哈尔滨工业大学计算机科学与技术学院 6
? 2.多处理机系统中的存储器事件
? 如下图所示,
? 一个单处理机系统按顺序的程序次序
决定了存储器次序
? 在多处理机系统中存储器事件存在许
多问题。
哈尔滨工业大学计算机科学与技术学院 7
哈尔滨工业大学计算机科学与技术学院 8
? 主要原因
① 在多处理机系统中,如果在指令流之间
没有同步,则有可能有大量的指令交错
执行。从中找到优化的全局存储器次序
是一个 NP;
② 在基于高速缓存的系统中,如果对有多
份拷贝的数据的存储操作不具有原子性,
那么不同的处理器会观测到不同的次序。
此时多个程序的可能实例总数将是非常
巨大的。
哈尔滨工业大学计算机科学与技术学院 9
?二、存储器一致性模型
? 传统的单处理机和多处理机系统遵从
顺序一致性 (sequential
consistency)模型。也产生了,
?弱一致性 (weak consistency);
?处理器一致性 (processor consistency);
?释放一致性 (release consistency)
共享存储器模型。
哈尔滨工业大学计算机科学与技术学院 10
?1.顺序一致性
? 顺序一致性物理意义
? 顺序一致 (sequentially
consistent,SC)的定义
?若满足:所有的执行结果与所有处
理器按某一顺序序列执行的结果相
同,并且各处理器在此顺序序列中
的程序次序与原有程序次序一致。
哈尔滨工业大学计算机科学与技术学院 11
?2.弱一致性
? 该模型由 3个存储器访问条件规定,
(1)在允许其他任何处理器的读写访问
前,必须先完成所有的同步访问。
(2)在允许其他任何处理器的同步访问
前,必须先完成所有的读写访问。
(3)各同步访问间满足顺序一致性。
哈尔滨工业大学计算机科学与技术学院 12
?3.处理器一致性
? 同一处理器的写操作总是遵循程序次序,
而不同处理器的写操作不用遵循。
? 为了保证处理器一致性,与其它处理器相
关的存储器访问需要满足下列条件,
? 对任一其它处理器而言,在进行某读操
作之前,必须先完成所有以前的读操作。
? 相关于任一其它处理器而言,在进行某
写操作之前,必须先完成所有以前的读
和写操作。
哈尔滨工业大学计算机科学与技术学院 13
? 4.释放一致性
(release consistency, RC)模型
? 同步访问需要被标示为加锁或解锁。
? 获得操作 (加锁)是一个要求得到访问某
个数据集的权限的读操作 (有可能某个读、
修改、写操作的一部分 ),
? 而解锁(释放)操作是一个释放该权限的
写操作。
哈尔滨工业大学计算机科学与技术学院 14
?RC共享存储器模型的前题条件,
? 对任一其它处理器而言,在进行某次常规
的读或写操作之前必须先完成所有以前获
得操作。
? 对任一其它处理器而言,在进行某次释放
操作之前,必须先完成所有以前的常规读
或写操作。
? 所有的特殊操作 (获得和释放操作 )需保持
处理器一致性,此时的次序限制与弱一致
模型的要求不同,相反地,RC模型要求满
足处理器一致性而不是顺序一致性。
哈尔滨工业大学计算机科学与技术学院 15
?5,RC模型的优点,
? RC模型可通过以下方式满足,
? (1)在进行获得操作时暂停处理器直至操作
完成;
? (2)推迟释放操作的完成时间直至所有以前
存储器操作均已完成。
? 相对于 SC模型而言,实现 RC模型的开销 ;
? 包括额外的硬件和软件要求以提供无需查
找的高速缓存并记录多个待响应的请求
哈尔滨工业大学计算机科学与技术学院 16
? 6,几种存储器一致性模型间的描述
哈尔滨工业大学计算机科学与技术学院 17
哈尔滨工业大学计算机科学与技术学院 18
?三,非严格的存储器模型
? 非严格的存储器模型的主要目的是在
保证程序执行的正确性前提下,减少
控制高速缓存一致性的开销。
?
哈尔滨工业大学计算机科学与技术学院 19
? 非严格的存储器模型的两个特点,
? 存储器模型的区别主要在于如何放松某个写操作
和其后的读操作间、两个写操作间、某个读操作
和其后的读或写操作间的次序要求,前提是这些
操作对 的 地址应是不同 的,同时应类似于在没有
高速缓存的体系结构上按照顺序一致性的优化方
式。
? 基于高速缓存的系统,某些存储器模型允许某个
读操作返回其它处理器的写操作的写入值,而该
写操作可以未被其它处理器观测到
并行处理与体系结构
哈尔滨工业大学计算机科学与技术学院 2
第 5章 分布式存储器及其
时延容忍
??1 层次存储器技术
??2 高缓一致性协议
??3 共享存储器的同一性
??4 分布式高速缓 /主存体系结
构
哈尔滨工业大学计算机科学与技术学院 3
?3 共享存储器 同一 性
? 对共享存储器存在一致性问题,须建
立有效的多处理机共享存储器模型。
该模型能影响,
① 性能;
② 准确性;
③ 可编程性;
④ 并行应用的可移植性。
哈尔滨工业大学计算机科学与技术学院 4
? 一、存储器事件排序
? 共享存储器的行为由程序次序和存储
器存取次序共同决定。
? 1,基本概念
? 多处理机系统的存储器事件
? 存储器一致性模型 (memory
consistency model)
哈尔滨工业大学计算机科学与技术学院 5
? 存储器次序 (memory order)
? 当多个进程同时对同一存储器单元集合进
行操作时,事件次序用于区分各存储操作
是否在 某一特定时间可执行 还是必须 等待
? 由某一特定存储器一致性模型给出的存储
器次序 (Memory order)用于指导多处理器
对存储器的存取操作应具有的正确次序,
并可加速并发进程的执行。
哈尔滨工业大学计算机科学与技术学院 6
? 2.多处理机系统中的存储器事件
? 如下图所示,
? 一个单处理机系统按顺序的程序次序
决定了存储器次序
? 在多处理机系统中存储器事件存在许
多问题。
哈尔滨工业大学计算机科学与技术学院 7
哈尔滨工业大学计算机科学与技术学院 8
? 主要原因
① 在多处理机系统中,如果在指令流之间
没有同步,则有可能有大量的指令交错
执行。从中找到优化的全局存储器次序
是一个 NP;
② 在基于高速缓存的系统中,如果对有多
份拷贝的数据的存储操作不具有原子性,
那么不同的处理器会观测到不同的次序。
此时多个程序的可能实例总数将是非常
巨大的。
哈尔滨工业大学计算机科学与技术学院 9
?二、存储器一致性模型
? 传统的单处理机和多处理机系统遵从
顺序一致性 (sequential
consistency)模型。也产生了,
?弱一致性 (weak consistency);
?处理器一致性 (processor consistency);
?释放一致性 (release consistency)
共享存储器模型。
哈尔滨工业大学计算机科学与技术学院 10
?1.顺序一致性
? 顺序一致性物理意义
? 顺序一致 (sequentially
consistent,SC)的定义
?若满足:所有的执行结果与所有处
理器按某一顺序序列执行的结果相
同,并且各处理器在此顺序序列中
的程序次序与原有程序次序一致。
哈尔滨工业大学计算机科学与技术学院 11
?2.弱一致性
? 该模型由 3个存储器访问条件规定,
(1)在允许其他任何处理器的读写访问
前,必须先完成所有的同步访问。
(2)在允许其他任何处理器的同步访问
前,必须先完成所有的读写访问。
(3)各同步访问间满足顺序一致性。
哈尔滨工业大学计算机科学与技术学院 12
?3.处理器一致性
? 同一处理器的写操作总是遵循程序次序,
而不同处理器的写操作不用遵循。
? 为了保证处理器一致性,与其它处理器相
关的存储器访问需要满足下列条件,
? 对任一其它处理器而言,在进行某读操
作之前,必须先完成所有以前的读操作。
? 相关于任一其它处理器而言,在进行某
写操作之前,必须先完成所有以前的读
和写操作。
哈尔滨工业大学计算机科学与技术学院 13
? 4.释放一致性
(release consistency, RC)模型
? 同步访问需要被标示为加锁或解锁。
? 获得操作 (加锁)是一个要求得到访问某
个数据集的权限的读操作 (有可能某个读、
修改、写操作的一部分 ),
? 而解锁(释放)操作是一个释放该权限的
写操作。
哈尔滨工业大学计算机科学与技术学院 14
?RC共享存储器模型的前题条件,
? 对任一其它处理器而言,在进行某次常规
的读或写操作之前必须先完成所有以前获
得操作。
? 对任一其它处理器而言,在进行某次释放
操作之前,必须先完成所有以前的常规读
或写操作。
? 所有的特殊操作 (获得和释放操作 )需保持
处理器一致性,此时的次序限制与弱一致
模型的要求不同,相反地,RC模型要求满
足处理器一致性而不是顺序一致性。
哈尔滨工业大学计算机科学与技术学院 15
?5,RC模型的优点,
? RC模型可通过以下方式满足,
? (1)在进行获得操作时暂停处理器直至操作
完成;
? (2)推迟释放操作的完成时间直至所有以前
存储器操作均已完成。
? 相对于 SC模型而言,实现 RC模型的开销 ;
? 包括额外的硬件和软件要求以提供无需查
找的高速缓存并记录多个待响应的请求
哈尔滨工业大学计算机科学与技术学院 16
? 6,几种存储器一致性模型间的描述
哈尔滨工业大学计算机科学与技术学院 17
哈尔滨工业大学计算机科学与技术学院 18
?三,非严格的存储器模型
? 非严格的存储器模型的主要目的是在
保证程序执行的正确性前提下,减少
控制高速缓存一致性的开销。
?
哈尔滨工业大学计算机科学与技术学院 19
? 非严格的存储器模型的两个特点,
? 存储器模型的区别主要在于如何放松某个写操作
和其后的读操作间、两个写操作间、某个读操作
和其后的读或写操作间的次序要求,前提是这些
操作对 的 地址应是不同 的,同时应类似于在没有
高速缓存的体系结构上按照顺序一致性的优化方
式。
? 基于高速缓存的系统,某些存储器模型允许某个
读操作返回其它处理器的写操作的写入值,而该
写操作可以未被其它处理器观测到