中美贸易战愈演愈烈,归根结底是美国对我们遏制和我们谋求持续发展之战。美国几次三番针对我国的科技公司,为我们敲响了警钟,科技自强是硬道理。
我国虽然鲜有顶尖级的系统软件商业公司,但我们在科技领域并不缺少世界顶尖人才和成果。以清华大学朱晓伟博士为例,他在读期间专注于图计算领域,研发的Gemini分布式图计算系统,处理速度超出学术界最快系统10倍(通常性能超出40%~50%已经是很好的优化,超出2倍就很夸张了,超出10倍,可想而知学术界的震惊情况),朱晓伟博士在2016年投稿USENIX ATC会议时,因其中一位评审专家不相信能达到这样的性能而被拒绝入选,用该专家话说,“too good to be true”。无奈,朱晓伟博士只得补充了一些其他系统性能不足的原因分析,并附上源码接受挑战,因祸得福,论文最终入选USENIX主办的OSDI(Operating Systems Design and Implementation,OS领域最好的会议之一),这也是我国第一次有高校主导的学术研究入选OSDI,如今该论文已经作为图数据领域的标杆被引用多达上百次。
系统软件的成熟需要长期的投入和积累,很难像互联网产业那样从一个商业模式快速迭代成一个TOP级的商业公司。一款成熟的系统软件需要两个必要的条件:优秀的人才和持续的积累。这些人才和积累,就是商业公司的壁垒。人才方面,顶尖的系统软件人才,在实习期,甚至在优秀论文发表进入学术界视野的时候,往往就已经被国外的技术公司“盯上了”;即便是留在国内公司,也会很分散的进入BAT(百度阿里腾讯)、TMD(头条美团滴滴)等企业作为项目负责人率队解决实用的难题或者去复刻国外系统,很难集中一批优秀的人才专注在某一领域持续创新研究。毕竟把几个顶尖人才放在一个项目里是极其奢侈的,从人力成本的角度考虑,即便大厂也不愿意做。人才的分散,使得技术积累变得更加困难,而高校积累的、曾经闪闪发光的那些研究成果,随着学生毕业进入工作环境,也会因为缺少精力维护而搁浅,被埋没或遗忘。
朱晓伟博士在毕业前同样面临着同样的困惑:Gemini系统即将被束之高阁么?这么多年的学习和研究,很可能就要作为基石,被其他国家的科学家进一步研发、商用、构建新的壁垒。“不甘心”这几个字在他心里生根发芽。
清华顶尖博士团队 变革系统软件的科技格局
图数据很多人不太了解,这里简单的普及一下。图是将信息中的实体,以及实体之间的关系,分别抽象表达成为顶点以及顶点间的边这样的结构数据。图计算系统就是针对图数据处理的系统,它在图结构的数据上进行针对性优化的高效计算,尤其适合大规模的关联关系分析。相比传统的关系型数据(以Oracle为代表),图的逻辑可以很好的解决目前遇到的关联数据分析问题,如绘制用户社交关系图谱做社交影响力排名、好友推荐;通过绘制资金交易图谱做大数据征信、反欺诈等应用;构建设备关系网络图谱实现物联网建模分析、供电网络建模分析等等。
该领域,国内最先进的团队是由陈文光教授带领的清华团队,他们十年前就关注到了图数据技术,历任学子均参与过图数据的研究,并在OSDI、EuroSys、ATC等顶级会议中发表了多篇相关论文,他们编写的图计算系统比学术界最快水平快了10多倍,比常见工具快了100多倍。
作为我国计算机领域“产”、“学”、“研”、“用”的第一人,陈老师自然是敏锐的捕捉到了图数据的大有可为:随着AI如火如荼的发展,图数据作为底层数据存储分析技术,可以帮助机器学习领域获取更多维度的信息,在打破性能的约束后,可以说图计算是下一代AI发展的推速器。既然已经有了超前的学术成果,为什么我们不将其落地,进入寻常企业中?陈老师的提议很快得到了一众博士学霸们的响应,做商用系统软件很苦,但是很值得,为的是让性能瓶颈不在成为分析的障碍,也为了中国系统软件扬眉吐气的机会 。
组件团队时,陈教授第一个想到的门生,是已经博士毕业多年,编写了世界上第一个开源分布式C++图计算系统,在微软亚洲研究院负责微软下一代大数据系统平台和分布式机器学习平台的洪春涛博士,MXNET早期原型设计正是在洪春涛博士的帮助下完成的。在微软研究院率队研发的经历,使得洪春涛博士既有成熟商业软件开发的经验,同时具备协作管理的阅历和协同开发的节奏把控力。加之对图计算的敏锐度,是担纲团队领袖的最佳人选。而洪春涛博士也早有做一番事业的想法,可以说是一拍即合。
朱晓伟博士自不必说,一路顶着保送清华、硕博连读、国家级奖学金、西贝尔学者、被国际一流期刊重点关注、斩获AMC一等奖等众多科技奖项的学者,比起去大厂带团队拿高薪,能让研究成果学以致用比什么都重要。
除了晓伟博士这样的“性能怪兽”,另一位“重量级”选手——应该是重“量级”选手——林恒博士的加入,更让陈老师觉得“稳了”。林恒博士是“神威·太湖之光”Graph500作者。“太湖之光”是我国连续两年四届取得Top500排名世界第一的高性能计算机,也是唯一一台采用自主研发的国产处理器的TOP ONE系统。林恒博士主导了该系统Graph500评选并获得世界排名第二,填补了国产高性能系统在数据分析领域奖项的空白。同时基于“太湖之光”研发的“神图”系统是世界上规模最大的图计算系统,入选了2018年“戈登·贝尔”奖决赛,也是中国唯一入围该奖项的项目。
速度、体量兼有之,陈老师觉得还不够,因此又挖来了GPU加速、机器学习领域专家李恺威博士,也是团队的另一位西贝尔学者、奥赛金牌获得者,曾率队连获世界三大超级计算机比赛(ASC、SC、ISC)的总冠军,在清华计算机系素有“小神童”之称。
至此,由冠军们组成的团队就成型了,几位创始人每个都是以一敌百,技术公司抢破头的精英,放弃了高薪、大厂、带团队的机会,被陈老师“一锅端”了,这样的顶尖阵容,放眼世界也找不到第二个。 “下一代的 AI 可能就踩在我们的肩上了 ”怀揣着改变科技格局的梦想,着手图数据落地的项目启动了。
快如电光的“费马”
说是项目启动,其实几位创始成员延续着此前在组里的默契和协作,跟博士在读期间的工作没有太大的区别。唯一的不同,就是商业应用不同于实验室中固定的环境和场景测试,需要顾及系统的方方面面,为了系统的高可用性、易用性、可移植性等应用场景中必不可少的部分,团队重构了图数据系统,优化了系统可用性,内置了大量的算法,封装接口等等,支持丰富的接口和调用语言,并提供数据快速导入导出、可视化等外围工具,便于管理和使用,使其更适应商业应用场景。
把世界上TOP级的聪明人聚在一起,自然效率奇高。系统重构仅用了三个月的时间,还是在洪春涛博士的严格要求下所用的时间。学霸之所以是学霸,不仅是靠天分,同时也靠好习惯。一直以来,洪春涛博士的每段代码,都会写两遍,第一遍目的是实现功能、跑通程序,第二遍是更合理更简洁更完美的实现,“对于程序员来说,2.0版本总是最好的,所以我会一次就做2.0”。作为团队核心,洪春涛博士即是CEO也是大家的学长,这一习惯被他带到了团队里,后面无论项目多紧张,这一习惯也不会打破。因此,在微软6年率队开发大规模复杂系统经验的加持下,洪春涛博士带领团队高质量的完成了系统重构。
产品成熟了,随之而来终于迎来了一个大家有分歧的问题:起名字。
起名这件事,可能比代码重构更烧脑,为此团队展开了激烈的讨论,最终学霸们为项目起了个速度为王的名字:F=ma(费马)。F=ma是牛顿第二定律,意为“加速”;同时FMA也是计算机的乘加指令(比快更快),中文名字致敬了数学家皮埃尔.德.费马。从此快如电光的LightGraph和PandaGraph有了更快的名字“费马”。
性能快百倍,内存消耗少十倍的 “闪电计算”
图数据的数据逻辑维度要远高于关系型数据,以社交场景为例,以往我们分析微博大V的权重,通常会按其粉丝数量来排名;而图数据不仅关注粉丝数量,同时关注粉丝质量,大V的粉丝是僵尸粉还是活跃粉,是小白还是同为大V,互动是否频繁等等维度数据在图数据中年清晰可寻。因此,图数据分析远超出二维的分析维度,每增加一层,分析的难度就高了百倍,分析的难度差距是巨大的。数据分析维度和数据量的增长对系统性能提出了更高的要求,如果性能不足,想要的分析也是难以实现的。
不同于以往科技公司“复刻”国外成熟产品和模式的套路,费马冠军团队只做性能最佳。那么对比国外成熟的图数据平台,费马凭什么能性能快百倍,内存消耗少十倍?
费马CEO洪春涛博士直言是“同类产品太差了”,在客户的实际业务环境中,经常会有上千倍的差距。
除了出自最严谨代码作者这一重要因素以外,从架构层到功能层,费马图数据平台进行了层层优化。在架构层,费马团队选择了更适合底层数据交互的C++语言,而不是主流的Java语言,虽然编写的复杂度高一些,但在应用时能够更灵活。举个例子,当图数据库从外存中读取数据时,有时需要利用操作系统的MMAP功能,而操作系统默认会进行预读取。操作系统假设我们是连续读取数据的,所以当我们读取一块数据时,它会帮我们把后面的数据也预先读取进来。但是在数据库中,我们经常是随机访问的,因此这个预读取功能会浪费时间读取没有用的数据。对于C++来说,我们可以通过系统调用来关闭这一功能,而Java则没有对应的功能。类似的操作还有很多,C++语言对底层数据处理更友好。在费马团队看来,选择什么语言来编写取决于实用性而非编写者的偏好。
功能上,在存储方面,费马支持多版本并发,将读写操作分开,写操作不影响读操作的性能,不会因为频繁的读写而降低性能;支持事务内并行,多个线程可以在同一快照上执行操作,从而加速长事务分布式处理;采用无锁数据结构,数据读取操作不需要任何锁操作,带来极高的吞吐率;前缀压缩,将相关数据存储在连续的空间中,从而提高遍历操作的效率,减少重复检索操作等等。
在分析方面,费马支持分布式扩展,能够线性扩展到分布式环境,正如闪电一样延伸再延伸;双模式驱动,图数据访问支持推送和拉取两种模式,并在运行中自动选择更优的模式,提高数据访问效率;采用连续数据块划分,在数据划分时,利用真实数据内在的关联性,将有关联的数据划分在一起,高质量的划分方法在分析时大有裨益;细粒度调度,将图数据任务动态映射到设备的CPU、核、线程等多个层级,满负荷利用计算资源。
种种优化带来了费马100倍性能增长的“闪电计算”,计算力可以无限延伸,处理万亿级的数据毫不费力,用户只需要基于费马平台,构建应用场景即可,处理速度电光即达。
目前,费马科技已为工商银行、京东金融、民生银行、搜狗搜索等大型金融、互联网企业及政府、军工类项目提供高性能可扩展的图数据平台,为企业存储和分析大规模图数据提供强有力的支持,同时费马团队在客户实践中经常会帮助客户额外优化场景和算法,致力于最佳实践。相信我国的顶尖级系统软件商业公司正奔跑在路上,“科技是没有疆界的,但是科学家有”,而费马科技目前要做的事情,就是突破封锁,尽快成长为Oracle级别的系统软件公司。我们也期待着更多顶尖成果落地商用,构筑起我们科技的长城。
A5创业网 版权所有