论文部分内容阅读
随着高性能工作站的出现和高性能网络技术的飞速发展,集群计算逐渐成为一种具有很高性价比的的并行/分布式计算系统。集群计算系统的核心问题是资源的共享及有效利用,只有平衡的负载才能达到最大的资源使用率。进程是计算机系统中使用资源的基本单元,使进程能够动态的在集群节点间迁移是实现负载平衡的一种基本而有效的方法,这样就能使系统能适应负载的动态变化。在现在以地址为中心的通信模型中,进程迁移必然带来通信地址的变化,进程间的网络通信不仅直接影响迁移的透明性,带来了迁移限制,而且导致极大的剩余相关性,对迁移后的性能和系统的健壮性有很大的负面影响。因此,必须使集群系统能够提供对网络通信迁移的支持,保证网络通信不因为进程的迁移而中断。我们将其称为套接字迁移。 本文首先研究了MOSIX进程迁移机制,然后通过源码阅读分析了Linux系统TCP和UDP套接字的实现,并在此基础上,讨论了这两种套接字迁移中的关键问题;然后给出了内核级的迁移套接字的完整方案,实现了一个套接字迁移在MOSIX集群系统上的系统原型。解决了集群环境下进程迁移如何透明的保持TCP和UDP通信的问题。