P5: 针对交互式数据分析和可视化的便携渐进式并行处理流水线(P5: Portable Progressive Parallel Processing Pipelines for Interactive Data Analysis and Visualization)

交互式数据分析面临的数据,体量越来越大,复杂度越来越高,导致数据转换和可视化渲染的延迟提高,这将会阻碍用户交互分析的效率。现有的应对方式包括应用并行处理等方法提高计算速度,以及通过渐进式可视化方法,使用户能快速获得对中间结果的感知。但是大部分现有的可视化工具包,不能支持应用高性能计算方法,并且提供渐进式可视化创建的能力。该工作提供了P5这一创建渐进式可视化的可视化工具包,它提供了声明式的可视化生成方式和使用GPU计算资源的功能。

渐进式可视化模型

该工作扩展了传统的信息可视化参考模型。在下图(a)传统模型中,原始数据经过分析处理(包括数据转换和统计分析方法)和可视化渲染最终呈现给用户。用户需要等待对整个数据集的分析和渲染完成后,才能观察结果并进行分析。面对大规模数据的处理时,用户需要等待很长时间才能得到结果,从而难以高效地进行可视分析。

传统信息可视化参考模型和渐进式可视化模型

该工作提出的扩展模型(上图(b)),相对传统模型,在源数据之后,增加了数据划分的步骤。数据划分得到的部分结果,进入分析处理和可视化渲染的步骤,使用户可以快速得到可视化中间结果并与之进行交互。在划分的一个数据块处理完成后,何时继续进行后续计算,与P5提供的渐进式流水线的模式有关:自动模式下,前一数据块渲染完成后,自动处理下一数据块;半自动模式下,自动进行下一数据块的数据转换,但是由显式的信号决定何时进行可视化渲染;在手动模式下,何时进行下一数据块的转化和可视化渲染皆需由显式的信号决定。

系统框架

下图显示了P5的框架。P5扩展了P4的结构。使用P4的代码生成器,来在运行时,生成和更新GPU着色器代码,生成渐进式可视化。P5使用执行控制器,根据用户的代码中列出的操作和选择的流水线模式,执行操作。P5提供渐进式数据加载模块,从数据源获得数据块并载入GPU中。积累着色器负责将数据块处理的结果与之前的中间结果进行累积,并将中间结果存入GPU中。

P5系统框架

应用编程接口(API)

P5对可视化声明提供了编程接口。下图是一段代码的例子。

P5代码示例

渐进式操作:

  1. Input:指定数据源、数据划分大小等。
  2. Batch:指定对数据块进行的统计计算和数据转换。计算结果会自动和前面处理的数据块结果累积,得到中间结果。
  3. Progress:指定对中间结果的数据转换和可视化渲染。

信号和控制:

  1. Execute:可以指定渐进式流水线的模式,并指定新的数据块的大小或者渐进式处理和可视化的时间范围。
  2. Next:在半自动或者手动模式下,指定更新可视化渲染的方法或者数据处理的方法。
  3. OnEach:每个渐进循环的结尾会产生该信号。用户可以实现自定义的回调函数,函数的输入包括处理的数据项数量和渐进式处理的状态。
  4. OnComplete:所有数据处理完成后,会产生该信号。

数据转换:

可以在batchprogress中指定数据转换的方法,group指定进行聚合的维度,includeexclude指定需要进行计算的属性,calculate指定进行的计算,如平均值、和以及计数。

P5数据转换代码示例

可视化:

P5提供适合渐进式可视化的可视化形式,如下图所示。

P5支持的可视化类型

visualize中用户可以可视化标记和通道。在facets中,用户可以指定多视图的布局形式和每个视图对应的数据属性和可视化映射。

P5允许用户指定多视图布局。

交互:

如下图所示,用户可以指定不同视图的刷选、连接和高亮。在底层,系统会生成数据立方体和区域求和表,来加速交互结果的计算。

P5指定交互的代码、底层数据立方体和区域求和表、交互界面示例

在交互相关的代码中,用户可以在export中,定义到处的中间结果,在callback中,用户可以定义回调函数,使用导出的数据,利用其它工具包进行处理和渲染。

P5支持导出中间结果,使用其它库进行处理和渲染。

评估

该工作首先通过基于P5实现的时序数据可视化、时空高维数据可视化和一个基于P5的快速数据渐进式可视分析的系统,证明该工作的有效性。

该工作的作者们还通过比较P5、d3、stardust处理全部数据的时间、每个渐进式循环的平均时间,证明P5计算效率有很大的提高。

渐进式可视化1亿数据项的数据用时对比

渐进式处理不同块大小情况下的平均用时对比

与imMens相比,P5同样计算了数据立方体。但是imMens需要预先进行计算,而P5支持实时生成新的数据立方体,对新的属性进行交互。通过与imMens的交互帧率相比,发现P5的帧率略低,但是可以支持灵活地更改交互的数据属性。

对Brightkite进行交互查询的帧率对比

总结

该工作提出了一个生成式可视化生成语法,支持对大体量复杂数据的高性能处理和渐进式可视化的生成。它可以支持很多处理大数据的应用,具有很好的应用前景。

参考

  1. Jianping Kelvin Li and Kwan-Liu Ma. P5: Portable Progressive Parallel Processing Pipelines
    for Interactive Data Analysis and Visualization. IEEE Transactions on Visualization and Computer Graphics 2020 (InfoVis’19).
发表评论?

0 条评论。

发表评论


注意 - 你可以用以下 HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>