目标:高效地实现监听式缓存,类似思想可以应用到并行程序的编写

回顾:

  • deadlock:互斥资源、持有并等待、非抢占、循环等待
  • livelock:系统执行线程,但没有实质性进展
  • starvation:系统整体在执行,但某些线程在等待

监听的基本实现(假设原子总线)

考虑一个基本设计:

  • 每个处理器有一个内存请求
  • 单层、写回式缓存
  • 缓存在进行一致性操作时,处理器停止
  • 系统间连接使用原子总线(同一时间只有一次缓存通信)

在多处理器系统中,原子总线意味着:传输数据时没有其他总线操作;???

竞争:

  • 缓存连接处理器与总线
  • 总线操作时,处理器无法读取缓存
  • 处理器操作时,缓存无法响应监听信息 解决:
  • 多个标签???(两个标签需要保持同步)

非原子操作总线通信


ShengYg

Step after step the ladder is ascended.


Tags •