meta开源与英特尔、字节跳动与ahana共同开发的统一执行引擎velox,这是一个加速资料管理系统并简化其开发的函数库,velox目前仍在开发中,但是已经被验证可提高资料管理系统的效率和一致性,meta认为,velox有助于集成和统一资料管理系统,因此希望开源社群加入项目贡献,加速函数库开发和采用。
在meta有数十个人信息料运算引擎,组成庞大的基础设施生态系统,以支撑meta所提供的产品和服务,这些引擎处理着不同的工作负载,包括sql分析、流媒体处理以及资料截取等,而且在人工智能和机器学习用例快速发展下,特征工程、资料预处理和其他用于机器学习和服务的引擎和函数库随之增加。
meta提到,虽然资料运算引擎有其相似之处,但是引擎大多是独立发展,这种碎片化让维护和改善这些系统变得困难,而且执行这些工作负载的硬件也会逐渐更新,最终导致系统具有不同的功能集和不一致的语义,降低整体资料功能集的生产力。
为了要解决这个问题,meta打造了velox来构建更高效的基础设施架构,meta提到,这是一个最新的统一执行引擎,目的是要加速资料管理系统,并且简化开发。velox统一了资料运算引擎常见的资料密集组件,但同时又可扩展和适应不同的计算引擎,其扩展原本仅能在个别引擎进行的优化,并且实现一致语义框架,如此能够减少重复工作,提高重用性同时增加了效率和一致性。
meta进一步解释,资料运算引擎皆由相似的逻辑组件组成,包括语言前端、中介表示、优化程序、runtime和执行引擎,而velox提供构建执行引擎所需要的模块,包括所有在单个主机执行的资料密集操作,像是表达式评估、聚合、排序和联合等,简言之就是资料平面。
velox通过统一函数库集成资料运算系统的执行引擎,能够让资料运算系统更具适应性,目前meta已于十几个人信息料系统集成velox,包括presto、spark和torcharrow,还有各种内部流媒体处理平台、资料截取系统和用于特征工程的机器学习系统等。meta希望通过构建开源社群来支持velox项目,并且统一各资料运算引擎孤岛,模糊机器学习基础设施和传统资料管理系统之间的界线。