APP下载

基于中间件Equalizer的并行渲染技术研究

2017-02-23张权

现代计算机 2017年1期
关键词:进程应用程序绘制

张权

(四川大学计算机学院,成都 610065)

基于中间件Equalizer的并行渲染技术研究

张权

(四川大学计算机学院,成都 610065)

随着三维图形技术和可视化技术的发展,数据处理的规模越来越大,并行绘制系统越来越重要。然而,目前大部分并行渲染解决方案只是针对特定的应用程序,但更重要的是如何开发一个通用的并行渲染框架,并且它能支持各类数据可视化应用的任务。为了更深入地研究并行绘制技术,研究并行绘制框架Equalizer的架构和优点,并用Equalizer实现Ply模型的并行绘制。

并行渲染;Equalizer;OpenGL;Ply模型

0 引言

随着科学研究和工程设计的发展,数据处理的规模急剧增加,如在漫游系统、飞行模拟机、生物技术、油藏模拟等领域[1]。近年来,虽然计算机硬件技术飞速发展,但仍满足不了应用对绘制速度与真实感的需求。在现有的硬件条件下,采用PC集群并行绘制技术是解决这个问题的重要途径。并行绘制,就是指利用多个图形硬件或图形绘制流水线,使用它们累加的绘制能力来完成绘制任务。并行绘制以利用有限的绘制条件实现高端图形工作站所能提供的绘制能力,为完成大规模数据集绘制提供实现途径。在PC集群并行绘制系统中,Molnar按照任务划分阶段的不同,将并行绘制系统的体系结构划分为sort-first、sort-middle、sort-las三种类型,奠定了并行绘制体系结构研究的理论基础[2]。其中sort-first型保留了图形绘制流水线的完整性,而本文研究的高度扩展性的并行绘制框架Equalizer采用的就是此体系结构。

1 Equalizer简介

1.1 Equalizer介绍

Equalizer是用于创建和部署基于OpenGL的并行应用程序的中间件,它使得应用程序能够利用多个显卡、处理器和计算机,来扩展自身的渲染性能、外观质量和显示尺寸。Equalizer的应用程序不用修改,只需要加载不同的配置文件,就可以运行在不同的可视化系统中,可视化系统包括简单的工作站、大型图形集群或者多GPU工作站和虚拟现实装置[3]。

1.2 Equalizer的体系结构

(1)Application(应用程序)

在Equalizer中,应用程序作为渲染的唯一驱动,也就是说应用程序来执行主要的绘制循环,但是却不执行任何的绘制代码。虽然是根据配置信息来执行,但是应用程序进程控制一个或者多个客户端线程。在初始化服务器的过程中,应用程序提供了一个渲染客户端,这样的客户端经常用作一些简单的绘制应用程序,执行过程和应用程序一样。但是绘制客户端也可能只是一个简单的绘制进程,只用于执行特定的渲染代码。服务器根据配置信息部署这样的渲染客户端到所有的节点上,主要渲染客户端的循环任务很简单:应用请求新的帧重新被绘制,同步实现帧的绘制,处理从客户端传来的事件。图1展示了一个简单的应用程序的执行模型[4]。

图1

(2)Render Clients(渲染客户端)

每个Equalizer的应用程序都会提供一个绘制客户端,有时候和程序本身的执行过程一样,和应用程序相比,绘制客户端不需要一个主循环,它完全由Equalizer框架控制。一个绘制客户端由以下几部分构成:节点的主线程,网络接收线程,一个管道进程用来执行绘制任务。客户端库函数实现了主循环,接收网络事件然后处理它们。更重要的是,网络数据包含了绘制任务需要的数据,这些数据由服务器计算完成。基于这些数据,渲染客户端库建立绘制上下文,然后调用应用程序提供的绘制方法。事件的处理通过异步监听所有窗口的事件来实现。事件由特定的窗口事件转换成普通的窗口事件,然后分发到正确的窗口。窗口可以处理本地的窗口事件,也可以转化成配置事件然后发送到应用程序的节点,应用程序节点处理配置事件作为主绘制循环的一部分。

(3)Render Server(服务器)

Equalizer服务器接收来之可视化系统中的应用程序的请求。服务器根据应用程序使用的配置信息为这些请求提供服务,在所有节点上设立绘制客户端,控制绘制任务,同步已经完成绘制的帧。服务器负责维护不同应用程序的配置信息,实现跨应用的负载均衡、资源保留和系统资源的深入管理。

下面给出具体的算法描述。

2 实现模型的并行绘制

Equalizer应用程序执行模型如图2。

图2

Server负责管理应用程序的运行,根据Configuration信息和运行程序时输入的控制信息,计算当前可用的资源、更新配置信息,同时计算需要完成的绘制任务,分配到多个Client中。同时,Server控制和启动Application中的绘制进程,Server是管理Configuration信息的实体,其他的绘制进程从服务器端获得配置信息,服务端运行时,根据需要加载配置文件。

Application连接Server,建立通信关系,从Server获取配置信息,根据配置信息,提供绘制Client,同时这些Clients都由服务器控制。Application拥有一个主循环,用于实现事件的相应,数据的更新,控制绘制任务。应用程序运行时加载模型文件。

Render Client实现应用程序中绘制的部分,它的执行是被动的,Client没有循环,它的执行有Server来控制,Client的绘制任由Server端的进程进行分配。

3 程序核心代码

NodeFactory用来创建绘制的对象实例,Config、Node、Pipe的对象实例在Node的进程中创建和释放。Windows、Channel、Veiw的对象实例在Pipe的进程中创建和释放。

4 运行效果

Sort-first的方式对图像进行分割,在2窗口进行绘制,最后图像拼接在一起,如图3。

图3

结果分析:通过分割窗口的方法对图像进行分割,wind1完成模型左边部分的数据,因为是2D的分割方法,所有在调整模型的过程中,wind1绘制的是出现在左边的模型数据,完成后,通过输出帧。wind2绘制模型右边部分的数据,同时把wind1的输出帧作为输入帧,完成图像的合成。

5 结语

随着科学研究和工程设计的发展,数据处理的规模越来越大,并行绘制系统越来越重要。事实上,为了实现互动可视化,可扩展渲染系统是必不可少的。E-qualizer是目前为止,可扩展性和灵活性很强的并行绘制程序开发框架。本文主要对Equalizer进行了研究分析,并应用到具体绘制场景中。

[1]刘真,石教英,等.基于PC集群并行图形绘制系统综述[J].系统仿真学报,2006,18(1):70.

[2]Molnar S.Cox M,Ellsworth D,et al.A Sorting Classification of Parallel Rendering[J].IEEE Comput Graph Appl,1994,14(4):23.

[3]S.Eilemann.Equalizer.http://www.equalizergraphics.com,2006.

[4]S.Eilemann.Equalizer Compound Specification.http://www.equalizergraphics.com/documents/design/com-pounds.html,2006.

Research on Parallel Rendering Technology Based on Equalizer Middleware

ZHANG Quan

(College of Computer Science,Sichuan University,Chengdu 610065)

Along with the development of the graphics and visualization technology,the size of the data processing is increasing,the parallel rendering system more and more important.However,parallel rendering solutions are often only application specific implementations have been proposed,but more important is how to develop a general framework of parallel rendering,and it can support all kinds of data visualization application tasks.In order to study the parallel rendering technology deeply,introduces the Equalizer which is a parallel rendering framework,studies the architecture of Equalizer and its advantages,and realizes the Ply mode parallel rendering with the equalizer.

Parallel Rendering;Equalizer;OpenGL;Ply Mode

1007-1423(2017)01-0038-04

10.3969/j.issn.1007-1423.2017.01.010

张权(1990-),男,河南周口人,在读硕士,研究方向为图形学、并行计算

2016-11-15

2016-12-30

猜你喜欢

进程应用程序绘制
绘制童话
作品赏析
债券市场对外开放的进程与展望
绘制世界地图
删除Win10中自带的应用程序
改革开放进程中的国际收支统计
谷歌禁止加密货币应用程序
神秘的不速之客
社会进程中的新闻学探寻
俄罗斯现代化进程的阻碍