革新性技术:基于搜索操作的存内计算

文章目录

  • 革新性技术:基于搜索操作的存内计算
    • CSDN首个存内计算开发者社区
    • NVALT:近似查找表的艺术
    • MAP:存内计算的未来
    • SQL-PIM:数据库的未来
    • 内存计算架构与技术小结
    • 从NVALT到NVQuery:存内计算的探索与前景
    • NVQuery:RCAM的魔法
    • 存内计算小结:创新与展望
    • 技术展望与总结
    • 结语

革新性技术:基于搜索操作的存内计算

在当今快速发展的科技领域,计算机架构的不断创新成为推动技术进步的关键之一。本文将聚焦于一项引人注目的技术——基于搜索操作的存内计算。这项技术在加速GPU、提高性能、降低能耗方面展现出了惊人的潜力。

CSDN首个存内计算开发者社区

CSDN首个存内计算开发者社区来了,基于知存科技领先的存内技术,涵盖最丰富的存内计算内容,以存内技术为核心,史无前例的技术开源内容,囊括云/边/端侧商业化应用解析以及新技术趋势洞察等, 邀请业内大咖定期举办线下存内workshop,实战演练体验前沿架构;从理论到实践,做为最佳窗口,存内计算让你触手可及。
传送门:https://bbs.csdn.net/forums/computinginmemory
首个存内计算开发者社区,0门槛新人加入,发文享积分兑超值礼品;
成为存内计算大使,享受资源支持与激励,打造亮眼个人品牌,共同引流存内计算潮流。
在这里插入图片描述

NVALT:近似查找表的艺术

首先,让我们认识一下NVALT(NV Approximate Lookup Table)。这是一个专为加速GPU而设计的近似查找表。其独特之处在于,它通过挖掘GPU应用中的数据局部性,建立高效的近似功能单元,实现了卓越的性能提升。

NVALT的设计理念是在重复出现大量乘加操作的块中寻找数据局部性。通过线下预处理,NVALT识别并存储每个程序常用的数据输入模式和对应的输出模式。运行时,NVALT搜索存储在Content Addressable Memory(CAM)中的输入数据,并返回与输入模式最相似的条目对应的输出结果。在精度损失控制在10%以内的情况下,NVALT不仅取得了4.5倍的能耗节约,更实现了5.7倍的性能提升。

MAP:存内计算的未来

另一个令人振奋的存内计算代表就是MAP(Memory Acceleration Processor)。MAP的系统结构引入了基于忆阻器的内容寻址存储(RCAM)、控制器、指令缓存器等关键组件,使其成为一款强大的近似计算协处理器。

MAP通过RCAM存储所有指令所需的数据,采用比较电路找出匹配的行,实现存内计算。其高度并行的特性使得查找一个512行的表仅需约2纳秒。令人印象深刻的是,MAP相较于传统的冯·诺依曼架构,取得了80倍的能耗节约和20倍的性能提升。
在这里插入图片描述

SQL-PIM:数据库的未来

对于关系型数据库,Tsinghua University的研究者提出了SQL-PIM(SQL Processing In Memory)。这一存内计算系统结构不仅支持直接读取行和列的操作,还能实现限制查询、规划查询和聚合查询等复杂操作。

SQL-PIM通过限制查询语句、规划查询语句和聚合查询语句,有效地降低了片上缓存不命中带来的时间和能耗开销。通过特殊关联分割的方法,SQL-PIM将大表存储在多个存内计算阵列中,显著减少了每个计算阵列之间的通信。实验证明,与传统的内存数据库相比,SQL-PIM在能耗上能达到4-6个数量级的节约。
限制查询语句是找出表中符合给出规定的一系列数据, 这些规定可以是数值逻辑或者是非逻辑的条件语句, 通常用 WHERE 语法来操作; 规划查询语句是找出表里含有特定参数的条目或者特定的列, 通常用 SELECT 语法进行操作; 聚合查询语句是对一些给定条件的条目做加操作, 通常用类似 SUM 语法来求一系列值的和。
在这里插入图片描述

内存计算架构与技术小结

内存计算面向的应用有如下特点:
(1) 数据密集, 在普通冯 · 诺依曼结构中有大量的内存访问;
(2) 数据局部性差, 片上缓存命中率低;
(3) 计算密集且计算形式简单, 易于并行.
内存计算包含两大类:近数据计算和存内计算. 近数据计算通常使用 3D 堆叠的内存结构, 在内存中集成计算逻辑芯片, 并用高速通道将计算单元和内存单元相连接, 存算依然分离. 存内计算直接使用内存单元做计算, 利用电流、电压、电阻等物理量之间的关系表示某类计算. 近数据计算相比于存内计算灵活度更高, 能支持较多算子; 存内计算虽然能支持的算子较为单一, 目前能支持向量乘矩阵算子, 按位逻辑操作, 或者搜索操作, 但是其计算速度快且能耗低. 设计内存计算架构时, 设计者需要根据应用场景的需求 (应用中算子的类型、延迟和能耗的限制等) 进行选择, 必要时也可结合使用近数据计算和存内计算两种技术,充分利用两者优点。

从NVALT到NVQuery:存内计算的探索与前景

我们继续探讨基于搜索操作的存内计算,聚焦于另外两个引人瞩目的代表性工作:NVQuery和更为综合的存内计算小结。

NVQuery:RCAM的魔法

NVQuery是另一款利用RCAM支持多种查询语句的存内计算加速器,其系统结构与MAP相似。NVQuery不仅支持聚合、预测、按位操作,还能进行精确的最近距离查找。

为了支持最近距离查找,NVQuery提出了比特线驱动的策略,将权重加到相应的比特位上。实验证明,相较于传统的冯·诺依曼系统结构,NVQuery带来了惊人的性能提升和能耗节约,分别达到了49.3倍和32.9倍。

在这里插入图片描述
NVQuery也是利用 RCAM 支持多种查询语句的存内计算加速器, 其系统结构和 MAP 相
像. NVQuery 能够支持聚合、预测、按位操作, 以及精确的最近距离查找. 为了支持最近距离查找,
NVQuery 提出了比特线驱动的策略, 将权重加到相应的比特位上. 实验显示, 与传统的冯 · 诺依曼系
统结构相比, NVQuery 带来 49.3 倍的性能提升和 32.9 倍的能耗节约

存内计算小结:创新与展望

综合来看,存内计算在支持特定算子(主要是向量乘矩阵算子)、按位逻辑操作和搜索操作方面取得了显著的性能优势。尽管与近数据计算相比,存内计算的设计灵活度相对较低,但其高效的性能和低能耗令人瞩目。

存内计算的核心思想是充分利用新型存储的物理结构和特性来支持应用程序中频繁出现的算子。研究者们也致力于解决存内计算模块互联、数据流设计、数据映射策略以及与现有存储系统的融合等问题,以期进一步提升存内计算的性能和适用范围。

在未来的技术发展中,存内计算有望与其他计算模型相结合,以更好地适应不同的应用场景。无论是处理数据密集的GPU应用,还是提升数据库查询性能,存内计算都展现出了强大的应用潜力。

技术展望与总结

基于搜索操作的存内计算,虽然在支持算子方面相对较少,但其性能和能耗方面的优势使其成为当前备受关注的技术。存内计算的核心思想是利用新型存储的物理结构和特性,支持应用程序中频繁出现的算子。

在未来的计算机架构设计中,我们或许会看到存内计算与近数据计算相结合,以充分发挥两者的优势。设计者需要根据应用场景的需求,选择适当的技术。无论是NVALT的灵活性、MAP的高性能,还是SQL-PIM的数据库加速,这些都是当前计算领域不可忽视的技术创新。

存内计算,潜力无限,引领着计算科学的未来。随着技术的不断发展,我们期待看到更多基于搜索操作的存内计算的应用,为计算领域带来更大的突破和创新。
在这里插入图片描述

结语

基于搜索操作的存内计算,以其独特的设计理念和卓越的性能,在计算科学领域崭露头角。从NVALT、MAP、SQL-PIM到NVQuery,这些代表性工作共同描绘出存内计算的发展轨迹。

在这个科技激荡的时代,我们期待存内计算能够成为推动计算机架构创新的强大引擎。随着研究者们不断的探索和突破,存内计算有望为未来的计算科学带来更多的惊喜和可能性。让我们拭目以待,见证存内计算为技术世界注入新的活力和活力。

本文学习总结参考于:
《中国科学 : 信息科学,内存计算研究进展》

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/359542.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

242. 有效的字母异位词(力扣)(C语言题解)

✨欢迎来到脑子不好的小菜鸟的文章✨ 🎈创作不易,麻烦点点赞哦🎈 所属专栏:刷题 我的主页:脑子不好的小菜鸟 文章特点:关键点和步骤讲解放在 代码相应位置 题目链接: 242. 有效的字母异位词 …

UE5 C++ 读取本地图片并赋值到UI上

目录 结果图 节点样式 主要代码 调试代码 结果图 节点样式 主要代码 (注释纯属个人理解,可能存在错误) // Fill out your copyright notice in the Description page of Project Settings.#pragma once#include "CoreMinimal.h&q…

Mysql进阶篇

1.Mysql服务架构 连接层: 处理客户端连接请求,对用户进行认证 服务层: 可以接收sql,调用存储过程,优化sql,缓存数据.... 引擎层: 负责实际与文件层进行交互操作的,可以有不同的引擎选择. 物理文件层: 存储表数据 以及 各种日志文件. 2.Mysql引擎 存储引擎就是存储数据&…

TSINGSEE青犀视频智慧电梯管理平台,执行精准管理、提升乘梯安全

一、方案背景 随着城市化进程的不断加快,我国已经成为全球最大的电梯生产和消费市场,电梯也成为人们日常生活中不可或缺的一部分。随着电梯数量的激增,电梯老龄化,维保数据不透明,物业管理成本高,政府监管…

StarRocks-3.1.0 单节点部署

1. 相关环境准备 FE: /opt/starrocks BE: /opt/starrocks 安装包下载 wget https://releases.starrocks.io/starrocks/StarRocks-3.1.0.tar.gz解压缩 tar -zxvf StarRocks-3.1.0.tar.gz 安装jdk (v2.5 及以上版本建议安装 JDK 11,我们使用…

腾讯mini项目总结-指标监控服务重构

项目概述 本项目的背景是,当前企业内部使用的指标监控服务的方案的成本很高,无法符合用户的需求,于是需要调研并对比测试市面上比较热门的几款开源的监控方案(选择了通用的OpenTelemetry协议:Signoz,otel-…

MedSAM:深度学习通用医学影像分割模型,更快、更准确地自动识别诊断疾病

MedSAM是一款基于深度学习的医学影像分割工具,它能够自动识别和描绘医学影像中的重要区域,如肿瘤或其他组织的病变。该工具通过学习大量医学影像和对应的掩模(即正确的分割结果),能够处理各种不同的医学影像和复杂情况…

数据库之TiDB基础讲解

文章目录 1 TiDB1.1 引言1.2 TiDB介绍1.3 系统架构1.3.1 TIDB Server1.3.2 PD Server1.3.3 TIKV Server1.3.4 TiKV如何不丢失数据1.3.5 分布式事务支持 1.4 与MySQL的对比1.5 性能测试1.5.1 测试一1.5.2 系统测试报告 2 1 TiDB 1.1 引言 当我们使用 Mysql 数据库到达一定量级…

使用nginx对视频、音频、图片等静态资源网址,加token签权

目前很多静态资源,都可以无权限验证,进行访问或转发,对有价值的资源进行签权,限制转发无法在代码中实现拦截,我们可以使用nginx对视频、音频、图片等静态资源网址,加token签权 如: http://192…

Win10 双网卡实现同时上内外网

因为需要同时上内网和外网,但公司做了网络隔离,不能同时上内外网,所以多加了块无线网卡,配置双网关实现同时上内外网,互不影响 打开 Windows PowerShell(管理员),输入:ro…

CCF-CSP 202312-2 因子化简(Java、C++、Python)

文章目录 因子化简题目背景问题描述输入格式输出格式样例输入样例输出样例解释子任务 满分代码JavaCPython线性筛法 因子化简 题目背景 质数(又称“素数”)是指在大于 1 的自然数中,除了 1 和它本身以外不再有其他因数的自然数。 问题描述…

房屋租赁系统-java

思维导图:业务逻辑 类的存放: 工具类 Utility package study.houserent.util; import java.util.*; /***/ public class Utility {//静态属性。。。private static Scanner scanner new Scanner(System.in);/*** 功能:读取键盘输入的一个菜单…

DevOps落地笔记-02|影响地图:产品规划和需求分析的利器

从这一讲开始,我们进入 DevOps 正题。按照端到端的顺序,讲解 DevOps 中的最佳实践如何在软件开发过程中发挥作用。所谓端到端,是指从需求提出到需求被发布到生产环境交付给用户的整个过程,可以理解为软件开发的全生命周期。所谓最…

06 SB3之Thymeleaf实现视图返回

1快速尝试一个返回视图的项目 1.1创建器添加Web, Thymeleaf, lombok依赖创建项目 1.2 编写Controller Controller public class QuickController {RequestMapping("/exam/quick") public String quick(Model model){//业务处理结果数据,放入到 Model 模…

【lesson1】高并发内存池项目介绍

文章目录 这个项目做的是什么?这个项目的要求的知识储备和难度?什么是内存池池化技术内存池内存池主要解决的问题malloc 这个项目做的是什么? 当前项目是实现一个高并发的内存池,他的原型是google的一个开源项目tcmalloc&#xf…

万户 ezOFFICE SendFileCheckTemplateEdit.jsp SQL注入漏洞

0x01 产品简介 万户OA ezoffice是万户网络协同办公产品多年来一直将主要精力致力于中高端市场的一款OA协同办公软件产品,统一的基础管理平台,实现用户数据统一管理、权限统一分配、身份统一认证。统一规划门户网站群和协同办公平台,将外网信息维护、客户服务、互动交流和日…

Redis内存设置

通过redis-cli进入Redis命令行 redis权限认证命令:auth 查看redis内存使用情况的命令:info memory 查看最大内存命令:config get maxmemory 设置最大内存命令:config set maxmemory 也可以通过redis.conf配置文件修改最大内存…

MicroPython核心:映射和字典

MicroPython字典和映射使用称为开放寻址和线性探测的技术,本文详细介绍了这两种方法。 开放寻址 开放寻址用于解决碰撞问题,碰撞是非常常见的现象,当两个条目恰好散列到同一个槽或位置时就会发生碰撞。例如,散列设置如下&#x…

计算机基础知识讲解(原码反码补码)(以及在C语言里面是如何计算和运用的)

补码反码掩码以及原理 补码、反码和掩码是计算机科学中用于表示和处理数值的三种编码方式。 原码 原码是最直观的数值表示方法,它将数值的二进制表示与其符号位结合起来。在原码表示中,正数的符号位为0,而负数的符号位为1。原码的缺点在于…

【pytorch】nn.linear 中为什么是y=xA^T+b

我记得读教材的时候是yWxb, 左乘矩阵W,这样才能表示线性变化。 但是pytorch中的nn.linear中,计算方式是yxA^Tb,其中A是权重矩阵。 为什么右乘也能表示线性变化操作呢?因为pytorch中,照顾到输入是多个样本一起算的&…