690 likes | 870 Views
图形并行绘制与多屏显示技术. Graphics Parallel Rendering and Multi-screen Display 石教英 浙江大学 CAD&CG 国家重点实验室 2003年9月. 绘制. 对于真实感图形绘制而言,指用数学模型模拟客观世界中物体与可见光的相互作用生成真实感图象的过程。对于非真实感图形绘制而言,指用数学模型或算法生成具有艺术风格的图象的过程。. 图形绘制的工业化过程. 数学模型. 产生. 算法集合. 应用. 软件包. 驱动程序. 硬件. 调用. 高端应用.
E N D
图形并行绘制与多屏显示技术 Graphics Parallel Rendering and Multi-screen Display 石教英 浙江大学CAD&CG国家重点实验室 2003年9月
绘制 对于真实感图形绘制而言,指用数学模型模拟客观世界中物体与可见光的相互作用生成真实感图象的过程。对于非真实感图形绘制而言,指用数学模型或算法生成具有艺术风格的图象的过程。
图形绘制的工业化过程 数学模型 产生 算法集合 应用 软件包 驱动程序 硬件 调用
高端应用 • 需要高分辨率的场合,例如使用一个4×4的屏幕拼接实现4096 * 4096分辨率的大屏幕; • 巨型几何场景,如场景数据规模超过10M数量级以上的三角形面片 • 反走样,例如3×3 走样,计算量增加9倍之多 • 大纹理数据量,利用并行/分布图形绘制可以满足纹理数据过大的问题,例如地球数据模型等 • 科学计算领域,例如有限元计算,计算量非常大,一般使用大规模并行计算或者大规模分布计算环境,希望能够集中显示
孤立系统性能的限制 • compute-limited:产生几何数据的能力 • graphics-limited:图形计算能力 • interface-limited:几何指令发射能力 • resolution-limited:显示分辨率
利用某些CPU的SIMD扩展指令集能使几何变换速度提高20%~30%利用某些CPU的SIMD扩展指令集能使几何变换速度提高20%~30% AGP总线规范 不断进步的ASIC硬件技术等 绘制流水线技术 多条流水线并行技术 追求高性能绘制 非并行手段 并行手段
多条流水线并行绘制及其分类方式 按照图形对象的分布方式可分为sort-first、sort-middle、sort-last三种。 Sort-first Sort-middle Sort-last
Sort-first • 输出图像被划分为一些不相交的区域,如小矩形或连续的扫描线,每条绘制流水线负责一个或多个区域 • 图元在进入流水线之前,先进行必要的计算以确定其覆盖的区域,这种计算被称为“预变换” 通常方法为算出图元在屏幕上的外包围盒(bounding box)并进行比较 • 一个图元有可能覆盖多个区域而进入多条流水线 • 子图像(subimage)拼接为最终图像
Sort-first优缺点 • 各条流水线完整而独立,且相对sort-middle和sort-last需要的通讯带宽较小 • 有利于构建集群式或异构的并行绘制系统,如WireGL • 预变换与部分几何变换单元的计算重复,是一个不可避免的开销 • 对负载平衡敏感
Sort-middle • 输出图像被划分成一系列区域,并由多个子图像拼接而成 ,同sort-first • 不同的是图元不考虑视点关系、任意地(比如按轮转序)进入各个几何变换单元 • 几何变换之后,图元被转换成了2D屏幕座标,再根据屏幕座标被传送到正确的光栅化单元
Sort-middle优缺点 • 几何转换和光栅化一般总是由不同的处理单元来处理,sort-middle在G、R之间打断流水线的方式是最“自然”的 • 直观和常用,有利模块化地实现 • G与R的两两之间都需通讯,随着处理单元的数目增多,通讯开销将呈几何级数增长 • 对负载平衡敏感
Sort-last • 图元任意地进入各条流水线,并独立完成几何变换和扫描转换 • 一直计算到光栅化的最后一步:可见性判断(visibility) • 每条流水线都产生了包含部分图元的完整分辨率的象素(样本) • 在合成单元(compositing processor)进行深度合成或alpha混合,输出最终图像
Sort-last优缺点 • 简明 ,易于利用已有的系统模块(尤其是硬件)实现 • 其性能不受图元分布的影响,对负载平衡不敏感 • 图像合成步骤易成为系统瓶颈
并行图形绘制的三种实现方式 • 基于ASIC技术的硬件实现 • sort-middle的InfiniteReality • sort-last的Pixel-Flow • 基于并行计算机的实现 • 基于共享内存并行机的sort-last系统Parallel-Mesa • 基于分布式内存消息传递并行机的sort-middle系统PGL • 基于集群机的实现 • sort-first的WireGL • sort-last的Sepia • sort-first/sort-last混合型的AnyGL
WireGL • Siggraph 2001 by Stanford University • 解决了分布并行图形系统系统关键问题:指令编码传输和状态跟踪 • 第一个基于sort-first体系结构并且独立于硬件平台的图形集群绘制系统 • 第一次对所有关键技术问题提出了完整、实际的解决方案
WireGL的后续:Chromium • Siggraph 2002 • 明确地提出了“流处理”的概念,图形绘制过程被看作数据流在SPU(Stream Process Unit)间流动的过程 • 各种类型SPU的连接组合可以生成各种结构的并行绘制系统
Chromium:绘制指令分布+多屏幕拼接输出的SPU组合Chromium:绘制指令分布+多屏幕拼接输出的SPU组合
立即模式并行绘制系统AnyGL • AnyGL实现了大规模混合分布图形体系结构,实现了sort-first与sort-last的混合分布图形体系结构,解决了分布图形计算的可扩展性问题,系统节点数目不受限制 • AnyGL实现了一个分布的虚拟并行图形流水线,可划分为四类逻辑节点:几何数据分配节点,几何图形绘制节点,深度图像合成节点和图形显示节点。AnyGL允许一个物理节点支持多个多种类型的逻辑节点,能够利用SMP系统的多图形加速卡实现并行计算。
并行图形绘制方法分类的新思路:两种并行绘制体系结构并行图形绘制方法分类的新思路:两种并行绘制体系结构
并行图形绘制方法分类的新思路 • 传统上图形绘制API分为立即模式和保留模式两种 • 立即模式系统数据存储于客户端,保留模式系统数据存储于服务器端 • 并行绘制系统可分为立即模式并行绘制系统和保留模式并行绘制系统
保留模式系统的数据分布存储 • 立即模式并行绘制系统: • 数据集中+几何指令分布,对网络带宽高度依赖,网络带宽和归属计算易成为系统瓶颈 • 数据都在客户端,每绘制一帧,所有几何数据就作为指令的参数分布到服务器上,服务器绘制完毕,即将数据丢弃,绘制下一帧时重复同样的过程 • 结构缺乏弹性,无法有效利用图形应用程序的帧间相似性
对策 • 交互式图形应用程序普遍存在帧间相似性(frame-to-frame coherence),完全突兀的帧是少的,理论上两帧之间只需进行少量的数据调整 • 保留模式系统中几何数据分布于绘制节点 • 只要能实现一种数据分布+帧间调整的系统构架,就可能降低网络数据流量,避免带宽瓶颈
系统流程 • 客户端读入几何数据集G,对G进行剖分并构造Cell结构 • 在绘制第一帧之前,客户端以Cell为单位作归属判断,并根据归属关系将Cells分布到各个绘制节点 • 绘制第一帧 • 如用户改变视角,客户端计算新的几何变换矩阵并发指令到各个绘制节点,不重发G
5.绘制节点根据新的变换矩阵对本机所拥有的图元作归属判断。若某一图元归属于另一绘制节点,则将此图元发送到该绘制节点。若某一图元不再归属于本绘制节点,则将其删除。多个绘制节点之间发送和接收图元的过程称为调整(adjust)。调整之后,每个绘制节点都拥有且只拥有归属于它的图元5.绘制节点根据新的变换矩阵对本机所拥有的图元作归属判断。若某一图元归属于另一绘制节点,则将此图元发送到该绘制节点。若某一图元不再归属于本绘制节点,则将其删除。多个绘制节点之间发送和接收图元的过程称为调整(adjust)。调整之后,每个绘制节点都拥有且只拥有归属于它的图元 6.绘制新的帧
多机加速和调整率 调整率c:通过网络的数据量和全部数据量之比
保留模式并行绘制系统受控的归属判断 • 立即模式并行绘制通过传送几何指令包分布绘制任务 • 由于立即模式并行绘制系统不拥有数据,几何数据发射的顺序完全由应用程序决定,而后者的行为是不可预测的 • 如果应用程序发射的几何数据在空间排列上是混乱的,可能使外包围盒过大,导致不必要的传输和绘制开销
对策 • 保留摸索并行绘制系统拥有特殊的优势:对数据的控制能力 • 对模型数据进行预处理,对模型进行剖分,生成紧凑的外包围盒 • 按合理的顺序发射数据 • 可降低图元归属于多个绘制服务器的概率。
Ball:比Box更进一步 • Ball = (Pcenter, R, Geometry) • Pcenter为中心点,R为半径,Geometry为Ball内的几何图元数据 • 一个Ball包含了空间上相近的一组几何元素 • 与立方体外包围盒相比,Ball定义了一个球,能更快的进行归属判断
不平衡 实用有效的并行绘制负载平衡算法 负载不平衡的情况
平衡 实用有效的并行绘制负载平衡算法 负载平衡的情况
问题 • 屏幕配置一旦完成,系统就处于被动等待的状态 • 依据“图元更易出现在屏幕中央”这一统计规律,因此其有效性也是统计意义上的 • 针对具体的图形应用的适应性差,不能满足高性能图形并行绘制的需要
动态方法特点 利用所有图元的顶点位置、几何变换矩阵等几何数据作为输入计算负载平衡状态最佳的屏幕剖分,因此可以将统称为“基于几何数据分析”的方法。这些方法能根据应用程序的实际行为动态调整绘制负载的分配,具有较高的智能性。
基于几何数据分析的动态方法的不足 • 负载估算的精确度不足 • 计算开销过大 • 实施难度较大
基于时空转换的并行绘制负载平衡算法的原理 • 以绘制服务器的工作时间作为其负载的度量 • 通过适当的算法将时间值转换为空间值 • 空间值控制对绘制服务器的任务分配 • 放弃了庞大的几何数据 • 一种相对“轻量”的算法