加速区块链MCMC随机选择的ReRAM及其工作方法.pdf

上传人:狗** 文档编号:12119107 上传时间:2021-11-21 格式:PDF 页数:18 大小:898.88KB
收藏 版权申诉 举报 下载
加速区块链MCMC随机选择的ReRAM及其工作方法.pdf_第1页
第1页 / 共18页
加速区块链MCMC随机选择的ReRAM及其工作方法.pdf_第2页
第2页 / 共18页
加速区块链MCMC随机选择的ReRAM及其工作方法.pdf_第3页
第3页 / 共18页
文档描述:

《加速区块链MCMC随机选择的ReRAM及其工作方法.pdf》由会员分享,可在线阅读,更多相关《加速区块链MCMC随机选择的ReRAM及其工作方法.pdf(18页完成版)》请在专利查询网上搜索。

1、(19)中华人民共和国国家知识产权局 (12)发明专利申请 (10)申请公布号 (43)申请公布日 (21)申请号 201910156431.X (22)申请日 2019.03.01 (71)申请人 山东大学 地址 250100 山东省济南市山大南路27号 (72)发明人 贾智平王倩王天雨刘珂 申兆岩蔡晓军 (74)专利代理机构 济南圣达知识产权代理有限 公司 37221 代理人 张庆骞 (51)Int.Cl. G06Q 40/04(2012.01) G06F 7/58(2006.01) (54)发明名称 一种加速区块链MCMC随机选择的ReRAM及其 工作方法 (57)摘要 本公开提供了一种。

2、加速区块链MCMC随机选 择的ReRAM及其工作方法。 其中, 加速区块链MCMC 随机选择的ReRAM包括随机选择单元, 其包括并 行计算模块、 幂乘计算模块和验证者随机选择模 块; 所述并行计算模块, 包括第一子模块和第二 子模块; 所述第一子模块被配置为并行计算区块 链上所有交易节点的累计权重与所有指向区块 链上相应交易节点的验证者的累计权重的最大 值的差值, 得到累计权重差值矩阵, 转置后转化 为二进制结果, 并对应输入至第二子模块的字线 中; 所述第二子模块包括若干个基础幂模块, 每 个基础幂模块与一个对应字线对应相连, 所述字 线用于控制相应基础幂模块的通断; 所述幂乘计 算模块,。

3、 被配置为计算各个基础幂的计算结果并 对应存储至相应基础幂模块中。 权利要求书2页 说明书12页 附图3页 CN 109903162 A 2019.06.18 CN 109903162 A 1.一种加速区块链MCMC随机选择的ReRAM, 其特征在于, 包括随机选择单元, 其包括并 行计算模块、 幂乘计算模块和验证者随机选择模块; 所述并行计算模块, 包括第一子模块和第二子模块; 所述第一子模块被配置为并行计 算区块链上所有交易节点的累计权重与所有指向区块链上相应交易节点的验证者的累计 权重的最大值的差值, 得到累计权重差值矩阵, 转置后转化为二进制结果, 并对应输入至第 二子模块的字线中; 。

4、所述第二子模块包括若干个基础幂模块, 每个基础幂模块与一个对应 字线对应相连, 所述字线用于控制相应基础幂模块的通断; 所述幂乘计算模块, 被配置为计算各个基础幂的结果并对应存储至相应基础幂模块 中; 所述验证者随机选择模块, 被配置为并行接收第二子模块中各个基础幂模块输出的结 果并作累加运算, 得到验证者选中概率累加和; 将验证者选中概率累加和与一随机数相乘 来更新验证者选中概率累加和; 按照区块链上验证者的顺序, 将更新后的验证者选中概率 累加和逐个与相应验证者对应的累计权重作差, 并判断差值是否小于0, 若是, 则直接输出 对应验证者。 2.如权利要求1所述的一种加速区块链MCMC随机选。

5、择的ReRAM, 其特征在于, 所述第二 子模块中的基础幂模块由快速幂算法拆解后得到。 3.如权利要求1所述的一种加速区块链MCMC随机选择的ReRAM, 其特征在于, 在所述幂 乘计算模块中, 采用浮点数乘算法计算各个基础幂的结果。 4.如权利要求1所述的一种加速区块链MCMC随机选择的ReRAM, 其特征在于, 在所述验 证者随机选择模块中, 所述随机数由硬件随机数生成器生成。 5.如权利要求1所述的一种加速区块链MCMC随机选择的ReRAM, 其特征在于, 所述ReRAM 还包括内存单元, 所述内存单元与随机选择单元相连; 所述内存单元被配置为存储验证者集合及累计权重集合; 所述验证者集。

6、合由所有验证 者构成; 所述累计权重集合由各个验证者对应的累计权重构成。 6.如权利要求5所述的一种加速区块链MCMC随机选择的ReRAM, 其特征在于, 所述ReRAM 还包括数据缓存单元, 所述数据缓存单元被配置为暂存内存单元输入至随机选择单元中的 数据以及幂乘计算模块的计算结果。 7.如权利要求6所述的一种加速区块链MCMC随机选择的ReRAM, 其特征在于, 所述ReRAM 还包括控制器, 所述控制器与随机选择单元、 内存单元和数据缓存单元分别相连。 8.一种加速区块链MCMC随机选择的ReRAM的工作方法, 其特征在于, 包括: 并行计算区块链上所有交易节点的累计权重与所有指向区块链。

7、上相应交易节点的验 证者的累计权重的最大值的差值, 得到累计权重差值矩阵, 转置后转化为二进制结果, 并对 应输入至每个基础幂模块对应字线中; 计算各个基础幂的结果并对应存储至相应基础幂模块中; 并行接收各个基础幂模块输出的结果并作累加运算, 得到验证者选中概率累加和; 将 验证者选中概率累加和与一随机数相乘来更新验证者选中概率累加和; 按照区块链上验证 者的顺序, 将更新后的验证者选中概率累加和逐个与相应验证者对应的累计权重作差, 并 判断差值是否小于0, 若是, 则直接输出对应验证者。 9.一种计算机可读存储介质, 其特征在于, 包括如权利要求1-7中任一项所述的加速区 权利要求书 1/2。

8、 页 2 CN 109903162 A 2 块链MCMC随机选择的ReRAM。 10.一种计算机设备, 其特征在于, 包括如权利要求1-7中任一项所述的加速区块链 MCMC随机选择的ReRAM。 权利要求书 2/2 页 3 CN 109903162 A 3 一种加速区块链MCMC随机选择的ReRAM及其工作方法 技术领域 0001 本公开属于数据处理领域, 尤其涉及一种加速区块链MCMC随机选择的ReRAM及其 工作方法。 背景技术 0002 本部分的陈述仅仅是提供了与本公开相关的背景技术信息, 不必然构成在先技 术。 0003 区块链技术是利用块链式数据结构来验证与存储数据, 辅以共识机制、。

9、 加密算法 等策略达到访问与传输安全的一种分布式账本技术, 其广泛应用于金融交易、 信誉系统、 服 务领域等。 随着智慧城市、 车联网等智能领域的迅速发展, 基于物联网体系安全机制的策略 研究备受关注, 传统以链式结构存储信息的区块链技术并不能满足物联网背景下大数据、 高吞吐量、 小额交易等需求, 因此, 以DAG(有向无环图)数据结构存储信息的区块链技术应 运而生, 以IOTA最为显著。 IOTA是为物联网而设计的一个革命性新型交易结算和数据转移 层。 它基于新型分布式账本Tangle(缠结)将交易数据以块结构形式连接至DAG(有向无环 图)网络中, 克服传统区块链的交易低效性, 形成新型去。

10、中心化P2P系统共识, 具有零交易 费、 高TPS(交易吞吐率)等特点。 0004 在IOTA的开源实现中, 所有网络节点被分为轻节点与全节点两种角色。 针对全节 点的交易处理过程, 经实验统计发明人发现, 在整个交易发起及上链过程中, 随机游走过程 占总体用时比重较大, 而在随机游走过程中, MCMC随机选择过程及验证子链交易有效的过 程占用时间较长。 发明人发现, 特别是在以下两种情况出现时, 易产生计算瓶颈: (1)当大量 用户交易向全节点请求tips选择时, 产生计算拥塞; (2)在某一步的随机游走过程中, 候选 验证者较多, 从而导致MCMC随机选择过程的计算量变大。 在利用传统处理。

11、器(如CPU、 GPU等) 进行MCMC随机选择过程的计算时, 所产生的大量中间计算结果将导致内存与CPU之间出现 巨大的数据移动消耗, 增加计算延迟、 拖慢计算过程的同时也增加了能耗。 发明内容 0005 根据本公开的一个或多个实施例的一个方面, 提供一种加速区块链MCMC随机选择 的ReRAM, 其可以加速全节点计算速度, 减少计算复杂度及计算延时, 进而增加整个区块链 的交易吞吐能力。 0006 本公开的一种加速区块链MCMC随机选择的ReRAM, 包括随机选择单元, 其包括并行 计算模块、 幂乘计算模块和验证者随机选择模块; 0007 所述并行计算模块, 包括第一子模块和第二子模块; 。

12、所述第一子模块被配置为并 行计算区块链上所有交易节点的累计权重与所有指向区块链上相应交易节点的验证者的 累计权重的最大值的差值, 得到累计权重差值矩阵, 转置后转化为二进制结果, 并对应输入 至第二子模块的字线中; 所述第二子模块包括若干个基础幂模块, 每个基础幂模块与一个 对应字线对应相连, 所述字线用于控制相应基础幂模块的通断; 说明书 1/12 页 4 CN 109903162 A 4 0008 所述幂乘计算模块, 被配置为计算各个基础幂的结果并对应存储至相应基础幂模 块中; 0009 所述验证者随机选择模块, 被配置为并行接收第二子模块中各个基础幂模块输出 的结果并作累加运算, 得到验。

13、证者选中概率累加和; 将验证者选中概率累加和与一随机数 相乘来更新验证者选中概率累加和; 按照区块链上验证者的顺序, 将更新后的验证者选中 概率累加和逐个与相应验证者对应的累计权重作差, 并判断差值是否小于0, 若是, 则直接 输出对应验证者。 0010 在一个或多个实施例中, 所述第二子模块中的基础幂模块由快速幂算法拆解后得 到。 0011 上述技术方案的优点在于, 快速幂算法用于计算一个数的阶乘, 如果用平常的算 法计算, 很容易超时, 而快速幂算法将时间复杂度大大降低, 而且还大大降低了超时的风 险, 提高了计算速度。 0012 在一个或多个实施例中, 在所述幂乘计算模块中, 采用浮点数。

14、乘算法计算各个基 础幂的结果。 0013 上述技术方案的优点在于, 采用浮点数乘算法提高了计算的准确性。 0014 在一个或多个实施例中, 在所述验证者随机选择模块中, 所述随机数由硬件随机 数生成器生成。 0015 上述技术方案的优点在于, 在计算过程中, 硬件随机数发生器(真随机数发生器, TRNG)是从物理过程而不是计算机程序生成随机数的设备。 硬件随机数发生器通常每秒产 生有限数量的随机比特。 为了提高数据速率, 它们通常用于为更快的加密安全伪随机数生 成器生成 “种子” , 然后生成伪随机数输出序列 0016 在一个或多个实施例中, 所述ReRAM还包括内存单元, 所述内存单元与随机。

15、选择单 元相连; 0017 所述内存单元被配置为存储验证者集合及累计权重集合; 所述验证者集合由所有 验证者构成; 所述累计权重集合由各个验证者对应的累计权重构成。 0018 上述技术方案的优点在于, 这样方便随机选择单元的输入数据的调用, 减少了CPU 与内存之间的数据移动开销, 大大降低了MCMC随机选择过程的计算时延。 0019 在一个或多个实施例中, 所述ReRAM还包括数据缓存单元, 所述数据缓存单元被配 置为暂存内存单元输入至随机选择单元中的数据以及幂乘计算模块的计算结果。 0020 上述技术方案的优点在于, 减少了CPU与内存之间的数据移动开销, 大大降低了 MCMC随机选择过程。

16、的计算时延。 0021 在一个或多个实施例中, 所述ReRAM还包括控制器, 所述控制器与随机选择单元、 内存单元和数据缓存单元分别相连。 0022 上述技术方案的优点在于, 控制器用于发出指令协调随机选择单元整体工作进 程。 0023 根据本公开的一个或多个实施例的另一个方面, 提供一种加速区块链MCMC随机选 择的ReRAM的工作方法, 其可以加速全节点计算速度, 减少计算复杂度及计算延时, 进而增 加整个区块链的交易吞吐能力。 0024 本公开的一种加速区块链MCMC随机选择的ReRAM的工作方法, 包括: 说明书 2/12 页 5 CN 109903162 A 5 0025 并行计算区。

17、块链上所有交易节点的累计权重与所有指向区块链上相应交易节点 的验证者的累计权重的最大值的差值, 得到累计权重差值矩阵, 转置后转化为二进制结果, 并对应输入至每个基础幂模块对应字线中; 0026 计算各个基础幂的结果并对应存储至相应基础幂模块中; 0027 并行接收各个基础幂模块输出的结果并作累加运算, 得到验证者选中概率累加 和; 将验证者选中概率累加和与一随机数相乘来更新验证者选中概率累加和; 按照区块链 上验证者的顺序, 将更新后的验证者选中概率累加和逐个与相应验证者对应的累计权重作 差, 并判断差值是否小于0, 若是, 则直接输出对应验证者。 0028 根据本公开的一个或多个实施例的另。

18、一个方面, 提供一种计算机可读存储介质, 其可以加速全节点计算速度, 减少计算复杂度及计算延时, 进而增加整个区块链的交易吞 吐能力。 0029 本公开的一种计算机可读存储介质, 包括上述所述的加速区块链MCMC随机选择的 ReRAM。 0030 根据本公开的一个或多个实施例的另一个方面, 提供一种计算机设备, 其可以加 速全节点计算速度, 减少计算复杂度及计算延时, 进而增加整个区块链的交易吞吐能力。 0031 本公开的一种计算机设备, 包括上述所述的加速区块链MCMC随机选择的ReRAM。 0032 本公开的有益效果是: 0033 (1)本公开的ReRAM包括随机选择单元, 随机选择单元包。

19、括并行计算模块、 幂乘计 算模块和验证者随机选择模块, 针对IOTA中的MCMC随机选择过程提出了一种计算架构, 减 少了CPU与内存之间的数据移动开销, 大大降低了MCMC随机选择过程的计算时延。 0034 (2)本公开将tips选择过程分解为数个独立的乘、 加及幂运算操作, 利用并行计算 模块、 幂乘计算模块和验证者随机选择模块来实现上述运算操作, 提高了区块链MCMC随机 选择的计算速度。 0035 (3)本公开利用了ReRAM的多Cell结构, 设计了针对多tips选择过程的并行计算模 型, 大大提高了tips选择过程的并行度, 提升了整体性能。 0036 (4)本公开在随机选择单元中。

20、将快速幂算法应用于复杂的幂运算操作, 大大减少 了幂运算操作的时间复杂度。 附图说明 0037 构成本公开的一部分的说明书附图用来提供对本公开的进一步理解, 本公开的示 意性实施例及其说明用于解释本公开, 并不构成对本公开的不当限定。 0038 图1是本公开实施例提供的随机游走算法整体流程图。 0039 图2是本公开实施例提供的ReRAM整体架构设计图。 0040 图3是本公开实施例提供的并行计算模块的部分设计图。 0041 图4是本公开实施例提供的幂乘计算模块设计图。 0042 图5是本公开实施例提供的乘法运算举例。 具体实施方式 0043 应该指出, 以下详细说明都是例示性的, 旨在对本公。

21、开提供进一步的说明。 除非另 说明书 3/12 页 6 CN 109903162 A 6 有指明, 本文使用的所有技术和科学术语具有与本公开所属技术领域的普通技术人员通常 理解的相同含义。 0044 需要注意的是, 这里所使用的术语仅是为了描述具体实施方式, 而非意图限制根 据本公开的示例性实施方式。 如在这里所使用的, 除非上下文另外明确指出, 否则单数形式 也意图包括复数形式, 此外, 还应当理解的是, 当在本说明书中使用术语 “包含” 和/或 “包 括” 时, 其指明存在特征、 步骤、 操作、 器件、 组件和/或它们的组合。 0045 术语解释: 0046 MCMC: Markov Ch。

22、ain Monte Carlo, 马尔科夫链蒙特卡罗。 0047 ReRAM: 电阻式RAM, 将DRAM的读写速度与SSD的非易失性结合于一身。 0048 在本实施例中, Tangle是由交易块组成的有向无环图, 其交易共识为新上链的交 易按一定规则验证链上已有交易, 若被验证交易合法, 则新上链的交易连接至被验证交易 并存于Tangle中。 具体的规则为: 0049 当网络节点发起一笔交易时, 该交易需要在Tangle中按一定随机概率规则选择两 个tips(未被验证过的交易), 将自己指向这两个tips, 并验证所选交易的合法性, 若被验证 交易合法且tips所在子链中无双花交易, 则在完。

23、成少量PoW(工作量证明)后, 在网络中进行 广播同步; 被验证交易不合法, 则重新选择tips并重复上述步骤。 0050 因此, 网络中验证交易合法性的责任由传统区块链矿工转为每一个发起交易的网 络节点, 形成用户即矿工的验证模式, 因此无需支付交易费用, 适用于当前物联网结构交易 量大、 交易额度小等特点, 且随Tangle网络规模增大, 交易愈发安全和快速。 Tangle中选择 tips的过程称作随机游走过程, 系统会确定两个随机游走入口, 每一次随机游走过程为, 在 指向自己的所有验证者中, 在累计权重(定义为该交易自身权重与其他直接以及间接验证 该交易的所有交易的自身权重之和, 一定。

24、程度代表自身可信度, 其中自身权重大小与PoW计 算量成正比。 )的基础上, 按照一定随机概率规则选择下一个游走的结点, 直到游走至 Tangle边界结点处, 即为该交易所选的两个tips。 0051 由此可见, 新上链的交易更可能选择所在子链可信度高的tips进行验证, 以确保 自己有更大概率被后续新交易所选中, 而某个方向的累计权重所占比重, 决定了游走过程 中的每一步选择这个方向的概率, 从而决定了Tangle的形态及稳定性。 0052 全节点运行IRI进程, 用以维护Tangle网络、 数据库信息, 更新快照, 验证子链交易 以及MCMC(Markov Chain Monte Carl。

25、o, 马尔科夫链蒙特卡罗)随机选择等过程。 所有网络 中需要交易的用户被视为轻节点, 当其发起交易时, 需连接至全节点用以向其索要随机游 走结果、 部分PoW请求以及广播交易。 随着用户量增大, 部分全节点需处理大量交易的验证 子链交易有效以及随机游走等过程, 导致部分交易等待上链时间过长, 影响Tangle整体交 易吞吐率, 甚至部分全节点无法承受巨大计算负载而崩溃。 因此, 如何加快交易处理速度, 减少计算量成为IOTA目前亟待解决的问题。 0053 为了解决上述问题, 本实施例提供了一种加速区块链MCMC随机选择的ReRAM, ReRAM不仅能存储数据, 还具有强大的并行能力进行近数据计。

26、算(Near-data-computing), 实现了内存计算(Processing-in-memory, PIM)架构。 此架构与现存的利用CPU、 GPU的解决 方案相比, 拥有更少的数据移动开销, 以及更高的乘加运算并行度等优势, 可以加速全节点 计算速度, 减少计算复杂度及计算延时, 进而增加整个区块链的交易吞吐能力(TPS)。 说明书 4/12 页 7 CN 109903162 A 7 0054 在IOTA区块链的随机游走过程中, MCMC随机选择过程利用了随机选择算法实现概 率选择与计算功能, 其算法实现如公式(1)所示, 其中y(yZ)为某个指向x的验证者, Wy为 该验证者的累。

27、计权重, 为给定系数。 集合Z为所有指向x的验证者集合, Pxy为y被下一步游走 过程所选中的概率。 其中, x为在MCMC随机选择过程中游走至某一步的当前交易节点, 集合Z 为指向x的所有验证者集合。 0055 最终, 下一步游走过程将根据每个验证的被选择概率进行随机选择。 为方便程序 代码运算, 减少变量运算, 将公式(1)中的分母变换为公式(2)所示, 变换后的分母以target 表示, 其中Wmax为所有指向x的验证者的累计权重的最大值, 则依据各加数在target所占比 例随机选择验证者, 其整体算法流程图如图1所示。 通过分析计算过程, 其随机选择算法需 要大量加、 减、 乘、 幂。

28、及移位运算。 0056 因此, 本实施例分别针对以上运算设计了ReRAM中相应的计算单元, 使其实现计算 与缓存一体化结构, 避免了数据在CPU与内存之间的数据移动, 大大减小了数据的移动开 销, 同时实现部分计算单元的并行化, 加速了随机选择算法的处理速度。 0057 0058 0059 其中, Wx为x交易的累计权重, 累计权重为定义为该交易自身权重与其直接以及间 接验证该交易的所有交易的自身权重之和。 0060 由于Z为所有指向x的验证者集合, zZ, 泛指集合Z中的任一元素。 因此z代表指向 x的验证者集合中的某一个验证者, Wz为此验证者的累计权重。 0061 本实施例对整个MCMC。

29、随机选择过程进行功能划分后, 其整体设计架构图如图2所 示。 0062 本公开的一种加速区块链MCMC随机选择的ReRAM, 包括随机选择单元, 其包括并行 计算模块、 幂乘计算模块和验证者随机选择模块。 0063 (1)并行计算模块 0064 并行计算模块, 包括第一子模块和第二子模块; 所述第一子模块被配置为并行计 算区块链上所有交易节点的累计权重与所有指向区块链上相应交易节点的验证者的累计 权重的最大值的差值, 得到累计权重差值矩阵, 转置后转化为二进制结果, 并对应输入至第 二子模块的字线中; 所述第二子模块包括若干个基础幂模块, 每个基础幂模块与一个对应 字线对应相连, 所述字线用于。

30、控制相应基础幂模块的通断。 0065 具体地, 所述第二子模块中的基础幂模块由快速幂算法拆解后得到。 0066 其中, 快速幂算法用于计算一个数的阶乘, 如果用平常的算法计算, 很容易超时, 而快速幂算法将时间复杂度大大降低, 而且还大大降低了超时的风险, 提高了计算速度。 0067 (2)幂乘计算模块 0068 幂乘计算模块, 被配置为计算各个基础幂的结果并对应存储至相应基础幂模块 中。 0069 具体地, 在所述幂乘计算模块中, 采用浮点数乘算法计算各个基础幂的结果。 0070 采用浮点数乘算法提高了计算的准确性。 0071 并行计算模块用于并行计算公式(2)中的target, 幂乘计算模。

31、块用于计算快速幂 说明书 5/12 页 8 CN 109903162 A 8 拆解后的基础幂运算。 0072 并行计算模块并行单元的部分设计如图3所示, 实现公式(2)中每一个加数的减法 运算以及部分乘运算。 将第一子模块的计算输出的结果进行矩阵转置, 如图3所示, 对Wx及 Wmax进行减法运算, 输出二进制结果作为第二子模块的字线起到电压导通作用。 0073 对于第二子模块, 将幂乘操作以快速幂算法进行拆解, 将所有需要的中间结果由 幂乘计算模块产生后存储至并行计算模块的第二子模块中, 在第一子模块计算完成并选通 后, 第二子模块进行快速幂部分乘运算。 0074 例如计: 算a11, 将1。

32、1表示成二进制后为1011, 因此a11可拆解为a8*a2*a1, 导通三个 乘数相乘即可得出结果。 因此幂乘计算模块单元需计算a、 a2、 a4、 a8a32768结果并输入至 并行计算模块各自并行单元中。 0075 幂乘计算模块设计如图4所示, 浮点数以IEEE754表示, 将尾数部分(以二进制整数 表示)提取出来设两个输入参数为man(A)、 man(B)。 在浮点数进行IEEE754标准化后, 尾数部 分即小数点之前实际保留一位二进制1, 如11.01标准化后浮点数为1.101, 尾数为101。 因 此, 对尾数的乘法运算进行乘法分配律化简后如公式(3)所示。 0076 首先对两个尾数。

33、部分做乘法和加法操作, 具体乘法运算举例如图5所示, 乘数二进 制高位在下, 低位在上导通字线, 被乘数依次向左移动一位, 写入ReRAM crossbar, 导通位 线进行加法操作即可完成乘法运算。 0077 图4中t1、 t2位加法高位进位, 当对公式(3)进行加法运算后, 可能产生最多两位的 进位。 若t1位为0, 则只需原始阶数码相加并转换为移码, 位数部分为计算后exp(c)原结果; 若t1位为1, 则原始阶码数相加后再加1并转换为移码表示, 位数部分以此右移一位, 高位补 t2位, 低位移出。 所得结果C重复传入并行计算模块各自并行计算模块的第二子模块的一行 中, 其尾数部分再次返。

34、回幂乘计算模块单元输入流, 进行基于本次平方的下次平方运算。 0078 (1+man(A)(1+man(B)man(A)man(B)+(man(A)+man(B)+1 (3) 0079 其中, man(A)、 man(B)分别是A、 B的尾数部分。 0080 本实施例对于数据计算规格的设定, 根据IOTA实际度量, 将累计权重的变量类型 设定为short int(16bit)类型, 同时由于概率计算的需要, 将所需的浮点数类型也设为 float(32bit), 以IEEE754表示, 尾数部分只使高8位即可。 0081 随机选择单元并行计算模块算法策略: 0082 本实施例提出的基于ReRAM。

35、计算单元的并行化策略和功能化划分有效减小了计算 的时间复杂度, 降低了处理器计算负载, 增加了IOTA交易网络的TPS, 同时, 保证了IOTA全节 点的稳定行和区块链数据的可靠性。 说明书 6/12 页 9 CN 109903162 A 9 0083 说明书 7/12 页 10 CN 109903162 A 10 0084 0085 其中, POW(.)指的是e指数函数。 0086 浮点数幂乘算法策略: 0087 本实施例提出的基于快速幂运算的浮点数幂乘算法策略降低了浮点数幂乘运算 的时间复杂度, 提高了IOTA随机游走的概率选择速度。 0088 快速幂算法策略如下: 0089 0090 快。

36、速幂算法中浮点数乘算法策略如下: 说明书 8/12 页 11 CN 109903162 A 11 0091 0092 0093 (3)验证者随机选择模块 0094 验证者随机选择模块, 被配置为并行接收第二子模块中各个基础幂模块输出的结 果并作累加运算, 得到验证者选中概率累加和; 将验证者选中概率累加和与一随机数相乘 来更新验证者选中概率累加和; 按照区块链上验证者的顺序, 将更新后的验证者选中概率 累加和逐个与相应验证者对应的累计权重作差, 并判断差值是否小于0, 若是, 则直接输出 对应验证者。 0095 具体地, 在所述验证者随机选择模块中, 所述随机数由硬件随机数生成器生成。 009。

37、6 在计算过程中, 硬件随机数发生器(真随机数发生器, TRNG)是从物理过程而不是 计算机程序生成随机数的设备。 硬件随机数发生器通常每秒产生有限数量的随机比特。 为 说明书 9/12 页 12 CN 109903162 A 12 了提高数据速率, 它们通常用于为更快的加密安全伪随机数生成器生成 “种子” , 然后生成 伪随机数输出序列 0097 在传统处理器在计算MCMC随机选择过程时造成了内存与CPU之间大量的数据移动 消耗, 而ReRAM良好的自身结构使其实现了较好的存-算一体化功能。 实现了缓存级别基于 特定计算的并行操作, 减轻了处理器的计算负载。 由于计算中存在大量乘、 加及移位。

38、操作, 迎合了ReRAM内部计算结构属性, 提高了整体运算速度, 实现了对该模块算法的整体加速。 片内采用并行策略可实现多个验证者累计权重的并行计算, 时间复杂度由O(n)降低为O (1)。 增加了IOTA全节点的运算能力及交易信息的并行处理速度, 降低了节点计算延迟, 增 加了区块链交易吞吐能力, 减小了IOTA全节点的崩溃率, 为IOTA区块链交易可靠性提供了 保障。 0098 在具体实施中, 所述ReRAM还包括内存单元, 所述内存单元与随机选择单元相连; 0099 所述内存单元被配置为存储验证者集合及累计权重集合; 所述验证者集合由所有 验证者构成; 所述累计权重集合由各个验证者对应的。

39、累计权重构成。 0100 这样方便随机选择单元的输入数据的调用, 减少了CPU与内存之间的数据移动开 销, 大大降低了MCMC随机选择过程的计算时延。 0101 所述ReRAM还包括数据缓存单元, 所述数据缓存单元被配置为暂存内存单元输入 至随机选择单元中的数据以及幂乘计算模块的计算结果。 0102 这样减少了CPU与内存之间的数据移动开销, 大大降低了MCMC随机选择过程的计 算时延。 0103 所述ReRAM还包括控制器, 所述控制器与随机选择单元、 内存单元和数据缓存单元 分别相连。 0104 控制器用于发出指令协调随机选择单元整体工作进程。 0105 所述ReRAM还包括连接桥, 其用。

40、于连接随机选择单元及数据缓冲单元。 0106 本实施例将每一个ReRAM划分为三部分: 内存单元、 随机选择单元和数据缓冲单 元。 内存单元用于存储验证者集合及相对应的weights集合, 该数据将作为下一层模块的输 入。 0107 其中, weights集合指的是累计权重集合 0108 本实施例的ReRAM包括随机选择单元, 随机选择单元包括并行计算模块、 幂乘计算 模块和验证者随机选择模块, 针对IOTA中的MCMC随机选择过程提出了一种计算架构, 减少 了CPU与内存之间的数据移动开销, 大大降低了MCMC随机选择过程的计算时延。 0109 本实施例将tips选择过程分解为数个独立的乘、。

41、 加及幂运算操作, 利用并行计算 模块、 幂乘计算模块和验证者随机选择模块来实现上述运算操作, 提高了区块链MCMC随机 选择的计算速度。 0110 本实施例利用了ReRAM的多Cell结构, 设计了针对多tips选择过程的并行计算模 型, 大大提高了tips选择过程的并行度, 提升了整体性能。 0111 本实施例在随机选择单元中将快速幂算法应用于复杂的幂运算操作, 大大减少了 幂运算操作的时间复杂度。 0112 本实施例的一种加速区块链MCMC随机选择的ReRAM的工作方法, 包括: 0113 并行计算区块链上所有交易节点的累计权重与所有指向区块链上相应交易节点 说明书 10/12 页 13。

42、 CN 109903162 A 13 的验证者的累计权重的最大值的差值, 得到累计权重差值矩阵, 转置后转化为二进制结果, 并对应输入至每个基础幂模块对应字线中; 0114 计算各个基础幂的结果并对应存储至相应基础幂模块中; 0115 并行接收各个基础幂模块输出的结果并作累加运算, 得到验证者选中概率累加 和; 将验证者选中概率累加和与一随机数相乘来更新验证者选中概率累加和; 按照区块链 上验证者的顺序, 将更新后的验证者选中概率累加和逐个与相应验证者对应的累计权重作 差, 并判断差值是否小于0, 若是, 则直接输出对应验证者。 0116 本实施例的一种加速区块链MCMC随机选择的ReRAM的。

43、工作方法, 可以加速全节点 计算速度, 减少计算复杂度及计算延时, 进而增加整个区块链的交易吞吐能力。 0117 本实施例还提供了一种计算机可读存储介质, 包括上述所述的加速区块链MCMC随 机选择的ReRAM。 0118 本实施例的一种计算机可读存储介质, 可以加速全节点计算速度, 减少计算复杂 度及计算延时, 进而增加整个区块链的交易吞吐能力。 0119 本实施例还提供了一种计算机设备, 包括如图2所示的加速区块链MCMC随机选择 的ReRAM。 0120 本实施例的一种计算机设备, 可以加速全节点计算速度, 减少计算复杂度及计算 延时, 进而增加整个区块链的交易吞吐能力。 0121 本领。

44、域内的技术人员应明白, 本公开的实施例可提供为方法、 系统、 或计算机程序 产品。 因此, 本公开可采用硬件实施例、 软件实施例、 或结合软件和硬件方面的实施例的形 式。 而且, 本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储 介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。 0122 本公开是参照根据本发明实施例的方法、 设备(系统)、 和计算机程序产品的流程 图和/或方框图来描述的。 应理解可由计算机程序指令实现流程图和/或方框图中的每一流 程和/或方框、 以及流程图和/或方框图中的流程和/或方框的结合。 可提供这些计算机程序 指令到通用计算。

45、机、 专用计算机、 嵌入式处理机或其他可编程数据处理设备的处理器以产 生一个机器, 使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实 现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。 0123 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特 定方式工作的计算机可读存储器中, 使得存储在该计算机可读存储器中的指令产生包括指 令装置的制造品, 该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或 多个方框中指定的功能。 0124 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上, 使得在计 算机或其他可编程。

46、设备上执行一系列操作步骤以产生计算机实现的处理, 从而在计算机或 其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一 个方框或多个方框中指定的功能的步骤。 0125 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程, 是可以 通过计算机程序来指令相关的硬件来完成, 所述的程序可存储于一计算机可读取存储介质 中, 该程序在执行时, 可包括如上述各方法的实施例的流程。 其中, 所述的存储介质可为磁 碟、 光盘、 只读存储记忆体(Read-Only Memory, ROM)或随机存储记忆体(Random 说明书 11/12 页 14 CN 109903162 A 14 AccessMemory, RAM)等。 0126 上述虽然结合附图对本公开的具体实施方式进行了描述, 但并非对本公开保护范 围的限制, 所属领域技术人员应该明白, 在本公开的技术方案的基础上, 本领域技术人员不 需要付出创造性劳动即可做出的各种修改或变形仍在本公开的保护范围以内。 说明书 12/12 页 15 CN 109903162 A 15 图1 图2 说明书附图 1/3 页 16 CN 109903162 A 16 图3 图4 说明书附图 2/3 页 17 CN 109903162 A 17 图5 说明书附图 3/3 页 18 CN 109903162 A 18 。

展开阅读全文
内容关键字: 加速 区块 MCMC 随机 选择 ReRAM 及其 工作 方法
关于本文
本文标题:加速区块链MCMC随机选择的ReRAM及其工作方法.pdf
链接地址:https://www.zhuanlichaxun.net/pdf/12119107.html
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1