文档介绍:第6章分布式存储管理
东北大学信息学院
于戈
2002年7月
1
主要内容
分布式共享内存(DSM)
一致性模型
基于页面的DSM
DSVM的应用
习题
2002-7-12
2
第六章分布式存储管理
(DSM)
CPU与存储器连接模型
单片机
理想的共享存储器多处理机
2002-7-12
3
第六章分布式存储管理
UNIX共享内存举例
System call
Description
int shmget(key, size, ishmflg);
returns the SM identifier associated with key.
void *shmat(shmid, *shmaddr, shmflg);
attaches the SM segment associated with the shmid to the data segment of the calling process.
int shmdt(const void *shmaddr);
detaches from the calling process's data segment the SM segment located at shmaddr.
int shmctl(shmid, cmd, *buf)
provides a variety of SM control operations as specified by cmd.
2002-7-12
4
第六章分布式存储管理
层次结构
2002-7-12
5
第六章分布式存储管理
多处理器结构
带缓存的多处理器结构
总线仲裁机制:集中式和非集中式
基于总线的多处理机
CPU
内存
总线
(a)
总线
(b)
缓存
CPU
CPU
CPU
内存
缓存
CPU
缓存
CPU
2002-7-12
6
第六章分布式存储管理
通写缓冲(write-though)一致性协议
事件
对本地CPU操作响应
对远程CPU响应
读失败
(miss)
从内存中取得数据并存储到缓存中(MC)
(无动作)
读命中
(hit)
从本地缓存中取得数据
(无动作)
写失败
更新内存中的数据并存储到缓存中( C M )
(无动作)
写命中
更新存储器和缓存
(MC M )
置为无效
2002-7-12
7
第六章分布式存储管理
缓存拥有权(ownership)协议
Cache分成若干个cache块
每个Cache块处于三种状态:
Invalid-数据无效
Clean-与存储器数据一致
Dirty-数据被更新,与存储器数据一致
各CPU监听(snoopy)其它CPU在总线的操作
2002-7-12
8
第六章分布式存储管理
缓存拥有权协议举例
W初始状态(W1)
A读W(W1)
A写W(W2)
A再写W(W3)
C读写W(W3)
2002-7-12
9
第六章分布式存储管理
缓存拥有权(ownership)协议
多个CPU可有读拥有权
只有一个CPU有写拥有权
当一个CPU写一个数据
取得对该数据的拥有权
其它CPU将该数据的缓存块置为“invalid”
在本地缓存块中,写数据,并置为“dirty”
适当时候,刷新存储区,或提供给其它CPU
2002-7-12
10
第六章分布式存储管理