CN110866264A - 一种多芯片多板卡协同运算方法、装置及设备 - Google Patents
一种多芯片多板卡协同运算方法、装置及设备 Download PDFInfo
- Publication number
- CN110866264A CN110866264A CN201911121662.3A CN201911121662A CN110866264A CN 110866264 A CN110866264 A CN 110866264A CN 201911121662 A CN201911121662 A CN 201911121662A CN 110866264 A CN110866264 A CN 110866264A
- Authority
- CN
- China
- Prior art keywords
- cryptographic
- password
- target
- chip
- task
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本公开涉及一种多芯片多板卡协同运算方法、装置及设备,该方法包括:获取密码运算任务;将所述密码运算任务分成不同的密码运算子任务;根据预先得到的密码板卡的第一权重,将所述密码运算子任务分配给目标密码板卡;根据预先得到的密码芯片的第二权重,将所述密码运算子任务分配给所述目标密码板卡中的目标密码芯片,以完成所述密码运算任务。这样能够根据获取到的密码运算任务,灵活配置相应的密码板卡和密码芯片来并行执行此任务,加快密码运算任务的完成速度,提高密码设备整机的运算处理性能,节约成本。
Description
技术领域
本公开涉及信息安全密码技术领域,具体地,涉及一种多芯片多板卡协同运算方法、装置及设备。
背景技术
大数据所具有大容量、快速化、多样化、低价值密度等特点,大数据计算和存储等处理系统面对的是由海量的较小规模较小数据量的小型计算和存储任务所汇集成的超大规模超大数据容量超高复杂度的数据计算和存储需求。对于有数据机密性和完整性需求的大数据处理,要求具有高性能密码设备或者密码设备集群才能适应该场景的需求。
现有密码设备基本只配备单块密码芯片,单密码芯片运算能力有限,单一的密码部件已经极大地制约了整机性能地有效提升。密码设备能提供的最大运算性能已经固化,无法灵活地扩展运算性能,只能增加设备台套数,加大投资,采用横向扩展的方式,以满足业务需求快速发展的需求。
发明内容
有鉴于此,本公开的目的在于提供一种多芯片多板卡协同运算方法、装置及设备,能够根据接收到的密码运算任务,灵活配置相应的密码板卡和密码芯片来并行执行此任务,加快密码运算任务的完成速度,提高密码设备整机的运算处理性能,节约成本。其具体方案如下:
第一方面,本公开提供了一种多芯片多板卡协同运算方法,应用于具有多密码板卡多密码芯片的密码设备,包括:
获取密码运算任务;
将所述密码运算任务分成不同的密码运算子任务;
根据预先得到的密码板卡的第一权重,将所述密码运算子任务分配给目标密码板卡;
根据预先得到的密码芯片的第二权重,将所述密码运算子任务分配给所述目标密码板卡中的目标密码芯片,以完成所述密码运算任务。
可选地,所述根据预先得到的密码板卡的第一权重,将所述密码运算子任务分配给目标密码板卡之前,还包括:
按照预设时间间隔,获取密码板卡和所述密码板卡内各个密码芯片的实时运行情况,以得到所述密码板卡的第一权重和所述密码芯片的第二权重。
可选的,所述将所述密码运算任务分成不同的密码运算子任务之前,还包括:
判断所述密码运算任务的运算量是否大于密码板卡运算阈值。
可选地,所述将所述密码运算任务分成不同的密码运算子任务,包括:
如果所述密码运算任务的运算量大于所述密码板卡运算阈值,则根据所述密码板卡运算阈值,确定密码运算子任务的数量;
根据所述密码运算子任务的数量,将所述密码运算任务分成不同的所述密码运算子任务。
可选地,所述获取密码运算任务之后,还包括:
对所述密码运算任务进行标识,以确定用于执行所述密码运算任务的第一目标密码算法。
可选地,所述根据预先得到的密码芯片的第二权重,将所述密码运算子任务分配给所述目标密码板卡中的目标密码芯片,以完成所述密码运算任务,包括:
根据所述密码运算任务的所述第一目标密码算法,得到用于执行所述密码运算子任务的第二目标密码算法;
根据所述密码运算子任务的所述第二目标密码算法,确定所述目标密码板卡中的第一目标密码芯片;
根据所述第一目标密码芯片的密码芯片运算阈值,确定实际执行所述密码运算子任务的第二目标密码芯片的数量;
根据所述第二目标密码芯片的数量和第一目标密码芯片的所述第二权重,从所述第一目标密码芯片中确定所述第二目标密码芯片;
根据所述第二目标密码芯片的所述第二权重,将所述密码运算子任务分配给所述第二目标密码芯片,以完成所述密码运算任务。
可选地,所述根据预先得到的密码芯片的第二权重,将所述密码运算子任务分配给所述目标密码板卡中的目标密码芯片,以完成所述密码运算任务,包括:
根据所述密码运算任务的所述第一目标密码算法,得到用于执行所述密码运算子任务的第二目标密码算法;
根据所述密码运算子任务的所述第二目标密码算法,确定所述目标密码板卡中的第一目标密码芯片;
根据所述第一目标密码芯片的密码芯片运算阈值,确定实际执行所述密码运算子任务的第二目标密码芯片的数量;
根据所述第二目标密码芯片的数量和第一目标密码芯片的所述第二权重,从所述第一目标密码芯片中确定所述第二目标密码芯片;
将所述密码运算子任务平均分配给所述第二目标密码芯片,以完成所述密码运算任务。
可选地,所述根据预先得到的密码芯片的第二权重,将所述密码运算子任务分配给所述目标密码板卡中的目标密码芯片,以完成所述密码运算任务,包括:
根据预先得到的密码芯片的第二权重,将所述密码运算子任务分配给所述目标密码板卡中的目标密码芯片,利用所述目标密码芯片并行执行所述密码运行子任务,以完成所述密码运算任务。
第二方面,本公开提供一种多芯片多板卡协同运算装置,包括:
任务获取模块,用于获取密码运算任务;
任务拆分模块,用于将所述密码运算任务分成不同的密码运算子任务;
第一任务分配模块,用于根据预先得到的密码板卡的第一权重,将所述密码运算子任务分配给目标密码板卡;
第二任务分配模块,用于根据预先得到的密码芯片的第二权重,将所述密码运算子任务分配给所述目标密码板卡中的目标密码芯片,以完成所述密码运算任务。
第三方面,本公开提供一种电子设备,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现前述提供的多芯片多板卡协同运算方法的步骤。
可见,本公开先获取密码运算任务,并将所述密码运算任务分成不同的密码运算子任务,然后根据预先得到的密码板卡的第一权重,将所述密码运算子任务分配给目标密码板卡,再根据预先得到密码芯片的第二权重,将所述密码运算子任务分配给目标密码芯片,以完成所述密码运算任务,这样能够根据获取到的密码运算任务,灵活配置相应的密码板卡和密码芯片来并行执行此任务,加快密码运算任务的完成速度,提高密码设备整机的运算处理性能,节约成本。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1是一种多芯片多板卡协同运算方法流程图;
图2是一种具有多密码板卡多密码芯片的密码设备结构示意图;
图3是一种密码模块结构示意图;
图4是一种具体的多芯片多板卡协同运算方法流程图;
图5是一种多芯片多板卡协同运算装置结构示意图;
图6是一种多芯片多板卡协同运算设备结构示意图;
图7是一种电子设备结构示意图。
具体实施方式
以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。
目前,密码设备基本只配备单块密码芯片,单密码芯片运算能力有限,单一的密码部件已经极大地制约了整机性能地有效提升。密码设备能提供的最大运算性能已经固化,无法灵活地扩展运算性能,只能增加设备台套数,加大投资,采用横向扩展的方式,以满足业务需求快速发展的需求。有鉴于此,本公开提供了一种多芯片多板卡协同运算方法,能够根据接收到的密码运算任务,灵活配置相应的密码板卡和密码芯片来并行执行此任务,加快密码运算任务的完成速度,提高密码设备整机的运算处理性能,节约成本。
参见图1所示,本公开实施例提供了一种多芯片多板卡协同运算方法,应用于具有多密码板卡多密码芯片的密码设备,该方法包括:
步骤S11:获取密码运算任务。
本实施例中,需要先获取密码运算任务。在获取到所述密码运算任务之后,可相应的获得所述密码运算任务的运算量,再利用所述运算量判断是否需要配置多个密码板卡来执行所述密码运算任务。
步骤S12:将所述密码运算任务分成不同的密码运算子任务。
在具体的实施方式中,需要将所述密码运算任务分成不同的密码运算子任务,并配置相应的密码板卡以及密码芯片来执行所述密码运算子任务,加快密码运算效率。
在第一种具体的实施方式中,接收到所述密码运算任务后,直接将所述密码运算任务分成预设数量份不同的密码运算子任务。具体的,接收到所述密码运算子任务后,将所述密码运算子任务分成数量与预设数量相等的密码运算子任务。
在第二种具体的实施方式中,按照预设运算量将所述密码运算子任务分成不同的密码运算子任务。具体的,先根据预设运算量确定密码运算子任务的数量,再根据所述密码运算子任务的数量,将所述密码运算任务分成不同的所述密码运算子任务。
在第三种具体的实施方式中,在获取到所述密码运算任务后,先判断所述密码运算任务的运算量是否大于密码板卡运算阈值,以决定是否需要将所述密码运算任务分成多个不同的密码运算子任务。如果所述密码运算任务的运算量大于所述密码板卡运算阈值,则将所述密码运算任务分成不同的密码运算子任务,以便将所述密码运算子任务分配给相应的所述密码板卡;如果所述密码运算任务的运算量小于或等于密码板卡运算阈值,则可以不拆分所述密码运算任务,由一个密码板卡执行所述密码运算任务。其中,所述密码板卡运算阈值不同于所述预设运算量。所述具有多密码板卡多密码芯片的密码设备中的每个密码板卡都有对应的密码板卡运算阈值,每个密码芯片也有对应的密码芯片运算阈值,且由于所述密码板卡相同,各个所述密码板卡的所述密码板卡运算阈值也相同,不同的所述密码芯片的所述密码芯片运算阈值也相同,当所述密码运算任务的运算量超过一个所述密码板卡的运算阈值后,就需要有不同的密码板卡协同运算,以快速完成所述密码运算任务。
步骤S13:根据预先得到的密码板卡的第一权重,将所述密码运算子任务分配给目标密码板卡。
本实施例中,需要预先获取的密码板卡的第一权重,其中,所述第一权重标识密码板卡的实时运行情况。将所述密码运算任务分成不同的密码运算子任务后,需要根据所述第一权重,将所述密码运算子任务分配给目标密码板卡。
步骤S14:根据预先得到的密码芯片的第二权重,将所述密码运算子任务分配给所述目标密码板卡中的目标密码芯片,以完成所述密码运算任务。
可以理解的是,所述密码板卡中包括多个不同的密码芯片,所以在将所述密码运算子任务分配给目标密码板卡后,还需要根据预先得到的密码芯片的第二权重,将所述密码运算子任务分配给相应的目标密码芯片,以完成所述密码运算任务。在所述密码运算任务的执行过程中,如果接收到另外的密码运算任务,可以进行并行处理。所述根据预先得到的密码芯片的第二权重,将所述密码运算子任务分配给所述目标密码板卡中的目标密码芯片,以完成所述密码运算任务,包括:根据预先得到的密码芯片的第二权重,将所述密码运算子任务分配给所述目标密码板卡中的目标密码芯片,利用所述目标密码芯片并行执行所述密码运行子任务,以完成所述密码运算任务。
参见图2所示,为一种具体的具有多密码板卡所密码芯片的密码设备结构示意图。所述密码设备采用分层设计,每层的功能构建与下层提供的服务之上。并隐藏下层服务实现的细节,所述密码设备的各层从上到下依次是应用层、设备管理层、接口层以及密码模块层。其中,所述应用层可以提供安全应用;所述设备管理层包括:业务服务、逻辑管理服务、监控服务、主控管理模块、密钥管理模块、证书管理模块、设备管理模块、用户管理模块、配置管理模块、日志模块、业务逻辑模块、自检模块、看门狗模块以及基础功能模块,所述基础功能模块包括:基础库、证书库、算法库、接口库、数据库操作库以及硬件库;所述接口层为密码模块驱动接口层;所述密码模块层包括多个密码模块,所述密码模块也即密码板卡。其中,所述密码模块层还包括:控制芯片,以控制所述密码模块。所述密码模块的结构可以相同。所述密码设备中的各个模块具有独立性,各个模块负责管理相应的资源,如内存分配,以模块独立的方式处理与上层管理器之间的接口,并根据任务请求的种类、请求的路径、请求建立的上下文关系等要素,对任务请求进行独立的访问控制,不受外界的干扰和影响。
参见图3所示,为密码模块结构示意图。所述密码模块包括主控芯片、密码芯片以及接口总线,所述密码芯片又包括不同的密码算法芯片,相同密码算算芯片的数量可以大于1。所述主控芯片上包括相应的软件层,所述软件层从上到下依次是安全引导程序、OS(Operating System)和密码模块管理程序、密码算法代理。所述安全引导程序保存在所述主控芯片的ROM(Read-Only Memory,只读内存),在密码设备启东时首先运行,引导并控制相应设备配置,保证需要加载软件模块的可信性和完整性。所述密码模块管理程序密码模块管理程序基于Linux在后台运行,包括:密码功能管理器和密钥管理管理器。其中,所述密钥管理管理器根据外部密钥管理命令,完成相应密码模块内部密钥存储、使用、自检等管理任务,并且,在密码模块启动时获取软硬件功能信息,记录在本地资源表中,表中信息在启动过程中传送给外部管理机端的资源管理器。所述密码功能管理器针对不同的密码功能调用相应的低层代码实现完整的密码算法功能。根据所述密码模块内部资源注册表,以服务线程的形式建立相应算法的代理,以完成相应的密码运算任务。代理在进行服务之前,首先要在所述外部管理机端的所述资源管理器进行相应的注册,由管理器分配唯一标识标记该代理及相应的会话连接。所述外部管理机端将资源注册表中的、与所述代理对应的信息维护在标识表中,所述标识作为密码模块中运算资源在述外部管理机端的抽象,供述外部管理机端调度管理器进行密码作业调度。所述算法代理采用共享方式设置多个代理,以交替调用芯片处理密码运算任务,令芯片处理时间与CPU处理数据和结果传输所用时间重叠,提高了芯片的利用率和系统的总体性能。
可见,本公开先获取密码运算任务,并将所述密码运算任务分成不同的密码运算子任务,然后根据预先得到的密码板卡的第一权重,将所述密码运算子任务分配给目标密码板卡,再根据预先得到密码芯片的第二权重,将所述密码运算子任务分配给目标密码芯片,以完成所述密码运算任务,这样能够根据获取到的密码运算任务,灵活配置相应的密码板卡和密码芯片来并行执行此任务,加快密码运算任务的完成速度,提高密码设备整机的运算处理性能,节约成本。
参见图4所示,本公开实施例提供了一种具体的多芯片多板卡协同运算方法,应用于具有多密码板卡多密码芯片的密码设备,该方法包括:
步骤S201:按照预设时间间隔,获取密码板卡和所述密码板卡内各个密码芯片的实时运行情况,以得到所述密码板卡的第一权重和所述密码芯片的第二权重。
本实施例中,需要得到密码板卡的第一权重,以及所述密码板卡中的密码芯片的第二权重。其中,所述第一权重表示密码板卡的实时运行情况,所述第二权重表示所述密码板卡中的密码芯片的实时运行情况。以便利用所述第一权重和所述第二权重确定用于执行所述密码运算任务的密码板卡和密码芯片,缩短密码运算时间,加快密码运算效率,提高密码设备整机运算性能。
在一种具体的实施方式中,按照预设时间间隔,获取密码板卡和所述密码板卡内各个密码芯片的实时运行情况,以得到所述密码板卡的第一权重和所述密码芯片的第二权重。具体的,按照预设时间间隔,获取密码板卡的所述密码板卡中的密码芯片的实施运行情况,将所述密码板卡的所述实施运行情况转化成所述密码板卡的第一权重,将所述密码芯片的实施运行情况转化成所述密码芯片的第二权重。例如,每隔2分钟,获取一次密码板卡和所述密码板卡中的密码芯片的实施运行情况,以得到所述密码板卡的第一权重和所述密码芯片的第二权重。
在另一种具体的实施方式中,在接收到密码运算任务后,获取密码板卡和所述密码板卡内各个密码芯片的实时运行情况,以得到所述密码板卡的第一权重和所述密码芯片的第二权重。也即,以接收到密码运算任务为触发,获取密码板卡和所述密码板卡内各个密码芯片的实时运行情况,以得到所述密码板卡的第一权重和所述密码芯片的第二权重。
本实施例中,所述第一权重和所述第二权重可以表示所述密码板卡和所述密码芯片的实时负载情况,也可以表示所述密码板卡和所述密码芯片的实时负载剩余情况。也即所述第一权重和所述第二权重可以表示所述密码板卡和所述密码芯片的当前被占用的运算能力情况,也可以表示所述密码板卡和所述密码芯片的当前未被占用的运算能力情况。
步骤S202:获取密码运算任务。
步骤S203:对所述密码运算任务进行标识,以确定用于执行所述密码运算任务的第一目标密码算法。
可以理解的是,根据接收到的密码运算任务要实现功能的不同,需要配置相应的密码芯片来执行所述密码运算任务,所以在接收到密码运算任务后,需要对所述密码运算任务进行相应的标识,以确定用于执行所述密码运算任务的第一目标密码算法。先确定用于执行所述密码运算任务的第一目标密码算法,有利于将所述密码运算任务准确分配给相应的密码芯片。
步骤S204:判断所述密码运算任务的运算量是否大于密码板卡运算阈值。
步骤S205:如果所述密码运算任务的运算量大于密码板卡运算阈值,则根据所述密码板卡运算阈值,确定密码运算子任务的数量。
可以理解的是,当所述密码运算任务的运算量大于密码板卡运算阈值时,需要将所述密码运算任务分成不同的密码运算子任务。将所述密码运算任务分成不同的密码运算子任务时,需先根据所述密码板卡运算阈值,确定密码运算子任务数量。例如,所述密码板卡运算阈值为200,所述密码运算任务的运算量为150,则密码运算子任务数量为2。这样有利于缩短密码运算时间,加快密码运算效率,提高密码设备整机运算性能。
步骤S206:根据所述密码运算子任务的数量,将所述密码运算任务分成不同的所述密码运算子任务。
在具体的实施过程中,确定出密码运算子任务数量之后,根据所述密码运算子任务的数量,将所述密码运算任务分成不同的所述密码运算子任务。所述根据所述密码运算子任务的数量,将所述密码运算任务分成不同的所述密码运算子任务,包括:根据所述密码运算子任务的数量,将所述密码运算任务平均分成不同的密码运算子任务。这样有利于多个密码模块并行执行所述密码运算任务,以缩短密码运算时间,加快密码运算效率,提高密码设备整机运算性能。
步骤S207:根据所述第一权重,将所述密码运算子任务分配给目标密码板卡。
本实施例中,将所述密码运算任务分成不同的密码运算子任务后,还需根据最新得到的所述第一权重,将所述密码运算子任务分配给目标密码板卡。其中,所述目标密码板卡的数量与所述密码运算子任务数量相等。
在一种具体的实施方式中,假设所述密码运算子任务数量为N,如果所述第一权重表示所述密码板卡的当前负载情况,则将所述第一权重最小的N个密码板卡确定为目标密码板卡,并将所述密码运算子任务分配给所述目标密码板卡。例如,所述密码运算子任务数量为3,所述密码设备共有6各密码板卡,且密码板卡1的第一权重为0.1、密码板卡2的第一权重为0.3、密码板卡3的第一权重为0.1、密码板卡4的第一权重为0.3、密码板卡5的第一权重为0.05、密码板卡6的第一权重为0.15,将所述密码板卡5、所述密码板卡1和所述密码板卡3确定为目标密码板卡,并将所述密码运算子任务分配给所述目标密码模块。
在另一种具体的具体的实施方式中,假设所述密码运算子任务数量为N,如果所述第一权重表示所述密码板卡的当前负载剩余情况,则将所述第一权重最大的N个密码板卡确定为目标密码板卡,并将所述密码运算子任务分配给所述目标密码板卡。例如,所述密码运算子任务数量为3,所述密码设备共有6各密码板卡,且密码板卡1的第一权重为0.1、密码板卡2的第一权重为0.3、密码板卡3的第一权重为0.1、密码板卡4的第一权重为0.3、密码板卡5的第一权重为0.05、密码板卡6的第一权重为0.15,将所述密码板卡2、所述密码板卡4和所述密码板卡6确定为目标密码板卡,并将所述密码运算子任务分配给所述目标密码模块。
步骤S208:根据所述密码运算任务的所述第一目标密码算法,得到用于执行所述密码运算子任务的第二目标密码算法。
在具体的实施过程中,需要根据所述密码运算任务的所述第一目标密码算法,得到用于执行各个所述密码运算子任务的第二目标密码算法。其中,所述第一密码算法包括各个所述密码运算子任务的所述第二目标密码算法。
步骤S209:根据所述密码运算子任务的所述第二目标密码算法,确定所述目标密码板卡中的第一目标密码芯片。
本实施例中,由于所述目标密码板卡中包括不同算法的密码芯片,可以实现不同的密码功能,且相同密码算法的密码芯片的数量也会大于1,所以在将所述密码运算子任务分配给不同的密码芯片之前,需要根据所述密码运算任务的所述第一目标密码算法,得到用于执行所述密码运算子任务的第二目标密码算法,并根据所述第二目标密码算法确定所述密码密码板卡中的第一目标密码芯片。例如,所述第二目标密码算法为密码算法2,则将所述密码算法2对应的芯片确定为第一目标芯片。
步骤S210:根据所述第一目标密码芯片的密码芯片运算阈值,确定实际执行所述密码运算子任务的第二目标密码芯片的数量。
在具体的实施过程中,每个所述第一目标密码芯片对应有密码芯片运算阈值,如果所述密码运算任务的运算量大于所述密码芯片运算阈值,则需要将所述密码运算子任务分配给不同的密码芯片来执行,所以需要先根据所述第一目标密码芯片的密码芯片运算阈值,确定实际执行所述密码运算子任务的第二目标密码芯片数量。例如,所述密码芯片运算阈值50,所述密码运算子任务56,则实际执行所述密码运算子任务的第二目标密码芯片数量为2。
步骤S211:根据所述第二目标密码芯片的数量和第一目标密码芯片的所述第二权重,从所述第一目标密码芯片中确定所述第二目标密码芯片。
本实施例中,需要根据所述第二目标密码芯片数量以及第一目标密码芯片的最新得到的所述第二权重,从所述第一目标密码芯片中确定第二目标密码芯片。
在第一种具体的实时过程中,假设所述第二目标密码芯片数量M,如果所述第二权重表示所述第一目标密码芯片的当前负载情况,则将所述第二权重最小的M个密码芯片确定为第二目标密码芯片。例如,所述第二目标密码芯片数量为2,所述第一目标密码芯片共有4块,且第一目标密码芯片1的第二权重为0.1、第一目标密码芯片2的第二权重为0.4、第一目标密码芯片3的第二权重为0.2、第一目标密码芯片4的第二权重为0.3,将第一目标密码芯片1和第一目标密码芯片3确定为第二目标密码芯片。
在第二种具体的实时过程中,假设所述第二目标密码芯片数量M,如果所述第二权重表示所述第一目标密码芯片的当前负载情况,则将所述第二权重最大的M个密码芯片确定为第二目标密码芯片。例如,所述第二目标密码芯片数量为2,所述第一目标密码芯片共有4块,且第一目标密码芯片1的第二权重为0.1、第一目标密码芯片2的第二权重为0.4、第一目标密码芯片3的第二权重为0.2、第一目标密码芯片4的第二权重为0.3,将第一目标密码芯片2和第一目标密码芯片4确定为第二目标密码芯片。
步骤S212:将所述密码运算子任务平均分配给所述第二目标密码芯片,以完成所述密码运算任务。
在具体的实时过程中,在从所述第一目标密码芯片中确定第二目标密码芯片之后,还需要将所述密码运算子任务平均分配给所述第二目标密码芯片,以完成所述密码运算任务。利用多个密码芯片来分担所述密码运算任务,可以利用多个密码芯片并行执行所述密码运算任务,缩短密码运算时间。
本实施例中,将所述密码任务分配给不同的密码板卡,还可以先根据所述密码运算子任务的数量和所述第一权重,确定出目标密码板卡,再根据所述目标密码板卡的所述第一权重,将所述密码运算任务分成不同的密码运算子任务,然后将所述密码运算子任务分配给所述目标密码板卡。具体的,如果所述目标密码板卡的所述第一权重表示所述目标密码板卡的当前负载时,所述目标密码板卡的所述第一权重越小,则分到的所述密码运算子任务的运算量越大。
在具体的实施过程中,将所述密码运算子任务分配给目标密码芯片,还可以根据所述密码运算子任务的所述第二目标密码算法,确定所述目标密码板卡中的第一目标密码芯片;然后根据所述第一目标密码芯片的密码芯片运算阈值,确定实际执行所述密码运算子任务的第二目标密码芯片的数量;并根据所述第二目标密码芯片的数量和第一目标密码芯片的所述第二权重,从所述第一目标密码芯片中确定所述第二目标密码芯片;接着根据所述第二目标密码芯片的所述第二权重,将所述密码运算子任务分配给所述第二目标密码芯片,以完成所述密码运算任务。具体的,如果所述第二目标密码芯片的所述第二权重表示所述第二目标密码芯片的当前负载剩余时,所述第二目标密码芯片的所述第二权重越大,则分到的所述密码运算子任务的运算量越大。这样可以根据密码芯片的实际运行情况,将密码运算子任务分配给当前负载少的密码芯片,进一步缩短密码运算时间,加快密码运算效率,提高密码设备整机运算性能。
参见图5所示,本公开实施例提供了一种多芯片多板卡协同运算装置10,包括:
任务获取模块11,用于获取密码运算任务;
任务拆分模块12,用于将所述密码运算任务分成不同的密码运算子任务;
第一任务分配模块13,用于根据预先得到的密码板卡的第一权重,将所述密码运算子任务分配给目标密码板卡;
第二任务分配模块14,用于根据预先得到的密码芯片的第二权重,将所述密码运算子任务分配给所述目标密码板卡中的目标密码芯片,以完成所述密码运算任务。
可见,本公开先获取密码运算任务,并将所述密码运算任务分成不同的密码运算子任务,然后根据预先得到的密码板卡的第一权重,将所述密码运算子任务分配给目标密码板卡,再根据预先得到密码芯片的第二权重,将所述密码运算子任务分配给目标密码芯片,以完成所述密码运算任务,这样能够根据获取到的密码运算任务,灵活配置相应的密码板卡和密码芯片来并行执行此任务,加快密码运算任务的完成速度,提高密码设备整机的运算处理性能,节约成本。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
进一步的,本公开实施例还提供了一种计算机可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现以下步骤:
获取密码运算任务;将所述密码运算任务分成不同的密码运算子任务;根据预先得到的密码板卡的第一权重,将所述密码运算子任务分配给目标密码板卡;根据预先得到的密码芯片的第二权重,将所述密码运算子任务分配给所述目标密码板卡中的目标密码芯片,以完成所述密码运算任务。
可见,本公开先获取密码运算任务,并将所述密码运算任务分成不同的密码运算子任务,然后根据预先得到的密码板卡的第一权重,将所述密码运算子任务分配给目标密码板卡,再根据预先得到密码芯片的第二权重,将所述密码运算子任务分配给目标密码芯片,以完成所述密码运算任务,这样能够根据获取到的密码运算任务,灵活配置相应的密码板卡和密码芯片来并行执行此任务,加快密码运算任务的完成速度,提高密码设备整机的运算处理性能,节约成本。
本实施例中,所述计算机可读存储介质中保存的计算机子程序被处理器执行时,可以具体实现以下步骤:按照预设时间间隔,获取密码板卡和所述密码板卡内各个密码芯片的实时运行情况,以得到所述密码板卡的第一权重和所述密码芯片的第二权重。
本实施例中,所述计算机可读存储介质中保存的计算机子程序被处理器执行时,可以具体实现以下步骤:判断所述密码运算任务的运算量是否大于密码板卡运算阈值。
本实施例中,所述计算机可读存储介质中保存的计算机子程序被处理器执行时,可以具体实现以下步骤:如果所述密码运算任务的运算量大于所述密码板卡运算阈值,则根据所述密码板卡运算阈值,确定密码运算子任务的数量;根据所述密码运算子任务的数量,将所述密码运算任务分成不同的密码运算子任务。
本实施例中,所述计算机可读存储介质中保存的计算机子程序被处理器执行时,可以具体实现以下步骤:对所述密码运算任务进行标识,以确定用于执行所述密码运算任务的第一目标密码算法。
本实施例中,所述计算机可读存储介质中保存的计算机子程序被处理器执行时,可以具体实现以下步骤:根据所述密码运算任务的所述第一目标密码算法,得到用于执行所述密码运算子任务的第二目标密码算法;根据所述密码运算子任务的所述第二目标密码算法,确定所述目标密码板卡中的第一目标密码芯片;根据所述第一目标密码芯片的密码芯片运算阈值,确定实际执行所述密码运算子任务的第二目标密码芯片的数量;根据所述第二目标密码芯片的数量和第一目标密码芯片的所述第二权重,从所述第一目标密码芯片中确定所述第二目标密码芯片;根据所述第二目标密码芯片的所述第二权重,将所述密码运算子任务分配给所述第二目标密码芯片,以完成所述密码运算任务。
本实施例中,所述计算机可读存储介质中保存的计算机子程序被处理器执行时,可以具体实现以下步骤:根据所述密码运算任务的所述第一目标密码算法,得到用于执行所述密码运算子任务的第二目标密码算法;根据所述密码运算子任务的所述第二目标密码算法,确定所述目标密码板卡中的第一目标密码芯片;根据所述第一目标密码芯片的密码芯片运算阈值,确定实际执行所述密码运算子任务的第二目标密码芯片的数量;根据所述第二目标密码芯片的数量和第一目标密码芯片的所述第二权重,从所述第一目标密码芯片中确定所述第二目标密码芯片;将所述密码运算子任务平均分配给所述第二目标密码芯片,以完成所述密码运算任务。
本实施例中,所述计算机可读存储介质中保存的计算机子程序被处理器执行时,可以具体实现以下步骤:根据预先得到的密码芯片的第二权重,将所述密码运算子任务分配给所述目标密码板卡中的目标密码芯片,利用所述目标密码芯片并行执行所述密码运行子任务,以完成所述密码运算任务。
进一步的,参见图6所示,本申请实施例还公开了一种多芯片多板卡协同运算设备,包括:处理器21和存储器22。
其中,所述存储器22,用于存储计算机程序;所述处理器21,用于执行所述计算机程序,以实现前述实施例中公开的多芯片多板卡协同运算方法。
其中,关于上述多芯片多板卡协同运算方法的具体过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
图7是根据一示例性实施例示出的一种电子设备20的框图。该电子设备20包括前述实施例中的处理器21和存储器22。该电子设备20还可以包括多媒体组件23,输入/输出(I/O)接口24,以及通信组件25中的一者或多者。
其中,处理器21用于控制该电子设备20的整体操作,以完成上述的多芯片多板卡协同运算方法中的全部或部分步骤。存储器22用于存储各种类型的数据以支持在该电子设备20的操作,这些数据例如可以包括用于在该电子设备20上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器22可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。多媒体组件23可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器22或通过通信组件25发送。音频组件还包括至少一个扬声器,用于输出音频信号。I/O接口24为处理器21和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件25用于该电子设备20与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near FieldCommunication,简称NFC),2G、3G或4G,或它们中的一种或几种的组合,因此相应的该通信组件25可以包括:Wi-Fi模块,蓝牙模块,NFC模块。
在一示例性实施例中,电子设备20可以被一个或多个应用专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器(DigitalSignal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的多芯片多板卡协同运算方法。
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。
此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。
最后,还需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或者操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得一系列包含其他要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (10)
1.一种多芯片多板卡协同运算方法,其特征在于,应用于具有多密码板卡多密码芯片的密码设备,包括:
获取密码运算任务;
将所述密码运算任务分成不同的密码运算子任务;
根据预先得到的密码板卡的第一权重,将所述密码运算子任务分配给目标密码板卡;
根据预先得到的密码芯片的第二权重,将所述密码运算子任务分配给所述目标密码板卡中的目标密码芯片,以完成所述密码运算任务。
2.根据权利要求1所述的多芯片多板卡协同运算方法,其特征在于,所述根据预先得到的密码板卡的第一权重,将所述密码运算子任务分配给目标密码板卡之前,还包括:
按照预设时间间隔,获取密码板卡和所述密码板卡内各个密码芯片的实时运行情况,以得到所述密码板卡的第一权重和所述密码芯片的第二权重。
3.根据权利要求1所述的多芯片多板卡协同运算方法,其特征在于,所述将所述密码运算任务分成不同的密码运算子任务之前,还包括:
判断所述密码运算任务的运算量是否大于密码板卡运算阈值。
4.根据权利要求3所述的多芯片多板卡协同运算方法,其特征在于,所述将所述密码运算任务分成不同的密码运算子任务,包括:
如果所述密码运算任务的运算量大于所述密码板卡运算阈值,则根据所述密码板卡运算阈值,确定密码运算子任务的数量;
根据所述密码运算子任务的数量,将所述密码运算任务分成不同的所述密码运算子任务。
5.根据权利要求1所述的多芯片多板卡协同运算方法,其特征在于,所述获取密码运算任务之后,还包括:
对所述密码运算任务进行标识,以确定用于执行所述密码运算任务的第一目标密码算法。
6.根据权利要求5所述的多芯片多板卡协同运算方法,其特征在于,所述根据预先得到的密码芯片的第二权重,将所述密码运算子任务分配给所述目标密码板卡中的目标密码芯片,以完成所述密码运算任务,包括:
根据所述密码运算任务的所述第一目标密码算法,得到用于执行所述密码运算子任务的第二目标密码算法;
根据所述密码运算子任务的所述第二目标密码算法,确定所述目标密码板卡中的第一目标密码芯片;
根据所述第一目标密码芯片的密码芯片运算阈值,确定实际执行所述密码运算子任务的第二目标密码芯片的数量;
根据所述第二目标密码芯片的数量和第一目标密码芯片的所述第二权重,从所述第一目标密码芯片中确定所述第二目标密码芯片;
根据所述第二目标密码芯片的所述第二权重,将所述密码运算子任务分配给所述第二目标密码芯片,以完成所述密码运算任务。
7.根据权利要求5所述的多芯片多板卡协同运算方法,其特征在于,所述根据预先得到的密码芯片的第二权重,将所述密码运算子任务分配给所述目标密码板卡中的目标密码芯片,以完成所述密码运算任务,包括:
根据所述密码运算任务的所述第一目标密码算法,得到用于执行所述密码运算子任务的第二目标密码算法;
根据所述密码运算子任务的所述第二目标密码算法,确定所述目标密码板卡中的第一目标密码芯片;
根据所述第一目标密码芯片的密码芯片运算阈值,确定实际执行所述密码运算子任务的第二目标密码芯片的数量;
根据所述第二目标密码芯片的数量和第一目标密码芯片的所述第二权重,从所述第一目标密码芯片中确定所述第二目标密码芯片;
将所述密码运算子任务平均分配给所述第二目标密码芯片,以完成所述密码运算任务。
8.根据权利要求1至7任一项所述的多芯片多板卡协同运算方法,其特征在于,所述根据预先得到的密码芯片的第二权重,将所述密码运算子任务分配给所述目标密码板卡中的目标密码芯片,以完成所述密码运算任务,包括:
根据预先得到的密码芯片的第二权重,将所述密码运算子任务分配给所述目标密码板卡中的目标密码芯片,利用所述目标密码芯片并行执行所述密码运行子任务,以完成所述密码运算任务。
9.一种多芯片多板卡协同运算装置,其特征在于,包括:
任务获取模块,用于获取密码运算任务;
任务拆分模块,用于将所述密码运算任务分成不同的密码运算子任务;
第一任务分配模块,用于根据预先得到的密码板卡的第一权重,将所述密码运算子任务分配给目标密码板卡;
第二任务分配模块,用于根据预先得到的密码芯片的第二权重,将所述密码运算子任务分配给所述目标密码板卡中的目标密码芯片,以完成所述密码运算任务。
10.一种多芯片多板卡协同运算设备,其特征在于,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现权利要求1-8中任一项所述多芯片多板卡协同运算方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911121662.3A CN110866264A (zh) | 2019-11-15 | 2019-11-15 | 一种多芯片多板卡协同运算方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911121662.3A CN110866264A (zh) | 2019-11-15 | 2019-11-15 | 一种多芯片多板卡协同运算方法、装置及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110866264A true CN110866264A (zh) | 2020-03-06 |
Family
ID=69654461
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911121662.3A Pending CN110866264A (zh) | 2019-11-15 | 2019-11-15 | 一种多芯片多板卡协同运算方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110866264A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113051599A (zh) * | 2021-05-31 | 2021-06-29 | 杭州海康威视数字技术股份有限公司 | 一种异构密码卡并行计算方法、装置及设备 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105306576A (zh) * | 2015-11-10 | 2016-02-03 | 中国电子科技集团公司第三十研究所 | 一种密码运算单元的调度方法及系统 |
CN106921607A (zh) * | 2015-12-24 | 2017-07-04 | 航天信息股份有限公司 | 一种密码服务器集群下的密码运算管理方法及系统 |
CN107040589A (zh) * | 2017-03-15 | 2017-08-11 | 西安电子科技大学 | 通过虚拟化密码设备集群提供密码服务的系统及方法 |
CN107465717A (zh) * | 2017-06-16 | 2017-12-12 | 广州天宁信息技术有限公司 | 一种密码按需服务的方法、装置与设备 |
CN108063813A (zh) * | 2017-12-15 | 2018-05-22 | 华中农业大学 | 一种集群环境下密码服务网络并行化的方法与系统 |
CN108566386A (zh) * | 2018-03-26 | 2018-09-21 | 山东渔翁信息技术股份有限公司 | 一种基于云平台的密码设备管理方法、装置及存储介质 |
CN110209496A (zh) * | 2019-05-20 | 2019-09-06 | 中国平安财产保险股份有限公司 | 基于数据处理的任务分片方法、装置及分片服务器 |
CN110231987A (zh) * | 2019-06-21 | 2019-09-13 | 深圳市网心科技有限公司 | 一种数据处理方法及相关装置 |
CN110351375A (zh) * | 2019-07-16 | 2019-10-18 | 深圳市网心科技有限公司 | 一种数据处理方法、装置及计算机装置、可读存储介质 |
-
2019
- 2019-11-15 CN CN201911121662.3A patent/CN110866264A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105306576A (zh) * | 2015-11-10 | 2016-02-03 | 中国电子科技集团公司第三十研究所 | 一种密码运算单元的调度方法及系统 |
CN106921607A (zh) * | 2015-12-24 | 2017-07-04 | 航天信息股份有限公司 | 一种密码服务器集群下的密码运算管理方法及系统 |
CN107040589A (zh) * | 2017-03-15 | 2017-08-11 | 西安电子科技大学 | 通过虚拟化密码设备集群提供密码服务的系统及方法 |
CN107465717A (zh) * | 2017-06-16 | 2017-12-12 | 广州天宁信息技术有限公司 | 一种密码按需服务的方法、装置与设备 |
CN108063813A (zh) * | 2017-12-15 | 2018-05-22 | 华中农业大学 | 一种集群环境下密码服务网络并行化的方法与系统 |
CN108566386A (zh) * | 2018-03-26 | 2018-09-21 | 山东渔翁信息技术股份有限公司 | 一种基于云平台的密码设备管理方法、装置及存储介质 |
CN110209496A (zh) * | 2019-05-20 | 2019-09-06 | 中国平安财产保险股份有限公司 | 基于数据处理的任务分片方法、装置及分片服务器 |
CN110231987A (zh) * | 2019-06-21 | 2019-09-13 | 深圳市网心科技有限公司 | 一种数据处理方法及相关装置 |
CN110351375A (zh) * | 2019-07-16 | 2019-10-18 | 深圳市网心科技有限公司 | 一种数据处理方法、装置及计算机装置、可读存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113051599A (zh) * | 2021-05-31 | 2021-06-29 | 杭州海康威视数字技术股份有限公司 | 一种异构密码卡并行计算方法、装置及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109783229B (zh) | 线程资源分配的方法及装置 | |
CN109375872B (zh) | 数据访问请求的处理方法、装置和设备及存储介质 | |
CN115328663B (zh) | 基于PaaS平台进行资源调度的方法、装置、设备和存储介质 | |
JP5510556B2 (ja) | 仮想マシンのストレージスペースおよび物理ホストを管理するための方法およびシステム | |
CN107241281B (zh) | 一种数据处理方法及其装置 | |
CN113243005A (zh) | 按需网络代码执行系统中的基于性能的硬件仿真 | |
CN110383764B (zh) | 无服务器系统中使用历史数据处理事件的系统和方法 | |
EP3337135B1 (en) | Acceleration management node, acceleration node, client, and method | |
US20160139949A1 (en) | Virtual machine resource management system and method thereof | |
EP3584998B1 (en) | Method for virtual machine capacity expansion and reduction and virtual management device | |
CN108021400B (zh) | 数据处理方法及装置、计算机存储介质及设备 | |
CN110597858A (zh) | 任务数据处理方法、装置、计算机设备和存储介质 | |
CN108572845B (zh) | 分布式微服务集群的升级方法及相关系统 | |
CN109960575B (zh) | 一种计算能力共享方法、系统及相关设备 | |
US20120239810A1 (en) | System, method and computer program product for clustered computer environment partition resolution | |
CN112860387A (zh) | 分布式任务调度方法、装置、计算机设备及存储介质 | |
CN112905334A (zh) | 资源管理方法、装置、电子设备和存储介质 | |
CN110298549B (zh) | 机场建设工程的项目任务处理方法、装置、设备和介质 | |
CN110866264A (zh) | 一种多芯片多板卡协同运算方法、装置及设备 | |
CN116069493A (zh) | 一种数据处理方法、装置、设备以及可读存储介质 | |
CN105677481A (zh) | 一种数据处理方法、系统及电子设备 | |
CN112631994A (zh) | 数据迁移方法及系统 | |
CN116881003A (zh) | 资源分配方法、装置、服务设备及存储介质 | |
KR101695238B1 (ko) | 다중 컴퓨팅 자원을 이용한 작업 스케줄링 시스템 및 방법 | |
CN110120963B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200306 |