当前位置: 华文世界 > 科技

DataPelago推出大数据、高级分析和人工智能工作任务的通用引擎

2024-10-21科技

DataPelago推出了一种新的虚拟化层,该层允许用户将人工智能、数据分析和ETL工作任务转移到他们想要的任何物理处理器上,而无需更改代码,从而为数据科学、数据分析、数据工程以及高性能计算领域带来潜在的巨大效率和性能提升。

生成式人工智能(GenAI)的出现引发了对高性能处理器的争夺,这些处理器可以处理大型语言模型(LLM)的大量计算需求。与此同时,公司正在寻找方法,从现有的高级分析和大数据管道的计算支出中挤出更多的效率,同时处理结构化、半结构化和非结构化数据的永无止境的增长。

DataPelago通过构建他们所谓的通用数据处理引擎来响应这些市场信号,该引擎改变了将数据密集型工作负载硬连接到底层计算基础设施的模式,从而使用户可以将大数据、高级分析、人工智能和HPC(高性能计算)工作负载运行到任何可用的公共云或本地系统以满足其价格/性能要求。

DataPelago联合创始人兼首席执行官Rajan Goyal表示:「就像Sun开发了Java虚拟机(Java Virtual Machine)和VMware开发了虚拟机管理程序(Hypervisor)一样,我们正在构建一个在软件而非硬件中运行的虚拟化层。」

DataPelago虚拟化层位于查询引擎(如Spark、Trino、Flink和常规SQL)和由存储及物理处理器(如CPU、GPU、TPU、FPGA等)组成的底层基础设施之间。用户和应用程序可以像往常一样提交作业,DataPelago层将自动将作业路由并运行到适当的处理器,以满足用户设置的可用性或成本/性能特征。

在技术层面上,当用户或应用程序执行任务(如数据管道任务或查询)时,处理引擎(如Spark)将其转换为计划,然后DataPelago将调用开源层(如Apache Gluten),使用开放标准(如Substrait或Velox)将该计划转换为中间表示(IR)。计划被发送到DataPelago平台的DataOS组件中的工作节点,而IR被转换为在DataPelago平台的DataOS组件中运行的可执行数据流图(DFG)。DataVM然后评估DFG的节点,并将它们动态映射到正确的处理元素。

Goyal说,拥有一种将正确的工作负载与正确的处理器相匹配的自动化方法,对于DataPelago的客户来说将是一个福音,因为在许多情况下,他们并没有从采用加速计算引擎时所期望的性能中受益。

「CPU、FPGA和GPU都有自己的最佳点,比如SQL工作负载或Python工作负载有各种各样的运算符。并不是所有的’游戏’都能在CPU、GPU或FPGA上高效运行。」「我们知道那些最佳点。因此,我们的软件在运行时将操作符映射到右边的处理元素。它可以将这个庞大的查询或工作负载分解成数千个任务,其中一些将在CPU上运行,一些将在GPU上运行,一些将在FPGA上运行。这是在运行时到正确计算元素的创新自适应映射,这在其他框架中是缺失的。」

Goyal表示,DataPelago显然无法超越应用程序在Nvidia GPU的CUDA、AMD GPU的ROCm或高性能CPU作业的LLVM中原生开发所能获得的最大性能。但他说,该公司的产品可以更接近于从这些编程层获得最大限度的应用程序性能,同时保护它们免受底层复杂性的影响,而不会将用户及其应用程序束缚在这些中间件层上。

「GPU的峰值性能与应用程序的性能之间存在巨大差距。我们正在弥合这一差距。」「你会惊讶地发现,应用程序,甚至是今天在GPU上运行的Spark工作负载,得到的FLOPS还不到GPU峰值的10%。」

Goyal说,性能差距的一个原因是I/O带宽。GPU有自己的本地内存,这意味着您必须将数据从主机内存移动到GPU内存才能利用它。Goyal说,在使用GPU时,人们通常不会将数据移动和I/O考虑到他们的性能预期中,但DataPelago可以消除这种担忧。

Goyal说:「这个虚拟机以我们融合运算符的方式处理它,我们执行数据流程图。」「没有数据移动,事物不会从一个领域转移到另一个领域。我们以流媒体的方式运行,不做存储和转发。因此,I/O大大减少,并且我们能够将GPU的峰值性能保持在80%到90%。这就是美丽之处。「

该公司的目标是各种数据密集型工作负载,组织正试图通过在加速计算引擎上运行来加速这些工作负载。这包括使用SQL、Spark、Trino和Presto进行临时分析的SQL查询,使用SQL或Python构建的ETL工作负载,以及使用Flink等框架的流数据工作负载。Goyal表示,由于DataPelago能够加速检索增强生成(RAG)、微调以及为矢量数据库创建矢量嵌入,生成式人工智能工作负载可以在LLM培训阶段和运行时受益。

客户可以在本地或云中运行DataPelago。Goyal说,当在云湖库(如AWS EMR或来自Google cloud的DataProc)旁边运行时,该系统有能力完成之前100节点集群与10节点集群所完成的工作量。他说,虽然使用DataPelago的查询本身运行速度提高了10倍,但考虑到许可和维护因素,最终结果是总拥有成本提高了2倍。

「但最重要的是,代码没有任何变化,」他说。「你正在写Airflow。你正在使用Jupyter,正在编写Python或PySpark,Spark或Trino -无论你在运行什么,它们都将继续保持不变。」

该公司已经在一些最快的数据平台上对其软件进行了测试。Goyal说,当与Databricks Photon (Goyal称之为「黄金标准」)进行对比时,DataPelago的性能提升了3到4倍。

Goyal说,客户没有理由不能使用DataPelago虚拟化层来加速在HPC设置上运行的科学计算工作负载,包括人工智能或模拟和建模工作负载。

他说道:「如果你拥有针对特定硬件编写的自定义代码,你将优化拥有80G GPU内存、如此多SMs和如此多线程的A100GPU,那么你便能够针对其进行优化。「现在你正在编排你的底层代码和内核,这样你就可以最大化你的FLOPS或每秒的操作次数。我们所做的是提供一个抽象层,现在事情在下面完成,我们可以隐藏它,所以它提供了可扩展性和应用相同的原理。

「这里并没有什么魔力。只有三件事:计算、I/O和存储部分,」他继续说道。「只要你设计的系统的阻抗符合这三点,那么你就不受I/O限制,不受计算限制,也不受存储限制,那么生活就很美好。」

Goyal说,DataPelago已经有付费客户在使用它的软件,其中一些正处于试验阶段,一些即将投入生产。该公司计划在2025年第一季度正式全面推出其软件。