高性能数据科学 - 超级计算机笔记本电脑


当谈到数据科学时,大多数人觉得就数据大小而言,他们好像处在两个阵营中。第一个是非常小的数据——几百兆到几千兆。第二个是千兆字节到兆兆字节。注意,我没有说“大数据”,也没有说“拍字节”。源数据集可能从pb级开始,但是请记住,数据通常是非常原始的,并且大多数数据被忽略了。即使在典型的数据分析(仓库)工作负载中,也可能通过这些数据集来执行大规模聚合。绝大多数与数据科学相关的工作负载使用的是10tb或更少的数据。事实上,超过95%的问题都小于100g。虽然在清理、聚合和减少数据到每个用例都有用的相关数据集方面肯定有很多工作要做,但数据科学工作负载的典型数据工作集不是pb级的。

两个用户阵营

将数据科学用户分成这两个阵营是很重要的,因为用于加快数据科学过程的方法。在小型数据阵营中,通常的争论是数据太小,无法利用GPU(图形处理单元)加速技术。在更大的数据方面,人们经常说他们没有足够的数据来利用那些gpu驱动的超级计算机来处理大规模的数据。这是生态系统中一个非常有趣的复杂性点,因为每个人都希望一切都能运行得更快,但大多数人都不知道gpu加速可以同时适用于这两种情况。

在剥离洋葱后,我们需要检查大多数数据科学家杠杆的第一层技术,这是ANSI SQL。重要的是,一些技术声称支持SQL变量,这意味着技术缺乏语言支持,或者他们不遵守该标准。这些天关于ANSI SQL的好处是,有许多查询引擎提供ANSI SQL支持,而无需使用关系数据库。

查询发动机

其中两个更受欢迎的查询引擎是presto和blazingsql。虽然两者都广泛使用,但BlazingsQL是GPU加速的。它可以利用GPU的力量更快地完成一切。它使GPU中可用的底层内存非常有效地使用,并提供许多高级功能,如列 - 修剪,谓词推动,以及最重要的,核心外处理。

核心外处理意味着,无论数据大小如何,即使使用非常有限的GPU存储器也会运行SQL查询。例如,只有一个GPU,带有32千兆字节的内存,BlazingsQL可以有效地处理10个数据的数据。即使在带有一个GPU的较小笔记本电脑和较小的内存足迹上,BlazingsQL也可以在几秒钟内处理数十千兆字节。重要的是,它具有的GPU越多,越快的Blazingsql将运行。它支持扩展架构,因此如果您需要更多的马力,只需添加马匹 - 或者,在这种情况下,GPU。

正如我们所讨论的,大多数数据科学问题都不是悲观的大小,而GPU加速度非常容易通过符合ANSI SQL标准的燃烧QL介绍。由于数据科学家的两个阵营都将SQL作为执行数据科学工具链的主要工具,它们都有一个“简易按钮”,以便入门。

从笔记本电脑到生产

针对这些数据科学组的另一个重要点是BlazingsQL在开源项目急流上建立。Rapids提供了一种在数据科学用户的工具箱中有用的多种组件。最近,Rapids增加了对MLFLIF的支持,以提高数据科学发展。MLFLIF提供实验跟踪和包装用于再现实验。

有了这样的功能,数据科学家就能够在配备gpu的笔记本电脑上处理和解决合理大小的问题(例如,数百万行和数千列)。同样的问题可以在不改变任何代码的情况下跨许多服务器以分布式的方式运行,这意味着扩展到相当大的数据集是很简单的。这种方法提供了一种将数据科学解决方案移交到生产环境的简单方法,因为它们通常运行在可伸缩的共享环境中。

图片由Joshua Sortino.uns