张 ,
(上海大学 计算机工程与科学学院,上海 200436)
分布式共享内存(Distributed Shared Memory,DSM)是分布式系统节点之间进行数据共享与交换的一种快速、有效的机制,它能将不同节点的物理内存映射成一个逻辑上统一的虚拟地址空间,任意进程都可以访问该空间内的任意地址,进程间的消息传递对程序员而言是透明的。因此,DSM系统的编程较简单,且其具有较好的扩展性。
由于分布式系统节点之间的网络通信延迟较大,具体实现时需要考虑在保证数据一致性的同时降低总访问延迟。文献[1-2]较早对DSM的具体实现方式进行细致分析,并提出一种以共享页面方式实现的DSM系统Ivy。但Ivy存在数据颠簸和假共享的问题,性能较差。随着科技的进步,研究人员对DSM的实现形式进行改进,提出基于变量的共享方式,其代表系统是Midway[3]。而目前,DSM的普遍实现方式是采用基于对象的共享方式,如X10、Grace等[4-7]。
传统DSM系统采用基于以太网的点对点、广播或多播的方式进行节点间数据传输。其中,多播是一种效果较好的传输形式[8]。多播是一对多的通信方式,其可以只向特定多播组内的节点发送消息,能够有效节省通信开销,提高网络带宽利用率。传统多播是基于以太网的,但以太网只能提供不保证带宽与延迟的尽力而为的服务。因此,基于以太网的多播在带宽与延迟方面具有不可控性,需要使用额外策略为多播提供性能保障。目前常用方法是由路由器根据相应路由算法构造一棵覆盖源节点和目的节点的多播树。……