TA的每日心情 | 开心 2016-12-9 18:18 |
---|
签到天数: 85 天 连续签到: 1 天 [LV.6]常住居民II 扫一扫,手机访问本帖
|
通过对相关文献的调查研究,我们总结出超大规模数据可视分析的十大挑战。为了满足多样化的读者群体,我们讨论分析了这个领域中各个研究方向上的挑战,包括算法、硬件、软件、工程和相关社会问题。
背景
《IEEE计算机图形学与应用》(IEEEComputer Graphics and Applications, CG&A) 2004年9月/10月的一篇文章在计算机科学领域提出了可视分析(visual analytics)的概念[1]。2005年,一个由跨学科领域专家组成的国际团队共同定义了这个崭新的学科方向—可视分析,即“通过交互可视界面来进行分析、推理和决策的科学”[2]。从此,可视分析的方法与目标都获得了前所未有的扩展,涉及科学与其他领域的不同类型、形态、大小及领域的数据及其应用。由于超大规模数据革命性地改变着我们的工作生活[3],研究者们开始寻找有关大数据问题的可视分析解决方案。
如今超大规模可视分析应用通常结合了用于计算的高性能计算机群、处理数据存储与管理的高性能数据库组件及云端服务器和提供人机交互界面的桌面计算机。超大规模数据通常来自不同领域的科学、工程、社会和网络的模拟与观察实测。尽管还有许多PB (petabyte, 1015) 量级甚至 TB (tera-byte, 1012) 量级规模的数据分析问题尚未解决,但科学家已经开始着手研究 EB (exabyte, 1018) 量级的数据了。
十大前沿挑战
列出前沿挑战不仅对于满足科学与技术的核心需求有着深远的意义,同时也可促进将解决方案传播到更大的社区。我们将从技术与社会两个角度来分析问题。这些挑战的先后顺序反映的不是它们的重要程度,而是各个挑战之间内容的相互关系。
1. 原位分析(In Situ Analysis)
在不久的将来,传统的先将数据存储于磁盘、 然后读取进行分析的后处理方式对于超过PB量级以上的数据来说,可能并不适合。相反,原位可视分析则在数据仍在内存中时就会做尽可能多的分析。这种方式能极大地减少I/O的开销,并且可实现数据使用与磁盘读取比例的最大化。然而,它也带来了一系列设计与实现上的挑战,包括交互分析、算法、内存、I/O、工作流和线程的相关问题。以上一些技术上的挑战目前理论上可能就可以得到解决。然而,真正可能的解决方案会要求高性能计算社区做出运作、规则与策略等一系列重大调整以及相应硬件供应商系统和技术的支持。下面我们还会谈到这个问题。
2. 用户界面与交互设计
在超大规模数据可视分析中用户界面与交互设计扮演着越来越重要的角色。尽管数据规模在持续快速地增长,但人的认知能力却是始终不变的。我们对于在极大数据中用户界面与交互设计的问题进行了深入的调研[4]。
以人为中心的用户界面与交互设计面临的挑战是复杂和多层次的,并且在不同领域都有交叠。机器自动处理系统对于一些需要人类参与判断的分析过程往往表现不佳。其他的挑战则源于人的认知能力,现有技术不足以让人的认知能力发挥到极限。
3. 大数据可视化
这方面的挑战主要是指可视分析中的数据呈现方式,包括可视化技术和信息的可视化显示。最近数据简约可视化的研究中、高可扩展的数据投影、维度降解、高清晰显示以及大屏幕显示等技术都从不同角度帮助解决这个难题。
然而,在可视化中更多程度的数据投影与降维意味着数据表示得更加抽象与简约。这样的表现形式对于用户进行可视分析、推理和信息获取来说,需要更深入的洞察与诠释。并且,尽管在超大规模数据可视分析中我们可以建造更大、更清晰的视觉显示设备,但人类视觉敏锐程度制约了大屏幕显示的有效性。而由于人和机器的限制,大数据的可视化问题在可以预见的将来都会是一个重要的挑战。
4. 数据库与存储
云服务及其应用的出现深刻地影响了超大规模数据库与存储社区。流行的 Apache Hadoop架构已经支持在公有云端存储EB量级数据的应用。许多互联网公司,包括Facebook、谷歌、eBay和雅虎等,都已经开发出了基于Hadoop的EB量级的超大规模数据应用。
处理EB量级数据是一个现实的而且需要关注的挑战。一个基于云端的解决方案可能满足不了。比如美国能源部(US Department of Energy)科学发现社区中提出的数据分析问题的需要[5]。一个主要的疑虑是每千兆字节的云存储成本仍然显著高于私有集群中的硬盘存储成本。另一个问题是基于云的数据库的访问延时和输出始终受限于云端通信网络的带宽。
不是所有的云系统都支持分布式数据库的ACID标准(atomicty, consistency, isolation, durability,原子性、一致性、独立性、持久性)。对于Hadoop的应用,这些需求必须在应用软件层实现。这些超大规模数据库技术的挑战是软件和硬件都需要解决的问题。
5. 算法
传统的可视分析算法的设计通常没有考虑可扩展性。因此,许多算法都是计算过于复杂的或者不能输出人们能够轻易理解的充分简明的结果。并且,大部分算法都附设了后处理模型的假设,认为所有数据都在内存或本地磁盘中可以被直接访问
我们需要设计出既考虑数据大小又考虑视觉感知的高效的算法。我们需要引入创新的视觉表现方法和用户交互手段。更重要的是,用户的偏好和习惯必须要与自动学习算法有机结合起来,这样可视化的输出才具有高度适应性。
当可视化算法拥有巨大的控制参数搜索空间时,自动算法可以组织数据并且减少搜索空间,这对于减少数据分析与探索的成本和降低难度起着关键的作用。
6. 数据移动、传输和网络架构
随着计算成本的持续下降,数据移动很快就成为了可视分析中付出代价最高的部分。由于数据源常常分散在不同的地理位置,并且数据规模十分巨大,应用程序对数据移动的需求也有所增加,使得问题变得更加富有挑战性。
科学计算模拟率先引入高性能计算系统来解决大规模问题。使用高性能计算系统来进行并行模拟所面临的一大挑战是如何有效利用系统中的网络资源。
科学计算社区为了解决这个问题,付出了大量努力。消息传递接口(MPI)标准以及对MPI标准的高效实现构成了绝大多数大规模模拟系统中代码的基石。与此类似,由于可视分析计算将运行在更大的系统上,我们必须提出更加有效的算法、开发更加高效的软件,能够有效地利用网络资源,并且能提供更加方便通用的接口,使得可视分析的专家能高效地发掘数据。
7. 不确定性的量化
不确定性的量化问题可以追溯到由实验测量产生数据的那个时代。如今,如何量化不确定性已经成为许多科学与工程领域的重要问题。了解数据中不确定性的来源对于决策和风险分析十分重要。随着数据规模增大,直接处理整个数据集的能力也受到了极大的限制。许多数据分析任务中引入数据亚采样,来应对实时性的要求,由此也带来了更大的不确定性。
不确定性的量化及可视化对未来的可视分析工具而言极端重要,我们必须发展可应对不完整数据的分析方法,许多现有算法必须重视设计,进而考虑数据的分布情况。
一些新兴的可视化技术会提供一个不确定性的直观视图,来帮助用户了解风险,从而帮助用户选择正确的参数,减少产生误导性结果的可能。从这个方面来看,不确定性的量化与可视化将成为绝大多数可视分析任务的核心部分。
8. 并行化
为了处理庞大的数据,并行处理可以有效地减少可视计算花费的时间,从而实现数据分析的实时交互。未来的计算体系结构将在一个处理器上置入更多的核,但与此同时,每个核所占有的内存也将减少,在系统内移动数据的代价也会提高。未来,大规模并行化甚至可能出现在桌面PC或者笔记本电脑平台上。
并行计算的普及就在不远的将来。为了发掘并行计算的潜力,许多可视分析算法需要完全地重新设计。在单个核心内存容量的限制之下,我们不仅需要有更大规模的并行,也需要设计新的数据模型。任务并行化与数据并行化之间的界限也将变得更加模糊,混合并行化将逐渐成为主流。当数据足迹的大小超过了总内存的容量,并且又无法划分成更小的计算单元时,许多并行算法还需要支持离核计算。
9. 面向领域与开发的库、框架以及工具
由于缺少低廉的资源库、开发框架和工具,基于高性能计算的可视分析应用的快速研发受到了严重的阻碍。这些问题在许多应用领域十分普遍,比如用户界面、数据库以及可视化,而这些领域对于可视分析系统的开发都是至关重要的。在绝大部分高性能计算平台上,即使那些诸如后C语言(post-C language) 或者调试工具等最基本的软件开发工具也是罕见的。这也难怪许多高性能计算的开发者还要用printf()作为调试工具。
这种资源的稀缺对于科学领域的用户来说是令人十分沮丧的。许多在桌面平台上流行的可视化和可视分析软件,若放到高性能计算平台上则不是太昂贵就是还待开发。而为高性能计算平台开发这样定制的软件,则是个耗时耗力的做法。总之这是整个社区需要面对的挑战,最终的解决也需要依靠社区本身,这也是我们要面对的终极挑战。
10. 社会、社区以及政府参与
目前主要有两个团体投资超大规模可视分析的研发。其中一个是政府部门,主要支持高性能计算平台上科学问题的解决方案;另一个是网络电商,他们希望使用高性能计算来解决日益困难的在线数据管理问题。
终极挑战则需要两个团体联合起来,广泛地向社会传播他们的超大规模数据技术。例如,他们可以说服硬件制造商设计开发适合社区技术要求的硬件系统,以解决之前提到的硬件问题。他们也必须参与到学术组织中,培养未来并行计算、可视化和可视分析技术等领域的人才。同时,他们不应该只是追求开发解决问题的技术,还应该通过互联网等手段向全社会开放他们的技术。所有这些目标的实现依赖于技术社区、社会以及政府的积极参与。
讨论
前面提到的十大挑战恰好与2007年美国能源部研讨会的一篇报告内容相呼应 [6]。与之相比,我们列出的挑战更注重可视分析领域关注的关于人类感知与用户交互的问题。我们也更多地提到了在公共云服务平台(public clouds)和私有集群上的数据库问题。同时,我们也关注当数据规模达到EB量级时的科学和非科学应用。
尽管我们正面临这些令人生畏的挑战,但我们不是完全没有希望。桌面计算平台的多线程技术已经近在眼前。计算能力更加强大且能耗更低的高性能计算系统即将到来。尽管我们承认对于人类的认知能力不存在摩尔定律,但是要在可视化、算法以及数据库领域取得长足的进步,机会还是存在的。目前,工业界与政府已经认识到当前形势的紧迫性,并在许多超大规模数据领域投入了大量的研发。大学里也拓展了更多关于并行计算的课程,正在培养新一代EB量级数据时代的大学毕业生。
我们写下这些文字之时,技术仍在不断发展,新的挑战也在不断涌现。但我们仍然满怀信心前进,因为我们相信在不远的将来所有这些问题都会得到解决或极大地缓解。
英文原作者:
黄伯仲(Pak ChungWong) 美国西北国家实验室(Pacific Northwest National Laboratory)计算与统计部门项目经理和首席科学家。
沈汉威(Han-WeiShen) 美国俄亥俄州立大学计算机科学与工程系副教授。
克里斯托弗·约翰逊(ChristopherR. Johnson) 美国犹他大学教授、科学计算与成像研究所主任。
陈超美(ChaomeiChen) 美国德雷塞尔大学信息科学与技术学院副教授。
罗伯特·罗斯(RobertB. Ross) 美国芝加哥大学与阿贡国家实验室资深研究员。
(来源:中国计算机学会通讯,译者:袁晓如)
|
|