CN115061825B - 隐私计算、隐私数据和联邦学习的异构计算系统及方法 - Google Patents

隐私计算、隐私数据和联邦学习的异构计算系统及方法 Download PDF

Info

Publication number
CN115061825B
CN115061825B CN202210949309.XA CN202210949309A CN115061825B CN 115061825 B CN115061825 B CN 115061825B CN 202210949309 A CN202210949309 A CN 202210949309A CN 115061825 B CN115061825 B CN 115061825B
Authority
CN
China
Prior art keywords
processing unit
data
computing
task
currently mounted
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
CN202210949309.XA
Other languages
English (en)
Other versions
CN115061825A (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.)
Shenzhen Zhixing Technology Co Ltd
Original Assignee
Shenzhen Zhixing 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 Shenzhen Zhixing Technology Co Ltd filed Critical Shenzhen Zhixing Technology Co Ltd
Priority to CN202210949309.XA priority Critical patent/CN115061825B/zh
Publication of CN115061825A publication Critical patent/CN115061825A/zh
Application granted granted Critical
Publication of CN115061825B publication Critical patent/CN115061825B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/5038Allocation 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 execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Multi Processors (AREA)

Abstract

本申请涉及隐私计算、隐私数据及联邦学习技术领域,尤其涉及芯片和处理器技术领域,具体涉及一种隐私计算、隐私数据和联邦学习的异构计算系统及方法。该异构计算系统和方法,至少基于计算任务的总数据量和当前挂载的计算设备各自的数据量阈值确定计算任务相关联的任务数据的分配方案,并且根据分配方案对任务数据进行拆分并下发到当前挂载的计算设备中的与分配方案对应的计算设备,实现了充分利用当前挂载的计算设备来加速该计算任务的运算并且考虑到了当前挂载的计算设备的实时数量和组成等,以及通过一次数据下发操作且不依赖于特定数据结构信息,有利于提高数据交互效率、提升整体并行度、计算性能和资源利用率。

Description

隐私计算、隐私数据和联邦学习的异构计算系统及方法
技术领域
本申请涉及隐私计算、隐私数据及联邦学习技术领域,尤其涉及芯片和处理器技术领域,具体涉及一种隐私计算、隐私数据和联邦学习的异构计算系统及方法。
背景技术
隐私计算(Privacy Computing)指的是在保证数据提供方不泄露原始数据的前提下对数据进行分析计算的一系列技术,保证数据在流通和融合过程中“可用不可见”。隐私计算在通常意义上涵盖以保护数据隐私的同时实现计算任务为目的所使用的一系列广泛的技术。隐私计算结合计算机科学、人工智能以及云计算等技术的发展,在数据查询和机器学习中取得了重大进展,在诸多应用场景下提供了对数据的安全获取和对数据隐私的保护。常见的隐私计算技术包括如联邦学习(Federated Learning,FL)、安全多方计算(Secure Multi-Party Computation,SMPC)、秘密共享(Secret Sharing)、可信执行环境(Trusted Execution Environment,TEE)、差分隐私(Differential Privacy,DP)、同态加密(Homomorphic Encryption,HE)等。其中联邦学习指的是在确保数据不离开安全控制范围例如数据不传递到外部的前提下实现多方协同构建联邦学习模型。另一方面,随着对数据安全和隐私信息保护的日益重视以及《数据安全法》和《个人信息保护法》等相关法律法规的推出,隐私数据例如涉及个人信息或敏感信息的个人隐私数据等,在数据处理、数据通信、数据交互等各方面也面临更高的隐私保护和数据安全的要求。
传统的以CPU为主的计算机架构难以满足上述隐私计算、隐私数据及联邦学习技术领域的需求,特别是CPU难以处理高位宽及大整数的数学运算且在处理计算密集的复杂运算方面效率低下。为此,在实际应用中往往采用异构计算机架构,其结合了CPU和异构计算设备,利用异构计算设备较好的并行计算能力来实现计算加速并通过高速传输接口进行数据传输。但是,现有的异构计算机架构存在CPU与异构计算设备之间交互效率低下,并行度较低,整体的端到端计算性能和处理效率较低等问题。
为此,需要一种隐私计算、隐私数据和联邦学习的异构计算系统及方法,能够克服上述各种问题,实现较好的交互效率和较高的并行度,并且提升整体的端到端计算性能和处理效率。
发明内容
第一方面,本申请实施例提供了一种异构计算系统,用于隐私计算、隐私数据和联邦学习。所述异构计算系统包括第一处理单元和第二处理单元,所述第二处理单元配置为可挂载一个或者多个计算设备。其中,第一处理单元配置为对计算任务进行解析以确定所述计算任务的总数据量,获取所述第二处理单元当前挂载的计算设备各自的数据量阈值,然后至少基于所述计算任务的总数据量和所述第二处理单元当前挂载的计算设备各自的数据量阈值确定所述计算任务相关联的任务数据的分配方案,以及根据所述分配方案对所述任务数据进行拆分并下发到所述第二处理单元当前挂载的计算设备中的与所述分配方案对应的计算设备。其中,所述第二处理单元当前挂载的计算设备中的与所述分配方案对应的计算设备从所述第一处理单元获取拆分后的任务数据后各自进行计算并将计算结果上传到所述第一处理单元从而获得所述计算任务的最终计算结果。
第一方面所描述的技术方案,至少基于计算任务的总数据量和当前挂载的计算设备各自的数据量阈值确定计算任务相关联的任务数据的分配方案,并且根据分配方案对任务数据进行拆分并下发到当前挂载的计算设备中的与分配方案对应的计算设备,实现了充分利用当前挂载的计算设备来加速该计算任务的运算并且考虑到了当前挂载的计算设备的实时数量和组成等,以及通过一次数据下发操作且不依赖于特定数据结构信息,有利于提高数据交互效率、提升整体并行度、计算性能和资源利用率。
根据第一方面的技术方案的一种可能的实现方式,本申请实施例还提供了,所述第一处理单元还配置为:比较所述总数据量和所述第二处理单元当前挂载的计算设备各自的数据量阈值中的最小数据量阈值,并且当所述总数据量不超过所述最小数据量阈值时,选择第一分配方案,其中所述第一分配方案指示将所述任务数据全部下发到所述第二处理单元当前挂载的计算设备中的任意空闲计算设备或者空闲率最高的计算设备,所述第二处理单元当前挂载的计算设备各自的空闲率基于存储容量、单个计算任务的任务空间大小以及执行中任务个数确定。
根据第一方面的技术方案的一种可能的实现方式,本申请实施例还提供了,所述第一处理单元还配置为:当所述总数据量超过所述最小数据量阈值时,选择整体并行度最大分配方案,其中所述整体并行度最大分配方案基于所述第二处理单元当前挂载的计算设备各自的数据量阈值和空闲率。
根据第一方面的技术方案的一种可能的实现方式,本申请实施例还提供了,所述第一处理单元还配置为:当所述总数据量超过所述最小数据量阈值时,比较所述总数据量和所述第二处理单元当前挂载的计算设备各自的数据量阈值中的最大数据量阈值,并且,当所述总数据量超过所述最大数据量阈值时,比较基于所述总数据量和所述第二处理单元当前挂载的计算设备的个数得到的所述总数据量的平均分配值和所述最大数据量阈值,以及当所述平均分配值超过所述最大数据量阈值时,选择第二分配方案,其中所述第二分配方案指示将所述任务数据平均分配到所述第二处理单元当前挂载的计算设备中的每一个计算设备。
根据第一方面的技术方案的一种可能的实现方式,本申请实施例还提供了,所述第一处理单元还配置为:当所述总数据量超过所述最小数据量阈值并且所述总数据量不超过所述最大数据量阈值时,选择第三分配方案,其中所述第三分配方案指示:计算所述第二处理单元当前挂载的计算设备各自的数据量阈值和空闲率的乘积得到调整后数据量阈值,基于所述第二处理单元当前挂载的计算设备各自的调整后数据量阈值从大到小排序得到第一序列,然后选择所述第一序列中排序靠前的计算设备并按照所选择的计算设备的调整后数据量阈值分配所述任务数据。
根据第一方面的技术方案的一种可能的实现方式,本申请实施例还提供了,所述第一处理单元还配置为:当所述总数据量超过所述最大数据量阈值并且所述平均分配值不超过所述最大数据量阈值时,选择第四分配方案,其中所述第四分配方案指示:基于所述第二处理单元当前挂载的计算设备各自的调整后数据量阈值从小到大排序得到第二序列,然后选择所述第二序列中排序靠前的计算设备并按照所选择的计算设备的调整后数据量阈值分配所述任务数据。
根据第一方面的技术方案的一种可能的实现方式,本申请实施例还提供了,所述第二处理单元当前挂载的计算设备各自的数据量阈值相等且均为第一数据量阈值,所述第一处理单元还配置为:比较所述总数据量和所述第一数据量阈值,并且当所述总数据量不超过所述第一数据量阈值时,选择第一分配方案,其中所述第一分配方案指示将所述任务数据全部下发到所述第二处理单元当前挂载的计算设备中的任意空闲计算设备或者空闲率最高的计算设备,所述第二处理单元当前挂载的计算设备各自的空闲率基于存储容量、单个计算任务的任务空间大小以及执行中任务个数确定。
根据第一方面的技术方案的一种可能的实现方式,本申请实施例还提供了,所述第一处理单元还配置为:当所述总数据量超过所述第一数据量阈值时,选择整体并行度最大分配方案,其中所述整体并行度最大分配方案基于所述第二处理单元当前挂载的计算设备各自的数据量阈值和空闲率。
根据第一方面的技术方案的一种可能的实现方式,本申请实施例还提供了,所述第一处理单元还配置为:当所述总数据量超过所述第一数据量阈值时,比较基于所述总数据量和所述第二处理单元当前挂载的计算设备的个数得到的所述总数据量的平均分配值和所述第一数据量阈值,以及当所述平均分配值超过所述第一数据量阈值时,选择第二分配方案,其中所述第二分配方案指示将所述任务数据平均分配到所述第二处理单元当前挂载的计算设备中的每一个计算设备。
根据第一方面的技术方案的一种可能的实现方式,本申请实施例还提供了,所述第一处理单元还配置为:当所述总数据量超过所述第一数据量阈值并且所述平均分配值不超过所述第一数据量阈值时,选择的分配方案指示:基于所述第二处理单元当前挂载的计算设备各自的调整后数据量阈值从小到大排序得到第二序列,然后选择所述第二序列中排序靠前的计算设备并按照所选择的计算设备的调整后数据量阈值分配所述任务数据。
根据第一方面的技术方案的一种可能的实现方式,本申请实施例还提供了,所述第一处理单元包括:任务层,用于创建或者从外部接收所述计算任务;SDK层,用于从所述任务层获取所述计算任务,然后对所述计算任务进行解析并确定所述总数据量,以及用于所述计算任务的数据分发;交互层,用于从所述SDK层接收所述总数据量,从所述第二处理单元获取所述第二处理单元当前挂载的计算设备各自的数据量阈值,确定所述分配方案并根据所述分配方案对所述任务数据进行拆分;驱动层,用于从所述交互层获取所述拆分后的任务数据并下发到所述第二处理单元当前挂载的计算设备中的与所述分配方案对应的计算设备。
根据第一方面的技术方案的一种可能的实现方式,本申请实施例还提供了,所述第一处理单元包括至少一个CPU,所述第二处理单元当前挂载的计算设备包括至少一个FPGA。
根据第一方面的技术方案的一种可能的实现方式,本申请实施例还提供了,所述第二处理单元当前挂载的计算设备各自的数据量阈值和存储容量基于出厂设定。
第二方面,本申请实施例提供了一种异构计算系统,用于隐私计算、隐私数据和联邦学习。所述异构计算系统包括第一处理单元和第二处理单元,所述第二处理单元配置为可挂载一个或者多个计算设备,其中,针对多个计算任务中的每一个计算任务:第一处理单元配置为对该计算任务进行解析以确定该计算任务的总数据量,获取所述第二处理单元当前挂载的计算设备各自的数据量阈值,然后至少基于该计算任务的总数据量和所述第二处理单元当前挂载的计算设备各自的数据量阈值确定该计算任务相关联的任务数据的分配方案,以及根据该分配方案对该任务数据进行拆分并下发到所述第二处理单元当前挂载的计算设备中的与该分配方案对应的计算设备;所述第二处理单元当前挂载的计算设备中的与该分配方案对应的计算设备从所述第一处理单元获取拆分后的任务数据后各自进行计算并将计算结果上传到所述第一处理单元从而获得该计算任务的最终计算结果。
第二方面所描述的技术方案,至少基于计算任务的总数据量和当前挂载的计算设备各自的数据量阈值确定计算任务相关联的任务数据的分配方案,并且根据分配方案对任务数据进行拆分并下发到当前挂载的计算设备中的与分配方案对应的计算设备,实现了充分利用当前挂载的计算设备来加速该计算任务的运算并且考虑到了当前挂载的计算设备的实时数量和组成等,以及通过一次数据下发操作且不依赖于特定数据结构信息,有利于提高数据交互效率、提升整体并行度、计算性能和资源利用率。
第三方面,本申请实施例提供了一种异构计算系统的调度方法,用于隐私计算、隐私数据和联邦学习。所述异构计算系统包括第一处理单元和第二处理单元,所述第二处理单元配置为可挂载一个或者多个计算设备,所述调度方法包括:通过所述第一处理单元,对计算任务进行解析以确定所述计算任务的总数据量,获取所述第二处理单元当前挂载的计算设备各自的数据量阈值,然后至少基于所述计算任务的总数据量和所述第二处理单元当前挂载的计算设备各自的数据量阈值确定所述计算任务相关联的任务数据的分配方案,以及根据所述分配方案对所述任务数据进行拆分并下发到所述第二处理单元当前挂载的计算设备中的与所述分配方案对应的计算设备;通过所述第二处理单元当前挂载的计算设备中的与所述分配方案对应的计算设备,从所述第一处理单元获取拆分后的任务数据后各自进行计算并将计算结果上传到所述第一处理单元从而获得所述计算任务的最终计算结果。
第三方面所描述的技术方案,至少基于计算任务的总数据量和当前挂载的计算设备各自的数据量阈值确定计算任务相关联的任务数据的分配方案,并且根据分配方案对任务数据进行拆分并下发到当前挂载的计算设备中的与分配方案对应的计算设备,实现了充分利用当前挂载的计算设备来加速该计算任务的运算并且考虑到了当前挂载的计算设备的实时数量和组成等,以及通过一次数据下发操作且不依赖于特定数据结构信息,有利于提高数据交互效率、提升整体并行度、计算性能和资源利用率。
根据第三方面的技术方案的一种可能的实现方式,本申请实施例还提供了,所述调度方法还包括:比较所述总数据量和所述第二处理单元当前挂载的计算设备各自的数据量阈值中的最小数据量阈值,并且当所述总数据量不超过所述最小数据量阈值时,选择第一分配方案,其中所述第一分配方案指示将所述任务数据全部下发到所述第二处理单元当前挂载的计算设备中的任意空闲计算设备或者空闲率最高的计算设备,所述第二处理单元当前挂载的计算设备各自的空闲率基于存储容量、单个计算任务的任务空间大小以及执行中任务个数确定。
根据第三方面的技术方案的一种可能的实现方式,本申请实施例还提供了,所述调度方法还包括:当所述总数据量超过所述最小数据量阈值时,选择整体并行度最大分配方案,其中所述整体并行度最大分配方案基于所述第二处理单元当前挂载的计算设备各自的数据量阈值和空闲率。
根据第三方面的技术方案的一种可能的实现方式,本申请实施例还提供了,所述调度方法还包括:当所述总数据量超过所述最小数据量阈值时,比较所述总数据量和所述第二处理单元当前挂载的计算设备各自的数据量阈值中的最大数据量阈值,并且,当所述总数据量超过所述最大数据量阈值时,比较基于所述总数据量和所述第二处理单元当前挂载的计算设备的个数得到的所述总数据量的平均分配值和所述最大数据量阈值,以及当所述平均分配值超过所述最大数据量阈值时,选择第二分配方案,其中所述第二分配方案指示将所述任务数据平均分配到所述第二处理单元当前挂载的计算设备中的每一个计算设备。
根据第三方面的技术方案的一种可能的实现方式,本申请实施例还提供了,所述调度方法还包括:当所述总数据量超过所述最小数据量阈值并且所述总数据量不超过所述最大数据量阈值时,选择第三分配方案,其中所述第三分配方案指示:计算所述第二处理单元当前挂载的计算设备各自的数据量阈值和空闲率的乘积得到调整后数据量阈值,基于所述第二处理单元当前挂载的计算设备各自的调整后数据量阈值从大到小排序得到第一序列,然后选择所述第一序列中排序靠前的计算设备并按照所选择的计算设备的调整后数据量阈值分配所述任务数据。
根据第三方面的技术方案的一种可能的实现方式,本申请实施例还提供了,所述调度方法还包括:当所述总数据量超过所述最大数据量阈值并且所述平均分配值不超过所述最大数据量阈值时,选择第四分配方案,其中所述第四分配方案指示:基于所述第二处理单元当前挂载的计算设备各自的调整后数据量阈值从小到大排序得到第二序列,然后选择所述第二序列中排序靠前的计算设备并按照所选择的计算设备的调整后数据量阈值分配所述任务数据。
附图说明
为了说明本申请实施例或背景技术中的技术方案,下面将对本申请实施例或背景技术中所需要使用的附图进行说明。
图1示出了本申请实施例提供的用于隐私计算、隐私数据和联邦学习的异构计算系统的框图。
图2示出了本申请实施例提供的异构计算系统选择分配方案的方法的流程示意图。
图3示出了本申请实施例提供的用于图2所示的异构计算系统选择分配方案的方法的电子设备的框图。
图4示出了本申请实施例提供的异构计算系统的调度方法的流程示意图。
具体实施方式
本申请实施例为了解决现有的异构计算机架构存在CPU与异构计算设备之间交互效率低下,并行度较低,整体的端到端计算性能和处理效率较低等问题,提出了一种隐私计算、隐私数据和联邦学习的异构计算系统及方法。其中,所述异构计算系统包括第一处理单元和第二处理单元,所述第二处理单元配置为可挂载一个或者多个计算设备。其中,第一处理单元配置为对计算任务进行解析以确定所述计算任务的总数据量,获取所述第二处理单元当前挂载的计算设备各自的数据量阈值,然后至少基于所述计算任务的总数据量和所述第二处理单元当前挂载的计算设备各自的数据量阈值确定所述计算任务相关联的任务数据的分配方案,以及根据所述分配方案对所述任务数据进行拆分并下发到所述第二处理单元当前挂载的计算设备中的与所述分配方案对应的计算设备。其中,所述第二处理单元当前挂载的计算设备中的与所述分配方案对应的计算设备从所述第一处理单元获取拆分后的任务数据后各自进行计算并将计算结果上传到所述第一处理单元从而获得所述计算任务的最终计算结果。本申请实施例具有以下有益技术效果:至少基于计算任务的总数据量和当前挂载的计算设备各自的数据量阈值确定计算任务相关联的任务数据的分配方案,并且根据分配方案对任务数据进行拆分并下发到当前挂载的计算设备中的与分配方案对应的计算设备,实现了充分利用当前挂载的计算设备来加速该计算任务的运算并且考虑到了当前挂载的计算设备的实时数量和组成等,以及通过一次数据下发操作且不依赖于特定数据结构信息,有利于提高数据交互效率、提升整体并行度、计算性能和资源利用率。
本申请实施例可用于以下应用场景,包括但是不限于,隐私计算、隐私数据相关处理、多方安全计算、与联邦学习有关的机器学习模型训练、数据安全、隐私保护或者应用隐私计算框架或算法的其它应用场景等。
本申请实施例可以依据具体应用环境进行调整和改进,此处不做具体限定。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请的实施例进行描述。
图1示出了本申请实施例提供的用于隐私计算、隐私数据和联邦学习的异构计算系统的框图。如图1所示,异构计算系统包括第一处理单元110和第二处理单元120。第二处理单元120配置为可挂载一个或者多个计算设备,在图1中第二处理单元120挂载三个计算设备分别为计算设备122、计算设备124和计算设备126。应当理解的是,第二处理单元120可以挂载任意数量的计算设备并且这些挂载的计算设备可以有相同或者不同的类型,而且第二处理单元120挂载的计算设备的组成是可以变化的,例如其挂载的计算设备可以增加、减少或者替换等。图1中所示出的计算设备122、计算设备124和计算设备126仅为说明性。第一处理单元110包括:任务层112,用于创建或者从外部接收计算任务;软件开发工具层(Software Development Kit,SDK)也叫SDK层114,用于从任务层112获取计算任务,然后对计算任务进行解析并确定总数据量,以及用于计算任务的数据分发;交互层116,用于从SDK层114接收总数据量,从第二处理单元120获取第二处理单元120当前挂载的计算设备各自的数据量阈值,确定分配方案并根据分配方案对任务数据进行拆分;驱动层118,用于从交互层116获取拆分后的任务数据并下发到第二处理单元120当前挂载的计算设备中的与分配方案对应的计算设备。可以看出,第一处理单元110将根据分配方案拆分后的任务数据130下发到第二处理单元120。
继续参阅图1,第一处理单元110配置为对计算任务进行解析以确定计算任务的总数据量,获取第二处理单元120当前挂载的计算设备各自的数据量阈值,然后至少基于计算任务的总数据量和第二处理单元120当前挂载的计算设备各自的数据量阈值确定计算任务相关联的任务数据的分配方案,以及根据分配方案对任务数据进行拆分并下发到第二处理单元120当前挂载的计算设备中的与分配方案对应的计算设备。第二处理单元120当前挂载的计算设备中的与分配方案对应的计算设备从第一处理单元110获取拆分后的任务数据后各自进行计算并将计算结果上传到第一处理单元110从而获得计算任务的最终计算结果。可以看出,第二处理单元120将计算结果140上传到第一处理单元110。
继续参阅图1,第二处理单元120所包括的一个或者多个计算设备,例如图1所示的计算设备122、计算设备124和计算设备126,其中的任意两个计算设备可以属于相同类型或者具有相同的计算架构也可以属于不同类型或者具有不同的计算架构。例如,计算设备122和计算设备124可以都是CPU或者FPGA,也可以分别是CPU和FPGA。因此,第二处理单元120所包括的计算设备,可以属于任意类型或者具有任意的计算架构。具体地,第二处理单元120所包括的计算设备中的任意两个计算设备之间,可以在以下方面上保持一致或者具有不一致:指令集、指令体系、硬件架构、控制流、数据流、可重构性特别是动态可重构性,以及其它任意适合的指标或者特征如处理器并行核数等。也就是说,第二处理单元120所包括的计算设备中的任意两个计算设备可以属于同一类型的计算设备或者在相关指标或特征方面表现一致,也可以属于异构计算或者异构运算的范畴例如使用不同类型的指令集或者不同的体系架构。并且,本申请旨在包括在本申请提交或公布之后随着异构计算这一概念的演变而被包括在异构计算的概念相关理解中的指标或者特征以及适合用于串行计算或者并行计算的处理器技术或者集成电路硬件结构。在实际应用中,异构计算系统的第二处理单元120所包括的计算设备的个数、组成以及每个计算设备的类型或计算架构或指标或特征等,是灵活的、可调整的并且可能在使用过程中发生变化。例如,异构计算系统的第二处理单元120在部署时可能包括图1所示的计算设备122、计算设备124和计算设备126,并且在使用过程中,可能有新的计算设备被添加到第二处理单元120,或者现有的计算设备被从第二处理单元120中删除,或者用新的计算设备替换第二处理单元120中的现有计算设备。这意味着,异构计算系统的第二处理单元120所能提供的用于当前运算的计算设备的数量、组成及各自的特性是难以预料的并且可能因新增设备、删除设备或替换设备等发生变化。为了达到整体上最佳的并行度、计算性能和资源利用率,需要结合实时的第二处理单元120所能提供的计算设备的具体的数量、组成及各自的特性等来确定如何调用第二处理单元120的计算设备。另一方面,异构计算系统的第一处理单元110用于接收计算任务、确定分配方案并将拆分后的任务数据下发到第二处理单元120的与分配方案对应的计算设备。为了提高整体的数据交互效率和提升计算性能,需要提升第一处理单元110和第二处理单元120之间的数据交互效率,也需要利用第一处理单元110来完成对计算任务的解析和任务数据的拆分等操作同时充分利用第二处理单元120的高速并行计算能力。为了提高数据交互效率,本申请实施例所提供的异构计算系统中,第一处理单元110避免了在单次任务中与单个异构计算设备进行交互,而采用了在同一任务中与多个计算设备进行交互的方式。具体地,第一处理单元110从第二处理单元120获取第二处理单元120当前挂载的计算设备各自的数据量阈值、确定分配方案并根据分配方案对任务数据进行拆分。第一处理单元110与第二处理单元120之间的数据交互也避免了基于消息交互的方式,也就是不需要通过包含特定数据结构信息的请求和应答,因此避免了对数据进行组包和拆包所导致的逻辑复杂度。
继续参阅图1,第一处理单元110包括任务层112、SDK层114、交互层116以及驱动层118。第一处理单元110所包括的这些层之间的功能可以合并、拆分、再调整或者再组合,还可以相应增加或者减少层次,在此不做具体限定。其中,第一处理单元110通过任务层112来创建或者从外部接收计算任务,其中创建计算任务可以是创建不同的联邦学习任务并且配置相关参数。示例性的联邦学习任务包括样本对齐、模型训练、模型预测等。计算任务还可以指代具体的运算任务,例如模幂、模乘、密态加法、密态乘法、Paillie加密、非混淆加密、RSA等。任务层112可以是根据内建的算法、任务调度创建计算任务或者从相对于第一处理单元110所在的异构计算系统的外部获取计算任务。第一处理单元110通过SDK层确定计算任务的总数据量,以及通过交互层116获取第二处理单元120当前挂载的计算设备各自的数据量阈值。这里,计算任务的总数据量指的是该计算任务所需要处理的数据个数,也就是完成该计算任务需要处理的数据的总个数。例如,某个计算任务的总数据量可以是100个数据。一般来说,同一个计算任务的数据的位宽是固定的,例如为1024比特或者2048比特,但是也存在同一个计算任务的数据的位宽是变化的情况,数据位宽变化的情况下则可以设定最大数据位宽或者某个参考数据位宽来作为共同的数据位宽。应当理解的是,本申请实施例所提及的异构计算系统及方法,可以适用于数据位宽固定的或者具有统一的数据位宽的计算任务,还可以适用于数据位宽在一定程度内变化的计算任务。任务层112通过解析计算任务可以获悉该计算任务的总数据量,该总数据量代表了要完成该计算任务所需要满足的处理能力的一种考量维度。交互层116所获取的第二处理单元120当前挂载的计算设备各自的数据量阈值则代表了第二处理单元120的实时的能提供的处理能力。其中,计算设备的数据量阈值指的是该计算设备能处理的最大数据量或者说该计算设备在设计上能处理的数据的总个数。例如,某个计算设备的数据量阈值可能是30个数据、40个数据或者50个数据或者任意数量的数据个数。应当理解的是,第二处理单元120当前挂载的计算设备各自的数据量阈值分别代表了各个计算设备能提供的用于该计算任务的处理能力,也就是说,某个计算设备的数据量阈值是与该计算任务相联系的。具体地,计算设备的数据量阈值是对该计算设备能提供的用于该计算任务的处理能力的考量维度,而上面提到计算任务的总数据量代表了要完成该计算任务所需要满足的处理能力的考量维度。一般情况下,某个计算设备的数据量阈值是在该计算设备出厂时或者部署到第二处理单元120时或者在开机前可以预先确定的。并且,如果有必要的话,可以通过提前测定的方式来校正计算设备的数据量阈值,例如可能存在器件老化、劣化、环境条件影响等因素而使得计算设备的数据量阈值偏离了出厂设定或者设计上设定。在通过任务层112获悉该计算任务的总数据量以及通过交互层116获取第二处理单元120当前挂载的计算设备各自的数据量阈值之后,通过交互层116确定分配方案并根据分配方案对任务数据进行拆分,最后通过驱动层将拆分后的任务数据下发到第二处理单元120当前挂载的计算设备中的与分配方案对应的计算设备。其中第一处理单元110至少基于所述计算任务的总数据量和所述第二处理单元120当前挂载的计算设备各自的数据量阈值确定所述计算任务相关联的任务数据的分配方案,从而实现了总数据量和当前挂载的计算设备各自的数据量阈值之间的综合考量,也就是结合了要完成该计算任务所需要满足的处理能力的考量维度和当前挂载的计算设备各自能提供的用于该计算任务的处理能力的考量维度来确定最佳分配方案,有利于提高整体并行度。并且,当前挂载的计算设备意味着考虑到了异构计算系统的第二处理单元120所能提供的用于当前运算的计算设备的数量、组成及各自的特性是难以预料的并且可能因新增设备、删除设备或替换设备等发生变化。另外,第一处理单元110通过解析当前计算任务可以确定该计算任务的总数据量,而所述第二处理单元120当前挂载的计算设备各自的数据量阈值则是可以提前获取的,这意味着第一处理单元110在确定分配方案和拆分任务数据之后可以通过一次数据下发操作就实现将必要的拆分后的任务数据下发到相应的计算设备,从而可以完成后续的处理。如此,第一处理单元110不需要涉及到特定数据结构信息,而只需要确定总数据量和计算设备的数据量阈值这两个参数并且对当前计算任务的任务数据进行拆分。第一处理单元110也不需要多次的数据下发操作,而是通过一次数据下发操作就实现将必要的拆分后的任务数据下发到相应的计算设备。
总之,图1所示的异构计算系统,至少基于计算任务的总数据量和当前挂载的计算设备各自的数据量阈值确定计算任务相关联的任务数据的分配方案,并且根据分配方案对任务数据进行拆分并下发到当前挂载的计算设备中的与分配方案对应的计算设备,实现了充分利用当前挂载的计算设备来加速该计算任务的运算并且考虑到了当前挂载的计算设备的实时数量和组成等,以及通过一次数据下发操作且不依赖于特定数据结构信息,有利于提高数据交互效率、提升整体并行度、计算性能和资源利用率。
在一种可能的实施方式中,所述第一处理单元110还配置为:比较所述总数据量和所述第二处理单元120当前挂载的计算设备各自的数据量阈值中的最小数据量阈值,并且当所述总数据量不超过所述最小数据量阈值时,选择第一分配方案,其中所述第一分配方案指示将所述任务数据全部下发到所述第二处理单元120当前挂载的计算设备中的任意空闲计算设备或者空闲率最高的计算设备,所述第二处理单元120当前挂载的计算设备各自的空闲率基于存储容量、单个计算任务的任务空间大小以及执行中任务个数确定。这里,通过比较总数据量和最小数据量阈值,并且当所述总数据量不超过所述最小数据量阈值时选择第一分配方案,有利于提高资源利用效率。其中,可以选择所述第二处理单元120当前挂载的计算设备中的任意空闲计算设备例如某个没有被任何任务或进程占用的计算设备,并且因为所述总数据量不超过所述最小数据量阈值,因此被选择的计算设备的数据量阈值必然是不小于该最小数据量阈值也必然可以满足该总数据量的要求。可替代地,可以选择所述第二处理单元120当前挂载的计算设备中的空闲率最高的计算设备。这里空闲率是实时变化的,每个计算设备的空闲率是基于该计算设备的存储容量、单个计算任务的任务空间大小以及执行中任务个数确定。例如,设某个计算设备的存储容量是16个GB(Gigabyte),该存储容量是出厂设定;而单个计算任务的任务空间大小是4个GB,该单个计算任务的任务空间大小是全局预先配置,这意味着该计算设备最多同时运行4个计算任务(存储容量除以单个计算任务的任务空间大小),那么当有两个计算任务在执行中(执行中任务个数为2),则该计算设备的空闲率是50%。为了确定所述第二处理单元120当前挂载的计算设备的各自的空闲率,可以通过全局监控、全局缓存或者利用任务ID等方式实现,在此不做具体限定。通过选择空闲计算设备或者空闲率最高的计算设备,有利于提高资源利用效率特别是利用空闲的计算资源,另外通过当所述总数据量不超过所述最小数据量阈值时选择第一分配方案,实现了确保第一分配方案下所选择的计算设备可以提供完成该计算任务所需的处理能力。
在一种可能的实施方式中,所述第一处理单元110还配置为:当所述总数据量超过所述最小数据量阈值时,选择整体并行度最大分配方案,其中所述整体并行度最大分配方案基于所述第二处理单元120当前挂载的计算设备各自的数据量阈值和空闲率。上面提到,当所述总数据量不超过所述最小数据量阈值时选择第一分配方案,所述第一分配方案指示将所述任务数据全部下发到所述第二处理单元120当前挂载的计算设备中的任意空闲计算设备或者空闲率最高的计算设备。这里,当所述总数据量超过所述最小数据量阈值时,则适合选择整体并行度最大分配方案,也就是尽量提升整体并行度。在一些实施例中,所述第一处理单元110还配置为:当所述总数据量超过所述最小数据量阈值时,比较所述总数据量和所述第二处理单元120当前挂载的计算设备各自的数据量阈值中的最大数据量阈值,并且,当所述总数据量超过所述最大数据量阈值时,比较基于所述总数据量和所述第二处理单元当前挂载的计算设备的个数得到的所述总数据量的平均分配值和所述最大数据量阈值,以及当所述平均分配值超过所述最大数据量阈值时,选择第二分配方案,其中所述第二分配方案指示将所述任务数据平均分配到所述第二处理单元120当前挂载的计算设备中的每一个计算设备。这里,总数据量的平均分配值指的是假设将该计算任务的总数据量平均分配到所有的当前挂载的计算设备上每个计算设备所分配到的数据量,也就是用总数据量除以当前挂载的计算设备的个数得到的该总数据量的平均分配值。通过比较总数据量和最大数据量阈值,并且当所述总数据量超过所述最大数据量阈值时,这意味着总数据量不适合分配给单个计算设备处理,接着比较总数据量的平均分配值和最大数据量阈值,如果总数据量的平均分配值仍超过最大数据量阈值,这意味着整体并行度最佳的分配方案是将所述任务数据平均分配到所述第二处理单元120当前挂载的计算设备中的每一个计算设备。
在一些实施例中,所述第一处理单元110还配置为:当所述总数据量超过所述最小数据量阈值并且所述总数据量不超过所述最大数据量阈值时,选择第三分配方案,其中所述第三分配方案指示:计算所述第二处理单元120当前挂载的计算设备各自的数据量阈值和空闲率的乘积得到调整后数据量阈值,基于所述第二处理单元120当前挂载的计算设备各自的调整后数据量阈值从大到小排序得到第一序列,然后选择所述第一序列中排序靠前的计算设备并按照所选择的计算设备的调整后数据量阈值分配所述任务数据。这里,通过比较总数据量和最小数据量阈值以及比较总数据量和最大数据量阈值,当总数据量超过最小数据量阈值并且总数据量不超过最大数据量阈值时,选择第三分配方案,其中基于计算设备的数据量阈值和空闲率的乘积得到调整后数据量阈值,该调整后数据量阈值反映了该计算设备当前可以实际提供的处理能力。如此,按照当前挂载的计算设备各自的调整后数据量阈值从大到小排序得到第一序列,然后选择所述第一序列中排序靠前的计算设备并按照所选择的计算设备的调整后数据量阈值分配所述任务数据,实现了最大化利用当前挂载的计算设备所能提供的处理能力,有利于提高整体并行度和计算性能。并且,因为选择第三分配方案是建立在总数据量超过最小数据量阈值并且总数据量不超过最大数据量阈值的前提下,这样确保了第三分配方案的可行性。在一些实施例中,所述第一处理单元110还配置为:当所述总数据量超过所述最大数据量阈值并且所述平均分配值不超过所述最大数据量阈值时,选择第四分配方案,其中所述第四分配方案指示:基于所述第二处理单元120当前挂载的计算设备各自的调整后数据量阈值从小到大排序得到第二序列,然后选择所述第二序列中排序靠前的计算设备并按照所选择的计算设备的调整后数据量阈值分配所述任务数据。这里,通过比较总数据量和最大数据量阈值,当总数据量超过最大数据量阈值时,这意味着总数据量不适合分配给单个计算设备处理,接下来再比较总数据量的平均分配值和最大数据量阈值时,当平均分配值不超过所述最大数据量阈值时,选择第四分配方案。如此,按照当前挂载的计算设备各自的调整后数据量阈值从小到大排序得到第二序列,然后选择所述第二序列中排序靠前的计算设备并按照所选择的计算设备的调整后数据量阈值分配所述任务数据,实现了最大化利用当前挂载的计算设备所能提供的处理能力,有利于提高整体并行度和计算性能。并且,因为选择第四分配方案是建立在总数据量超过最大数据量阈值并且总数据量的平均分配值不超过最大数据量阈值的前提下,这样确保了第四分配方案的可行性。应当注意的是,第三分配方案涉及到按照当前挂载的计算设备各自的调整后数据量阈值从大到小排序得到第一序列,第四分配方案涉及到按照当前挂载的计算设备各自的调整后数据量阈值从小到大排序得到第二序列。这里,考虑到第三分配方案和第四分配方案分别对应不同的选择的前提条件,因此适合针对不同的选择的前提条件所设定的环境而提供相应的排序逻辑,也就是针对第三分配方案的环境提供第一序列而针对第四分配方案的环境提供第二序列,从而有利于提高整体并行度和计算性能。
上面提到了,当总数据量不超过最小数据量阈值时,选择第一分配方案;当总数据量超过最小数据量阈值时,选择整体并行度最大分配方案。并且进一步提到了,当总数据量超过最小数据量阈值也超过最大数据量阈值并且当总数据量的平均分配值超过最大数据量阈值时,选择第二分配方案;当总数据量超过最小数据量阈值并且总数据量不超过最大数据量阈值时,选择第三分配方案;当总数据量超过最大数据量阈值(也意味着总数据量超过最小数据量阈值)并且当总数据量的平均分配值不超过最大数据量阈值时,选择第四分配方案。可以看出,对上述第一分配方案、第二分配方案、第三分配方案以及第四分配方案的选择,是至少基于计算任务的总数据量和当前挂载的计算设备各自的数据量阈值,包括根据当前挂载的计算设备各自的数据量阈值确定的最小数据量阈值和最大数据量阈值。而且该计算任务的总数据量是在接收该计算任务后可以通过解析该计算任务确定,而当前挂载的计算设备各自的数据量阈值以及基于此确定的最小数据量阈值和最大数据量阈值均可以提前获取(例如在出厂时或者部署时或者在开机前预先确定),这样意味着在接收该计算任务后就可以便利地选择分配方案,并且根据所选择的分配方案进行任务数据的拆分和下发,如此实现了充分利用当前挂载的计算设备来加速该计算任务的运算并且考虑到了当前挂载的计算设备的实时数量和组成等,以及通过一次数据下发操作且不依赖于特定数据结构信息,有利于提高数据交互效率、提升整体并行度、计算性能和资源利用率。进一步地,第三分配方案涉及到按照当前挂载的计算设备各自的调整后数据量阈值从大到小排序得到第一序列,第四分配方案涉及到按照当前挂载的计算设备各自的调整后数据量阈值从小到大排序得到第二序列,因此第三分配方案和第四分配方案均涉及到调整后数据量阈值也就涉及到计算设备的空闲率,第三分配方案和第四分配方案是基于当前挂载的计算设备的当前可以实际提供的处理能力,因此有利于提高整体并行度和计算性能。
在一种可能的实施方式中,第二处理单元120的当前挂载的计算设备可能具有相同的数据量阈值,或者说具有相同的数据处理能力。这种情况下,根据当前挂载的计算设备各自的数据量阈值确定的最小数据量阈值和最大数据量阈值也必然是相同的。因此上述的关于选择分配方案的细节也有所简化。具体地,所述第二处理单元120当前挂载的计算设备各自的数据量阈值相等且均为第一数据量阈值,所述第一处理单元110还配置为:比较所述总数据量和所述第一数据量阈值,并且当所述总数据量不超过所述第一数据量阈值时,选择第一分配方案,其中所述第一分配方案指示将所述任务数据全部下发到所述第二处理单元120当前挂载的计算设备中的任意空闲计算设备或者空闲率最高的计算设备,所述第二处理单元120当前挂载的计算设备各自的空闲率基于存储容量、单个计算任务的任务空间大小以及执行中任务个数确定。在一些实施例中,所述第一处理单元110还配置为:当所述总数据量超过所述第一数据量阈值时,选择整体并行度最大分配方案,其中所述整体并行度最大分配方案基于所述第二处理单元120当前挂载的计算设备各自的数据量阈值和空闲率。在一些实施例中,所述第一处理单元110还配置为:当所述总数据量超过所述第一数据量阈值时,比较基于所述总数据量和所述第二处理单元120当前挂载的计算设备的个数得到的所述总数据量的平均分配值和所述第一数据量阈值,以及当所述平均分配值超过所述第一数据量阈值时,选择第二分配方案,其中所述第二分配方案指示将所述任务数据平均分配到所述第二处理单元120当前挂载的计算设备中的每一个计算设备。在一些实施例中,所述第一处理单元110还配置为:当所述总数据量超过所述第一数据量阈值并且所述平均分配值不超过所述第一数据量阈值时,选择的分配方案指示:基于所述第二处理单元120当前挂载的计算设备各自的调整后数据量阈值从小到大排序得到第二序列,然后选择所述第二序列中排序靠前的计算设备并按照所选择的计算设备的调整后数据量阈值分配所述任务数据。如此,针对第二处理单元120的当前挂载的计算设备具有相同的数据量阈值或者相同的数据处理能力的情况,实现了充分利用当前挂载的计算设备来加速该计算任务的运算并且考虑到了当前挂载的计算设备的实时数量和组成等,以及通过一次数据下发操作且不依赖于特定数据结构信息,有利于提高数据交互效率、提升整体并行度、计算性能和资源利用率。
上面提到了本申请实施例提供的异构计算系统至少基于计算任务的总数据量和当前挂载的计算设备各自的数据量阈值确定计算任务相关联的任务数据的分配方案的有关细节,下面结合图2进一步详细说明异构计算系统选择分配方案的方法。其中,图2示出了本申请实施例提供的异构计算系统选择分配方案的方法的流程示意图。如图2所示,该方法包括以下步骤。
步骤S202:确定总数据量和当前挂载的计算设备各自的数据量阈值。
步骤S204:判断总数据量是否超过最小数据量阈值,如果总数据量没有超过最小数据量阈值则执行步骤S205,如果总数据量超过最小数据量阈值则执行步骤S206。
步骤S205:选择第一分配方案:将任务数据全部下发到当前挂载的计算设备中的任意空闲计算设备或者空闲率最高的计算设备。
步骤S206:判断总数据量是否超过最大数据量阈值,如果总数据量没有超过最大数据量阈值则执行步骤S207,如果总数据量超过最大数据量阈值则执行步骤S208。
步骤S207:选择第三分配方案:计算当前挂载的计算设备各自的数据量阈值和空闲率的乘积得到调整后数据量阈值,基于当前挂载的计算设备各自的调整后数据量阈值从大到小排序得到第一序列,然后选择第一序列中排序靠前的计算设备并按照所选择的计算设备的调整后数据量阈值分配所述任务数据。
步骤S208:判断总数据量的平均分配值是否超过最大数据量阈值,如果总数据量的平均分配值没有超过最大数据量阈值则执行步骤S209,如果总数据量的平均分配值超过最大数据量阈值则执行步骤S210。
步骤S209:选择第四分配方案:基于当前挂载的计算设备各自的调整后数据量阈值从小到大排序得到第二序列,然后选择第二序列中排序靠前的计算设备并按照所选择的计算设备的调整后数据量阈值分配所述任务数据。
步骤S210:选择第二分配方案:将任务数据平均分配到当前挂载的计算设备中的每一个计算设备。
如图2所示,对第一分配方案、第二分配方案、第三分配方案以及第四分配方案的选择,是至少基于计算任务的总数据量和当前挂载的计算设备各自的数据量阈值,包括根据当前挂载的计算设备各自的数据量阈值确定的最小数据量阈值和最大数据量阈值,如此实现了充分利用当前挂载的计算设备来加速该计算任务的运算并且考虑到了当前挂载的计算设备的实时数量和组成等,以及通过一次数据下发操作且不依赖于特定数据结构信息,有利于提高数据交互效率、提升整体并行度、计算性能和资源利用率。下面结合表1来说明如何选择分配方案。以图1所示的异构计算系统为例,设当前挂载的计算设备为图1所示的第二处理单元120挂载的三个计算设备,分别为计算设备122、计算设备124和计算设备126。
表1
Figure 46032DEST_PATH_IMAGE001
如上述表1所示,对第一分配方案、第二分配方案、第三分配方案以及第四分配方案的选择,是至少基于计算任务的总数据量和当前挂载的计算设备各自的数据量阈值,包括根据当前挂载的计算设备各自的数据量阈值确定的最小数据量阈值和最大数据量阈值。并且,针对当前挂载的计算设备具有相同的数据量阈值或者相同的数据处理能力的情况,这意味着最小数据量阈值必然等于最大数据量阈值,可以相应地简化对分配方案的选择,例如用第一数据量阈值来取代最小数据量阈值和最大数据量阈值。应当理解的是,当面对多个计算任务时,每个计算任务各自的数据量阈值可能有所不同,每个计算任务在下发前所面对的当前挂载的计算设备的组成及各自的空闲率也可能有所不同,通过根据每个计算任务的总数据量并且结合当前挂载的计算设备来确定相应分配方案,实现了为每个计算任务提供整体并行度和计算性能较好的分配方案以及对计算设备的调用。
应当理解的是,上述方法可以通过相应的执行主体或者载体来实现。在一些示例性实施例中,一种非瞬时性计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,该计算机指令被处理器执行时实现上述方法以及上述任意实施例、实施方式或者它们的组合。在一些示例性实施例中,一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器通过运行所述可执行指令以实现上述方法以及上述任意实施例、实施方式或者它们的组合。
请参阅图1和图2,图2所示的异构计算系统选择分配方案的方法,可以通过图1所示的异构计算系统的交互层116执行也就是通过交互层116来确定分配方案。应当理解的是,图2所示的异构计算系统选择分配方案的方法还可以通过图1所示的异构计算系统的任意实施例、实施方式或者变体中的任意合适组件、模块或电路执行。另外,图1所示的异构计算系统所包括的这些层(任务层112、SDK层114、交互层116以及驱动层118)之间的功能可以合并、拆分、再调整或者再组合,还可以相应增加或者减少层次,在此不做具体限定。
请继续参阅图1、图2以及上述表1,本申请实施例提供了一种异构计算系统,用于隐私计算、隐私数据和联邦学习。所述异构计算系统包括第一处理单元和第二处理单元,所述第二处理单元配置为可挂载一个或者多个计算设备。其中,针对多个计算任务中的每一个计算任务:第一处理单元配置为对该计算任务进行解析以确定该计算任务的总数据量,获取所述第二处理单元当前挂载的计算设备各自的数据量阈值,然后至少基于该计算任务的总数据量和所述第二处理单元当前挂载的计算设备各自的数据量阈值确定该计算任务相关联的任务数据的分配方案,以及根据该分配方案对该任务数据进行拆分并下发到所述第二处理单元当前挂载的计算设备中的与该分配方案对应的计算设备;所述第二处理单元当前挂载的计算设备中的与该分配方案对应的计算设备从所述第一处理单元获取拆分后的任务数据后各自进行计算并将计算结果上传到所述第一处理单元从而获得该计算任务的最终计算结果。如此,针对多个计算任务中的每一个计算任务,该异构计算系统根据该计算任务的总数据量并且结合当前挂载的计算设备来确定与该计算任务对应的分配方案,实现了为每个计算任务提供整体并行度和计算性能较好的分配方案以及对计算设备的调用。并且,面对每一个计算任务,该异构计算系统均通过一次数据下发操作且不依赖于特定数据结构信息,这样在面对数量众多的计算任务时能显著提高多计算任务场景下的数据交互效率、提升整体并行度、计算性能和资源利用率。
图3示出了本申请实施例提供的用于图2所示的异构计算系统选择分配方案的方法的电子设备的框图。如图3所示,电子设备包括主处理器302,内部总线304,网络接口306,主存储器308,以及辅助处理器310和辅助内存312,还有辅助处理器320和辅助内存322。其中,主处理器302与主存储器308连接,主存储器308可用于存储主处理器302可执行的计算机指令,从而可以实现图2所示的异构计算系统选择分配方案的方法,包括其中部分或者全部步骤,也包括其中步骤的任意可能的组合或结合以及可能的替换或者变体。网络接口306用于提供网络连接以及通过网络收发数据。内部总线304用于提供在主处理器302、网络接口306、辅助处理器310以及辅助处理器320之间的内部的数据交互。其中,辅助处理器310与辅助内存312连接并一起提供辅助计算能力,而辅助处理器320与辅助内存322连接并一起提供辅助计算能力。辅助处理器310和辅助处理器320可以提供相同或者不同的辅助计算能力,包括但是不限于,针对特定计算需求进行优化的计算能力如并行处理能力或者张量计算能力,针对特定算法或者逻辑结构进行优化的计算能力例如迭代计算能力等。辅助处理器310和辅助处理器320可以包括特定类型的一个或者多个处理器,如数字信号处理器(DSP),专用集成电路(ASIC),现场可编程门阵列(FPGA)等,从而可以提供定制化的功能和结构。在一些示例性实施例中,电子设备可以不包括辅助处理器,可以包括仅一个辅助处理器,还可以包括任意数量的辅助处理器且各自具有相应的定制化功能及结构,在此不做具体限定。图3中所示出的两个辅助处理器的架构仅为说明性而不应解释为限制性。另外,主处理器302可以包括单核或者多核的计算单元,用于提供本申请实施例所必需的功能和操作。另外,主处理器302和辅助处理器(如图3中的辅助处理器310和辅助处理器320)可以具有不同的架构,也就是电子设备可以是基于异构架构的系统,例如主处理器302可以是基于指令集操作体系的通用型处理器如CPU,而辅助处理器可以是适合并行化计算的图形处理器GPU或者是适合神经网络模型相关运算的专用加速器。辅助内存(例如图3所示的辅助内存312和辅助内存322)可以用于配合各自对应的辅助处理器来实现定制化功能及结构。而主存储器308用于存储必要的指令、软件、配置、数据等从而可以配合主处理器302提供本申请实施例所必需的功能和操作。在一些示例性实施例中,电子设备可以不包括辅助内存,可以包括仅一个辅助内存,还可以包括任意数量的辅助内存,在此不做具体限定。图3中所示出的两个辅助内存的架构仅为说明性而不应解释为限制性。主存储器308以及可能的辅助内存可以包括以下一个或多个特征:易失性,非易失性,动态,静态,可读/写,只读,随机访问,顺序访问,位置可寻址性,文件可寻址性和内容可寻址性,并且可以包括随机存取存储器(RAM),闪存,只读存储器(ROM),可擦可编程只读存储器(EPROM),电可擦可编程只读存储器(EEPROM),寄存器,硬盘,可移动磁盘,可记录和/或可重写光盘(CD),数字多功能光盘(DVD),大容量存储介质设备或任何其他形式的合适存储介质。内部总线304可以包括不同总线结构中的任何一种或不同总线结构的组合,例如存储器总线或存储器控制器,外围总线,通用串行总线和/或利用多种总线体系结构中的任何一种的处理器或本地总线。应当理解的是,图3所示的电子设备,其所示的结构并不构成对有关装置或系统的具体限定,在一些示例性实施例中,电子设备可以包括比具体实施例和附图更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者具有不同的部件布置。
图4示出了本申请实施例提供的异构计算系统的调度方法的流程示意图。其中,所述异构计算系统包括第一处理单元和第二处理单元,所述第二处理单元配置为可挂载一个或者多个计算设备。如图4所示,调度方法包括以下步骤。
步骤S410:通过所述第一处理单元,对计算任务进行解析以确定所述计算任务的总数据量,获取所述第二处理单元当前挂载的计算设备各自的数据量阈值,然后至少基于所述计算任务的总数据量和所述第二处理单元当前挂载的计算设备各自的数据量阈值确定所述计算任务相关联的任务数据的分配方案,以及根据所述分配方案对所述任务数据进行拆分并下发到所述第二处理单元当前挂载的计算设备中的与所述分配方案对应的计算设备。
步骤S420:通过所述第二处理单元当前挂载的计算设备中的与所述分配方案对应的计算设备,从所述第一处理单元获取拆分后的任务数据后各自进行计算并将计算结果上传到所述第一处理单元从而获得所述计算任务的最终计算结果。
图4所示的异构计算系统的调度方法,至少基于计算任务的总数据量和当前挂载的计算设备各自的数据量阈值确定计算任务相关联的任务数据的分配方案,并且根据分配方案对任务数据进行拆分并下发到当前挂载的计算设备中的与分配方案对应的计算设备,实现了充分利用当前挂载的计算设备来加速该计算任务的运算并且考虑到了当前挂载的计算设备的实时数量和组成等,以及通过一次数据下发操作且不依赖于特定数据结构信息,有利于提高数据交互效率、提升整体并行度、计算性能和资源利用率。
在一种可能的实施方式中,所述调度方法还包括:比较所述总数据量和所述第二处理单元当前挂载的计算设备各自的数据量阈值中的最小数据量阈值,并且当所述总数据量不超过所述最小数据量阈值时,选择第一分配方案,其中所述第一分配方案指示将所述任务数据全部下发到所述第二处理单元当前挂载的计算设备中的任意空闲计算设备或者空闲率最高的计算设备,所述第二处理单元当前挂载的计算设备各自的空闲率基于存储容量、单个计算任务的任务空间大小以及执行中任务个数确定。
在一种可能的实施方式中,所述调度方法还包括:当所述总数据量超过所述最小数据量阈值时,选择整体并行度最大分配方案,其中所述整体并行度最大分配方案基于所述第二处理单元当前挂载的计算设备各自的数据量阈值和空闲率。
在一种可能的实施方式中,所述调度方法还包括:当所述总数据量超过所述最小数据量阈值时,比较所述总数据量和所述第二处理单元当前挂载的计算设备各自的数据量阈值中的最大数据量阈值,并且,当所述总数据量超过所述最大数据量阈值时,比较基于所述总数据量和所述第二处理单元当前挂载的计算设备的个数得到的所述总数据量的平均分配值和所述最大数据量阈值,以及当所述平均分配值超过所述最大数据量阈值时,选择第二分配方案,其中所述第二分配方案指示将所述任务数据平均分配到所述第二处理单元当前挂载的计算设备中的每一个计算设备。
在一种可能的实施方式中,所述调度方法还包括:当所述总数据量超过所述最小数据量阈值并且所述总数据量不超过所述最大数据量阈值时,选择第三分配方案,其中所述第三分配方案指示:计算所述第二处理单元当前挂载的计算设备各自的数据量阈值和空闲率的乘积得到调整后数据量阈值,基于所述第二处理单元当前挂载的计算设备各自的调整后数据量阈值从大到小排序得到第一序列,然后选择所述第一序列中排序靠前的计算设备并按照所选择的计算设备的调整后数据量阈值分配所述任务数据。
在一种可能的实施方式中,所述调度方法还包括:当所述总数据量超过所述最大数据量阈值并且所述平均分配值不超过所述最大数据量阈值时,选择第四分配方案,其中所述第四分配方案指示:基于所述第二处理单元当前挂载的计算设备各自的调整后数据量阈值从小到大排序得到第二序列,然后选择所述第二序列中排序靠前的计算设备并按照所选择的计算设备的调整后数据量阈值分配所述任务数据。
本申请提供的具体实施例可以用硬件,软件,固件或固态逻辑电路中的任何一种或组合来实现,并且可以结合信号处理,控制和/或专用电路来实现。本申请具体实施例提供的设备或装置可以包括一个或多个处理器(例如,微处理器,控制器,数字信号处理器(DSP),专用集成电路(ASIC),现场可编程门阵列(FPGA)等),这些处理器处理各种计算机可执行指令从而控制设备或装置的操作。本申请具体实施例提供的设备或装置可以包括将各个组件耦合在一起的系统总线或数据传输系统。系统总线可以包括不同总线结构中的任何一种或不同总线结构的组合,例如存储器总线或存储器控制器,外围总线,通用串行总线和/或利用多种总线体系结构中的任何一种的处理器或本地总线。本申请具体实施例提供的设备或装置可以是单独提供,也可以是系统的一部分,也可以是其它设备或装置的一部分。
本申请提供的具体实施例可以包括计算机可读存储介质或与计算机可读存储介质相结合,例如能够提供非暂时性数据存储的一个或多个存储设备,例如非易失性存储设备。计算机可读存储介质/存储设备可以被配置为保存数据,程序器和/或指令,这些数据,程序器和/或指令在由本申请具体实施例提供的设备或装置的处理器执行时使这些设备或装置实现有关操作。计算机可读存储介质/存储设备可以包括以下一个或多个特征:易失性,非易失性,动态,静态,可读/写,只读,随机访问,顺序访问,位置可寻址性,文件可寻址性和内容可寻址性。在一个或多个示例性实施例中,计算机可读存储介质/存储设备可以被集成到本申请具体实施例提供的设备或装置中或属于公共系统。计算机可读存储介质/存储设备可以包括光存储设备,半导体存储设备和/或磁存储设备等等,也可以包括随机存取存储器(RAM),闪存,只读存储器(ROM),可擦可编程只读存储器(EPROM),电可擦可编程只读存储器(EEPROM),寄存器,硬盘,可移动磁盘,可记录和/或可重写光盘(CD),数字多功能光盘(DVD),大容量存储介质设备或任何其他形式的合适存储介质。
以上是本申请实施例的实施方式,应当指出,本申请具体实施例描述的方法中的步骤可以根据实际需要进行顺序调整、合并和删减。在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其他实施例的相关描述。可以理解的是,本申请实施例以及附图所示的结构并不构成对有关装置或系统的具体限定。在本申请另一些实施例中,有关装置或系统可以包括比具体实施例和附图更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者具有不同的部件布置。本领域技术人员将理解,在不脱离本申请具体实施例的精神和范围的情况下,可以对具体实施例记载的方法和设备的布置,操作和细节进行各种修改或变化;在不脱离本申请实施例原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本申请的保护范围。

Claims (12)

1.一种异构计算系统,用于隐私计算、隐私数据和联邦学习,其特征在于,所述异构计算系统包括第一处理单元和第二处理单元,所述第二处理单元配置为可挂载一个或者多个计算设备,
其中,第一处理单元配置为对计算任务进行解析以确定所述计算任务的总数据量,获取所述第二处理单元当前挂载的计算设备各自的数据量阈值,然后至少基于所述计算任务的总数据量和所述第二处理单元当前挂载的计算设备各自的数据量阈值确定所述计算任务相关联的任务数据的分配方案,以及根据所述分配方案对所述任务数据进行拆分并下发到所述第二处理单元当前挂载的计算设备中的与所述分配方案对应的计算设备,
其中,所述第二处理单元当前挂载的计算设备中的与所述分配方案对应的计算设备从所述第一处理单元获取拆分后的任务数据后各自进行计算并将计算结果上传到所述第一处理单元从而获得所述计算任务的最终计算结果,
所述第一处理单元还配置为:比较所述总数据量和所述第二处理单元当前挂载的计算设备各自的数据量阈值中的最小数据量阈值,并且当所述总数据量不超过所述最小数据量阈值时,选择第一分配方案,其中所述第一分配方案指示将所述任务数据全部下发到所述第二处理单元当前挂载的计算设备中的任意空闲计算设备或者空闲率最高的计算设备,所述第二处理单元当前挂载的计算设备各自的空闲率基于存储容量、单个计算任务的任务空间大小以及执行中任务个数确定,
所述第一处理单元还配置为:当所述总数据量超过所述最小数据量阈值时,选择整体并行度最大分配方案,其中所述整体并行度最大分配方案基于所述第二处理单元当前挂载的计算设备各自的数据量阈值和空闲率,
所述第一处理单元还配置为:当所述总数据量超过所述最小数据量阈值时,比较所述总数据量和所述第二处理单元当前挂载的计算设备各自的数据量阈值中的最大数据量阈值,并且,当所述总数据量超过所述最大数据量阈值时,比较基于所述总数据量和所述第二处理单元当前挂载的计算设备的个数得到的所述总数据量的平均分配值和所述最大数据量阈值,以及当所述平均分配值超过所述最大数据量阈值时,选择第二分配方案,其中所述第二分配方案指示将所述任务数据平均分配到所述第二处理单元当前挂载的计算设备中的每一个计算设备,
所述第一处理单元还配置为:当所述总数据量超过所述最小数据量阈值并且所述总数据量不超过所述最大数据量阈值时,选择第三分配方案,其中所述第三分配方案指示:计算所述第二处理单元当前挂载的计算设备各自的数据量阈值和空闲率的乘积得到调整后数据量阈值,基于所述第二处理单元当前挂载的计算设备各自的调整后数据量阈值从大到小排序得到第一序列,然后根据所述第一序列选择计算设备并按照所选择的计算设备的调整后数据量阈值分配所述任务数据。
2.根据权利要求1所述的异构计算系统,其特征在于,所述第一处理单元还配置为:当所述总数据量超过所述最大数据量阈值并且所述平均分配值不超过所述最大数据量阈值时,选择第四分配方案,其中所述第四分配方案指示:基于所述第二处理单元当前挂载的计算设备各自的调整后数据量阈值从小到大排序得到第二序列,然后根据所述第二序列选择计算设备并按照所选择的计算设备的调整后数据量阈值分配所述任务数据。
3.根据权利要求1所述的异构计算系统,其特征在于,所述第二处理单元当前挂载的计算设备各自的数据量阈值相等且均为第一数据量阈值,所述第一处理单元还配置为:比较所述总数据量和所述第一数据量阈值,并且当所述总数据量不超过所述第一数据量阈值时,选择第一分配方案,其中所述第一分配方案指示将所述任务数据全部下发到所述第二处理单元当前挂载的计算设备中的任意空闲计算设备或者空闲率最高的计算设备,所述第二处理单元当前挂载的计算设备各自的空闲率基于存储容量、单个计算任务的任务空间大小以及执行中任务个数确定。
4.根据权利要求3所述的异构计算系统,其特征在于,所述第一处理单元还配置为:当所述总数据量超过所述第一数据量阈值时,选择整体并行度最大分配方案,其中所述整体并行度最大分配方案基于所述第二处理单元当前挂载的计算设备各自的数据量阈值和空闲率。
5.根据权利要求3所述的异构计算系统,其特征在于,所述第一处理单元还配置为:当所述总数据量超过所述第一数据量阈值时,比较基于所述总数据量和所述第二处理单元当前挂载的计算设备的个数得到的所述总数据量的平均分配值和所述第一数据量阈值,以及当所述平均分配值超过所述第一数据量阈值时,选择第二分配方案,其中所述第二分配方案指示将所述任务数据平均分配到所述第二处理单元当前挂载的计算设备中的每一个计算设备。
6.根据权利要求5所述的异构计算系统,其特征在于,所述第一处理单元还配置为:当所述总数据量超过所述第一数据量阈值并且所述平均分配值不超过所述第一数据量阈值时,选择的分配方案指示:基于所述第二处理单元当前挂载的计算设备各自的调整后数据量阈值从小到大排序得到第二序列,然后根据所述第二序列选择计算设备并按照所选择的计算设备的调整后数据量阈值分配所述任务数据。
7.根据权利要求1所述的异构计算系统,其特征在于,所述第一处理单元包括:
任务层,用于创建或者从外部接收所述计算任务;
SDK层,用于从所述任务层获取所述计算任务,然后对所述计算任务进行解析并确定所述总数据量,以及用于所述计算任务的数据分发;
交互层,用于从所述SDK层接收所述总数据量,从所述第二处理单元获取所述第二处理单元当前挂载的计算设备各自的数据量阈值,确定所述分配方案并根据所述分配方案对所述任务数据进行拆分;
驱动层,用于从所述交互层获取所述拆分后的任务数据并下发到所述第二处理单元当前挂载的计算设备中的与所述分配方案对应的计算设备。
8.根据权利要求1所述的异构计算系统,其特征在于,所述第一处理单元包括至少一个CPU,所述第二处理单元当前挂载的计算设备包括至少一个FPGA。
9.根据权利要求8所述的异构计算系统,其特征在于,所述第二处理单元当前挂载的计算设备各自的数据量阈值和存储容量基于出厂设定。
10.一种异构计算系统,用于隐私计算、隐私数据和联邦学习,其特征在于,所述异构计算系统包括第一处理单元和第二处理单元,所述第二处理单元配置为可挂载一个或者多个计算设备,其中,针对多个计算任务中的每一个计算任务:
第一处理单元配置为对该计算任务进行解析以确定该计算任务的总数据量,获取所述第二处理单元当前挂载的计算设备各自的数据量阈值,然后至少基于该计算任务的总数据量和所述第二处理单元当前挂载的计算设备各自的数据量阈值确定该计算任务相关联的任务数据的分配方案,以及根据该分配方案对该任务数据进行拆分并下发到所述第二处理单元当前挂载的计算设备中的与该分配方案对应的计算设备;
所述第二处理单元当前挂载的计算设备中的与该分配方案对应的计算设备从所述第一处理单元获取拆分后的任务数据后各自进行计算并将计算结果上传到所述第一处理单元从而获得该计算任务的最终计算结果,
所述第一处理单元还配置为:比较所述总数据量和所述第二处理单元当前挂载的计算设备各自的数据量阈值中的最小数据量阈值,并且当所述总数据量不超过所述最小数据量阈值时,选择第一分配方案,其中所述第一分配方案指示将所述任务数据全部下发到所述第二处理单元当前挂载的计算设备中的任意空闲计算设备或者空闲率最高的计算设备,所述第二处理单元当前挂载的计算设备各自的空闲率基于存储容量、单个计算任务的任务空间大小以及执行中任务个数确定,
所述第一处理单元还配置为:当所述总数据量超过所述最小数据量阈值时,选择整体并行度最大分配方案,其中所述整体并行度最大分配方案基于所述第二处理单元当前挂载的计算设备各自的数据量阈值和空闲率,
所述第一处理单元还配置为:当所述总数据量超过所述最小数据量阈值时,比较所述总数据量和所述第二处理单元当前挂载的计算设备各自的数据量阈值中的最大数据量阈值,并且,当所述总数据量超过所述最大数据量阈值时,比较基于所述总数据量和所述第二处理单元当前挂载的计算设备的个数得到的所述总数据量的平均分配值和所述最大数据量阈值,以及当所述平均分配值超过所述最大数据量阈值时,选择第二分配方案,其中所述第二分配方案指示将所述任务数据平均分配到所述第二处理单元当前挂载的计算设备中的每一个计算设备,
所述第一处理单元还配置为:当所述总数据量超过所述最小数据量阈值并且所述总数据量不超过所述最大数据量阈值时,选择第三分配方案,其中所述第三分配方案指示:计算所述第二处理单元当前挂载的计算设备各自的数据量阈值和空闲率的乘积得到调整后数据量阈值,基于所述第二处理单元当前挂载的计算设备各自的调整后数据量阈值从大到小排序得到第一序列,然后根据所述第一序列选择计算设备并按照所选择的计算设备的调整后数据量阈值分配所述任务数据。
11.一种异构计算系统的调度方法,用于隐私计算、隐私数据和联邦学习,其特征在于,所述异构计算系统包括第一处理单元和第二处理单元,所述第二处理单元配置为可挂载一个或者多个计算设备,所述调度方法包括:
通过所述第一处理单元,对计算任务进行解析以确定所述计算任务的总数据量,获取所述第二处理单元当前挂载的计算设备各自的数据量阈值,然后至少基于所述计算任务的总数据量和所述第二处理单元当前挂载的计算设备各自的数据量阈值确定所述计算任务相关联的任务数据的分配方案,以及根据所述分配方案对所述任务数据进行拆分并下发到所述第二处理单元当前挂载的计算设备中的与所述分配方案对应的计算设备;
通过所述第二处理单元当前挂载的计算设备中的与所述分配方案对应的计算设备,从所述第一处理单元获取拆分后的任务数据后各自进行计算并将计算结果上传到所述第一处理单元从而获得所述计算任务的最终计算结果,
所述调度方法还包括:
比较所述总数据量和所述第二处理单元当前挂载的计算设备各自的数据量阈值中的最小数据量阈值,并且当所述总数据量不超过所述最小数据量阈值时,选择第一分配方案,其中所述第一分配方案指示将所述任务数据全部下发到所述第二处理单元当前挂载的计算设备中的任意空闲计算设备或者空闲率最高的计算设备,所述第二处理单元当前挂载的计算设备各自的空闲率基于存储容量、单个计算任务的任务空间大小以及执行中任务个数确定,
当所述总数据量超过所述最小数据量阈值时,选择整体并行度最大分配方案,其中所述整体并行度最大分配方案基于所述第二处理单元当前挂载的计算设备各自的数据量阈值和空闲率,
当所述总数据量超过所述最小数据量阈值时,比较所述总数据量和所述第二处理单元当前挂载的计算设备各自的数据量阈值中的最大数据量阈值,并且,当所述总数据量超过所述最大数据量阈值时,比较基于所述总数据量和所述第二处理单元当前挂载的计算设备的个数得到的所述总数据量的平均分配值和所述最大数据量阈值,以及当所述平均分配值超过所述最大数据量阈值时,选择第二分配方案,其中所述第二分配方案指示将所述任务数据平均分配到所述第二处理单元当前挂载的计算设备中的每一个计算设备,
当所述总数据量超过所述最小数据量阈值并且所述总数据量不超过所述最大数据量阈值时,选择第三分配方案,其中所述第三分配方案指示:计算所述第二处理单元当前挂载的计算设备各自的数据量阈值和空闲率的乘积得到调整后数据量阈值,基于所述第二处理单元当前挂载的计算设备各自的调整后数据量阈值从大到小排序得到第一序列,然后根据所述第一序列选择计算设备并按照所选择的计算设备的调整后数据量阈值分配所述任务数据。
12.根据权利要求11所述的调度方法,其特征在于,所述调度方法还包括:
当所述总数据量超过所述最大数据量阈值并且所述平均分配值不超过所述最大数据量阈值时,选择第四分配方案,其中所述第四分配方案指示:基于所述第二处理单元当前挂载的计算设备各自的调整后数据量阈值从小到大排序得到第二序列,然后根据所述第二序列选择计算设备并按照所选择的计算设备的调整后数据量阈值分配所述任务数据。
CN202210949309.XA 2022-08-09 2022-08-09 隐私计算、隐私数据和联邦学习的异构计算系统及方法 Active CN115061825B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210949309.XA CN115061825B (zh) 2022-08-09 2022-08-09 隐私计算、隐私数据和联邦学习的异构计算系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210949309.XA CN115061825B (zh) 2022-08-09 2022-08-09 隐私计算、隐私数据和联邦学习的异构计算系统及方法

Publications (2)

Publication Number Publication Date
CN115061825A CN115061825A (zh) 2022-09-16
CN115061825B true CN115061825B (zh) 2022-11-18

Family

ID=83208118

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210949309.XA Active CN115061825B (zh) 2022-08-09 2022-08-09 隐私计算、隐私数据和联邦学习的异构计算系统及方法

Country Status (1)

Country Link
CN (1) CN115061825B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116932631A (zh) * 2023-07-18 2023-10-24 哈尔滨晨文科技开发有限公司 一种基于大数据的检测数据可视化管理系统及方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111431951A (zh) * 2019-01-09 2020-07-17 阿里巴巴集团控股有限公司 一种数据处理方法、节点设备、系统及存储介质
CN112541584A (zh) * 2019-09-23 2021-03-23 无锡江南计算技术研究所 深度神经网络模型并行模式选择方法
WO2022016833A1 (zh) * 2020-07-24 2022-01-27 苏州浪潮智能科技有限公司 一种图计算方法、装置、设备及存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9959142B2 (en) * 2014-06-17 2018-05-01 Mediatek Inc. Dynamic task scheduling method for dispatching sub-tasks to computing devices of heterogeneous computing system and related computer readable medium
JP6753999B2 (ja) * 2017-02-28 2020-09-09 株式会社日立製作所 分散データベースシステム及び分散データベースシステムのリソース管理方法
CN110134516A (zh) * 2019-05-16 2019-08-16 深圳前海微众银行股份有限公司 金融数据处理方法、装置、设备及计算机可读存储介质
CN111813526A (zh) * 2020-07-10 2020-10-23 深圳致星科技有限公司 用于联邦学习的异构处理系统、处理器及任务处理方法
CN112685159B (zh) * 2020-12-30 2022-11-29 深圳致星科技有限公司 基于fpga异构处理系统的联邦学习计算任务处理方案
CN114860449B (zh) * 2022-05-17 2024-04-05 上海弘玑信息技术有限公司 数据处理方法、装置、设备和存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111431951A (zh) * 2019-01-09 2020-07-17 阿里巴巴集团控股有限公司 一种数据处理方法、节点设备、系统及存储介质
CN112541584A (zh) * 2019-09-23 2021-03-23 无锡江南计算技术研究所 深度神经网络模型并行模式选择方法
WO2022016833A1 (zh) * 2020-07-24 2022-01-27 苏州浪潮智能科技有限公司 一种图计算方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN115061825A (zh) 2022-09-16

Similar Documents

Publication Publication Date Title
US10552161B2 (en) Cluster graphical processing unit (GPU) resource sharing efficiency by directed acyclic graph (DAG) generation
US11082206B2 (en) Layout-independent cryptographic stamp of a distributed dataset
US10545762B2 (en) Independent mapping of threads
US10263856B2 (en) Dynamic highlight
RU2573733C1 (ru) Способ и устройство для регулировки канала i/о на виртуальной платформе
CN113177225B (zh) 基于区块链的数据存储证明方法、装置、设备和存储介质
CN115061825B (zh) 隐私计算、隐私数据和联邦学习的异构计算系统及方法
US20220027432A1 (en) System, method and computer program product for dense/sparse linear system solver accelerator
CN109412865B (zh) 一种虚拟网络资源分配方法、系统及电子设备
US11301305B2 (en) Dynamic resource clustering architecture
US20230325149A1 (en) Data processing method and apparatus, computer device, and computer-readable storage medium
KR102238600B1 (ko) 스케쥴러 컴퓨팅 장치, 그것을 포함하는 분산 컴퓨팅 시스템의 데이터 노드 및 그것의 방법
CN114860460B (zh) 一种数据库加速的方法、装置、计算机设备
CN115080496A (zh) 网络映射方法、数据处理方法及装置、设备、系统和介质
JP7142665B2 (ja) ストレージ管理のための方法、装置、機器、コンピュータ読み取り可能な記憶媒体及びコンピュータプログラム
US11334393B2 (en) Resource cluster chaining architecture
US20180232205A1 (en) Apparatus and method for recursive processing
US11620132B2 (en) Reusing an operand received from a first-in-first-out (FIFO) buffer according to an operand specifier value specified in a predefined field of an instruction
CN117112145B (zh) 训练模型分配方法、装置、计算机设备和存储介质
US20170322835A1 (en) Performing a rooted-v collective operation by an operational group of compute nodes in a parallel computer
CN111488216B (zh) 一种数据处理的方法、装置及电子设备
CN111597052B (zh) 芯片管控方法、装置、服务器及可读存储介质
KR102435447B1 (ko) 뉴럴 네트워크 시스템 및 이의 동작 방법
US20240143327A1 (en) Fast carry-calculation oriented redundancy-tolerated fixed-point number coding for massive parallel alu circuitry design in gpu, tpu, npu, ai infer chip, cpu, and other computing devices
US10469822B2 (en) Scalable distributed computation framework for data-intensive computer vision workloads

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
GR01 Patent grant
GR01 Patent grant