第8章多处理机1.根据多处理机系统中处理器个数的多少,可把现有的MIMD机器分为哪两类?根据多处理机系统中处理器个数的多少,把现有的MIMD机器分为:第一类为集中式共享存储器结构;第二类为分布式存储器结构;每一类代表了一种存储器的结构和互连策略。2.在分布式存储器结构的机器中,将存储器分布到各结点有什么好处?将存储器分布到各结点有两个好处:第一,如果大多数的访问是针对本结点的局部存储器,则可降低对存储器和互连网络的带宽要求。第二,对局部存储器的访问延迟低。分布式存储器结构最主要的缺点是处理器之间的通信较为复杂,且各处理器之间访问延迟较大。3.在分布式存储器结构的机器中,目前有哪两种存储器地址空间的组织方案?(1)第一种方案:物理上分离的多个存储器作为一个逻辑上共享的存储空间进行编址。(2)第二种方案:整个地址空间由多个独立的地址空间构成,它们在逻辑上也是独立的,远程的处理器不能对其直接寻址。4.在分布式存储器结构的机器中,对应于两种地址空间的组织方案,分别有哪两种通信机制?它们是怎么实现的?(1)共享地址空间的机器:可利用load和store指令中的地址隐含地进行数据通信,因而可称为共享存储器机器。(2)多个地址空间的机器:根据简单的网络协议,通过传递消息来请求某些服务或传输数据,从而完成通信。因而这种机器常称为消息传递机器。5.用哪三个关键的性能指标来衡量通信机制的性能?(1)通信带宽:理想状态下的通信带宽受限于处理器、存储器和互连网络的带宽。(2)通信延迟:通信延迟=发送开销+跨越时间+传输延迟+接收开销。(3)通信延迟的隐藏:如何才能较好地将通信和计算或多次通信之间重叠起来。6.共享存储器通信机制主要有哪些优点?(1)与常用的集中式多处理机使用的通信机制兼容。(2)当处理器通信方式复杂或程序执行动态变化时,易于编程;同时在简化编译器设计方面占有优势。(3)当通信数据较小时,通信开销较低,带宽利用较好。(4)通过硬件控制的Cache减少了远程通信的频度,减少了通信延迟以及对共享数据的访问冲突。7.消息传递通信机制主要有哪些优点?(1)硬件较简单。(2)通信是显式的,从而引起编程者和编译程序的注意,着重处理开销大的通信。8.在消息传递通信机制的硬件上怎样支持共享存储器?所有对共享存储器的访问均要求操作系统提供地址转换和存储保护功能,即将存储器访问转换为消息的发送和接收。9.并行处理面临着哪两个重要挑战?第一个是程序中有限的并行性。有限的并行性使机器要达到高的加速比十分困难。第二个是相对较高的通信开销。10.一致的存储系统应满足哪些条件?若一个存储系统满足以下三点,则称该存储系统是一致的。(1)处理器P对X单元进行一次写之后又对X单元进行读,读和写之间没有其他处理器对X单元进行写,则读的返回值总是写进的值。(2)一个处理器对X单元进行写之后,另一处理器对X单元进行读,读和写之间无其他写,则读X单元的返回值应为写进的值。(3)对同一单元的写是顺序化的,即任意两个处理器对同一单元的两次写,从所有处理器看来顺序都应是相同的。11.简述多处理机中产生Cache一致性问题的原因。(1)Cache的引进对I/O操作产生了一致性问题,因为Cache中的内容可能与由I/O子系统输入输出形成的存储器对应部分的内容不同。(2)对共享数据,不同处理器的Cache都保存有对应存储器单元的内容,因而在操作中就可能产生数据的不一致。12.在集中式共享多处理机中支持对共享数据和私有数据的Cache缓存有什么好处?私有数据缓冲在Cache中降低了平均访存时间和对存储器带宽的要求,使程序的行为类似于单机。共享数据的Cache缓存可降低访存时间和对存储器带宽的要求,还可减少多个处理器同时读共享数据所产生的冲突。13.实现Cache一致性协议的关键是什么?关键是跟踪共享数据块的状态。目前有两类协议,它们采用了不同的共享数据状态跟踪技术。14.实现Cache一致性协议时,有哪两种跟踪共享数据状态的技术?(1)目录:物理存储器中共享数据块的状态及相关信息均被保存在一个称为目录的地方。(2)监听:每个Cache除了包含物理存储器中块的数据副本之外,也保存着各个块的共享状态信息。Cache通常连在共享存储器的总线上,各个Cache控制器通过监听总线来判断它们是否有总线上请求的数据块。15.实现Cache一致性协议有哪两类?(1)写作废协议:在一个处理器写某个数据项之前保证它对该数据项有唯一的访问权。(2)写更新协议:当一个处理器写某数据项时,通过广播使其他Cache中所有对应的该数据项副本进行更新。16.写更新协议和写作废协议在性能上有哪些差别?(1)对同一数据的多个写而中间无读操作的情况,写更新协议需进行多次写广播操作,而在写作废协议下只需一次作废操作。(2)对同一块中多个字进行写,写更新协议对每个字的写均要进行一次广播,而在写作废协议下仅在对本块第一次写时进行作废操作即可。写作废是针对Cache块进行操作,而写更新则是针对字(或字节)进行操作。(3)从一个处理器写到另一个处理器读之间的延迟通常在写更新模式中较低,因为它写数据时马上更新了相应的其他Cache中的内容(假设读的处理器Cache中有此数据)。而在写作废协议中,需要读一个新的副本。17.目录协议中,Cache块有哪三种状态?(1)共享:在一个或多个处理器上具有这个块的副本,且主存中的值是最新值(所有Cache均相同)。(2)未缓冲:所有处理器的Cache都没有此块的副本。(3)专有:仅有一个处理器上有此块的副本,且已对此块进行了写操作,而主存的副本仍是旧的。这个处理器称为此块的拥有者。18.采用多处理机的一致性机制实现旋转锁有什么好处?第一,可使“环绕”的进程(不停测试请求锁的循环)对本地Cache块进行操作,而不用每次请求锁时必须先进行一次全局的存储器访问;第二,可利用锁访问的局部性,即处理器最近使用过的锁不久又会使用,这种状况下锁可驻留在那个处理器的Cache中,大大降低了请求的时间。19.实现多线程有哪两种主要的方法?第一种方法是细粒度多线程技术,它在每条指令之间都能进行线程的切换,从而导致多个线程的交替执行。第二种方法是粗粒度多线程技术,它是针对细粒度多线程的缺点而提出的。粗粒度多线程之间的切换只发生在时间较长的停顿出现时。