论文部分内容阅读
在计算机技术发展过程中,模拟一直是一个十分重要的研究方法。模拟器是运行在一个平台上的特殊程序,它可以模拟另外一个平台所具有的特征,前者称为宿主机,后者称为目标机。模拟器由于其灵活性,被广泛用于体系结构的研究、系统软件的开发和调试、复杂应用程序性能的评测以及软件的移植等诸多方面。但是面对大规模并行程序的模拟,模拟器常常难以满足。
基于对模拟器和操作系统的研究,本文提出了一种统一管理宿主机资源和目标机资源的分布式操作系统POLYOS。利用该操作系统能很好的支持宿主机进程与目标机进程之间的协同工作。基于这种工作模式,并行应用程序的模拟速度得到了显著提升。对于小规模应用程序来说,基于POLYOS操作系统的模拟器模拟速度,与传统模拟器相比提高了近五十倍;对于大规模应用程序而言,传统模拟器因速度过慢而无法使用,但基于POLYOS操作系统模拟器依然可以成功地完成模拟任务。
本文首先讲述了POLYOS操作系统的总体设计。灵活性、扩展性和适应性是本系统的设计目标。为了实现该目标,本系统由多种具有自适应能力的模块所组成。这些模块可以根据物理平台的配置,进行结构上的自组织,并相互协作共同提供系统服务。
由于通信子系统在操作系统中起到了非常重要的作用,所以本文还详细阐述了POLYOS操作系统的通信子系统及其在各种环境下的实现方式。为了充分利用模拟器的资源,通信子系统在目标机中增加了新的虚拟设备,并在目标机的操作系统中增添了相应的驱动程序,从而在宿主机和目标机之间建立了一座通信桥梁。
最后,基于对POLYOS操作系统通信性能的评测,本文给出了典型的并行应用程序Linpack和NPB在POLYOS操作系统中的模拟性能。实验结果还表明POLYOS操作系统具有良好的扩展性。