我的订单|我的收藏|我的商城|帮助中心|返回首页
虚拟现实新闻>VR>行业资讯>行业知识

SF Express大规模军事推演仿真系统介绍

文章来源:第三维度(http://www.d3dweb.com) 作者:Jessica 发布时间:2010年10月11日 点击数: 字号:
包含大容量存贮设备和缓冲设备,保存地形图等数据。

    需要指出的是,不管是模拟器、路由器,还是网关、数据服务器,都是用并行计算机的处理器实现的,只不过各自数量和所运行的程序不同罢了。并行计算机所能模拟的实体数量取决于它的处理能力,举例来说,Intel Paragon机能够模拟大约18,000个战斗实体。

    SF Express利用上述分层次的体系结构,非常有利于削减网格中的通信量。打个比方,由于政府机构划分为部、厅、局、处、科几个层次且有明确分工,这样,公文就不需要发给所有的单位,只需要发给同级或上下级的相关单位,提高了办事效率。同样,在SF Express中,不同功能结点分配了不同的任务:

    “基层单位”是模拟器,它们周期性地计算所模拟的每个实体的感知范围,并将所有范围合并,得到该模拟器的整体感知范围(如图2所示),并将这个范围及实体的活动情况报告路由器结点。同时,它们也从路由器接受处于其感知范围内的实体的活动情况的报告,并根据地形和活动情况计算每个实体的下一步对策。   

 图2 两辆坦克感知范围的合并
图2 两辆坦克感知范围的合并

    “中层单位”是路由器结点,它们从每个模拟器接受感知范围信息并保存到一个大的缓存中,然后合并出所辖全部模拟器的整体感知范围并上报网关结点。当路由器收到经网关转发的、来自其他路由器的活动报告,便会根据活动的发生地点是否落在某个模拟器的感知范围之中,决定是否将该报告转发给该模拟器。

    “高层单位”是网关结点,它是网格中并行计算机之间的信息中转站和过滤器。它向其他并行计算机的网关发布本机的集合感知范围,并周期性接收并保存其他计算机的感知范围。如果本地一个实体的活动位置正好落在某台并行计算机的感知范围之中,才将它的活动报告转发给该计算机。同理,网关如果收到其他计算机发来的实体活动报告,则该实体的位置一定处于下属某个网关的感知范围之中,于是网关就将该报告转发给该网关。

    就这样,经过三层信息过滤,网格内部基本上不存在无用信息传递,即使是模拟了10万个实体也没有使系统瘫痪。即便如此,读者可能还是会觉得这个系统还是很复杂,因为网关、路由器、模拟器之间存在许多信息交互,单是通信格式定义起来就很麻烦。幸运的是,这是个基于DIS的系统,所有的活动情况报告都是用标准的PDU格式来传递的,因而大大简化了信息交互过程。就像邮政系统,虽然信件的内容千变万化,但信封的制式是统一的,在邮寄过程中所经历的层层转递,只是为了让信件发到正确的收信人手中,并没有增加信件本身的复杂性。

    与Globus的融合

    有了上一节的基础,实现SF Express好像已经水到渠成,为何还需要Globus的支持呢?那么,让我们先设想一下,如果没有Globus,SF Express的实现将遇到什么问题:

    SF Express项目纳入了横跨7个时区的13台超级计算机,如何才能使它们同时空闲下来以便运行SF Express?唯一办法是逐一与这些计算机的管理人员联系,定下时间,预留机器。

    如何把SF Express程序代码及初始数据传送到每台并行计算机上并启动之?看来只好逐一登录,用手工完成。

    如果在程序运行过程中,有并行计算机出现异常情况(比如硬件故障或停电),怎么办?这时SF Express只好停下来,找个机会重新开始。

    如果连接某台并行机的网络出现拥塞或根本不通怎么办?这种情况也很常见,例如SF Express在Supercomputing 97国际会议上演示50,000个实体的模拟时,连接德州的HP Exemplar超级计算机的网络就出现了不畅通的情况[5]。

    如果加入网格的并行计算机因为有更重要的任务,要求提前退出SF Express的执行怎么办?只好希望这种事情最好不要发生,否则将前功尽弃。

    如何获得SF Express的运行结果和日志数据?如果没有另外的程序支持,这些结果和日志将分别保存在不同的并行

共3页 您在第2页 首页 上一页 1 2 3 下一页 尾页 跳转到页 本页共有3271个字符
  • 暂无资料
  • 暂无资料
  • 暂无资料
  • 暂无资料
  • 暂无资料