共享内存技术
SMP服务器的核心是内存共享技术,例如著名的Snoopy或者directory 协议等。这些技术通常需要一定程度硬件的支持才能获得期望的高性能,例如SGI Altix的cc-NUMA内存共享技术,因此成本高昂、扩展性差。随着网络技术特别是Myrinent和Infiniband网络技术的发展,基于软件实现的内存共享技术,例如分布式共享内存DSM技术由于成本低廉和可扩展性好而开始发展起来。
计算所研究的这个项目要求实现多个物理服务器的整合(8个以上),因此更适合于使用不依赖硬件支持的基于软件的内存共享技术,以获得更好的通用性和平台独立性。传统的DSM技术不得不使用复杂的以lock和barrier为基础实现的融贯性和一致性协议,导致延迟开销很大。随着UPC为代表的分割的全局地址空间模型编程技术的发展,为发展新型的内存共享技术提供了客观的需求。
另一方面,高效能服务器设计中的一个重要问题是提高编程的效率,而阻碍并行编程效率的首要问题就是进程或线程间的通信和同步问题,所以事务块寄存器技术得以发展,因为它取消了过去在并行程序中必须使用的lock和barrier等同步操作。同时,由于显式同步的减少或取消使得线程因数据依赖或同步依赖导致的进程等待时间大大减少,使系统吞吐率提高,从而使得内核负载的饱满程度得以大幅提升,进一步提高了系统的生产率。该项目计划将以DHVMM为基础,发展全新的以软件实现的内存共享技术。