15 Star 18 Fork 8

OpenIslands / OI

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
architecture.md 2.13 KB
一键复制 编辑 原始数据 按行查看 历史
jarviszeng 提交于 2022-09-05 16:41 . update docs

混合算子任务图

  • 算子可选择在常规环境或者安全环境运行
  • 在常规环境运行,那么可选择基于多种安全计算协议的技术进行P2P式交互的联合计算任务
  • 在常规环境运行,也可选择数据经由保密通道上传到安全加密环境进行集中式交互的联合计算任务
  • 若各方在安全环境运行,可考虑基于安全环境的明文联合计算任务

分层架构

系统架构

OI平台,所有系统服务均可部署于Kubernetes之上,可分为如下几个部分:

  • 运维管理区:主要负责一个或多个OI节点的测试运维管理,包括部署、运维、日志、监控等
  • 管理调度区:
    • Apiserver(管理接口):提供面向用户的所有接口
    • Master(算子任务图调度引擎):当本节点作为任务Leader时,其负责该任务的调度,包括拆分成若干个子任务分发到合适的Worker等;否则如果作为任务Follower,则本节点Master不参与任务过程
  • 运行计算区:
    • 一个OI节点可以有多个运行计算区
    • Worker(算子运行治理): 负责管理本运行计算区的所有子任务
    • PyOI/OI4J(算子编程接口): 分别为Python语言编程接口、Java语言编程接口(Alpha版本未支持)
    • Operator: 指当前运行的单个Operator,OI支持运行自身算子及外部框架算子,其中外部框架算子目前可通过部署时安装,具体参考FATE算子包
    • Spark等: OI负责计算引擎的资源管理,通过算子编程接口提供低级接口以便算子直接使用
    • Kafka: 缓存多方交互的传输数据
  • 网络外联区:负责转发OI节点与外部通信的请求

P2P式交互任务调度

集中式交互任务调度

马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/openislands/oi.git
git@gitee.com:openislands/oi.git
openislands
oi
OI
master

搜索帮助

344bd9b3 5694891 D2dac590 5694891