您的当前位置:首页一种高度并行的多任务并行绘制系统结构

一种高度并行的多任务并行绘制系统结构

2024-02-07 来源:乌哈旅游
维普资讯 http://www.cqvip.com

第25卷第3期 2 0 0 6年9月 计 算技术与 自 动 化 VO1.25.NO.3 Computing Technology and Automation Sep.2 0 0 6 文章编号:1003—6199(2006l03 0063—04 一种高度并行的多任务并行绘制系统结构 彭敏峰,曾 亮,陆筱霞,李思昆 (国防科学技术大学计算机学院,湖南长沙410073) 摘要:随着计算机图形技术的实用化,需要构造更逼真、更精细的三维复杂场景,其数据规模日益膨 胀,加上对场景的实时交互的要求也越来越高,A.4r]对多屏幕高分辨率显示的需求与日俱增,迫切需要一种 针对大规模复杂场景的多任务并行图形绘制系统。本文介绍了一种适用于大规模复杂场景的高度并行的 多任务多屏幕并行图形绘制系统的体系结构,支持图形任务的并行化处理和多屏幕显示。该系统结构将几 何计算任务与图形绘制任务相分离,分剐进行并行化处理,在计算节点按绘制对象类型对任务进行分类以 便于并行计算和任务分配,在绘制节点对各个小块屏幕图形进行并行合成。实验测试结果表明,该系统结 构对多任务具有较好的并行效率和可扩展性,能够充分利用系统的并行计算资源,达到较好的绘制效果。 关键词:三维复杂场景;并行图形绘制;体系结构;多任务;任务分配 中图分类号:TP39 文献标识码:A A Highly Parallel Archtecture for Multi——task Parallel Graphics Renderign System PENG Min—feng,ZEN Liang,LU Xiao—xia,LI Si—kun (School of Computer Science,Natronal University of Defense Technology,Changsha 410073,China) Abstract:Along with computer graphics technology become more practical,it need to construct 3D complex scene more reali— ty and refined.At the same time,the need of multi—screen and high resolution display increases steadily、Due to very large scale data and real—time interaction reguirzmelots,designing a multi—task parallel graphics rendering system for large scale complex scene is necessary.This paper describes the architecture of a multi—screen and multi—task parallel graphics rendering system.It supports parallel processing of multi—task and multi screen display.This system separates tasks of geometry computing from graphics rendering,and parallelizes them.It distributes tasks for the type of rendering object on computing node,and parallel tom— poses parts of the result on each rendering node.Experiments show that it has better parallel efficiency and scalability,can take full advantage of its own resources,and has wonderful rendering effect. Key words:3D complex scene;parallel graphics rendering;architecture;multi.task;distributing tasks 络技术的发展,出现了一种新的并行绘制系统:建 引 言 随着计算机硬件技术的长足进步,主流图形硬 件的多边形处理能力已经达到每秒钟百万量级甚 立在以高速网络连接的PC或工作站集群上的并 行绘制系统…。采用价格较低廉的集群系统,将 多台计算机通过网络进行互联,充分发掘每台计算 机的计算能力和图像绘制功能,具有较好的可扩展 性和很强的灵活性,其应用前景将十分广阔。 随着计算机图形技术的实用化,需要构造更逼 真、更精细的三维复杂场景,这使得数据规模不断 地膨胀,单纯依赖于硬件加速的快速绘制技术,并 至千万量级。人们期待的高质量的图形绘制效果 越来越成为现实。然而,高端图形硬件十分昂贵, 不易进行扩展,这就限制了其应用的范围比较狭 窄。随着低端PC图形卡的处理能力的提高和网 收稿El期:2006—04—30 基金项目:国家973计划课题资助(2002CB312105);国家发改委CNGI专项子课题“访问网格建设”的资助(CNGI一04—15—7A)。 作者简介:彭敏峰(1981一),男,湖南衡阳人,硕士研究生,研究方向:科学计算可视化、虚拟现实技术,(E mail ̄pengminfeng@163 corn) 维普资讯 http://www.cqvip.com

计算技术与自动化 不能满足实际应用对绘制速度的要求。理论上,三 维场景的复杂性可以是无限的,而任何硬件的单位 时间内的处理能力总是有限的。同时,对多屏幕高 分辨率显示的需求与日俱增,对大规模三维复杂场 景的实时性交互要求也越来越高,迫切需要一种针 对大规模三维复杂场景的多任务并行图形绘制系 统。所以,通过研究大规模三维复杂场景的并行绘 制技术,设计出相关的快速并行绘制算法是必要 的,也是必然的趋势。 传统的基于集群的并行图形绘制系统中,三维 场景的绘制一般由集群中担任绘制任务的节点完 成,每个节点上都有一条完整的图形绘制流水线。 图形流水线可分为几何处理和光栅化两个阶段。 前者包括几何变换和光照处理;后者包括扫描转 换、纹理贴图和图象合成。按照图形处理任务的重 新分配发生在图形流水线的阶段,并行绘制系统可 分为三类:sort—first,sort—middle和sort—last。sort— first系统在几何处理之前将模型空间的几何元素 进行重新分配;sort—middle系统在几何处理和光 栅化之间将屏幕空间的几何元素进行重新分配;而 sort—last系统在光栅化的最后将像素进行重新分 配。目前主要的并行绘制系统有WireGL[2 J、 Chromium ,4j、AnyGL【 、Display Wall_6 J和 MSPR[ ̄。 由于传统的并行绘制系统往往需要有一次集 中对整个三维场景数据进行处理的步骤(如sort— first系统对整个模型空间进行划分,sort—last系 统对整个屏幕的像素进行合成),其中的网络通信 开销很大,常常成为系统的主要瓶颈。为了避免集 中对数据进行处理,预先将任务分配给各个进程, 将有利于提高绘制的速度。 本文介绍了一种适用于大规模复杂场景的高 度并行的多任务并行图形绘制系统的体系结构,支 持图形任务的并行化处理和多屏幕显示。该系统 结构将几何计算任务与图形绘制任务相分离,在计 算节点按绘制对象类型对任务进行分类以利于并 行计算和任务分配,在绘制节点对各个小块屏幕进 行并行合成。实验结果表明,该系统结构对多任务 具有较好的并行效率和扩展性,能够充分利用系统 的资源,达到较好的绘制效果。 2 多任务并行图形绘制系统结构 我们在研究大规模三维复杂场景并行处理和 绘制以及对多屏幕高分辨率显示的需求基础上,设 计实现了一种适用于多任务多屏幕的并行图形绘 制系统的体系结构。该并行图形绘制系统的体系 结构如图1所示,其中主要有三类功能节点: 2.1应用节点 进行OpenGL应用程序某一进程的几何计算 (如矩阵计算、裁剪操作等),其上的任务分配模块 负责按任务划分方式将产生的OpenGL指令分别 进行打包,发送各部分指令包给相应的服务节点; 2.2 服务节点 负责对各个应用节点发送过来的OpenGL指 令流进行解包,并对产生的图形按颜色和深度值进 行合成,其上的绘制模块产生将在显示器中显示的 屏幕像素值; 2.3 控制节点 其上的控制模块负责将键盘和鼠标事件传递 给各应用节点,以控制整个三维场景的视点变换及 其他的交互操作,同时在控制台窗口显示事件反馈 的效果。 图1 多任务多屏幕并行图形绘制系统结构 我们提出的并行图形绘制系统的体系结构具 有如下特点: (1)可将图形任务分布到多个处理节点进行 计算 (2)可将计算结果送到多个服务器端进行绘 制 (3)可将绘制结果对应到多个屏幕进行显示 为了避免对数据进行集中处理时阻塞网络,预 先将任务分配给各个进程,任务之间具有较少的耦 合度和通信开销,将有利于提高绘制的速度。 该并行图形绘制系统结构将几何计算任务与 图形绘制任务相分离。几何计算节点只负责 OpenGL应用程序进程的计算任务,各节点之间的 维普资讯 http://www.cqvip.com

第25卷第3期 彭敏峰等:一种高度并行的多任务并行绘制系统结构 65 计算任务具有较少的耦合度,几乎不需要进行通 配的任务量尽可能相等,这样的任务分布策略最简 信;图形绘制节点对应绘制屏幕上的一部分图形, 节点上可以有图形加速硬件的支持,以便快速绘制 多边形图形,提高绘制速度;最终显示区域由多台 单,任务并行的通信开销也较少;然后将计算结果 按屏幕区域进行划分,如对屏幕左下角有图形的 OpenGL应用程序进程,将左下角的背景或物体的 几何计算结果传送到同一台绘制服务器进行合成 并绘制出图形,这样多个小块屏幕就实现了并行合 显示屏幕拼接而成,可以实现多屏幕、高分辨率的 显示效果。几何计算任务与图形绘制任务分离,如 果它们分别在计算能力较强和图形绘制功能较强 成;通常将每台绘制服务器与一台显示器相连接, 的计算机上进行处理,将能够更好地发挥硬件的最 佳性能,特别适合于超级计算机和高性能图形工作 站组合的集群系统。 这种并行图形绘制系统结构具有以下的优点: 1)由于几何计算节点只负责OpenGL程序进 程的计算任务,任务之间相互独立,并行计算的效 率较高,其间的通信可通过控制节点传输少量的控 制参数来实现,能有效地降低网络通信开销; 2)服务节点只负责其任务划分区域的小块屏 幕上的图像合成,控制了图像合成的规模,避免了 sort—last方式中随显示屏幕增大而合成效率急剧 下降的缺陷,整个合成过程并行进行,开销也较少。 这种并行图形绘制系统的构造方式也比较灵 活,多个应用节点可以一一对应分别映射到一个处 理机上,也可以同时映射到共同的处理机上;多个 服务节点也可以映射到多个不同的绘制服务器上, 通常一一对应分别映射到一台绘制服务器,再一一 对应到显示器进行显示;而控制节点可映射到任意 一台绘制服务器上进行控制,也可以映射到另一台 单独的计算机上进行控制。 3 多任务的划分策略分析 多任务并行图形绘制系统的任务,是大规模复 杂场景中多个OpenGL应用程序进程的图形任务, 其划分的粒度比较粗,这样能最大限度地减少任务 问的通信开销。 为了使图形任务之间具有较少的耦合度和通 信开销,可以将大规模三维复杂场景中的图形任务 按绘制对象类型进行分类,如分为背景绘制和几何 物体绘制任务。背景绘制任务是指大规模三维复 杂场景中大型背景的绘制,进行绘制时往往耗费较 多的时间,一般需要将该任务进一步划分以分配给 多个进程,如大规模的地形绘制;几何物体绘制任 务是指绘制大规模三维复杂场景中的几何实体对 象,如一栋建筑物、一扇窗户。 在进行预处理时,将几何物体数据和背景数据 进行分离。在一个或多个几何计算能力较强的处 理机上专门进行背景数据的计算,而在其他的处理 机上分配一个或多个几何物体的数据进行计算,分 可直接显示出图形。 下面对该多任务的划分策略进行分析。假设 系统由M台几何计算节点和N台绘制服务器组 成,如果绘制完整的一帧,总的计算任务需要时间 C,绘制任务需要时间R,则按系统的任务分配策 略,每台几何计算节点需要的时间为C ( =1,2, 3,…,M),每台绘制服务器需要的时间为R,(J= l,2,3,…,N),且满足 M N C=7_2 C ,R=∑R i=0 J=0 那么,在进行并行绘制时,并行几何计算需要 的时间为Cp=max(Cl,C2,C3,…,CM),并行绘 制服务器需要的时间为R。=max(Rl,R2,R 3, …,RN)。 理论上,整个系统绘制完整的一帧需要的平均 时间为 Tp=Cp+Rp+丁c。mm+Tdisplnv≈ C十R.’ 十 .11 .cOrllIll十  dlsplay 其中:T 。 为系统通信的开销,T 。l。 为显示 器显示的开销。 由于采用粗粒度的任务分配策略,通信的开销 主要是OpenGL绘制指令和控制节点少量控制参 数的传输,所需要的时间比较少;而显示器显示的 开销一般与显示器的响应时问相关,通常很小,可 忽略。所以,可得: 一 C R 一 p≈ + +j c。mm 由上式可知,该系统的几何计算时间开销和图 形绘制时问开销可分别由多个应用节点和服务节 点分担。 该系统的整个绘制时间为应用节点的最大几 何计算时间加上服务节点的最大图形绘制时间,及 一部分网络通信的时问,尽量减少前两种最大时间 将有效地减少整个系统的绘制时间。随着应用节点 的增多,任务划分得越细,几何计算的负载就越倾 向于均衡,最大几何计算时间将越少;随着绘制节 点的增多,屏幕划分得越小,小块屏幕上的图像合 成时间将减少,整个绘制时间就越少。由此可见,该 系统具有较好的可扩展性和线性加速比。 同时,该系统上的应用节点映射到的计算机可 维普资讯 http://www.cqvip.com

计算技术与自动化 以有图形卡资源,也可以没有图形显卡资源,这将 给搭建系统提供更多的选择,能够适合于同构系 统,也适用于异构系统。可以将多个廉价的具有计 算能力而无图形显卡的计算机纳入该系统,分担一 部分计算任务,当然,服务节点的合成开销将随之 呈现线性增长;如果根据总共花费的几何计算时间 C和绘制时间R的比例,相应地增加绘制节点数 ,、D 5 总结 本文提出一种高度并行的多任务多屏幕的并 行图形绘制系统的体系结构,主要实现了图形任务 的并行化处理功能和多屏幕拼接显示效果。该系 目,保持两者合适的比例关系(M:N),使 ≈ , 统结构将几何计算任务与图形绘制任务相分离,分 别进行并行化处理,几何计算时间开销和图形绘制 Iyl 那么两者的值越接近,越能保持所有处理机处于忙 碌状态,将能得到较流畅的图形绘制流水线,可获 得最少的并行绘制时间,这样能充分利用计算资源 和图形绘制资源,达到良好的负载平衡效果。 4 实验结果 本文提出的多任务多屏幕并行图形绘制系统 在以下实验环境下进行测试: 运行环境的集群有5个节点,每个节点拥有两 颗Intel Xeon 2.4G CPU、1G内存、nVidia显卡,操 作系统为RedHat 9.0 Linux,节点间采用1Gbit/s 网络连接,其中4个节点连接显示屏幕,可拼接显 示2×2的投影屏幕。实验使用OpenGL编写的小 型程序模拟三维复杂场景,其绘制结果图示如图2 如下: 图2 实验结果图示 实验中的四个OpenGL应用程序进程在各自 的应用节点上完成并行几何计算,其中一个节点专 门计算背景图形,其它节点计算场景中的几何实体 对象;然后对几何计算的结果按照屏幕区域进行划 分,将各自对应的-/J,块结果数据发送到对应于屏 幕区域的服务节点上,进行并行合成并绘制出图 形;最后,在显示屏幕上拼接显示整个三维场景。 同时,在控制节点输入鼠标和键盘事件,对应用节 点的进程发送消息,控制物体的位置和状态及场景 的视点变换,能对整个场景进行实时交互。 时间开销可分别由多个应用节点和服务节点分担, 具有良好的并行效率和可扩展性,能够充分利用系 统的并行计算资源,达到较好的绘制效果。通过设 置适合的几何计算节点和图形绘制节点的比例,将 能得到较流畅的图形绘制流水线,达到较好的负载 平衡效果。该系统的结构清晰,各个处理模块相对 独立,能够灵活高效地完成绘制任务,既能够适合 于同构系统,又适用于异构系统。 下一步的主要研究方向是进一步研究如何实 现较细粒度的任务划分策略,及在大规模复杂场景 下动态实现任务的再划分和实现动态负载平衡。 参考文献 [1]金哲凡保留模式图形并行绘制研究[C].浙江大学计算机系 博士论文,2004. 12j G.Humphreys,M.Eldridge,I Buck,G.Stoll,M.Everett and P.Hanrahan,“WireGL:A Scalable Graphics System for Clusters”[J].In Proceedings of ACM Siggraph 2001 [3]G.Humphreys,M.Houston,R.Ng,R.Frank,S.Ahem, P.D Kirchner,and J.T.KOSlowski,“Chromium:A Stream Processing Framework for Interactive Rendering on Clusters’’ [J].In Proceedings ofACM Siggraph,PP 693—702,SanAn— tonio,TX,July 2002. 【4] E Wes Bethel,R3vis Corporation.“Sort—First Distributed Memory Parallel Visualization and Rendering with OpenRM Scene Graph and Chromium”[J]July,2003. [5] J Jan Yang,Jiaoying Shi,Zhefan Jin,Hui Zhang.“Design and Implementation of A Large—scale Hybrid Distributed Graphics System”[J].Fourth Eurographics Workshop on Parallel Graph— ics and Visualization,2002. [6] Kai Li,Han Chen,Yuqun(;hen,Douglas W.Clark.Perry Cook,Stefanos Damianakis,Georg Essl,Adam Finkelstein, Thomas Funkhouser,Allison Klein,Zhiyan Liu,Emil Praun, Rud rajit Samanta,Ben Shedd,Jaswinder PalSingh,George Tzanetakis Jiannan Zheng,”Early Experiences and Challenges in Building and Using A Scalable Display Wall System”[J].IEEE oCmputer Graphics and Applications,Vol 20(4),2000. [7] 金哲凡、林海、石教英.数据分布型SOrt—first并行图形绘制 系统的研究与实现[J].计算机研究与发展学报,2004.2. 

因篇幅问题不能全部显示,请点此查看更多更全内容