首页 > 其他 > 详细

计算机系统结构总结_Multiprocessor

时间:2019-12-08 12:48:23      阅读:94      评论:0      收藏:0      [点我收藏+]

Textbook:
《计算机组成与设计——硬件/软件接口》    HI
《计算机体系结构——量化研究方法》           QR


最后一节来看看如何实现parallelism

 

在多处理器系统中,每个处理器(core)可能有自己专属的cache,然后多处理器共享memory。在这种情况下,当多个线程(核心)对同一个变量进行读写时,就会出现不同cache中该变量的值不一样的情况(取决于cache是write back还是write through,以及相关cacheline被evict的时间等等),这样就会导致程序运行结果出错了。

因此我们需要保证reading an address should return the last value written to that address。

这里涉及到两个问题:

  1. coherence:what value should be returned by a read operation(behavior to same location)
  2. consistency:when could a write operation be finished(behavior to multiple locations)

 


 

coherent memory system

假设一个机器有两个Processor P和Q。一个coherent memory system需要保证以下三个性质:

Thread(1){
    P.write(X,3)
    P.read(X)    //这里只有单线程,Return 3
}
Thread(1){             | Thread(2){
    Q.write(X,5)       |     P.read(X)    //若P的read发生在Q的write之后,就要保证Return 5
}                      | }
Thread(1){             | Thread(2){
    Q.write(X,4)       |     P.read(X)
    Q.write(X,8)       |     P.read(X)
}                      | }              //要保证read出来X的顺序也是4和8

其实和分布式系统的一致性很像....

 

计算机系统结构总结_Multiprocessor

原文:https://www.cnblogs.com/pdev/p/12004697.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!