CN104679603B - 一种非对称的数据三模冗余方法及系统 - Google Patents

一种非对称的数据三模冗余方法及系统 Download PDF

Info

Publication number
CN104679603B
CN104679603B CN201510055815.4A CN201510055815A CN104679603B CN 104679603 B CN104679603 B CN 104679603B CN 201510055815 A CN201510055815 A CN 201510055815A CN 104679603 B CN104679603 B CN 104679603B
Authority
CN
China
Prior art keywords
modulus
regs
evidence
set regs
register
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201510055815.4A
Other languages
English (en)
Other versions
CN104679603A (zh
Inventor
吕方
黄磊
胡丹琪
冯晓兵
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institute of Computing Technology of CAS
Original Assignee
Institute of Computing Technology of CAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Institute of Computing Technology of CAS filed Critical Institute of Computing Technology of CAS
Priority to CN201510055815.4A priority Critical patent/CN104679603B/zh
Publication of CN104679603A publication Critical patent/CN104679603A/zh
Application granted granted Critical
Publication of CN104679603B publication Critical patent/CN104679603B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Retry When Errors Occur (AREA)

Abstract

本发明涉及对单粒子翻转有效的容错技术领域,特别涉及一种非对称的数据三模冗余方法及系统,该方法包括:通过三模冗余模块,将编译器调度指令之后及寄存器分配之前的原始指令中的操作数进行复制,并将复制后的所述操作数转换成二模数据与三模数据,建立所述二模数据、所述三模数据与所述操作数对应的原始数据的映射关系,其中所述原始数据作为一模数据;将寄存器存储空间划分为集合regs_one、集合regs_two、集合regs_three,并将所述一模数据、所述二模数据、所述三模数据分别存入所述集合regs_one、所述集合regs_two、所述集合regs_three,以完成数据冗余。本发明有助于提高容错性。

Description

一种非对称的数据三模冗余方法及系统
技术领域
本发明涉及对单粒子翻转有效的容错技术领域,特别涉及一种非对称的数据三模冗余方法及系统。
背景技术
由于带电粒子撞击芯片,使得存储单元某一位的逻辑状态发生改变,从而影响程序的正常运行,这种瞬时故障导致的计算可信性问题成为日益严峻的课题。三模冗余系统是一种最常用的容错技术,将原来一次执行的通过硬件或软件技术复制两份,通过三个模块同时执行相同的操作,根据三个模块的执行结果来判断是否存在错误,并判断正确的输出,由于三个模块相互独立,两个模块同时出现相同错误的概率非常小,可以用来提高系统可信性。软件容错是利用软件技术反复执行指令来实现冗余,并保证容错,软件容错主要分为高可靠的软件工程、基于算法的容错、编译容错三类,其中编译容错是目前软件容错中比较活跃的一个研究方向。编译容错,是指在编译期间,通过在程序中插入冗余的计算指令来实现容错,自动化程序高,并能利用编译优化和程序分析方法来减少开销。
目前不少通过编译容错来进行瞬时故障检测的算法,其中比较有代表性的是EDDI和SWIFT,这两种检测方式都是在生成的汇编码中插入冗余和检测指令,然后再将汇编码翻译成目标代码。
寄存器是有限存贮容量的高速存贮部件,它可以用来暂存指令、数据和地址。在编译过程中,编译器需要整合整个程序代码,针对代码中的每个语句,确定哪些数据现在应该放到寄存器中,哪些需要从内存中取到寄存器或从寄存器保存到内存中。寄存器分配将程序变量尽可能地分配到寄存器中,减少程序中的访存操作,提升性能,因此寄存器分配技术是编译器后端最重要的优化技术之一。寄存器分配策略非常复杂,已有的算法是基于目前分配效果最好的图着色算法。图着色作为经典的寄存器分配算法,为包括GCC、Open64等众多编译器所采用,一般地,寄存器分配过程:变量的活跃期分析,建立变量干涉图;合并活跃期,删除冗余mov指令;简化干涉图;按照启发式规则建立变量着色的顺序列表进行着色;插入溢出代码。
三模冗余编译器中,存在大量的代码复制,基于原始的代码复制得到另两份代码(分别称为一模、二模和三模代码),并增加比较和跳转指令。代码量的增大,意味着寄存器需求增大,而硬件寄存器数量是一定的,于是更多的变量因为不能被分配到寄存器而被溢出到栈存储空间上,带来很多额外的访存开销。
发明“一种随机存储器的周期性自检错恢复方法”,一种随机存储器的周期性自检错恢复方法,可对随机存储器进行容错和纠错设计。方法首先将随机存储器进行冗余处理,设计判决模块对冗余的输出结果进行三取二判决和一致性比较,判决结果作为纠错输入,一致性比较结果作为纠错使能。同时地址产生模块周期性产生存储器读取地址实现检错控制。该发明可为易由于外因(例如空间辐射环境)而产生错误的随机存储器提供一种检错和纠错的方法,改变传统冗余容错技术的错误累积失效问题,纠错能力不受纠检错算法限制,有效的对存储器进行防护,但该发明在于提供一种随机存储器周期性自检错恢复的方法,通过对随机存储器冗余处理后,对输出数据实现三取二判决和数据一致性比较检测实现容错,并不针对应用程序,而本发明在于对执行的应用程序提供容错处理。
发明“微小卫星星载计算机数据存储用的差错检测和纠错系统”,微小卫星星载计算机数据存储用的差错检测和纠错系统属于航天技术中微小卫星中计算机存储技术领域,其特征在于,含有:静态内存存储器组件和现场可编程器件FPGA,该FPGA含有:汉明纠错电路、三模冗余判决电路、两个双向三态选通器、地址逻辑电路以及模式控制电路,根据外部中央处理器的地址内容,模式控制电路选择汉明纠错、三模冗余判决和无差错控制三种模式中的任何一种,并通过两个双向三态选通器对中央处理器输入的数据信号,根据受模式控制电路控制的地址逻辑电路所配置的存储空间,由12片静态内存存储器组成的存储组件进行读写操作。由于该发明在于提供一种硬件实现三模冗余的技术,通过现有的汉明码技术纠错,根据不同模式选择配置内存地址,满足不同飞行任务对内存空间的需求,而本发明在于通过软件实现容错功能。
发明内容
针对现有技术的不足,本发明提出一种非对称的数据三模冗余方法及系统。本发明在编译器后端的代码生成阶段增加三模冗余模块,在编译源程序时自动的为当前代码进行三模冗余,达到最终执行时自动容错的目的,其次,提出一种非对称性的寄存器分配方法,按照不同的比例将物理寄存器分成三组,再将其分配给一模、二模、三模指令,达到提高容错和性能的目的,同时本发明对寄存器进行非对称性分组,能够减小寄存器压力和提高并行度,并且能够达到更好的容错目的。
本发明提出一种非对称的数据三模冗余方法,包括:
步骤1,通过三模冗余模块,将编译器调度指令之后及寄存器分配之前的原始指令中的操作数进行复制,并将复制后的所述操作数转换成二模数据与三模数据,建立所述二模数据、所述三模数据与所述操作数对应的原始数据的映射关系,其中所述原始数据作为一模数据;
步骤2,将寄存器存储空间划分为集合regs_one、集合regs_two、集合regs_three,并将所述一模数据、所述二模数据、所述三模数据分别存入所述集合regs_one、所述集合regs_two、所述集合regs_three,以完成数据冗余。
所述的非对称的数据三模冗余方法,所述步骤1还包括:建立所述二模数据、所述三模数据的地址变量与所述一模数据的地址变量的对应关系。
所述的非对称的数据三模冗余方法,所述步骤1和所述步骤2之间还包括:将store指令与jmp指令设置为检查点,用于检错、信息存储、错误恢复。
所述的非对称的数据三模冗余方法,所述步骤2还包括:在所述编译器中设定默认比例值,并根据所述默认比例值将所述寄存器存储空间进行划分。
所述的非对称的数据三模冗余方法,所述步骤2还包括:根据所述一模数据、所述二模数据、所述三模数据的所占存储空间,为所述集合regs_one、所述集合regs_two、所述集合regs_three划分存储空间,并在分配过程中维护所述集合regs_one、所述集合regs_two、所述集合regs_three。
本发明还提出一种非对称的数据三模冗余系统,包括:
复制模块,用于通过三模冗余模块,将编译器调度指令之后及寄存器分配之前的原始指令中的操作数进行复制,并将复制后的所述操作数转换成二模数据与三模数据,建立所述二模数据、所述三模数据与所述操作数对应的原始数据的映射关系,其中所述原始数据作为一模数据;
数据冗余模块,用于将寄存器存储空间划分为集合regs_one、集合regs_two、集合regs_three,并将所述一模数据、所述二模数据、所述三模数据分别存入所述集合regs_one、所述集合regs_two、所述集合regs_three,以完成数据冗余。
所述的非对称的数据三模冗余系统,所述复制模块还包括:建立所述二模数据、三模数据的地址变量与所述一模数据的地址变量的对应关系。
所述的非对称的数据三模冗余系统,还包括检查模块:用于将store指令与jmp指令设置为检查点,用于检错、信息存储、错误恢复。
所述的非对称的数据三模冗余系统,所述数据冗余模块还包括:在所述编译器中设定默认比例值,并根据所述默认比例值将所述寄存器存储空间进行划分。
所述的非对称的数据三模冗余系统,所述数据冗余模块还包括:根据所述一模数据、所述二模数据、所述三模数据的所占存储空间,为所述集合regs_one、所述集合regs_two、所述集合regs_three划分存储空间,并在分配过程中维护所述集合regs_one、所述集合regs_two、所述集合regs_three。
由以上发明可知,本发明的优点在于:
本发明在编译器后端自动实现三模冗余和非对称的寄存器分组分配,其能根据一定比例划分可供分配的硬件寄存器,分为三组分别供三模指令使用,优先为一模和二模指令分配寄存器,实现非对称的寄存器分配方法;鉴于三模冗余的容错方案下,一模和二模指令执行频率较高,而只有前两者结果不同时才被执行的第三模指令执行频率相对较低,本发明的非对称性三模冗余技术,能减少一模和二模的寄存器溢出并提高指令并行度,从而改善代码性能,也减少了一模和二模指令在执行时的相互影响,有助于提高容错性。
附图说明
图1为采用非对称三模冗余方法前/后代码比较的示例图;
图2为非对称性三模冗余流程图。
具体实施方式
以下为本发明的整体流程,如下所示:
选择合适的阶段实现三模冗余:编译器后端处理经过前端、中端处理后的中间表示,进行一系列的优化操作,最终生成在目标机器上可执行的代码。编译器后端包含了处理器特征相关的多种优化,因此本发明选择在指令调度之后,寄存器分配之前进行指令复制,此时后端大部分优化已经完成,易于实现,减少三模冗余与其他优化之间的影响;
数据的复制:将原始指令中操作数复制两份,并且建立二/三模数据与原始数据的映射关系,编译器中全局变量是通过全局指针加偏移量的方式来访问的,局部变量和局部数组在pass_expand这个阶段计算出偏移,通过栈来访问,当栈变量的偏移量超过2G时通过栈溢出来处理。因此对全局变量和局部变量的替换进行分别处理,其中,局部变量的复制:编译器在为局部变量分配空间时一般是使用寄存器或栈,把频繁使用的临时变量分配给寄存器,字符串或数组等因为空间问题会被分到栈上,栈上的变量随函数调用和返回而自动的分配与释放,本发明对三份代码所需的寄存器和栈空间进行映射并管理;全局变量的复制:全局变量会通过全局符号表来访问,本发明通过管理符号表来实现全局变量的映射;
指令的复制:以基本块为单位对指令进行复制,并且将复制指令中的操作数转换成相对应的二/三模数据,来减少错误传播影响和尽量利用空闲资源;
选择合适的检查点,程序的正确性是由输出定义的,那么如果所有的store指令都正确执行,程序就能正确执行,又由于错误的分支指令会引起store指令被跳过,本发明选择将所有的store指令和jmp指令设为检查点,用于检错、有效信息存储及错误恢复;
寄存器分组分配:冗余指令导致物理寄存器不够分配,造成寄存器溢出,降低了程序运行效率。由于冗余指令和原始指令彼此独立执行,因此本发明可以将寄存器分为三组,前两组供一模指令、二模指令使用,第三组供三模指令使用。由于本发明在检查点先比较一模、二模指令的指令结果,如果出现不同再与三模指令相比,指令出现瞬时故障的概率较低,因此可以将寄存器较多的分到前两组中。在寄存器分配过程中,按照预先设定的比例(或者根据所述一模数据、所述二模数据、所述三模数据的所占存储空间,为所述集合regs_one、所述集合regs_two、所述集合regs_three划分存储空间,并在分配过程中维护所述集合regs_one、所述集合regs_two、所述集合regs_three,即由编译器通过分析变量干涉图预测溢出情况而自动选择该比例值)将所有参加分配的硬件寄存器分为三组,即三个集合regs_one/regs_two/regs_three。在变量着色过程中每个变量根据其首次定义指令所在第几模而从相应的regs_one或regs_two或regs_three中选择硬件寄存器分配,并在分配过程中维护这三个集合。第一模指令所定义的变量将被分配regs_one集合中的硬件寄存器;第二模指令定义的变量将被分配regs_two集合中的硬件寄存器;同理,第三模指令定义的变量。如果相应集合的寄存器不够分配,该变量可能被溢出;
如图1所示为采用本发明方法前代码和采用后代码比较示例,以下为本发明的实施例的具体步骤,如图2所示:
选择三模冗余模块的插入位置。与现有方法不同,本发明对源代码没有特殊的要求,在寄存器分配之前,指令调度之后进行指令的冗余复制。
将复制后的所述操作数转换成二模数据与三模数据,建立所述二模数据、所述三模数据与所述操作数对应的原始数据的映射关系,其中所述原始数据作为一模数据,将原始指令中的操作数复制两份,并建立二/三模数据与原始数据的映射关系。对于非访存指令,编译器为操作数分配空间一般使用寄存器,按照原指令中伪寄存器的属性申请新的伪寄存器,并建立伪寄存器映射表。对于load/store两种类型的访存指令中操作数进行相应的复制,建立复制的访存指令中的地址变量A1、A2与原始指令的地址变量A的对应关系。根据编译器中访存操作的变量地址分配方式,对全局变量和局部变量进行分别处理。局部变量一般是使用寄存器或栈,寄存器中的变量已经进行了相应的复制与替换,而栈一般被用来传递函数参数、存储返回信息、临时保存寄存器原有值和本地存储等,本发明对存放在栈中的局部变量的两个对应冗余分配相应的空间,将栈帧上的变量映射到本发明预留的空间中。全局变量通过全局符号表来访问,通过在符号表中复制相应的符号并建立映射关系。
指令的复制。以基本块为单位对指令进行复制,并且将复制指令中的操作数转换成相应的二/三模数据,来减少错误传播影响和尽量利用空闲资源。
检查点的选取。程序的正确性是由输出定义的,那么如果所有的store指令都正确执行,那么程序就能正确执行,又由于错误的分支指令会引起store指令被跳过,因此本发明选择将所有的store指令和jmp指令设为检查点,用于检错与信息存储及错误恢复。
非对称寄存器分组。将所有参加分配的硬件寄存器分为三组,即三个集合regs_one/regs_two/regs_three,可以在编译器中设定默认比例值并根据此将可供分配的硬件寄存器分成三组;或者由编译器分析变量干涉关系预估寄存器的需求数量并据此自动选择比例值将可供分配的寄存器分成三组,一般为regs_one和regs_two提供相同的寄存器数量,regs_three仅需较少的寄存器数量。自动选取比例值需要预估寄存器的需求量,在建立变量活跃期和干涉图之后,能获知每个基本块内活跃变量的数量,利用循环嵌套深度来表征基本块的热度以及变量热度,将热点基本块中活跃变量数量最大值作为此用户程序预估的寄存器需求量。比较此预估寄存器需求量与可供分配的硬件寄存器数量来决定分组比例值。对于寄存器需求量大的用户程序,为regs_one和regs_two分配较多的寄存器;反之,对需求量较少的用户程序可以均分三组寄存器。
寄存器分配。通常寄存器分配采取图着色的方法,本方法涉及具体着色的过程。修改具体的着色步骤,在变量着色过程中每个变量根据其首次定义指令所在第几模而从相应的regs_one或者regs_two或者regs_three中选择硬件寄存器做分配,并在分配过程中维护这三个集合。第一模指令所定义的变量将被分配regs_one集合中的硬件寄存器;第二模指令定义的变量将被分配regs_two集合中的硬件寄存器;同理,第三模指令定义的变量。如果相应集合的寄存器分配不上了,该变量可能被溢出。根据预设的比例划分可分配的寄存器为三组分别供三模指令使用,实现非对称的寄存器分配方法。对于DSP芯片,常常具有两条数据通路和两组寄存器A组和B组,可以将A组硬件寄存器主要供一模指令使用,B组硬件寄存器主要供二模指令使用,第三模指令只占用少量的寄存器,这样兼顾了代码执行频率和性能,也减少了一模和二模指令在执行时的相互影响,有助于提高容错性。
本发明还提出一种非对称的数据三模冗余系统,包括以下模块:
复制模块,用于通过三模冗余模块,将编译器调度指令之后及寄存器分配之前的原始指令中的操作数进行复制,并将复制后的所述操作数转换成二模数据与三模数据,建立所述二模数据、所述三模数据与所述操作数对应的原始数据的映射关系,建立所述二模数据、三模数据的地址变量与所述一模数据的地址变量的对应关系,其中所述原始数据作为一模数据;
数据冗余模块,用于将寄存器存储空间划分为集合regs_one、集合regs_two、集合regs_three,并将所述一模数据、所述二模数据、所述三模数据分别存入所述集合regs_one、所述集合regs_two、所述集合regs_three,以完成数据冗余,在所述编译器中设定默认比例值,并根据所述默认比例值将所述寄存器存储空间进行划分,或者根据所述一模数据、所述二模数据、所述三模数据的所占存储空间,为所述集合regs_one、所述集合regs_two、所述集合regs_three划分存储空间,并在分配过程中维护所述集合regs_one、所述集合regs_two、所述集合regs_three。
检查模块:用于将store指令与jmp指令设置为检查点,用于检错、信息存储、错误恢复。

Claims (6)

1.一种非对称的数据三模冗余方法,其特征在于,包括:
步骤1,通过三模冗余模块,将编译器调度指令之后及寄存器分配之前的原始指令中的操作数进行复制,并将复制后的所述操作数转换成二模数据与三模数据,建立所述二模数据、所述三模数据与所述操作数对应的原始数据的映射关系,其中所述原始数据作为一模数据;
步骤2,将寄存器存储空间划分为集合regs_one、集合regs_two、集合regs_three,并将所述一模数据、所述二模数据、所述三模数据分别存入所述集合regs_one、所述集合regs_two、所述集合regs_three,以完成数据冗余;
其中所述步骤2还包括:在所述编译器中设定默认比例值,并根据所述默认比例值将所述寄存器存储空间进行划分,根据所述一模数据、所述二模数据、所述三模数据的所占存储空间,为所述集合regs_one、所述集合regs_two、所述集合regs_three划分存储空间,并在分配过程中维护所述集合regs_one、所述集合regs_two、所述集合regs_three。
2.如权利要求1所述的非对称的数据三模冗余方法,其特征在于,所述步骤1还包括:建立所述二模数据、所述三模数据的地址变量与所述一模数据的地址变量的对应关系。
3.如权利要求1所述的非对称的数据三模冗余方法,其特征在于,所述步骤1和所述步骤2之间还包括:将store指令与jmp指令设置为检查点,用于检错、信息存储、错误恢复。
4.一种非对称的数据三模冗余系统,其特征在于,包括:
复制模块,用于通过三模冗余模块,将编译器调度指令之后及寄存器分配之前的原始指令中的操作数进行复制,并将复制后的所述操作数转换成二模数据与三模数据,建立所述二模数据、所述三模数据与所述操作数对应的原始数据的映射关系,其中所述原始数据作为一模数据;
数据冗余模块,用于将寄存器存储空间划分为集合regs_one、集合regs_two、集合regs_three,并将所述一模数据、所述二模数据、所述三模数据分别存入所述集合regs_one、所述集合regs_two、所述集合regs_three,以完成数据冗余;
其中所述数据冗余模块还包括:在所述编译器中设定默认比例值,并根据所述默认比例值将所述寄存器存储空间进行划分,根据所述一模数据、所述二模数据、所述三模数据的所占存储空间,为所述集合regs_one、所述集合regs_two、所述集合regs_three划分存储空间,并在分配过程中维护所述集合regs_one、所述集合regs_two、所述集合regs_three。
5.如权利要求4所述的非对称的数据三模冗余系统,其特征在于,所述复制模块还包括:建立所述二模数据、三模数据的地址变量与所述一模数据的地址变量的对应关系。
6.如权利要求4所述的非对称的数据三模冗余系统,其特征在于,还包括检查模块:用于将store指令与jmp指令设置为检查点,用于检错、信息存储、错误恢复。
CN201510055815.4A 2015-02-03 2015-02-03 一种非对称的数据三模冗余方法及系统 Active CN104679603B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510055815.4A CN104679603B (zh) 2015-02-03 2015-02-03 一种非对称的数据三模冗余方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510055815.4A CN104679603B (zh) 2015-02-03 2015-02-03 一种非对称的数据三模冗余方法及系统

Publications (2)

Publication Number Publication Date
CN104679603A CN104679603A (zh) 2015-06-03
CN104679603B true CN104679603B (zh) 2018-02-06

Family

ID=53314693

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510055815.4A Active CN104679603B (zh) 2015-02-03 2015-02-03 一种非对称的数据三模冗余方法及系统

Country Status (1)

Country Link
CN (1) CN104679603B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11029872B2 (en) * 2018-12-18 2021-06-08 Western Digital Technologies, Inc. Non-volatile storage system with data shaping memory partitions
CN111651119B (zh) * 2020-04-27 2023-08-08 中国科学院微电子研究所 获取存储器中目标数据的方法、装置和电路
CN112798943B (zh) * 2021-01-16 2022-03-08 西安电子科技大学 一种基于标准输入输出验证的实时fpga错误检测方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101216774A (zh) * 2008-01-03 2008-07-09 中国科学院计算技术研究所 一种使用空闲寄存器类作为快速溢出空间的优化方法
US8296604B1 (en) * 2009-10-12 2012-10-23 Xilinx, Inc. Method of and circuit for providing temporal redundancy for a hardware circuit
CN102831005A (zh) * 2012-07-13 2012-12-19 天津国芯科技有限公司 针对C*core处理器寄存器分配的编译方法及编译器
CN103092714A (zh) * 2012-12-31 2013-05-08 哈尔滨工业大学 用于容错系统的处理器瞬时故障检测方法
CN103680639A (zh) * 2013-11-29 2014-03-26 西安空间无线电技术研究所 一种随机存储器的周期性自检错恢复方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101216774A (zh) * 2008-01-03 2008-07-09 中国科学院计算技术研究所 一种使用空闲寄存器类作为快速溢出空间的优化方法
US8296604B1 (en) * 2009-10-12 2012-10-23 Xilinx, Inc. Method of and circuit for providing temporal redundancy for a hardware circuit
CN102831005A (zh) * 2012-07-13 2012-12-19 天津国芯科技有限公司 针对C*core处理器寄存器分配的编译方法及编译器
CN103092714A (zh) * 2012-12-31 2013-05-08 哈尔滨工业大学 用于容错系统的处理器瞬时故障检测方法
CN103680639A (zh) * 2013-11-29 2014-03-26 西安空间无线电技术研究所 一种随机存储器的周期性自检错恢复方法

Also Published As

Publication number Publication date
CN104679603A (zh) 2015-06-03

Similar Documents

Publication Publication Date Title
Athlur et al. Varuna: scalable, low-cost training of massive deep learning models
US20220164285A1 (en) Compensating for dram activation penalties
US11080227B2 (en) Compiler flow logic for reconfigurable architectures
EP4010808A2 (en) Memory-based processors
US8738349B2 (en) Gate-level logic simulator using multiple processor architectures
Zheng et al. AStitch: enabling a new multi-dimensional optimization space for memory-intensive ML training and inference on modern SIMT architectures
CN103473171A (zh) 一种基于函数调用路径的覆盖率动态跟踪方法及装置
CN104679603B (zh) 一种非对称的数据三模冗余方法及系统
CN104903855B (zh) 用于配置多处理器阵列的方法和设备以及开发系统
CN105573680A (zh) 副本数据的存储方法及装置
Aubry et al. Some useful strategies for unstructured edge‐based solvers on shared memory machines
CN103678115A (zh) 在混合模式程序中检测源代码差错的位置的设备和方法
US9852065B1 (en) Method and apparatus for reducing data program completion overhead in NAND flash
CN113360157A (zh) 一种程序编译方法、设备以及计算机可读介质
CN108920110A (zh) 一种基于内存计算模式的并行处理大数据存储系统及方法
US20230076473A1 (en) Memory processing unit architecture mapping techniques
CN103235745B (zh) 一种地址冲突检测方法及装置
CN107315863B (zh) 布局优化方法及装置、终端及存储介质
US9501331B2 (en) Satisfiability checking
CN102902629B (zh) 存储空间映射方法及装置
CN104077315A (zh) 分布式文件系统数据导入方法及装置
CN103218314B (zh) 一种应用于并行滤波运算的数据缓存装置
KR101530888B1 (ko) 무기체계 구조 개선을 위한 소프트웨어 리팩토링 방법
CN117408220B (zh) 一种可编程交换架构芯片资源排布方法及装置
US11537775B1 (en) Timing and placement co-optimization for engineering change order (ECO) cells

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant