论文部分内容阅读
根据高性能计算和高通量计算的概念,结合当前复杂仿真系统的应用特点,给出了高通量仿真的定义。高通量仿真指的是利用大量的计算资源,在较长的时间内,以较高的运算效率完成大规模仿真任务的计算机仿真过程。高通量仿真与以往的仿真系统相比有较大的不同。高通量仿真系统应用范围更广,不再是针对特定的领域。而且高通量仿真中,涉及了知识背景各异的用户,不同的用户的关注层面差别巨大。仿真过程对于用户来说,需要并发运行大量耦合性弱的仿真作业,而且系统在执行这些仿真作业时往往需要实例化大量复用的仿真模型,处理和分析海量的数据。总的来说,高通量仿真具有:异构、高吞吐、高并发、高可靠性等特点。高通量仿真过程中可能存在对于I/O的频繁访问,而且仿真过程一般运行在异构的、动态的分布式系统中,那么I/O的访问效率可能会成为仿真效率高低的关键因素。在仿真过程中,如果分布式文件系统的读写效率较低,那么在整个仿真过程中,可能会将大量的时间消耗在I/O访问过程中,因此,需要有一种方法来改善分布式文件系统的读写速率,并且在读写速率提升的同时,还要保证其高可靠性,这是本文研究的最根本所在。仿真过程中,对于I/O的访问,一定会涉及到模型的进程对于I/O的访问,本文首先会构建一个高通量仿真支撑平台,在此平台中,上层封装了仿真推进引擎,仿真推进过程是一个多进程推进的过程,在多进程协同运行的过程中,必须有一个避免死锁的方法,本文利用空消息算法来有效避免死锁的发生,系统的下层就是实际的物理存储,如果想提升物理介质的存储速度,更换物理存储是最直接的方式,在本系统中,使用了内存作为文件系统,但是由于内存的易失性,单纯使用内存可靠性难以保证,而通过利用Alluxio可以有效避免内存的缺陷。本文所构建的高通量仿真支撑平台优点如下:(1)可以满足高通量仿真过程中,模型进程对于I/O的高并发访问。(2)在本文所设计的高通量仿真支撑平台时,抛弃了传统的基于HDFS的分布式文件系统,而选择采用基于内存的分布式文件系统,由于内存介质的读写速率远远高于磁盘,所以在面对高并发访问时,其效率会比传统的基于磁盘的分布式文件系统高很多。(3)高通量仿真支撑平台的底层存储采用分层结构,上层为内存,下层为HDD,这样做既保证了I/O访问的效率,又保证了分布式文件系统对于数据的存储量。本文实现了一个仿真支撑平台,此平台是面向高通量仿真而设计的,结合高通量仿真过程中高并发、高吞吐量的实际情况,系统实现时对分布式文件系统进行优化,最终解决仿真过程中频繁对I/O访问所带来的瓶颈问题,提升仿真的效率。本系统用C++编程实现了仿真推进引擎和避免死锁的空消息算法,然后用Java语言实现了对文件系统的访问,通过代理将两者相结合实现了仿真过程中对于分布式文件系统的高并发访问。本文中实现的高通量仿真支撑平台可以有效的改善访问I/O带来的瓶颈,和传统的大数据仿真相比,会有更高的效率。