利用PVM 实现整体光照的并行计算_第1页
利用PVM 实现整体光照的并行计算_第2页
利用PVM 实现整体光照的并行计算_第3页
利用PVM 实现整体光照的并行计算_第4页
利用PVM 实现整体光照的并行计算_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、利用PVM 实现整体光照的并行计算 学生学院 计算机学院 专业班级 11级网络工程3班 学 号 3111006372 学生姓名 陈俊豪 指导教师 王卓薇 2014年 12 月 27 日利用PVM 实现整体光照的并行计算孙济洲 1 , Nicolas D Georganas 2(1 .天津大学电子信息工程学院, 天津 ;2 .渥太华大学信息技术与工程学院, 加拿大)摘要:对利用网络资源解决复杂且耗时的计算问题做了尝试.选择典型的粒子跟踪整体光照计算问题作为研究对象,提出一种改进的且充分发掘其内在相关特性的密度估计算法.在以太网连接的多台微机上, 以PVM(并行虚拟机)机制实现了该算法的并行计算.

2、通过对各项运算性能指标的测试与分析, 结果显示可获得良好的加速比,并且PVM 在分布式网络并行计算上将有很好的应用前景. 关键词:并行计算;PVM ;整体光照;分布式网络尽管硬件的计算速度极大的提高了,但仍有很多尚不能解决的应用问题。这些是复杂的、实时性很高的过程,例如实际图像生成虚拟或模拟,医学上使用的图像识别和处理,在复杂的表格、结构的设计上的有限元分析。随着计算机体系结构和V LSI技术演化,人们能够通过大型的多处理器并行计算机解决大量问题,不过,想要广泛应用这门技术还需很长时间。近年来,对分布式网络和互联网的使用在各种应用领域迅速发展。基于此,计算机支持的协同工作(CSCW)系统完成一

3、个大项目,为资源共享、多个用户之间的信息交流和协调提供了一个很好的环境。除了支持协同工作,人们还可以在分布式环境中任何方面进行开发或借整个网络资源,以解决上述复杂和耗时的问题,这一点已经受到越来越多的关注。PVM(并行虚拟机)应发展趋势而生,它不仅支持一个完整的消息传递模型,还能让分布式工作站和PC结合成为一台高性能并行计算机。在本文中,研究目标是整体光照计算问题,它是一个现实的图像生成的核心,也是一个非常复杂和费时的过程。由于光的现象,如不同的光学特性的表面之间的漫反射,镜面反射,折射和透射,实验目标必须模拟全局光照1,它可能需要几个小时甚至几天的计算机时间来营造呈现复杂的场景以获得高质量的

4、合成图像。在这里尝试利用PVM进行整体光照的并行计算。首先,根据粒子跟踪和康奈尔大学2提出密度估计(DE)方法,通过对它固有的并行性进行了探索,改进了DE算法(IDE),可以更方便和更有效的实现并行计算。然后对实验进行了讨论,如任务分配策略和子任务粒度的选择,其中PVM环境的建立是为了支持算法及其并行实现。得到的试验结果及并行加速性能的分析用来为PVM应用积累经验。试验结果表明,该算法是适用的,PVM具有很好的应用前景。它们还为将集成PVM模型整合到分布式协同虚拟环境的研究的可行性的奠定了基础。1 改进的DE算法整体光照算法主要包括有限元法和应用随机技术方法,后者分别是独立视图和视图依赖技术。

5、虽然有限元算法已被完全开发了很长一段时间,但它不适合用于需要复杂光照来渲染的场景。同时,内存和计算带来的巨大成本,以及曲面细分所带来的附加误差,都是有限元法的致命缺点。相比之下,应用随机技术如Monte Carlo 方法,优点是广泛的适应性,实现的简单性,应用随机技术正在成为整体光照研究的重点3。DE算法的核心部分就是来自Monte Carlo 方法的密度估计计算。1.1 DE算法DE算法分为三步:粒子跟踪,密度估计和网格优化。2 粒子跟踪描述能量粒子发射的整个过程,包括了粒子的反射,折射或吸收。事实上,粒子跟踪应用Monte Carlo 方法求解位势方程4,5和获得对应区域的通量。在粒子跟踪

6、后,包含命中点数据的文件就建立了。密度估计是用来计算小网格顶点光照和利用核函数创建包括网格顶点光照数据的文件的方法,核函数认为一个命中点只影响这一周围地区的光照。这个方法的关键是选择合适的核函数,它代表了受命中点光照影响的任何点,例如Silverman的K 2函数6.过密的网格必须减少,只保留周围光强的变化较大的网格顶点,从而提高渲染速度。对此许多网格优化的算法已经被开发出来了7。最后,包含紧凑的渲染网格顶点的数据的文件就建立了。该文件可以以高氏阴影网状1的形式存储,或者可以以图形工作站上交互显示,或者可以用于一个附加的射线追踪通以创建更逼真的、视图依赖的图像。1.2改进DE算法DE算法具有强

7、大的并行性。首先,DE算法的三个阶段是独立的、不相关的,它们可以在同一个管道模式下运行。事实上,这是大型并行粒度的开发。其次,该算法的每一阶段都有很强的并发性,可以进行加工处理,跟踪每个粒子就是一个典型的并行子任务。像记录一定的表面的命中点的密度估计和为场景中的每个表面做网格优化这两个任务就可以同时执行。由于密度估计在整个过程中起着重要作用,在改善算法的研究中密度估计将集中在以下的讨论。 密度估计,是利用场景中一个表面所有点的数据,根据核函数方法计算网格顶点的光照。见图1。本程序有两个主要的短处,源于利用了表面上所有点的数据,这些数据数量是非常庞大的,甚至可以是数以百万计的。一方面,由于内部存

8、储器的容量是有限的,点的数据必须从内部存储和外部存储之间的反复转换,导致较低的效率。另一方面,对网格顶点和所有点之间的距离比较的一小部分操作是有用的,因为事实上只有几点可以影响的网格的顶点光照。此外,当以这种方式计算出的一个表面上的密度估计被分配为并行计算的子任务,效率不会因不同表面上的非常不同的命中点数量造成的负载不平衡而变高。图1 基于网格点的密度估计方法因此,我们改变密度估计的模式,从考虑网格的顶点是怎么受所有点的影响,到考虑每个点是怎么影响其附近的网格顶点。就是说,将网格顶点的密度估计过程转变为以一个点为基础的计算程序。在这里,命中点的数据将被使用一次,以获得其周围的网格顶点部分光照。

9、只有网格顶点坐标和网格的间隔需要保存,其成本非常小的。这样,命中点的数据不应该被频繁地交换于内部和外部存储器之间。命中点和无关的网格顶点之间的距离比较如果不影响这个独特的点的话就不用保存。图2显示修改后的密度估计过程。修改后的算法称为改进的密度估计全局光照算法或IDE短算法。IDE算法适用于并行模式运行,方便而有效。图2 基于命中点的密度分析步骤2. PVM中IDE算法的并行实现2.1PVM并行计算架构 PVM是一个有效的机制,使得用户可以利用分布式网络中现有的计算资源来支持并行计算来用最小的额外成本解决大问题。在PVM所有的电脑都是工作在动态的主/从模式。在PVM的任何节点,当它正在运行一个

10、程序,希望借助网络中的其他节点的计算资源,解决一个巨大的问题,可以作为主机,分配任务给其他节点和从机,来获取一个快速的解决方案。主机将管理和监控他们交换的消息,而从机同时完成子任务分配。节点之间的通信是基于消息传递,也可以通过PVM实现8。 IDE算法其内在的并行性和考虑的任务分配的优化和负载平衡决定了它非常适合在PVM环境下实现,在这里,一个子任务是指一定量的命中点的数据密度估计的计算,其中所有的子任务应按照自己的计算量排序,以防止降低效率。该算法的并行程序已被精心组织过,其数据结构及其参数,如缓冲和访问时间的大小,也被仔细选择过以降低计算成本。2.2任务分配策略 静态和动态策略用于并行计算

11、的任务分配。 在静态战略的实施,主进程根据命中点和可用的计算元素的总数读取命中点和派生从机,给每个从属进程分配任务。从机完成密度估计计算并将结果返回给主机,然后终止。上述过程被重复,直到所有的子任务完成。最后,主机收集所有的结果,并创建一个结果文件。 申请子任务的机制用于在动态任务分配的方案。主进程派生一个固定数目的从属进程的,为它们分配的子任务与进入的循环等待状态。完成当前子任务之后,从机返回其ID并请求一个新的子任务,然后进入一个闲状态,等待下一个子任务。当主机没有更多的子任务时,从机结束进程并提交结果到主机。2.3子任务粒度的选择 子任务粒度的选择直接影响并联系统的负载均衡。这里,平行粒

12、度是一个子任务的计算量。由于该运算程序对每个命中点是相同的,并需要类似的计算量,并行粒度可以根据命中点和可用的计算资源的数量来选择。 为了实现在IDE算法,子任务粒度不会选择像传统的那样为表面上所有击中点的作密度估计作为一个子任务9。这是因为,只有当场景中每个表面上击中点的数字是近似值,这样的子任务的分区才是有效的。但是,为不同表面计算的复杂度的巨大差异会导致加载失衡并降低效率。举例来说,恰好朝向光源的表面的命中点的数量必然比其他的大。这种表面比其他表面必须花费更长的时间来运算,使得每个处理单元上的负载将是不平衡的,并行计算的效率会较低。另一方面,粒度不能选择过小,因为对PVM不支持具有非常小

13、的粒度的并行处理8。这样由于每个处理单元经常需要调度命中点的数据,会极大地增加沟通成本。 为降低通信成本并使每一处理器负载平衡,应选择一个适当的并行粒度、命中点的数量有限的子任务。由并行算法的高速化效应,几个不同大小的粒度都已经经过测试并且它们的分析将在下面的章节中给出。在并行算法的执行中,粒度的大小还将由任务分配的策略决定,以实现较高并行加速。为静态任务分配的并行粒度可以是有点大的,因为从属进程的数量是固定的,并且它的灵活性决定了它应该是小的动态策略。3 实验和结果分析 用于场景的IDE算法的并行密度估计的实验已经分别完成了静态和动态任务分配的策略。见图3。整个测试经由以太网使用8个相连的P

14、C(奔腾100和32M字节存储器),它运行的是Linux操作系统(RedHat的60.2)和PVM(第3版0.4)的软件包。使用一个容量为10兆字节的网卡。图3测试现场在实验中,计算速度和总运算速度有效性是怎么被PC的数目的影响,粒度的大小首先被研究。有效的运算速度是每单位时间为密度估计计算出的命中点的数量,总的计算速度是有效的运算速度和的总时间的比率。这里的总时间是指计算时间和交流时间。静态策略的并行加速示于图4,其中横坐标表示所用的PC,在y轴的数量分别表示有效的计算速度和总运算速度。这里的粒度是1000命中点的密度估计。我们可以发现,在加速的有效计算速度大约是线性的,而总的计算速度显显示

15、缓慢增加。表格1给出了具有不同粒度的总计算时间(单位为秒)的比较;力度越大,总时间越短。图4 并行加速静态任务分配表1 静态任务分配的整个计算时间图5和图6显示了加速的动态任务分配图5的坐标与图4是相同的。图6显示了不同粒度如何影响加速。我们可以发现,有效的计算速度是接近线性的增加,总的计算速度缓慢增加。此外,在一定的范围内,子任务越小,加速越好。图5 并行加速动态任务分配图6 动态任务分配对加速影响任务分配两种策略被认为是有用的,他们都达到近似线性的加速。在静态任务分配的过程中,主机按组创建从机组,仅分配一个单一的子任务到每个从机。这需要大量的启动和等待时间,将导致并行效率降低。为了避免额外

16、的时间成本,并行粒度为静态策略不应太小。但这个策略应该是稳健的,能够简单地控制和实现。从试验结果中看,动态任务分配的加速比静态策略的好得多,并到达了预期的目标。动态策略避免了过多的时间成本,主机无需等待所有从机完成任务就能发布新的任务。只要收到从机的人物请求就发布任务,极大提高效率。动态策略可引导计算和通信之间时间重叠,并适当降低了粒度,可以使计算和通信的花费更紧密,使效率得到提高。在未来,我们的工作是要设法消除目前并行计算的瓶颈,这意味着改善任务分配策略的。由于主按顺序分配从机子任务,从机必须在现在进入循环等待,无论使用静态或动态策略。如果PVM标准被扩展到支持用于分配用于并行计算任务的多线

17、程操作,我们将实现更完美的加速和并行效率。如何将PVM机制整合入CSCW系统,是更进一步的应用,也将被继续研究下去。参考文献 1 Hearn D,Baker M P .Computer Graphics M .C Version , 2nd Ed.NewYork:Prentice-Hall, 1997 . 2 Shirley P .Global illumination via density estimation A .Proceedings ofEurographics Rendering Workshop C .1995. 3 Veach E .Robust Monte Carlo Me

18、thods for Light Transport Simulation D .Stanford University , 1997 . 4 Kajiya J T .The rendering equation J .Computer Graphics, 1986 , 20(4):143 150 . 5 Pattanaik S N, Mudur S P.Eff icient potential equation solutions for globalillumination computation J .Computers and Graphics , 1993 , 17 (4):387 396 . 6 Silverman B W.Density Estimation for St atistics and Data Analysis M .London and New York :Chapman and Hall , 1986 . 7 Heckbert P S .Simulating Global Illumination Using Adaptive Meshing D .Berkeley :Universit y of Cali

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论