论文部分内容阅读
随着高性能计算环境规模与复杂性的不断增加,不可避免导致了系统的可靠性急剧下降,各节点利用率不均衡。造成长期运行的应用程序经常被系统故障中断,因此增加系统可靠性是十分必要的。检查点是一种常见的容错机制,进程迁移是检查点机制的一种应用,是一种主动容错机制。基于检查点的进程迁移是在源节点保存进程所有状态信息,并将状态信息传输到性能高的目的节点,重新创建进程从保存的状态的地方恢复的过程。进程迁移克服检查点因节点故障而导致检查点数据丢失的缺点,扩充了检查点功能,包括增强系统动态负载平衡,节点资源共享,移动计算等。本文基于检查点机制设计并实现一个内核级进程迁移系统。采用检查点机制实现进程状态保存,基于增量检查点技术保存脏页,通过迭代传输的方式实现实时迁移。但是进程迁移需要通过网络传输大量进程状态,给应用程序增加了较长的冻结时间,导致应用程序的完成时间增长,同时也影响系统性能。由于传统增量检查点是基于页面级保存进程状态,缺陷是即使页面只修改一个字节也需要保存完整页面。针对上述迁移冻结时间长的问题,通过分析脏页中变化的数据分布规律,提出了差值压缩与基于Hash内存块排除两种方式识别脏页中变化字节。进一步降低进程迁移冗余数据传输,缩短进程冻结时间,提高进程迁移效率。实验表明,本系统基于检查点机制实现了进程迁移的基本功能,可以完成进程实时迁移。采用差值压缩与基于Hash内存块排除两种方式优化进程实时迁移,可以明显降低数据传输量与冻结时间。在进程实时迁移过程中,数据传输量平均分别减少89.29%和85.71%,进程冻结时间分别减少81.99%和79.66%。