linhuiw / blog

前端开发思考

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

P5 & P4 -交互式数据分析和可视化-论文解读

linhuiw opened this issue · comments

论文

P4.pdf
P5_InfoVis19.pdf

P4 论文解读:

框架目标

  • Performance: 运用GPU处理数据和渲染视图
    • Data processing & Rendering 图形绘制和通用计算
  • Productivity: 声明式语法
  • Programmability: 运行时处理用户定义逻辑
    • 为了提升用户交互的实时性,可以采用多线程并行处理的技术,分管不同的工作,保证系统不会阻塞。同时也可以使用增量可视化的形式,逐步呈现可视化结果。
  • Portability: 基于浏览器平台(WebGL)

整体架构

image

整个系统包含四个部分:

  • 程序接口部分:图中左上角。接受用户的输入,支持JavaScript调用或者JSON格式的设定,同时接收用户传入的结构化数据;
  • 核心处理部分:图中右上角。处理用户输入或设定的数据处理逻辑与可视化编码,调用相应的函数或调用GPU程序生成模块生成Shader程序;
  • GPU程序模块:根据用户定义的逻辑,在运行时控制生成对应的shader程序;
  • GPU计算部分:调用WebGL相应API完成数据和程序到GPU的传入,控制GPU进行计算于渲染。

总结

  • 该框架将主流可视化框架的表现力和 GPU 计算与渲染的高性能相结合,融合了两者的优势;
  • 该框架核心功能运用 WebGL 绘制,而标记组件等非核心不见采用不同技术实现,降低了开发难度;
  • 该系统架构采用Bottom-up的形式组装功能,以数据元操作为基础,逐步组装得到更高级的功能。

P5 论文阅读

为什么叫 P5? 渐进式可视化模型 Progressive

相对传统模型,在源数据之后,增加了数据划分的步骤。数据划分得到的部分结果,进入分析处理和可视化渲染的步骤,使用户可以快速得到可视化中间结果并与之进行交互。
image

系统架构

P5 扩展了 P4 的结构,P5使用执行控制器,根据用户的代码中列出的操作和选择的流水线模式,执行操作。P5提供渐进式数据加载模块,从数据源获得数据块并载入GPU中。积累着色器负责将数据块处理的结果与之前的中间结果进行累积,并将中间结果存入GPU中。
image

API

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

可视化

image

facets 中,用户可以指定多视图的布局形式和每个视图对应的数据属性和可视化映射。支持分面
image

交互

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

相关链接: