CN114238157A - 工作量证明的获取装置、方法、电子设备、存储介质 - Google Patents

工作量证明的获取装置、方法、电子设备、存储介质 Download PDF

Info

Publication number
CN114238157A
CN114238157A CN202111425635.2A CN202111425635A CN114238157A CN 114238157 A CN114238157 A CN 114238157A CN 202111425635 A CN202111425635 A CN 202111425635A CN 114238157 A CN114238157 A CN 114238157A
Authority
CN
China
Prior art keywords
data
chip
component
workload
storage
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.)
Pending
Application number
CN202111425635.2A
Other languages
English (en)
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.)
Zhejiang Weipian Technology Co ltd
Zhejiang Nanometer Technology Co ltd
Original Assignee
Zhejiang Weipian Technology Co ltd
Zhejiang Nanometer Technology Co ltd
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 Zhejiang Weipian Technology Co ltd, Zhejiang Nanometer Technology Co ltd filed Critical Zhejiang Weipian Technology Co ltd
Priority to CN202111425635.2A priority Critical patent/CN114238157A/zh
Publication of CN114238157A publication Critical patent/CN114238157A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/17Interprocessor communication using an input/output type connection, e.g. channel, I/O port
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1041Resource optimization
    • G06F2212/1044Space efficiency improvement

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • Computational Linguistics (AREA)
  • Storage Device Security (AREA)

Abstract

本申请提供的工作量证明的获取装置、方法、电子设备、存储介质及程序,属于计算机技术领域。所述装置通过将用于执行工作量证明的获取过程的数据集分散存储在不同芯片的存储部件上,从而实际处理时,将分散于不同芯片的存储部件的数据集汇总至同一芯片的算法逻辑部件来执行工作量证明的获取过程,使得芯片中存储部件的存储空间在无法存储完整的数据集时也可以用于存储部分数据集,提高了芯片中存储空间的利用率,进而提高了芯片获取工作量证明的能力。

Description

工作量证明的获取装置、方法、电子设备、存储介质
技术领域
本申请属于计算机技术领域,特别涉及一种工作量证明的获取装置、方法、电子设备、存储介质及程序。
背景技术
相关技术中,内存密集型算法,在运算过程中需要重复从内存随机地提取大量数据进行运算,并找到一个nonce(随机值)输入到算法中,使得到的结果低于一个基于特定困难值的阈值。
因此,内存密集型算法的性能瓶颈为内存带宽,让多核并行处理能力无法发挥,降低定制化ASIC芯片的运算优势,使性能只与内存大小有关。但是由于制造成本和工艺限制,封装在芯片内的内存容量有限且无法升级,导致当某些完成特定功能的芯片其存储的数据集按照特定规则持续增加,需要存储的数据集大于内存容量时,该芯片无法继续工作,造成极大浪费。
发明内容
本申请提供的一种工作量证明的获取装置、方法、电子设备、存储介质及程序。
本申请一些实施方式提供一种工作量证明的获取装置,所述装置包括:第一芯片和第二芯片,所述第一芯片包括:
第一算法逻辑部件,用于从本地的第一存储部件中提取参与工作量证明的获取过程的第一数据;基于所述第一数据计算参与所述工作量证明的获取过程的第二数据的数据索引;将所述数据索引发送至第一控制部件;
所述第一控制部件,用于基于所述数据索引查询所述第二数据的存储地址;在所述存储地址指向所述第二芯片的第二存储部件时,向第一芯片互连部件发送携带有所述存储地址的数据获取请求;
所述第一芯片互连部件,用于响应于所述数据获取请求,通过与所述第二芯片中的第二芯片互连部件进行交互,以将所述第一数据和所述第二数据汇总至目标芯片的目标算法逻辑部件,使得所述目标算法逻辑部件基于所述第一数据和所述第二数据执行所述工作量证明的获取过程,其中,所述目标芯片为所述第一芯片和所述第二芯片中之一。
可选地,在所述目标芯片为所述第二芯片时,所述第一芯片互连部件,还用于:
响应于所述数据获取请求,从所述第一存储部件中获取所述第一数据;
将所述第一数据和所述数据获取请求发送至所述第二芯片互连部件;
所述第二芯片,包括:
所述第二芯片互连部件,用于将所述第一数据和所述数据获取请求发送至第二控制部件;
所述第二控制部件,用于确定处于空闲状态的第二算法逻辑部件;
将所述第一数据和所述数据获取请求发送至所述第二算法逻辑部件;
所述第二算法逻辑部件,用于基于所述数据获取请求中的存储地址,从所述第二存储部件中获取第二数据;
基于所述第一数据和所述第二数据执行所述工作量证明的获取过程。
可选地,在所述目标芯片为所述第一芯片时,所述第一芯片互连部件,还用于:将所述数据获取请求发送至第二芯片互连部件;
所述第二芯片,包括:
所述第二芯片互连部件,用于基于所述数据获取请求中的存储地址,从所述第二存储部件中获取第二数据;
将所述第二数据发送至所述第一芯片互连部件;
所述第一芯片互连部件,用于将所述第二数据发送至所述第一算法逻辑部件;
所述第一算法逻辑部件,还用于基于所述第一数据和所述第二数据执行所述工作量证明的获取过程。
可选地,所述装置还包括:
仲裁部件,用于接收所述第一芯片互连部件发送的仲裁请求;
将所述第一芯片和所述第二芯片中数据负载较小的芯片作为目标芯片;
向所述第一芯片互连部件发送描述所述目标芯片的通知信息。
可选地,所述第一控制部件,还用于:
在所述存储地址指向所述第一存储部件时,基于所述存储地址控制所述第一存储部件将所述第二数据发送至所述第一算法逻辑部件;
所述第一算法逻辑部件,还用于基于所述第一数据和所述第二数据执行所述工作量证明的获取过程。
可选地,所述第一芯片还包括:第一互连网络部件,用于将所述第一数据发送至所述第一算法逻辑部件。
可选地,所述第一算法逻辑部件,还用于:在所述第一数据为完整数据集时,基于所述第一数据执行所述工作量证明的获取过程。
本申请一些实施例提供一种工作量证明的获取方法,应用于工作量证明的获取装置中的第一芯片,所述
工作量证明的获取装置还包括:第二芯片,所述方法包括:
从本地的第一存储部件中提取参与工作量证明的获取过程的第一数据;
基于所述第一数据计算参与所述工作量证明的获取过程的第二数据的数据索引;
基于所述数据索引查询所述第二数据的存储地址;
在所述存储地址指向所述第二芯片的第二存储部件时,通过与所述第二芯片中的第二芯片互连部件进行交互,以将所述第一数据和所述第二数据汇总至目标芯片的目标算法逻辑部件,使得所述目标算法逻辑部件基于所述第一数据和所述第二数据执行所述工作量证明的获取过程,其中,所述目标芯片为所述第一芯片和所述第二芯片中之一。
可选地,所述通过与所述第二芯片中的第二芯片互连部件进行交互,以将所述第一数据和所述第二数据汇总至目标芯片的目标算法逻辑部件,使得所述目标算法逻辑部件基于所述第一数据和所述第二数据执行所述工作量证明的获取过程,包括:
从所述第一存储部件中获取所述第一数据;
将所述第一数据和所述数据获取请求通过所述第二芯片互连部件发送至第二芯片的第二算法逻辑部件,以使得所述第二算法逻辑部件基于所述数据获取请求中的存储地址,从所述第二存储部件中获取第二数据,并基于所述第一数据和所述第二数据执行所述工作量证明的获取过程所述第二算法逻辑部件是第二控制部件确定的处于空闲状态的算法逻辑部件。
可选地,所述通过与所述第二芯片中的第二芯片互连部件进行交互,以将所述第一数据和所述第二数据汇总至目标芯片的目标算法逻辑部件,使得所述目标算法逻辑部件基于所述第一数据和所述第二数据执行所述工作量证明的获取过程,包括:
基于所述数据获取请求中的存储地址通过第二芯片互连部件从所述第二存储部件中获取第二数据;
基于所述第一数据和所述第二数据执行所述工作量证明的获取过程。
可选地,在所述通过与所述第二芯片中的第二芯片互连部件进行交互,以将所述第一数据和所述第二数据汇总至目标芯片的目标算法逻辑部件,使得所述目标算法逻辑部件基于所述第一数据和所述第二数据执行所述工作量证明的获取过程之前,所述方法还包括:
将所述第一芯片和所述第二芯片中数据负载较小的芯片作为目标芯片;
向所述第一芯片互连部件发送描述所述目标芯片的通知信息。
可选地,所述方法还包括:
在所述存储地址指向所述第一存储部件时,基于所述存储地址从第一存储部件将所述第二数据发送至所述第一算法逻辑部件;
基于所述第一数据和所述第二数据通过所述第一算法逻辑部件执行所述工作量证明的获取过程。
可选地,所述方法还包括:
通过第一互连网络部件将所述第一数据发送至所述第一算法逻辑部件。
可选地,所述方法还包括:
在所述第一数据为完整数据集时,基于所述第一数据通过所述第一算法逻辑部件执行所述工作量证明的获取过程。
本申请一些实施例提供一种计算处理设备,包括:
存储器,其中存储有计算机可读代码;
一个或多个处理器,当所述计算机可读代码被所述一个或多个处理器执行时,所述计算处理设备执行如上述的工作量证明的获取方法。
本申请一些实施例提供一种计算机程序,包括计算机可读代码,当所述计算机可读代码在计算处理设备上运行时,导致所述计算处理设备执行如上述的工作量证明的获取方法。
本申请一些实施例提供一种非瞬态计算机可读介质,其中存储了如上述的工作量证明的获取方法。
本申请提供的一种工作量证明的获取装置、方法、电子设备、存储介质及程序,通过将用于执行工作量证明的获取过程的数据集分散存储在不同芯片的存储部件上,从而实际处理时,将分散于不同芯片的存储部件的数据集汇总至同一芯片的算法逻辑部件来执行工作量证明的获取过程,使得芯片中存储部件的存储空间在无法存储完整的数据集时也可以用于存储部分数据集,提高了芯片中存储空间的利用率,进而提高了芯片获取工作量证明的能力。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示意性地示出了本申请一些实施例提供的一种内存密集型计算算法的通用架构的结构示意图;
图2示意性地示出了本申请一些实施例提供的一种工作量证明的获取装置的结构示意图;
图3示意性地示出了本申请一些实施例提供的一种工作量证明的获取方法的流程示意图;
图4示意性地示出了用于执行根据本申请一些实施例的方法的计算处理设备的框图;
图5示意性地示出了用于保持或者携带实现根据本申请一些实施例的方法的程序代码的存储单元。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
相关技术中,参照图1,100为内存密集型计算算法的通用架构,110为哈希计算逻辑部件,120为连接网络,连接哈希计算逻辑部件110和内存130,存储DAG(DirectedAcyclic Graph,有向无环图)数据。内存通常是由DRAM(Dynamic Random Access Memory,动态随机存储器)组成,DRAM具有许多类型如FPM(Fast Page Mode,快页模式内存)、DRAMEDO(Extended Data Output,扩展数据输出)、DRAM SDRAM(Synchronous DRAM,同步动态随机存取内存)、DDR(Double Data Rate,双倍数据速率)等。
哈希计算逻辑部件110通过连接网络120持续从内存130获取数据,进行哈希计算,直到找到一个值,通过这个值计算出的哈希值小于预设的困难值,则确定这是一个有效的哈希值。首先找到该值的用户会获得工作量证明奖励。在一个Ethash(以太坊)算法实例中,130->120->110的数据为从DAG提取的128Bytes数据,为计算一个Nonce,需要进行64轮哈希计算,即提取64X128Bytes数据;110->120->130的数据为计算得到的该128Bytes数据在DAG中的索引,即该数据在DAG中位置指针。
以太坊中共识设计的主要思想是设计一大一小的2个数据集,假设小的数据集是16M的Cache(存储数据),大的数据集是1G的DAG。DAG数据集中的元素都是通过小的Cache计算得到的,DAG数据每隔3万个区块会更新一次,每次更新都会比之前增加8M左右,一般来说,以太坊的DAG文件每年增加0.72倍。据估算,2020.12.24DAG超过4G,2024.3.27DAG超过6G,此后片上内存少于6G的芯片将不能继续使用。
可见,由于制造成本和工艺限制,封装在芯片内的内存容量不可能很大。某些完成特定功能的芯片其存储的数据集按照特定规则持续增加,当需要存储的数据集大于内存容量时,该芯片无法继续工作,造成极大浪费。
图2示意性地示出了本申请提供的一种工作量证明的获取装置20的结构示意图,所述装置包括:第一芯片201和第二芯片202,所述第一芯片201包括:
第一算法逻辑部件2011,用于从本地的第一存储部件2014中提取参与工作量证明的获取过程的第一数据;基于所述第一数据计算参与所述工作量证明的获取过程的第二数据的数据索引;将所述数据索引发送至第一控制部件2012。
需要说明的是,第一芯片201和第二芯片202是设置在电子设备中算力板上,每个电子设备可以包括一块或多块算力板,每块算力板上可以包括多个芯片。
在本申请实施例中,工作量证明的获取过程是指通过运行特定算法程序以获取相应的工作量证明信息的过程,此处以Ethash算法为例,其作为一种内存密集型算法,在运算过程中,需要重复从内存随机地提取大量数据进行运算,并找到一个值输入算法,使得到的结果低于一个基于特定困难值的阈值,则可获取相应的工作量证明。而本申请实施例可以适用于这类基于内存密集型的算法,当工作量证明的获取过程被分配给第一芯片201时,第一芯片201中的第一算法逻辑部件2011,将从所接收的任务执行指令中提取第一数据的存储地址,通常该存储地址将指向第一芯片201的第一存储部件2014,则第一算法逻辑部件2011通过第一互连网络部件2015可从第一存储部件2014中获取第一数据。此时,由于第一数据并不是参与本次工作量证明的获取过程的全部数据,则第一算法逻辑部件2011可以通过基于第一数据计算剩余的第一数据的数据索引,并将所得到的数据索引发送至第一芯片201的控制部件2012。该数据索引可以是预先设置在第一数据的数据字段中,也可以是通过预设函数对第一数据中的特定数据字段进行计算得到,具体可以根据实际需求设置,此处不做限定。
所述第一控制部件2012,用于基于所述数据索引查询所述第二数据的存储地址;在所述存储地址指向所述第二芯片202的第二存储部件2024时,向第一芯片互连部件2013发送携带有所述存储地址的数据获取请求。
在本申请实施例中,第一控制部件2012对数据索引中指示芯片的字段进行识别,若该字段是指向除第一芯片201以外的第二芯片202中的第二存储部件2024,则第一控制部件2012将生成携带有该数据索引的数据获取请求,并将数据获取请求发送给第一芯片互连部件2013,该第一芯片互连部件2013是负责第一芯片201与第二芯片202之间进行数据传输。
所述第一芯片互连部件2013,用于响应于所述数据获取请求,通过与所述第二芯片202中的第二芯片互连部件2023进行交互,以将所述第一数据和所述第二数据汇总至目标芯片的目标算法逻辑部件,使得所述目标算法逻辑部件基于所述第一数据和所述第二数据执行所述工作量证明的获取过程,其中,所述目标芯片为所述第一芯片和所述第二芯片中之一。
在本申请实施例中,第一芯片互连部件2013与第二芯片202中的第二芯片互连部件2023进行数据交互,以将第一数据和第二数据汇总至同一芯片的算法逻辑模块。具体的,目标芯片的选择可以是从第一芯片和第二芯片中随机进行选取,也可以是始终将第一芯片作为目标芯片,或者是始终将第二芯片作为目标芯片,还可以是基于第一芯片和第二芯片的特定参数指标尽心诗选,例如将第一芯片和第二芯片中剩余存储空间、可承受数据处理量较大的作为目标芯片,当然此处只是示例性说明,具体可以根据实际需求设置,此处不做限定。
本申请实施例通过将用于执行工作量证明的获取过程的数据集分散存储在不同芯片的存储部件上,从而实际处理时,将分散于不同芯片的存储部件的数据集汇总至同一芯片的算法逻辑部件来执行工作量证明的获取过程,使得芯片中存储部件的存储空间在无法存储完整的数据集时也可以用于存储部分数据集,提高了芯片中存储空间的利用率,进而提高了芯片获取工作量证明的能力。
可选地,在所述目标芯片为所述第二芯片202时,所述第一芯片互连部件2021,还用于:
响应于所述数据获取请求,从所述第一存储部件2014中获取所述第一数据;
将所述第一数据和所述数据获取请求发送至所述第二芯片互连部件2023。
在本申请实施例中,在目标芯片为第二芯片202时,第一芯片互连模块2013向第一互连网络2015发送针对于第一数据的数据获取请求,第一互连网络2015根据该数据获取请求从第一存储部件2024中获取第一数据后将第一数据转发给第一芯片互连模块2013,然后第一芯片互连模块2013将第一数据还有携带有数据索引的数据获取请求发送至第二芯片202的第二芯片互连部件2023。
所述第二芯片202,包括:
所述第二芯片互连部件2023,用于将所述第一数据和所述数据获取请求发送至第二控制部件;
在本申请实施例中,第二芯片互连模块2023通过第二互连网络部件2025将第一数据和携带有数据索引的数据获取请求发送至本地的第二控制部件2022。
所述第二控制部件2022,用于确定处于空闲状态的第二算法逻辑部件2023;
将所述第一数据和所述数据获取请求发送至所述第二算法逻辑部件2023。
在本申请实施例中,第二控制部件2022对本地的多个第二算法逻辑部件2023进行检测,从中筛选出处于空闲状态的一个第二算法逻辑部件2023作为负责执行本次工作量证明的获取过程,并将从第一芯片201获取到的第一数据和数据获取请求发送给第二算法逻辑部件2023。
所述第二算法逻辑部件2023,用于基于所述数据获取请求中的存储地址,从所述第二存储部件2024中获取第二数据;
基于所述第一数据和所述第二数据执行所述工作量证明的获取过程。
在本申请实施例中,第二算法逻辑部件2023基于数据获取请求中的数据存储地址向第二互连网络部件2025发送数据获取请求,第二互连网络2025基于该存储地址从第二存储部件2024中获取第二数据,并将第二数据转发给第二算法逻辑部件2023。第二算法逻辑部件基于第一数据和第二数据所组成的完整数据运行工作量证明的算法程序,来获取工作量证明。
可选地,在所述目标芯片为所述第一芯片201时,所述第一芯片互连部件2013,还用于:将所述数据获取请求发送至第二芯片互连部件。
在本申请实施例中,在用于执行本次工作量证明的获取过程的目标芯片是第一芯片201时,第一芯片互连部件2013将携带有第二数据的存储地址的数据获取请求发送至第二芯片202的第二芯片互连部件2025。
所述第二芯片,包括:
所述第二芯片互连部件2023,用于基于所述数据获取请求中的存储地址,从所述第二存储部件2024中获取第二数据;
将所述第二数据发送至所述第一芯片互连部件2013。
在本申请实施例中,第二芯片互连模块2023将数据获取请求发送至第二互连网络部件2025,第二互连网络部件2025基于数据获取请求中的存储地址从第二存储部件2024中获取第二数据,并将第二数据转发至第二芯片互连部件2023。第二芯片互连部件2023将获取到的第二数据发送至第一芯片互连部件2013。
所述第一芯片互连部件2013用于将所述第二数据发送至所述第一算法逻辑部件2011。
在本申请实施例中,第一芯片互连部件2013通过第一互连网络部件2015将第二数据转发至第一算法逻辑部件2011。
所述第一算法逻辑部件2011,还用于基于所述第一数据和所述第二数据执行所述工作量证明的获取过程。
在本申请实施例中,第一算法逻辑部件2011基于第一数据和第二数据所组成的完整数据运行工作量证明的算法程序,来获取工作量证明。
可选地,所述装置还包括:
仲裁部件,用于接收所述第一芯片互连部件发送的仲裁请求;
将所述第一芯片和所述第二芯片中数据负载较小的芯片作为目标芯片;
向所述第一芯片互连部件发送描述所述目标芯片的通知信息。
在本申请实施例中,在仅存储一个第一芯片201和一个第二芯片202时,可以通过芯片直连技术来实现两个芯片之间的数据交互,但是如果第二芯片202的数量大于或等于2,则需要在芯片之间设置仲裁部件来目标芯片的选取过程进行决策。该仲裁部件可以是算力板上的仲裁总线,用于连接和控制算力板上的芯片。
具体的,第一芯片互连部件2013在向第二芯片互连部件2023发送数据请求前,可以向仲裁部件发送关于决策目标芯片的仲裁请求。仲裁部件对第一芯片和多个第二芯片的数据负载情况进行检测后,优先将数据负载较小的第一芯片或第二芯片作为目标芯片,并向第一芯片互连部件发送关于目标芯片的通知信息,第一芯片互连模块根据目标芯片的选取请求来选择相应的数据传输方式,具体可参照前述描述。
可选地,所述第一控制部件2013,还用于:
在所述存储地址指向所述第一存储部件2014时,基于所述存储地址控制所述第一存储部件2014将所述第二数据发送至所述第一算法逻辑部件2011。
在本申请实施例中,当然若存储地址指向第一芯片201的第一存储部件2014时,第一控制模块2013可直接通过向第一互连网络部件2015将第一存储部件2014和第一算法逻辑部件2011进行连接,从而使得第一存储部件2014通过第一互连网络部件2015将第二数据发送至第一算法逻辑部件2011。
可选地,所述第一芯片201还包括:第一互连网络部件2015,将所述第一数据发送至所述第一算法逻辑部件2011。
在本申请实施例中,第一互连网络模块2015是用于承载第一芯片201内部数据传输过程的功能部件,第一控制部件2012仅需向第一互连网络部件2015发送指令,即可使得第一互连网络部件2015将第一存储部件2014和第一算法逻辑部件2011进行连接来传输第一数据和第二数据。
可选地,所述第一算法逻辑部件2011,还用于:在所述第一数据为完整数据集时,基于所述第一数据执行所述工作量证明的获取过程。
在本申请实施例中,若第一数据中包含有用于执行本次工作量证明获取过程的全部数据,则从第一数据中将不存在剩余数据的数据索引,则可以确定该第一数据为完整的数据集,此时第一算法逻辑部件2011可以直接通过第一数据即可执行工作量证明的获取过程。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
图3示意性地示出了本申请提供的一种工作量证明的获取方法的流程示意图,应用于如图1所示工作量证明的获取装置20中的第一芯片201,所述工作量证明的获取装置还包括:第二芯片202,所述方法包括:
步骤301,从本地的第一存储部件中提取参与工作量证明的获取过程的第一数据;
步骤302,基于所述第一数据计算参与所述工作量证明的获取过程的第二数据的数据索引;
步骤303,基于所述数据索引查询所述第二数据的存储地址;
步骤304,在所述存储地址指向所述第二芯片的第二存储部件时,通过与所述第二芯片中的第二芯片互连部件进行交互,以将所述第一数据和所述第二数据汇总至目标芯片的目标算法逻辑部件,使得所述目标算法逻辑部件基于所述第一数据和所述第二数据执行所述工作量证明的获取过程,其中,所述目标芯片为所述第一芯片和所述第二芯片中之一。
可选地,所述步骤304,包括:从所述第一存储部件中获取所述第一数据;将所述第一数据和所述数据获取请求通过所述第二芯片互连部件发送至第二芯片的第二算法逻辑部件,以使得所述第二算法逻辑部件基于所述数据获取请求中的存储地址,从所述第二存储部件中获取第二数据,并基于所述第一数据和所述第二数据执行所述工作量证明的获取过程所述第二算法逻辑部件是第二控制部件确定的处于空闲状态的算法逻辑部件。
可选地所述步骤304,包括:基于所述数据获取请求中的存储地址通过第二芯片互连部件从所述第二存储部件中获取第二数据;基于所述第一数据和所述第二数据执行所述工作量证明的获取过程。
可选地,在所述步骤304之前,所述方法还包括:将所述第一芯片和所述第二芯片中数据负载较小的芯片作为目标芯片;向所述第一芯片互连部件发送描述所述目标芯片的通知信息。
可选地,在所述步骤303之后,所述方法还包括:在所述存储地址指向所述第一存储部件时,基于所述存储地址从第一存储部件将所述第二数据发送至所述第一算法逻辑部件;基于所述第一数据和所述第二数据通过所述第一算法逻辑部件执行所述工作量证明的获取过程。
可选地,所述方法还包括:通过第一互连网络部件将所述第一数据发送至所述第一算法逻辑部件。
可选地,在所述步骤301之后,所述方法还包括:在所述第一数据为完整数据集时,基于所述第一数据通过所述第一算法逻辑部件执行所述工作量证明的获取过程。
本申请实施例通过将用于执行工作量证明的获取过程的数据集分散存储在不同芯片的存储部件上,从而实际处理时,将分散于不同芯片的存储部件的数据集汇总至同一芯片的算法逻辑部件来执行工作量证明的获取过程,使得芯片中存储部件的存储空间在无法存储完整的数据集时也可以用于存储部分数据集,提高了芯片中存储空间的利用率,进而提高了芯片获取工作量证明的能力。
本申请的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本申请实施例的计算处理设备中的一些或者全部部件的一些或者全部功能。本申请还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本申请的程序可以存储在非瞬态计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
例如,图4示出了可以实现根据本申请的方法的计算处理设备。该计算处理设备传统上包括处理器410和以存储器420形式的计算机程序产品或者非瞬态计算机可读介质。存储器420可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。存储器420具有用于执行上述方法中的任何方法步骤的程序代码431的存储空间430。例如,用于程序代码的存储空间430可以包括分别用于实现上面的方法中的各种步骤的各个程序代码431。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。这些计算机程序产品包括诸如硬盘,紧致盘(CD)、存储卡或者软盘之类的程序代码载体。这样的计算机程序产品通常为如参考图5所述的便携式或者固定存储单元。该存储单元可以具有与图4的计算处理设备中的存储器420类似布置的存储段、存储空间等。程序代码可以例如以适当形式进行压缩。通常,存储单元包括计算机可读代码431’,即可以由例如诸如410之类的处理器读取的代码,这些代码当由计算处理设备运行时,导致该计算处理设备执行上面所描述的方法中的各个步骤。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
本文中所称的“一个实施例”、“实施例”或者“一个或者多个实施例”意味着,结合实施例描述的特定特征、结构或者特性包括在本申请的至少一个实施例中。此外,请注意,这里“在一个实施例中”的词语例子不一定全指同一个实施例。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本申请的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本申请可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (16)

1.一种工作量证明的获取装置,其特征在于,所述装置包括:第一芯片和第二芯片,所述第一芯片包括:
第一算法逻辑部件,用于从本地的第一存储部件中提取参与工作量证明的获取过程的第一数据;基于所述第一数据计算参与所述工作量证明的获取过程的第二数据的数据索引;将所述数据索引发送至第一控制部件;
所述第一控制部件,用于基于所述数据索引查询所述第二数据的存储地址;在所述存储地址指向所述第二芯片的第二存储部件时,向第一芯片互连部件发送携带有所述存储地址的数据获取请求;
所述第一芯片互连部件,用于响应于所述数据获取请求,通过与所述第二芯片中的第二芯片互连部件进行交互,以将所述第一数据和所述第二数据汇总至目标芯片的目标算法逻辑部件,使得所述目标算法逻辑部件基于所述第一数据和所述第二数据执行所述工作量证明的获取过程,其中,所述目标芯片为所述第一芯片和所述第二芯片中之一。
2.根据权利要求1所述的装置,其特征在于,在所述目标芯片为所述第二芯片时,所述第一芯片互连部件,还用于:
响应于所述数据获取请求,从所述第一存储部件中获取所述第一数据;
将所述第一数据和所述数据获取请求发送至所述第二芯片互连部件;
所述第二芯片,包括:
所述第二芯片互连部件,用于将所述第一数据和所述数据获取请求发送至第二控制部件;
所述第二控制部件,用于确定处于空闲状态的第二算法逻辑部件;
将所述第一数据和所述数据获取请求发送至所述第二算法逻辑部件;
所述第二算法逻辑部件,用于基于所述数据获取请求中的存储地址,从所述第二存储部件中获取第二数据;
基于所述第一数据和所述第二数据执行所述工作量证明的获取过程。
3.根据权利要求1所述的装置,其特征在于,在所述目标芯片为所述第一芯片时,所述第一芯片互连部件,还用于:将所述数据获取请求发送至第二芯片互连部件;
所述第二芯片,包括:
所述第二芯片互连部件,用于基于所述数据获取请求中的存储地址,从所述第二存储部件中获取第二数据;
将所述第二数据发送至所述第一芯片互连部件;
所述第一芯片互连部件,用于将所述第二数据发送至所述第一算法逻辑部件;
所述第一算法逻辑部件,还用于基于所述第一数据和所述第二数据执行所述工作量证明的获取过程。
4.根据权利要求2或3所述的装置,其特征在于,所述装置还包括:
仲裁部件,用于接收所述第一芯片互连部件发送的仲裁请求;
将所述第一芯片和所述第二芯片中数据负载较小的芯片作为目标芯片;
向所述第一芯片互连部件发送描述所述目标芯片的通知信息。
5.根据权利要求1所述的装置,其特征在于,所述第一控制部件,还用于:
在所述存储地址指向所述第一存储部件时,基于所述存储地址控制所述第一存储部件将所述第二数据发送至所述第一算法逻辑部件;
所述第一算法逻辑部件,还用于基于所述第一数据和所述第二数据执行所述工作量证明的获取过程。
6.根据权利要求1所述的装置,其特征在于,所述第一芯片还包括:第一互连网络部件,用于将所述第一数据发送至所述第一算法逻辑部件。
7.根据权利要求1所述的装置,其特征在于,所述第一算法逻辑部件,还用于:在所述第一数据为完整数据集时,基于所述第一数据执行所述工作量证明的获取过程。
8.一种工作量证明的获取方法,其特征在于,应用于工作量证明的获取装置中的第一芯片,所述工作量证明的获取装置还包括:第二芯片,所述方法包括:
从本地的第一存储部件中提取参与工作量证明的获取过程的第一数据;
基于所述第一数据计算参与所述工作量证明的获取过程的第二数据的数据索引;
基于所述数据索引查询所述第二数据的存储地址;
在所述存储地址指向所述第二芯片的第二存储部件时,通过与所述第二芯片中的第二芯片互连部件进行交互,以将所述第一数据和所述第二数据汇总至目标芯片的目标算法逻辑部件,使得所述目标算法逻辑部件基于所述第一数据和所述第二数据执行所述工作量证明的获取过程,其中,所述目标芯片为所述第一芯片和所述第二芯片中之一。
9.根据权利要求8所述的方法,其特征在于,所述通过与所述第二芯片中的第二芯片互连部件进行交互,以将所述第一数据和所述第二数据汇总至目标芯片的目标算法逻辑部件,使得所述目标算法逻辑部件基于所述第一数据和所述第二数据执行所述工作量证明的获取过程,包括:
从所述第一存储部件中获取所述第一数据;
将所述第一数据和所述数据获取请求通过所述第二芯片互连部件发送至第二芯片的第二算法逻辑部件,以使得所述第二算法逻辑部件基于所述数据获取请求中的存储地址,从所述第二存储部件中获取第二数据,并基于所述第一数据和所述第二数据执行所述工作量证明的获取过程所述第二算法逻辑部件是第二控制部件确定的处于空闲状态的算法逻辑部件。
10.根据权利要求8所述的方法,其特征在于,所述通过与所述第二芯片中的第二芯片互连部件进行交互,以将所述第一数据和所述第二数据汇总至目标芯片的目标算法逻辑部件,使得所述目标算法逻辑部件基于所述第一数据和所述第二数据执行所述工作量证明的获取过程,包括:
基于所述数据获取请求中的存储地址通过第二芯片互连部件从所述第二存储部件中获取第二数据;
基于所述第一数据和所述第二数据执行所述工作量证明的获取过程。
11.根据权利要求9或10所述的方法,其特征在于,在所述通过与所述第二芯片中的第二芯片互连部件进行交互,以将所述第一数据和所述第二数据汇总至目标芯片的目标算法逻辑部件,使得所述目标算法逻辑部件基于所述第一数据和所述第二数据执行所述工作量证明的获取过程之前,所述方法还包括:
将所述第一芯片和所述第二芯片中数据负载较小的芯片作为目标芯片;
向所述第一芯片互连部件发送描述所述目标芯片的通知信息。
12.根据权利要求8所述的方法,其特征在于,所述方法还包括:
在所述存储地址指向所述第一存储部件时,基于所述存储地址从第一存储部件将所述第二数据发送至所述第一算法逻辑部件;
基于所述第一数据和所述第二数据通过所述第一算法逻辑部件执行所述工作量证明的获取过程。
13.根据权利要求8所述的方法,其特征在于,所述方法还包括:
通过第一互连网络部件将所述第一数据发送至所述第一算法逻辑部件。
14.根据权利要求8所述的方法,其特征在于,所述方法还包括:
在所述第一数据为完整数据集时,基于所述第一数据通过所述第一算法逻辑部件执行所述工作量证明的获取过程。
15.一种计算处理设备,其特征在于,包括:
存储器,其中存储有计算机可读代码;
一个或多个处理器,当所述计算机可读代码被所述一个或多个处理器执行时,所述计算处理设备执行如权利要求8-14中任一项所述的工作量证明的获取方法。
16.一种非瞬态计算机可读介质,其特征在于,其中存储了如权利要求8-14中任一项所述的工作量证明的获取方法的计算机程序。
CN202111425635.2A 2021-11-26 2021-11-26 工作量证明的获取装置、方法、电子设备、存储介质 Pending CN114238157A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111425635.2A CN114238157A (zh) 2021-11-26 2021-11-26 工作量证明的获取装置、方法、电子设备、存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111425635.2A CN114238157A (zh) 2021-11-26 2021-11-26 工作量证明的获取装置、方法、电子设备、存储介质

Publications (1)

Publication Number Publication Date
CN114238157A true CN114238157A (zh) 2022-03-25

Family

ID=80751544

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111425635.2A Pending CN114238157A (zh) 2021-11-26 2021-11-26 工作量证明的获取装置、方法、电子设备、存储介质

Country Status (1)

Country Link
CN (1) CN114238157A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114928577A (zh) * 2022-07-19 2022-08-19 中科声龙科技发展(北京)有限公司 工作量证明芯片及其处理方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114928577A (zh) * 2022-07-19 2022-08-19 中科声龙科技发展(北京)有限公司 工作量证明芯片及其处理方法
CN114928577B (zh) * 2022-07-19 2022-10-21 中科声龙科技发展(北京)有限公司 工作量证明芯片及其处理方法

Similar Documents

Publication Publication Date Title
JP2016522475A (ja) 複数ヴァージョンをテストするための方法及びデバイス
CN114095567B (zh) 数据访问请求的处理方法、装置、计算机设备及介质
WO2018040270A1 (zh) 在Windows系统中加载Linux系统ELF文件的方法及装置
KR20200084707A (ko) 태스크 분산 처리를 관리하는 마스터 장치, 태스크를 처리하는 태스크 처리 장치, 및 그 동작 방법
CN111988429A (zh) 算法调度方法以及系统
CN110928739A (zh) 一种进程监控方法、装置以及计算设备
US9639340B2 (en) System and method of loading virtual machines
CN112559173A (zh) 资源调节方法、装置、电子设备和可读存储介质
CN114238157A (zh) 工作量证明的获取装置、方法、电子设备、存储介质
JP2009277022A (ja) 情報処理システム、負荷制御方法、および負荷制御プログラム
CN109241511B (zh) 一种电子报告的生成方法及设备
CN114048136A (zh) 测试类型确定方法、装置、服务器、介质及产品
CN110750498A (zh) 对象访问方法、装置及存储介质
CN115905040B (zh) 计数器的处理方法、图形处理器、设备及存储介质
CN111857995A (zh) 进程调度方法和装置、存储介质及电子装置
CN109408225B (zh) 资源扩容方法、装置、计算机设备以及存储介质
US8938479B1 (en) Systems and methods for dynamically selecting a logical location for an index
CN110795215A (zh) 一种数据处理方法、计算机设备、存储介质
CN108345791B (zh) 处理器安全检测方法、系统及检测装置
US10872347B2 (en) Transmitting application data for on-device demos
CN114741165A (zh) 数据处理平台的处理方法、计算机设备及存储装置
TW201133238A (en) Automatic detection of stress condition
CN110858184B (zh) 一种pci总线设备枚举方法和装置
CN108846141B (zh) 一种离线缓存加载方法及装置
CN116881016B (zh) 服务器进程的处理方法及装置、存储介质及电子设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination