DownShift: Tuning Shift Reduction With Reliability for Racetrack Memories

目录

  • DownShift: Tuning Shift Reduction With Reliability for Racetrack Memories
    • 文章摘要:
    • 文章的主要贡献包括:
    • 文章的结构如下:
    • DownShift
      • DownShift通过以下方式改进了现有的数据放置策略:
    • GROGU(Generating Reliability Optimized Grouped Uniencoding)
      • 以下是GROGU的关键特性和工作原理:
  • 参考资料

DownShift: Tuning Shift Reduction With Reliability for Racetrack Memories

这篇文章是关于非易失性赛道存储器(Racetrack Memories, RTM)的研究,标题为“DownShift: Tuning Shift Reduction With Reliability for Racetrack Memories”,发表在《IEEE Transactions on Computers》2023年9月的期刊上。文章的作者包括Asif Ali Khan, Sebastien Ollivier, Fazal Hameed, Jeronimo Castrillon, 和 Alex K. Jones。

在这里插入图片描述

文章摘要:

赛道存储器(RTM)因其超高密度、能效和改善的延迟特性,在内存层次结构中的各个层面上都受到了研究,以提高性能和降低能耗。然而,RTM中固有的位移操作(shift operations)对于数据访问是必需的,但会带来性能损失,并可能引起位置错误。这些因素可能阻碍了RTM在替代低延迟、高可靠性的片上内存方面的应用。智能地在RTM中放置内存对象可以显著减少每次内存访问的位移次数,几乎不增加硬件开销。然而,现有的放置策略在应用于不同架构时可能导致次优性能。此外,这些位移优化技术对RTM可靠性的影响尚未得到充分研究。文章提出了DownShift,一种通用的数据放置机制,通过考虑(1)内存对象的时序和活跃度信息,以及(2)底层内存架构(包括所需的位移容错)来改进先前的方法。此外,文章还提出了一种名为GROGU的新的位移对齐可靠性技术。GROGU利用DownShift实现的减少位移窗口,提供了与现有最先进技术相比更好的可靠性、面积和能耗。DownShift与现有最先进技术相比,减少了3.24倍的位移次数、47.6%的运行时间和70.8%的能耗。GROGU在仅增加3.2%的延迟的情况下,面积消耗减少2.2倍,能耗减少1.3倍,同时提供了16.8倍的位移容错改进。

文章的主要贡献包括:

  1. 提出了DownShift,这是一种新的快速启发式算法,它分析内存跟踪中具有不同生命周期的对象,并将它们分配到不同的数据库集群(DBCs)中,以利用改进的时间局部性进行位移最小化。
  2. 提出了GROGU,这是一种新颖的、协作设计的RTM可靠性方案,它利用DownShift的位移减少来提供高效的可靠性,同时减少资源消耗。
  3. 对不同的数据放置解决方案(包括跨DBC和DBC内部的放置)和不同的可靠性方案进行了全面分析,并分析了各种方案对性能和能耗的影响。

文章的结构如下:

  • 第二部分介绍了RTM架构和属性,以及现有的数据放置和可靠性技术。
  • 第三部分描述了DownShift数据放置方法,用于减少位移。
  • 第四部分提出了GROGU,用于通过协作设计的DownShift改进位移减少。
  • 第五部分展示了实验方法和结果,以证明DownShift与GROGU相比先前工作的面积、能耗和性能优势。
  • 第六部分讨论了可能相关的其他相关工作。
  • 第七部分给出了结论。

DownShift

  • DownShift是一种针对赛道存储器(Racetrack Memory, RTM)的数据放置机制,它旨在通过智能地放置内存对象来减少位移操作的次数,从而提高RTM的性能和可靠性。
  • 位移(shift)操作是RTM中访问数据所必需的,但它们会导致性能损失和位置错误。

DownShift通过以下方式改进了现有的数据放置策略:

  1. 生命周期分析:DownShift考虑了内存对象的生命周期信息,即它们在内存访问序列中的首次和最后出现的时间。通过分析这些信息,DownShift能够识别出生命周期不重叠的变量,这些变量在同一个数据库集群(Domain Wall Block Cluster, DBC)中存储时,可以减少位移操作。

  2. 时间局部性:DownShift利用内存访问序列中的时间局部性,即连续访问的内存对象在时间上接近。通过将这些对象放置在相邻的DBCs中,可以减少在访问这些对象时所需的位移次数。

  3. 位移最小化:DownShift通过将具有不同生命周期的变量分配到不同的DBCs,以及在DBC内部进行优化放置,从而减少了每次内存访问所需的位移次数。这种方法不仅减少了位移操作,还降低了能耗和提高了RTM的可靠性。

  4. 协作设计:DownShift与GROGU(一种新的位移对齐可靠性技术)协作设计,以实现更高的可靠性。GROGU利用DownShift减少的位移窗口,提供了更高效的可靠性保障,同时减少了资源消耗。

  5. 实验结果:DownShift在实验中表现出显著的性能提升。与现有的最先进技术相比,DownShift减少了3.24倍的位移次数,减少了47.6%的运行时间和70.8%的能耗。此外,与领先的可靠性方法相比,GROGU在仅增加3.2%的延迟的情况下,面积消耗减少了2.2倍,能耗减少了1.3倍,同时提供了16.8倍的位移容错改进。

DownShift的提出,为RTM的数据放置提供了一种新的视角,它不仅关注于减少位移操作,还考虑了内存对象的时序和活跃度信息,以及与底层内存架构的兼容性。这种综合考虑的方法使得DownShift能够在不同的RTM架构中实现性能和可靠性的显著提升。

GROGU(Generating Reliability Optimized Grouped Uniencoding)

  • GROGU(Generating Reliability Optimized Grouped Uniencoding)是一种为赛道存储器(Racetrack Memory, RTM)设计的新型可靠性方案,旨在检测和纠正位移操作中可能出现的位置错误
  • GROGU通过在RTM的纳米线(nanowire)两端添加额外的过溢域(overflow domains)来实现这一目标,这些过溢域用于存储特定的编码模式,以便于在发生位移错误时进行检测和修正。

以下是GROGU的关键特性和工作原理:

  1. 过溢域的编码:GROGU在纳米线的两端各添加了w个额外的过溢域,这些域被初始化为一个重复的二进制序列(例如,1和0的交替序列)。这种序列被称为Johnson编码,它类似于一个计数器,用于在位移过程中跟踪纳米线的位置。

  2. 位移操作中的编码维护:在位移操作期间,GROGU通过特定的端口(称为GLW/GLW和GRW/GRW)控制纳米线两端的过溢域,以保持预定的编码模式。这些端口允许在位移过程中插入1或0,以保持Johnson编码的连续性。

  3. 位置错误的检测:GROGU通过比较纳米线的实际编码与预期编码来检测位置错误。如果在位移过程中发生了位置错误,纳米线的编码将与预期的Johnson编码不匹配。GROGU可以检测单个位移错误,并且能够通过更复杂的操作检测和修正多个位移错误。

  4. 编码修复和纠正位移:一旦检测到位置错误,GROGU将执行一系列操作来修复过溢域的编码,并执行必要的纠正位移。这些操作包括分段位移(segmented shifts),它只影响过溢域内的域,而不影响纳米线中的其他数据域。

  5. 可靠性和性能权衡:GROGU的设计允许在保持高可靠性的同时,最小化性能开销。通过在位移操作中隐藏故障检查的延迟,GROGU能够在不影响性能的情况下提供强大的错误检测和纠正能力。

  6. 可扩展性:GROGU的硬件开销相对较低,因为它只需要额外的过溢域和少量的端口。这使得GROGU在不同大小的纳米线和不同的位移距离下都具有良好的可扩展性。

  7. 实验结果:GROGU在实验中显示出了优越的可靠性性能。与现有的可靠性方案相比,GROGU在保持相似或更好可靠性的同时,显著降低了能耗和面积开销。

总的来说,GROGU通过在RTM中引入一种新的编码和位移错误处理机制,提高了RTM的可靠性,同时保持了较低的性能开销和硬件复杂度。这种方案特别适用于与位移最小化策略(如DownShift)结合使用,以实现更优的RTM性能和可靠性。

参考资料

[1] DownShift: Tuning Shift Reduction With Reliability for Racetrack Memories
[2]
[3]

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

简单题94. 二叉树的中序遍历 (python)20240921

问题描述: python: # Definition for a binary tree node. # class TreeNode(object): # def __init__(self, val0, leftNone, rightNone): # self.val val # self.left left # self.right right class Solution(object…

【重学 MySQL】三十七、聚合函数

【重学 MySQL】三十七、聚合函数 基本概念5大常用的聚合函数COUNT()SUM()AVG()MAX()MIN() 使用场景注意事项示例查询 聚合函数(Aggregate Functions)在数据库查询中扮演着至关重要的角色,特别是在处理大量数据时。它们能够对一组值执行计算&a…

图书管理系统实现

图书管理系统实现 图书管理系统作用图书管理系统绘图创建Book创建BookListOperation包下代码User包AdminUserNomalUser Main方法整体代码(带有注释)Opertaion包下的代码IOpertaion(接口)Add添加图书代码Dele删除图书代码Borrow借阅…

PyTorch 池化层详解

在深度学习中,池化层(Pooling Layer)是卷积神经网络(CNN)中的关键组成部分。池化层的主要功能是对特征图进行降维和减少计算量,同时增强模型的鲁棒性。本文将详细介绍池化层的作用、种类、实现方法&#xf…

C++——多线程编程(从入门到放弃)

进程:运行中的程序 线程:进程中的进程 线程的最大数量取决于CPU的核心数 一、将两个函数添加到不同线程中 demo:两个函数test01()和test02(),实现将用户输入的参数进行打印输出1000次 将这两个函数均放到独立的线程t1和t2中&…

vue3+element-plus icons图标选择组件封装

一、最终效果 二、参数配置 1、代码示例 <t-select-icon v-model"selectVlaue" />2、配置参数&#xff08;Attributes&#xff09;继承 el-input Attributes 参数说明类型默认值v-model绑定值string-prefixIcon输入框前缀iconstringSearchisShowSearch是否显…

从角速度向量的角度理解姿态角速度和机体角速度的转换公式

一、什么是姿态角速度 这是我从《多旋翼飞行器设计和控制》上截取的关于欧拉角的定义。无人机的姿态角速度即偏航角、俯仰角、滚转角的一次导数&#xff0c;分别是、、。 二、什么是机体角速度 这是我在网上随便找的图&#xff0c;展示了机体坐标系。这个坐标系与飞机固定连接&…

【软件测试】详解测试中常用的几种测试方法

目录 一、集成测试二、 系统测试三、验收测试四、回归测试 总结 一、集成测试 术语 集成测试是继组件测试之后的又一个层次。集成测试假定交给这个层次的测试对象已经经过了组件测试&#xff0c;并且任何组件内部的缺陷都已经尽可能地被纠正。 集成 开发人员、测试人员和专…

6种常见位运算符+异或运算符的使用(加密、解密)

一、位运算符 位运算符进行的是整数与整数之间的运算 1、右移运算符&#xff1a;>> &#xff08;1&#xff09;相当于对整数除以2 &#xff08;2&#xff09;举例&#xff1a; int num 2; System.out.println(num >> 1); 2、左移运算符&#xff1a;<< …

定制智慧科技展厅方案:哪些细节是成功的秘诀?

随着数字科技浪潮的迅猛推进&#xff0c;智慧科技展厅跃升为科技成果展示与技术对话的前沿阵地。其策划与实施方案因而显得尤为关键。在此过程中&#xff0c;精雕细琢每一环节&#xff0c;确保创意与技术的无缝对接&#xff0c;成为不可或缺的要点。现在&#xff0c;让我们深入…

《程序猿之设计模式实战 · 适配器模式》

&#x1f4e2; 大家好&#xff0c;我是 【战神刘玉栋】&#xff0c;有10多年的研发经验&#xff0c;致力于前后端技术栈的知识沉淀和传播。 &#x1f497; &#x1f33b; CSDN入驻不久&#xff0c;希望大家多多支持&#xff0c;后续会继续提升文章质量&#xff0c;绝不滥竽充数…

《深入解析:水果销售数据库操作与查询技巧》

文章目录 一、数据库结构与数据源插入1.1 创建数据库与表1.2 插入数据 二、基础数据查询2.1 查询客户信息2.2 查询供应商信息 三、查询优化与技巧3.1 使用LIMIT子句 四、高级查询技巧4.1 使用聚合函数4.2 连接查询4.3 使用子查询 五、案例分析5.1 客户订单详情查询 一、数据库结…

MySQL篇(窗口函数/公用表达式(CTE))(持续更新迭代)

目录 讲解一&#xff1a;窗口函数 一、简介 二、常见操作 1. sumgroup by常规的聚合函数操作 2. sum窗口函数的聚合操作 三、基本语法 1. Function(arg1,..., argn) 1.1. 聚合函数 sum函数&#xff1a;求和 min函数 &#xff1a;最小值 1.2. 排序函数 1.3. 跨行函数…

DeiT(ICML2021):Data-efficient image Transformer,基于新型蒸馏且数据高效的ViT!

Training data-efficient image transformers & distillation through attention&#xff1a;通过注意力训练数据高效的图像转换器和蒸馏 论文地址&#xff1a; https://arxiv.org/abs/2012.12877 代码地址&#xff1a; https://github.com/facebookresearch/deit 这篇论文…

14.第二阶段x86游戏实战2-C++语言开发环境搭建-VisualStudio2017

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 本次游戏没法给 内容参考于&#xff1a;微尘网络安全 本人写的内容纯属胡编乱造&#xff0c;全都是合成造假&#xff0c;仅仅只是为了娱乐&#xff0c;请不要…

vue-入门速通

setup是最早的生命周期&#xff0c;在vue2里边的data域可以使用this调用setup里面的数据&#xff0c;但是在setup里边不能使用thisvue项目的可执行文件是index&#xff0c;另外运行前端需要npm run vue的三个模块内需要三个不同的结构&#xff0c;里边放置js代码&#xff0c;注…

2024/9/21 leetcode 21.合并两个有序链表 2.两数相加

目录 21.合并两个有序链表 题目描述 题目链接 解题思路与代码 2.两数相加 题目描述 题目链接 解题思路与代码 --------------------------------------------------------------------------- 21.合并两个有序链表 题目描述 将两个升序链表合并为一个新的 升序 链表并返…

CVPT: Cross-Attention help Visual Prompt Tuning adapt visual task

论文汇总 当前的问题 图1:在VTAB-1k基准测试上&#xff0c;使用预训练的ViT-B/16模型&#xff0c;VPT和我们的CVPT之间的性能和Flops比较。我们将提示的数量分别设置为1、10、20、50,100,150,200。 如图1所示&#xff0c;当给出大量提示时&#xff0c;VPT显示了性能的显著下降…

【MySQL 04】数据类型

目录 1.数据类型分类 2.数值类型 2.1 tinyint 类型 2.2 bit类型 2.3 float类型 2.4decimal 3.字符串类型 3.1 char类型 3.2 varchar类型 4.日期和时间类型 6. enum和set类型 6.1.enum和set类型简介&#xff1a; 6.2.enum和set的一般使用方法 6.3.用数字的方式…

如何用AI实现自动更新文章?(全自动更新网站)

AI的诞生确实给我们的生活和工作都带来了很大的改变&#xff0c;从我自身来讲&#xff0c;也渐渐习惯了遇到事情先问问AI&#xff0c;不管是翻译、专业性问题、PPT制作、总结写作这些&#xff0c;确实帮我迅速理清了思路&#xff0c;也可以有很多内容的借鉴。 作为一个业余爱好…