隐语任务调度

隐语目前暂定支持的设备列表:

在这里插入图片描述

一 PYU

  • 数据所有者是SecretFlow中的PYU设备,明文并成为PYU Objects
  • 一个PYU object(明文)可以被转化为秘密分享,被叫做SPU Object。
  • Python函数可以被发送至SPU设备执行,背后是SPU编译器和运行时。

PYU是数据所有者的一方,从初始化的device中初始化一个PYU,PYU通过__call___方法会把明文转成 PYUObject,存在多个返回值会生成多个PYUObject, PYUObject 是数据源方的ray object下的数据

二 SPU

SPU(安全处理单元)是一个特定领域的编译器和运行时套件,旨在提供具有可证明安全性的安全计算服务。

SPU实现了多种MPC协议
SPU 支持PSI 安全求交任务 ECDH,KKRT,BC22PCG等等

在这里插入图片描述

在这里插入图片描述

三 HEU

HEU (Homomorphic Encryption processing Unit) 是隐语的一个子项目,它实现了高性能的同态加密算法

在这里插入图片描述

在这里插入图片描述

四 任务调度

secretflow 整体任务调度如下所示,以ray 分布式框架为核心,PYU Node为基础的调度模式

在这里插入图片描述

五 代码示例及分析

初始化PYU角色

alice = sf.PYU(‘alice’)
pyu_x = alice(lambda : x)()

pyu会通过__call__方法将本地py数据映射到ray object store中
在这里插入图片描述

真正计算的是通过share去计算的,本地数据pyu需要转换成spu数据

spu_x = pyu_x.to(spu_device)

to方法实则是将pyu的明文数据转位spu_object 也就是share数据

在这里插入图片描述

SPU真正计算的任务是在__call__方法中

new_spu_x = spu_device(lambda x: x+x)(x)

先会将真正执行的py代码编译
在这里插入图片描述

通过ray 也就是此处的actor将share分发到各个计算节点,并启动计算任务executor

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值