计算组件
计算组件包括:
a) 支持任务在单机上执行,宜支持分布式任务执行;
b) 应具备明确的任务元信息管理方案,确保联邦学习活动正常运行;
c) 宜具备一定容错性,如任务的失败与恢复功能;
d) 应提供 API 具备联邦学习算法开发能力。
存储组件
存储组件功能包括:
a) 宜支持 Key-Value 存储;
b) 支持其他存储系统到存储组件的数据导入与导出;
c) 支持数据外部存储的持久化;
d) 宜支持内存数据存储;
e) 宜支持数据的分布式存储;
f) 具备明确的数据元信息管理方案,确保联邦学习活动正常运行;
g) 提供 API 具备存储组件访问能力;
h) 宜具备明确的数据可用性、可靠性策略,以及存储丢失时的恢复方案。
通信组件
通信组件功能包括:
a) 支持双向通信,即同时支持发起及接收通信请求;
b) 支持跨集群及跨数据中心的通信;
c) 支持国际主流的安全通信方案,如 HTTPS、TLS/SSL 等;
d) 参与方与外部通信时,应使用安全通信方案对通信信道进行加密;
e) 宜对发送到其他联邦学习参与方或协调方的内容进行审计;
f) 提供 API 具备联邦学习算法开发能力。
资源调度与管理组件
资源调度与管理组件功能包括:
a) 对计算、存储、通信请求作出合理的资源分配;
b) 对硬件资源的变动进行记录与管理,并反馈到资源分配的策略上;
c) 宜提供开发者对调度规则进行定制的机制;
d) 提供 API 便于掌握资源的实时使用情况。