一种基于InfiniBand实时调度海量高精度三维场景数据的方法

文档序号:6543027阅读:119来源:国知局
一种基于InfiniBand实时调度海量高精度三维场景数据的方法
【专利摘要】本发明涉及计算机应用技术和计算机视觉领域,具体涉及一种基于InfiniBand实时调度海量高精度三维场景数据的方法,包括创建RAID磁盘阵列,将磁盘阵列柜用RAID卡连接到服务器上,使用InfiniBand网卡和网络交换机搭建好InfiniBand网络,将服务器作为节点加入到InfiniBand网络中,使用地形生成软件和源数据生成地形子模块,并将地形存放到服务器上;将所有准备好的数据和软硬件组合到一起构建成地形服务器;使用InfiniBand卡和光纤将IG主机加入到InfiniBand网络中等步骤。本发明确保系统稳定高效地运行,并在此基础上提出一种基于视锥体和时间优先级的数据预测调度算法,根据视锥体裁减预判和数据块在内存中的存在时间进行地形数据在内存中的调度与释放,从而减少系统内存消耗,提高数据调度效率。
【专利说明】一种基于InfiniBand实时调度海量高精度三维场景数据的方法
【技术领域】
[0001]本发明涉及计算机应用技术和计算机视觉领域,具体涉及一种基于InfiniBand实时调度海量高精度三维场景数据的方法。
【背景技术】
[0002]近年来,作为计算机硬件核心器件的CPU快速发展,处理器的计算能力与存储器数据调度效率之间的差距则越来越大,这种差距在未来有继续扩大的趋势。为了减少数据传输延迟所造成的对系统性能的影响,当今大多数计算机采用分层次的存储结构。该结构的特点有:1、存储器越靠近CPU,存储容量越小,而数据访问速度越快;2、不同存储层次之间的存储器交换数据时,可以以数据块为基本单位。其中,内存至高速缓存或显存的数据传输是即时传输,传输速度较快。而从硬盘读取数据的速度则慢很多,因此硬盘与内存的数据交互速度过慢,成为影响计算机系统性能的主要瓶颈。特别是在计算机视景系统中,存在海量的场景数据,硬盘与内存的数据交互速度过慢显然无法满足计算机视景系统对场景的流程性要求。
[0003]而在硬盘与内存的数据传输是利用PCI总线实现,但是PCI总线有以下缺陷:1、由于采用了基于总线的共享传输模式,在PCI总线上不可能同时传送两组以上的数据;2、随着总线频率的提高,信号线之间的相互干扰变得越来越严重,在一块主板上布设多条总线的难度也越来越大;3、由于PCI设备采用了内存映射I/O地址的方式建立与内存的联系,热添加PCI设备变成了 一件非常困难的工作,如果一块主板上支持的热插拔PCI接口越多,用户损失的内存就越多;4、PCI的总线上虽然有buffer作为数据的缓冲区,但是它不具备纠错的功能,如果在传输的过程中发生了数据丢失或损坏的情况,控制器只能触发一个匪I中断通知操作系统在PCI总线上发生了错误。

【发明内容】

[0004]本发明的目的在于提供一种基于InfiniBand实时调度海量高精度三维场景数据的方法,解决在计算机视景系统中硬盘与内存的数据交互速度过慢的问题。
[0005]为解决上述的技术问题,本发明采用以下技术方案:
[0006]一种基于InfiniBand实时调度海量高精度三维场景数据的方法,其特征在于:包括以下步骤:
[0007]步骤一,准备好所有的硬件,包括服务器、IG主机、RAID阵列柜、RAID卡、InfiniBand网卡、InfiniBand网络交换机、光纤线等以及视景主程序、地形生成软件和地形源数据;
[0008]步骤二,创建RAID磁盘阵列,将磁盘阵列柜用RAID卡连接到服务器上,使用InfiniBand网卡和网络交换机搭建好InfiniBand网络,将服务器作为节点加入到InfiniBand网络中,使用地形生成软件和源数据生成地形,从而构成地形服务器;[0009]步骤三,使用InfiniBand卡和光纤将IG主机加入到InfiniBand网络中;
[0010]步骤四,在视景主程序中添加基于InfiniBand网络调度地形子模块,地形子模块负责从地形服务器中通过大规模地形调度算法将数据提取到IG中进行渲染。
[0011]更进一步的技术方案是,所述地形子模块包括四叉树索引,所述四叉树索引的构建方法是:
[0012]步骤一,构造LOD金字塔:场景数据均以纹理的形式存储,首先将场景纹理以分辨率成倍递增的方式构造为若干个层次,设某层编号为lk,分辨率为mk*nk,其相邻的下一层(较精细层)编号为lk+1,分辨率为mk+1*nk+1,两层的分辨率满足以下关系:
【权利要求】
1.一种基于InfiniBand实时调度海量高精度三维场景数据的方法,其特征在于:包括以下步骤: 步骤一,准备好所有的硬件,包括服务器、IG主机、RAID阵列柜、RAID卡、InfiniBand网卡、InfiniBand网络交换机、光纤线等以及视景主程序、地形生成软件和地形源数据; 步骤二,创建RAID磁盘阵列,将磁盘阵列柜用RAID卡连接到服务器上,使用InfiniBand网卡和网络交换机搭建好InfiniBand网络,将服务器作为节点加入到InfiniBand网络中,使用地形生成软件和源数据生成地形,从而构成地形服务器; 步骤三,使用InfiniBand网卡和光纤将IG主机加入到InfiniBand网络中; 步骤四,在视景主程序中添加基于InfiniBand网络调度地形子模块,地形子模块负责从地形服务器中通过大规模地形调度算法将数据提取到IG中进行渲染。
2.根据权利要求1所述的一种基于InfiniBand实时调度海量高精度三维场景数据的方法,其特征在于:所述地形子模块包括四叉树索引,所述四叉树索引的构建方法是: 步骤一,构造LOD金字塔:场景数据均以纹理的形式存储,首先将场景纹理以分辨率成倍递增的方式构造为若干个层次,设某层编号为lk,分辨率为mk*nk,其相邻的下一层(较精细层)编号为lk+1,分辨率为mk+1*nk+1,两层的分辨率满足以下关系:
3.根据权利要求2所述的一种基于InfiniBand实时调度海量高精度三维场景数据的方法,其特征在于:所述上下层索引是假设地形数据一共分为n+1层,第O层只有一个地形块。
4.根据权利要求1所述的一种基于InfiniBand实时调度海量高精度三维场景数据的方法,其特征在于:所述同层相邻节点索引是假设第k层第i行第j列的地形块节点为Lk(i, j), Lk(i, j)为当然激活节点。
5.根据权利要求1所述的一种基于InfiniBand实时调度海量高精度三维场景数据的方法,其特征在于:所述地形子模块中数据调度的方法是: 步骤一,针对场景数据金字塔的四叉树结构,数据调度以基本地形块为单位,根据LOD思想完成地形数据的实时内外存交互; 步骤二,创建一个独立的线程用于数据在内存中的调度与释放,所述数据调度分为数据调度命令响应与内存管理; 步骤三,所创建的独立线程和主线程通过互斥机制确保系统安全稳定地运行。
6.根据权利要求5所述的一种基于InfiniBand实时调度海量高精度三维场景数据的方法,其特征在于:所述数据调度分为基于视锥体的数据预测调度和基于时间优先级的数据预测调度,其中 所述基于视锥体的数据预测调度是:在当前视锥体的基础上进行一个冗余扩充,形成一个缓存视锥体,所述缓存视锥体包括了随后若干帧视点可能出现的位置的可见区域数据,且数据按金字塔分层分布,金字塔从顶部至底部可见区域逐层减少,当视点发生改变时,所述缓存视锥体也随之更新,地形数据索引队列的内容根据所述缓存视锥体实时改变,并指引地形块缓存进行具体地形块的载入和释放; 所述基于时间优先级的数据预测调度方法是:将“缓存视锥体”内的地形块赋予一个“内存驻留时间”,地形块的“内存驻留时间”在其被载入内存时被初始化,而后随时间的流逝而不断减少,并且当前实际视锥体的位置越远“内存驻留时间”越小,位置越近“内存驻留时间越大”,若在视锥体内,则“内存驻留时间”不随时间变化;当地形块的“内存驻留时间”为O或超出“缓存视锥体”时,则从内存中释放。 假设地形块的初始“内存驻留时间”为Iifetl,初始时刻为h,该地形块在某时刻t的“内存驻留时间”计算公式如下:life = life0-k* (t-t0) *d 其中k为系数,d为地形块至视锥体的距离即d为地形块至视点的距离。通过上述方法将地形块缓存中长期未激活 的节点从内存中剔除后,可根据需要将视锥体范围内的高精度地形块载入内存,以提高地形的视觉效果。
【文档编号】G06T15/00GK103903295SQ201410136041
【公开日】2014年7月2日 申请日期:2014年4月4日 优先权日:2014年4月4日
【发明者】杨善敏, 宋歌, 张严辞, 李绥彪, 冯仕财, 万宇, 汪归归, 谭诗翰 申请人:四川川大智胜软件股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1