大数据对计算体系带来的挑战
2019-07-17梅宏
梅宏
大数据导致了一个现象,就是信息技术体系进入重构前夜,实际上这给了我们一个颠覆式发展的机遇。
我想分四个方面讲。
第一,应用需求。大数据的应用需求,使得我们的计算机体系结构可能面临重构的需要。现在出现了很多新技术,比如新型存储介质、新型运算器件,它们使得计算机的体系结构产生一定的变革。怎么变革,会不会出现以数据为核心而计算围在周边的一种结构?目前正在研究在芯片上存算一体——这是一种可能的方向。
第二,云计算模式领域化、资源泛载化,资源平台化的大态势。我们希望在服务质量提升、新型硬件管理、极致效能的追求方面做很多工作。同时我们也看到云边端结合的新型计算也在涌现,还有软件定义对整个世界所形成的影响。我们对数据管理、软件开发运行、数据分析等都有很多要求。
第三,通信。5G能解决通信问题,网络通信还需要更好发展带宽、移动、泛载。对于带宽的问题,移动、泛载的问题,我们看到信息技术体系按照过去的发展套路,还有很多值得探讨的空间,在基础器件上也有很多上升空间,比如大数据组织、分析等等相关技术理论都有待突破。基础器件,高性能、高时效、高吞吐等极端化的大数据需求,使得我们需要高通量的处理芯片,需要多通道数据化、可视设备等。
第四,软件开源,硬件开放,正在导致我们产业生态发生变化。实际上,颠覆式发展的机遇可能就在这个地方。
大数据的管理、处理
管理是数据的存储、组织,而处理就是把数据并行处理为内容。
由于无法定义一個模式,一致性也没法保持,不能够事先定义数据模式,就没办法保持它的事务性等数据的一致性。由于单一表格存储、高性能是非常难以实现的,这就使得对大规模、多表关联查询及复杂分析类型的SQL查询性能严重下降,这就是在大数据时代传统数据库做不了的事。对于处理而言,实际上大体分成三个阶段:前大数据时代,大数据早期、现在。
大数据和HaDoop不管发展如何,单台计算能力都是有限的。所以我们必须要并行处理,没办法做一台计算机满足所有的处理需求。比如最早出现的HaDoop就是批处理,批处理好处是什么?吞吐率高,适用于海量预存数据的处理。其次是流处理,适用于在线型、产生速度快的时延数据处理。还有一种新的数据类型就是图处理,用巨型的图数据,比如以社交网络为代表的大量数据都是图数据,亿万个节点,这样大型的社交网络图怎么办。所以现在这些系统很多,都是开源,但是没有看到一个能满足所有要求的一种处理模型。
再看现在的问题,比如说Spark,它是一个批处理平台,它是用VP的技术处理流模式,把流式计算用时间片切开,分解成一些小批量,本质上还是批处理,只是每一批小一点。
图处理。图数据最大的问题就是并行,它本身量很大,大量的数据是冲突的,而且互相依赖性比较高,通信开销就比较大。核心的一个问题,从数学上,如果能完成一个很好的图分割,就可能完成这种图的并行处理。但是最终也是要追求并行处理。
从三个维度看挑战
第一,数据处理方式和数据来源的问题。我们提到了面临数据来源有离线数据、在线、混合处理的需求,方式就出现了批处理、流处理和混合处理。从计算架构角度、系统结构的角度看,我们过去做的传统计算最大的问题是计算产生的内存要求,内存要从外存取数据,所以内外交叠浪费很多时间。所以我们还出现了内存计算,既然这样,就可以搞一个大内存,把所有数据装在内存里面,这是一种方式。第二,新型的架构。通过综合GPU,还有其他的TPU、数据流等,构建新型的计算架构。第三,数据类型本身。数据类型本身有文档等各种模式,我们目前看到的单一系统是没有办法去处理这种混合负载的,而混合负载的处理,实际上是存在着大量的需求。
大数据处理三大挑战
挑战一:怎么样高效处理各类混合负载,这是当前我们面临的一个挑战。什么叫混合处理的需求?我举一个例子,比如说双十一成交数据的一个实时分析。当天处理的时候,它是实时的用户数据和商品数据,通过实时数据采集去弄。但实际上这两个东西对实时数据、兴趣模型到用户的行为预测有局限,如果没有离线数据支撑,它的准确率和效果不会那么好。所以要完成个性化推荐,必须要用到离线的数据,这就是流处理和批处理同时出现的一种场景。现有的大数据处理系统没办法处理这种混合的处理。而现在新流进来的实时的数据,需要进行流处理。
挑战二:现有的大数据带来的好处就是开源,但是HaDoop的生态系统、Spark的生态系统、Flink的生态系统都有各自的开源生态,甚至有自己的开源许可证协议。
挑战三:针对图数据,传统应用计算密集,而图应用,有较低的计算访存比,有大量随机的访存,有复杂数据的依赖,还有非结构化的分布,这是图数据的问题,和传统应用所面临的东西是不一样的。所以我们能不能探讨另一种新型的架构来提高它的高并行的处理?这就是我们谈到的各种大数据类型和计算结构匹配起来之后的一些挑战。
我们在云计算平台之上,要进行各种大数据处理,而大数据的类型、存储是迥然不同的,访问模式有图数据、KV的、列的、文档的,各种各样的东西。现在,我们要构建一个处理平台,是支持批处理的,也支持流处理的,还可以支持混合处理的。混存之后,我们要支持人工智能应用,要支持交互式的数据分析,进一步支持各种应用。
传统的定制问题、系统选型难,不同处理系统融合难,系统调优难,维护难、多系统之间数据传输也导致它的效率是比较低的——这就是我们的大环境面临的问题。所以我们想做一件事,就是希望通过软件定义的方式,通过大数据处理管理平台,让它的功能实现可编程,可以面向不同的需求进行定制。
原创的技术
我们希望资源调度优化,进一步依托数据多种需求,多模态存储,形成一套引擎,能够高效的支撑多种处理模式。项目的目标,是希望研究和开发面向新型的、多处理模型融合架构的一个高时效、可扩展的新一代大数据分析支撑系统和工具平台。我们还是希望站在巨人的肩膀上消化吸收,高时效、可扩展就是它的关键词,希望建立基于软件定义的新型的自适应融合架构。一套引擎、一套数据、一套资源来支撑、满足不同的处理模型的需求,进一步支撑大数据分析和智能的应用。我们要追求高时效、低时延,多计算模型的融合,自适应的优化;在可扩展方面,面向云计算进行可伸缩的调整,处理平台跨数据中心的扩展,机器学习模型的扩展,还有一些具体的关键技术。
事情能不能做得成,就要靠我们团队的努力。我始终觉得中国的IT还存在很大的问题。毕竟,我们很多场合不在应用第一线,很多问题都不是我们发现的。
过去五到十年,我们依然在谈的问题就是海量:人多,数据多。所以,我们没有原始的创新,我们一直在寻求原始创新,这是我们最大的一个欠缺。
我想留下一支可以开发系统软件的队伍完成这件事情,我们希望通过消化、吸收,打碎并重新组合,形成一种集成创新。