融合技术支持数十亿规模的 Elasticsearch

电子说

1.3w人已加入

描述

随着原本不相关的技术以令人兴奋的新方式融合在一起,数字融合正在我们身边发生。iPhone 就是一个完美的例子,它将手机与电脑、摄像头和传感器相结合,提供出色的体验。

融合在嵌入式领域并不新鲜。嵌入式设备传统上受到更严格的内存和处理限制,并采用融合作为充分利用许多技术领域的一种方式。因此,由于我们正处于不同规模技术融合的开端,看似不同的技术有望联合起来颠覆现有行业并带来令人信服的新机遇,嵌入式领域也将受益。一种新的融合是使用具有内存加速处理的 k-NN 最近邻 (k-NN),为数十亿规模的 Elasticsearch 操作提供近乎实时的响应。

Elasticsearch 是一个搜索引擎,它接受 JSON 请求进行文档搜索并将 JSON 数据作为结果提供。Elasticsearch 数据格式是一种以 JSON 编码的结构化数据的文档。Elasticsearch 最初是一个文本搜索引擎,但该数据库可以涵盖任何类型的数据,每个文档都有唯一的 ID 和数据类型。

因为该结构是“无模式的”,它允许将文档定义为用户需要的任何内容。Elasticsearch 数据库中的文档示例包括:

用于识别消费者搜索请求的图片。

用于识别网络入侵、异常或负载不平衡的网络数据日志。

用于识别客户购买模式和改进库存管理的产品收据。

用于自动共享和复制的网络架构。

用于查找特定文学实例的文本文档。

用于计算机辅助翻译的具有一对多映射的文本文档。

Elasticsearch 被设计为分布式的。它在基础架构方面具有可扩展性,并且可以灵活地用于本地服务器、远程服务器或基于云的操作。由于其开放和宁静的 API 结构,可扩展的搜索引擎可以毫不费力地与插件一起使用。一个这样的插件来自 GSI Technology,它提供了许多好处,包括硬件加速的 k-NN、使用向量进行多模态搜索以及合并分数结果。

Elasticsearch 依靠其分布式计算支持来实现可扩展性,其惊人的速度在百万级数据库搜索中达到秒级。由于其分布式特性和分片支持,Elasticsearch 允许复制数据、并行化搜索并为更大的数据库加快搜索速度。来自 HTTP 命令发布的分布式功能还允许由嵌入式设备完成不同分辨率的多次搜索——一次在本地资源上,一次发送到上游资源。

Core Elasticsearch 使用计算量很大的穷举匹配(全部匹配),这会减慢它的速度,或者在支持大规模数据库搜索的重复硬件中变得非常昂贵。一种可用于增加数据库大小的技术是 k-NN 搜索。它的工作原理是首先寻找常见分组中的相似性,然后在这些一个或多个分组中进行最终搜索。这种技术还允许在边缘规模的服务器上完成大型数据库搜索,而不是在基于云的计算场上进行对延迟非常敏感的应用程序。

具有计算挑战性的方法

虽然 k-NN 为 Elasticsearch 提供了一种方法来支持非常大的数据库,例如具有十亿级及以上条目的数据库,但它的计算量很大。因此,由于在 GPU 或 CPU 内核之间移动数据库的限制,k-NN 一直是加速的挑战。

工作负载加速的最大限制之一是处理器和内存之间所需的数据交换的限制。现代处理器中使用的冯诺依曼架构的一个主要缺点是处理器和存储之间的数据传输开销。CPU 必须出去为它所做的每一个操作获取数据。

这种架构在卸载加速环境中效率更低。这种系统的性能受到请求操作的主机以及执行操作的计算引擎通过内存交换数据的速度的限制。

正在研究减少来自内存的数据流的架构,以帮助缓解冯诺依曼瓶颈。然而,在处理内存密集型人工智能应用程序时,瓶颈尤其严重。人工智能相关应用的运行依赖于内存中海量数据的快速高效移动。训练有素的数据库需要加载到工作内存和矢量化输入查询中。接下来,需要对它们进行处理和加载,以便比较函数进行操作。

一种已经在市场上产生影响的成熟技术是关联处理单元 (APU)。内存加速的美妙之处在于存储本身变成了处理器。这不是一个带有高速缓存的大量处理核心阵列,而是一个具有内置在读取线架构中的计算单元的内存阵列。

因此,APU 通过具有能够加速计算的内存阵列而与众不同。这种类型的“加速”处理器已被证明可以将性能提高几个数量级,同时降低标准服务器的工作负载功耗。

Elasticsearch、k-NN 和 APU 加速的融合提供了更少的延迟和更多的每秒查询。与传统的仅 CPU 或 GPU 加速系统相比,它还可以以更低的功耗为数十亿规模的数据库搜索提供支持。在嵌入式领域,Elasticsearch 可以提供一种在边缘设备上进行本地搜索的方法,同时发送 HTTP 请求以在网络上进行更深入的搜索。可以将不同的结果拼接在一起以获得越来越清晰的答案,或者只能合并新的例外情况。

极端边缘设备可以应用其 CPU 资源在本地相关数据库中进行搜索以提高速度。然后使用 APU 密度乘数允许 Elasticsearch 网络请求在边缘服务器或聚合器上高效运行,而不是发送到云端。考虑可以做出自主决策但仍能从上游更深入的搜索中获得备份验证或路线修正的机器人。考虑基于规则集和当地条件立即做出决策的自动车辆,同时通过高速公路标志网关发送信息并获取上游道路信息和驾驶指令返回。

展望未来,很高兴看到这种融合将带来哪些新机遇。

审核编辑 黄昊宇

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分