论文部分内容阅读
随着高性能计算应用的日益增多,传统的高性能计算机在可扩展性和计算成本上不能完全满足需求,而网络技术的快速发展,使得利用网络计算模式进行高性能计算具有高扩展、低成本的特点。但目前已有的网络计算平台大部分只针对专门的计算应用。志愿者计算平台P2HP采用应用系统与核心软件分离机制,提供方便易用的用户开发包,使用户参与到应用设计中来,实现了平台的通用性。任务调度系统是P2HP平台的关键子系统,其设计不仅要求高效性和可扩展性,而且应具有较高的容错性和负载平衡性。针对这种要求,提出一种两级联合调度算法TLUSA作为任务调度系统的核心算法。该算法充分考虑负载平衡、志愿机CPU空闲计算能力以及子任务相关要求,分别在调度层和计算层进行任务调度,从而分散了调度负载,避免了调度瓶颈,增强了系统的动态扩展性,提高了系统的并行效率;采用任务容错机制,通过子任务计算超时检测、冗余计算调度处理等方法避免任务计算失败。在任务调度通信设计中,考虑到通信网络的不稳定性,对通信过程的各个环节进行容错控制,使用超时检测和出错重传机制,更好地保证了系统的正常调度通信。在应用实例多序列比对中,提出一种分布式多序列比对算法D_ClustalW,该算法结合了P2HP平台的调度特征以及多序列比对的计算特点,实现了对ClustalW算法的并行化,并提出了平均划分和基于计算时间预测的划分两种并行划分策略,提高了任务划分的均衡性。通过模拟测试与应用实例测试,对P2HP任务调度系统及其调度算法的功能和性能分别进行测试。测试比较了50条SARS冠状病毒序列,原有串行方式运行时,计算量相当于在一台Celeron 2000GHz赛扬CPU的PC机上运行超过90小时;采用P2HP计算平台,系统运行取得了较高的计算加速比,在志愿者节点数为8的情况下,计算加速比为5.7,而在志愿者节点数增加到40时,最高计算加速比为30.6。实验表明,P2HP是一个高效的分布式计算平台,其任务调度系统及算法具有高效性和可扩展性。