See it to Believe it? The Role of Visualisation in Systems Research

计算机系统研究中的一个常见设施是Visualisation-in-the-loop工具:这些工具产生复杂的输出数据,并需要人类用户视觉解读数据。 然而,系统研究经常忽略或将必要的可视化组件的细节放在次要位置。 通过调查1274篇近期的系统论文,论文发现至少有7.7%(98篇)的论文介绍了Visualisation-in-the-loop工具。 我们还发现,这些出版物中的大多数没有关注并且很少解释实施的可视化。 论文提出,当对可视化进行阐述时,循环可视化系统研究的影响力和覆盖范围可以大大增强,并提出了一套具体的步骤清单,供作者实现这一机会。

人类是构建、测试、部署、运营和排除计算机系统故障的不可或缺的部分。 现代系统庞大、复杂且始终在线,催生了像站点可靠性工程这样的学科,并模糊了开发与运营之间的界限,devops角色和值班任务在行业中已经很常见。

因此,Visualisation-in-the-loop工具在实践中非常重要,并且在系统研究文献中也很常见,因为它们本质上依赖于人类用户与系统输出的数据互动并解释这些数据。 Visualisation-in-the-loop工具是帮助计算机系统的开发者和运营者的软件工具。 Visualisation-in-the-loop工具通常分析系统的代码、配置、部署或运行时执行,以提供人类用户对系统行为和属性的见解。 它们通过生成必须由人类解释的复杂数据来实现这一点,并且这些数据通常在工具的自定义可视化组件中呈现,以帮助分析。 尽管存在视觉化之外的其他交互方式,但视觉化是常见的,因此我们重点关注循环可视化工具。

以分布式追踪为一个持续的例子;我们将在整篇文章中重新访问这个例子,但强调它突出的关键方面在所有形式的循环可视化工具中都很普遍。 分布式追踪的一个关键用例是在分布式系统中调试异常请求。 虽然分布式追踪研究主要关注如何在运行时跨机器捕获追踪数据,但单独考虑技术部分会忽略一个关键步骤:记录的追踪数据是复杂的(一个带注释的有向无环图); 数据通过图或时间线可视化呈现给用户;最终用户负责探索和解释可视化,以直觉地找出异常的根本原因。

因此,用户界面和可视化影响Visualisation-in-the-loop工具的有效性。 当任务无法完全自动化时,需要人类用户,许多任务是时间紧迫且复杂的。 在这种情况下,可视化非常有用,因为直接解释原始数据可能会缓慢、非直观且容易出错。 在分布式追踪中,由于这个原因,可视化在研究文献中反复出现,从Magpie的事件时间线到Dapper的跨度瀑布图,再到Canopy的聚合(参见图1)。

然而,分布式追踪的例子并不典型。 许多系统研究论文介绍了具有复杂输出的工具,但留下了未解释、未呈现或只是暗示的可视化组件和要求。 在第3节中,我们调查了过去5年在顶级系统会议上发表的1274篇研究论文。 我们发现,几乎8%的论文描述了依赖于人类用户解释复杂输出的工具,非常适合于可视化。 然而,这些论文中不到30%展示了一个例子,或解释了他们如何或是否可视化了输出。 此外,只有17%的这些论文激发了展示输出的设计决策的动机。 这些结果并没有通过系统出版物在可视化研究社区中得到平衡: 在我们调查覆盖的5年里,大约有950篇论文在IEEE VIS(顶级可视化会议)上发表,但只有8篇与系统可视化问题相关。 这表明系统研究错过了一个机会:实践者需要一个关于UI和可视化组件的解决方案,没有这些组件,解释复杂的数据输出既繁琐又容易出错。 然而,如果研究文献中没有明确考虑这些问题,设计和实施可视化组件的挑战就会被推给实践者,这提高了采用的障碍并阻碍了潜在的影响力。

在我们的分布式追踪示例中,之前关于追踪比较的研究影响了开源工具中的后续功能; 然而,如为非专家用户提供的accessible可视化这样的长期问题收到的关注很少,并且仍然是实践者的一个主要痛点。

问题的本质是缺乏阐述。 系统研究经常省略可视化的细节,即使这些组件存在。 通过这样做,它放弃了向更广泛的可视化研究人员和实践者传播新问题和领域见解的机会。 一个概念证明,无论多么未经雕琢,仍然可以有出人意料的影响:在我们的运行示例中,我们所知的所有分布式追踪工具都基于Dapper首次提出的跨度泳道可视化。

在这篇文章中,我们展示了系统研究历史上对面向用户的可视化描述不足。 读者所需的细节通常很简单,如原型截图; 但它们使可视化要求具体化,提供了问题定义,并突出了可能出现的微妙和意外挑战。

我们在第4节概述了我们的解决方案: 一个从“什么、为什么、怎么做”原则衍生出来的5个问题的清单,用于设计和呈现可视化。 按照清单,系统研究者有条不紊且简洁地产生了面向用户的可视化的描述、这些组件的问题定义、已遇到的挑战,以及对可能的未来可视化方法的见解。 我们希望通过聚焦于可视化,我们可以增加系统研究的影响力,将其延伸到更广泛的实践者、可视化研究者和系统研究者的受众中。

结果放在了https://gitlab.mpi-sws.org/cld/sysviz

Motivation

VL-Tools: Visualisation-in-the-Loop Tools

文中关于VL Tools的定义:

  • produce data that is well-suited to visualisation;
  • require humans to visually interpret the output data and make decisions based on it;
  • cannot be automated fully, or automation cannot be fully trusted;
  • and benefit when human users perform their task faster and more effectively.

主要包括以下example areas和tools

  • 分布式追踪
  • network profiling
  • system modeling
  • network configuration

Opportunities

现在的工作主要是围绕着技术问题而不是可视化展开的。 作者认为,对于那些成功实现了VL工具的research,还需要注意以下可视化的要求。 这样他们能够将研究的覆盖范围扩展到实践者、人机交互(HCI)和可视化研究人员,最终回到系统研究人员。

实践者。 实践者通常是VL工具的预期受众和动机,因此,一个重要的成功度量是研究理念是否传播到实践中。 将VL工具的“闭环”回到人类用户的研究对实践者来说更容易接近,并有实际影响的潜力。 抓住这个机会的关键是减少将工具从研究原型转变为实际可用的不确定性。 消除不确定性增加了实践者可能想要实施想法的吸引力。即使面临未解决的挑战,情况也是如此。

Visualisation research。 VL-Tools 是系统问题的"human-in-the-loop"解决方案,可为用户提供可视化,因此与可视化研究有着天然的契合。 可视化研究可以解决不同类型的数据和 VL-Tools 所面临的共同挑战。 向系统操作员报告指标的仪表盘就是一个例子。

一般来说,VL-工具需要处理多维、多面和结构化数据--这是一项艰巨的研究挑战,在广泛的应用领域都受到了关注。 尤其值得注意的是医学科学和生物信息学,对用户交互和可视化的关注促进了通用可视化方法的开发和采用,研究兴趣如此之大,以至于该领域现在有了专门的可视化会议。 同样,由于性能优化和相对同构系统的重要性,高性能计算也受到了关注。

与这些其他应用领域相比,VL工具在可视化文献中受到的直接关注相对较少。 在过去 5 年的 IEEE VIS 约 950 篇论文中,我们只发现了 1 篇 VL-Tool 论文(CloudDet,以云性能异常为中心)和另外 7 篇具有广泛相似性的论文(4 篇软件工程和 3 篇高性能计算)。 一般来说,我们注意到,在可视化文献中介绍 VL 工具时,往往是由负责开发原始 VL 工具的同一小组进行的。 例如,Spectroscope、Pajé和 ShiViz各自在系统和可视化方面做出了串联贡献。

我们认为,这一观察结果表明系统研究错失了良机。 VL-Tools 中存在有趣的可视化挑战,但默认情况下,只有系统再搜索人员才能看到这些挑战。 在上述例子中,研究人员之所以能够从事可视化研究,是因为他们已经熟悉了 VL 工具和应用领域。 对于专家核心之外的研究人员来说,缺乏领域专业知识和清晰的问题陈述是需要避免的领域和抽象威胁。 因此,当系统研究人员选择不追求可视化研究问题时,其他研究人员也很少有机会追求这些问题。 总体而言,这种情况导致了针对特定可视化工具的点解决方案,而针对众多工具共性的技术驱动型研究却寥寥无几。

要想从可视化研究的关注中获益,VL工具必须让人们看到它们所面临的挑战。 对于系统研究人员来说,这就需要介绍面向用户的组件的详细信息,特别是它们如何向用户展示复杂的输出。 与直觉相反的是,当系统研究承认其尚未解决的可视化和交互挑战时,就会产生巨大的价值,因为这仍然会 "闭环 "回到人类用户,并暴露细节、困难和细微差别。 它强调了进一步研究的现有需求,使读者有可能提取出超越个别工具的共同挑战。 最后,它为人机交互和可视化研究人员提供了一个起点,使他们无需先验的应用领域知识就能解决问题。

系统社区。 人类用户的需求也可以推动虚拟语言工具的系统研究。 一般来说,VL-工具研究在选择要捕获的数据方面具有灵活性,不断变化的使用案例会促使研究人员重新审视这些工具。 除了直接推动新的研究方向之外,通过重新搜索与用户建立联系,也为后续工作提供了继承和提升的基础。 图 1 举例说明了这一点,其中每一项工作都是建立在前一项工作的基础之上的。 在仪表盘等领域,系统研究人员可以假设常见的基本功能,并以此为起点。 而在许多其他领域,则缺乏这些初始参考点。

SURVEY OF VL-TOOLS

在本节中,我们对 2017-2021 年间在六大系统会议(ASPLOS、NSDI、OSDI、SIGCOMM、SoCC、SOSP)上发表的 1274 篇研究论文进行了调查。 综合来看,这些会议广泛代表了系统研究,涵盖了各种主题。

调查设计的灵感来自可视化研究的 "是什么、为什么、怎么做 "原则。 该原则通过询问 "向用户展示了什么"、"为什么要展示 "和 "如何展示",帮助设计者和研究人员有效地展示和解释他们的工作。 这些问题是描述可视化研究三个重要方面的提示:数据抽象(是什么)、任务抽象(为什么)以及视觉和交互惯用语(如何)。 我们对这些方面很感兴趣:给定一个工具,我们能否确定与该工具相关的数据抽象(是什么);期望用户完成的任务(为什么);最后,向用户展示数据的想法或理由(如何)。总的来说,我们将这些方面归纳为五个调查问题。

  1. 论文是否介绍了 VL 工具?在对 1,274 篇论文的调查中,我们发现 7.7%(98 篇)的论文要么明确利用了可视化技术,要么以潜在的可视化形式向用户提供了复杂的输出。
  2. 论文是否展示了截图或模型?在 98 篇 VL-Tool 论文中,28.6%(28 篇)包含了截图或模型。
  3. 论文是否解释了可视化?在 98 篇 VL-Tool 论文中,37.8%(37 篇)解释了面向用户的输出
  4. 论文是否激发了可视化的动机?在 98 篇 VL-Tool 论文中,17.4%(17 篇)的论文提出了可视化的动机,解释为什么特定的输出结果适合手头的任务
  5. 论文是否设计了面向用户的组件?在 98 篇 VL-Tool 论文中,12.2%(12 篇)提供了解释了如何实施有效的可视化

Takeaways

  • Most VL-Tool research omits visualisation details.
  • Most VL-Tool descriptions focus on “what” and not “why”
  • Work that provides implementation details provides even more exposition
  • Industry papers are more user-centric
  • VL-Tools are Datacentre-centric
  • VL-Tools are on the rise
  • Multi-modal Data is Commonplace

Closing the loop

在本节中,我们将为研究人员提出一份具体的清单,以引导研究人员更多地考虑面向人类的数据输出和虚拟语言工具的可视化组件。

  1. 解释用户的角色。
  2. 包含一个截图
  3. 描述数据输出和可视化
  4. 从用户角度激发可视化的动机。举例说明为什么工具的可视化表示对用户来说是 "正确 "的。
  5. 解释你是如何构建它的。如果是实施了可视化,请描述其中的任何想法或直觉。

Above and Beyond

再进一步就是对可视化的各个方面进行科学评估,这可以遵循既定的可视化和用户界面评估原则。 一些范例作品展示了可视化组件的有效展示方式。 SelfStarter是一个用于检测错误配置网络的VL工具;该论文提供了清晰的解释和输出示例,激发了可视化的需求,并解释了所采用的可视化技术--同时又不影响论文的技术贡献。 SecureCode是一款检测高风险基础架构脚本的可视化工具;该论文主要以文字形式呈现可视化效果,但却将人类用户放在前沿和中心位置,并清晰地展示了问题对目标用户的影响。 可视化展示的黄金标准自然可以在可视化研究社区找到; CloudDet等典范作品在 IEEE VIS 等会议的应用轨道上大放异彩。

可视化之外

在本文中,我们将重点放在可视化工具(VL-Tools)上。 可视化工具的定义是:能够产生复杂输出并拥有从数据可视化中受益的人类用户的工具。 然而,大量的系统研究工作都涉及其他方面的人类用户。 比如旨在简化用户编程的高级编程应用程序接口、利用非视觉模式进行交互的商业产品。 未来,"人在回路中"工具的研究也可能扩展并开始利用非视觉模式。 此外,已经存在一些系统研究,如 Net2Text,它可以产生纯文本的复杂输出,并依赖于人机交互。