性能指标
产品的性能指标参考,性能会受客户环境、网络等影响。
ID安全匹配(PSI)
技术实现
多方安全计算密码学协议
使用要求
目前已支持计算引擎:MaxCompute、Local(本地);
目前已支持数据源:MaxCompute、RDS、Hologres、MySQL、PostgreSQL;
数据传输依赖网络带宽;
ID(联合主键)必须唯一;
性能指标
计算引擎 | 计算资源 | 数据源 | 数据量 | 传输通道 | 传输带宽 | 任务平均运行时间 |
MaxCompute | 3000*2000 CU | MaxCompute | 4亿*1亿 | OSS | 1000Mb/s | 12分钟 |
MaxCompute | 3000*2000 CU | MaxCompute | 8亿*1亿 | OSS | 1000Mb/s | 24分钟 |
MaxCompute | 3000*2000 CU | MaxCompute | 100亿*1亿 | OSS | 1000Mb/s | 12小时 |
MaxCompute | 5000*2000 CU | MaxCompute | 3亿*2000万 | ODPS CopyTask | 1000Mb/s | 7分钟 |
MaxCompute | 5000*2000 CU | MaxCompute | 6亿*2000万 | ODPS CopyTask | 1000Mb/s | 12分钟 |
MaxCompute | 5000*2000 CU | MaxCompute | 150亿*5000万 | ODPS CopyTask | 1000Mb/s | 4小时 |
MaxCompute | 2000*2000 CU | MaxCompute | 5亿*3亿 | OSS | 50Mb/s | 3小时30分钟 |
MaxCompute | 2000*2000 CU | MaxCompute | 5亿*3亿 | OSS | 100Mb/s | 2小时15分钟 |
Local | 8 Core 16GB | MySQL | 1000万*1000万 | OSS | 1000Mb/s | 8分钟 |
Local | 8 Core 16GB | MySQL | 2000万*5万 | OSS | 1000Mb/s | 6分钟 |
Local | 8 Core 16GB | MaxCompute | 2亿*2亿 | OSS | 1000Mb/s | 12分钟 |
Local | 8 Core 16GB | MaxCompute | 8亿*8亿 | OSS | 1000Mb/s | 54分钟 |
Local | 8 Core 16GB | MaxCompute | 8亿*8亿 | OSS | 100Mb/s | 2小时 |
ID安全匹配(缓存PSI)
产品支持通过PSI缓存任务的方式进行预计算,用户在配置PSI任务时可以选择是否使用PSI缓存任务,如果选择使用PSI缓存任务,则可以只对增量数据进行PSI计算,适用于大数据量场景、增量更新较少的场景下的周期性PSI安全求交计算。以下是一组使用PSI缓存任务、不使用PSI缓存任务的性能对比数据。
是否使用缓存 | 计算引擎 | 计算资源 | 数据源 | 数据量 | 传输通道 | 传输带宽 | 任务平均运行时间 |
不使用缓存 | MaxCompute | 1000*1000 CU | MaxCompute | 5亿*1亿 | ODPS CopyTask | 1000Mb/s | 39分钟 |
使用缓存 | MaxCompute | 1000*1000 CU | MaxCompute | 5亿*1亿 | ODPS CopyTask | 1000Mb/s | 19分钟 |
不使用缓存 | MaxCompute | 1000*1000 CU | MaxCompute | 10亿*1亿 | ODPS CopyTask | 1000Mb/s | 44分钟 |
使用缓存 | MaxCompute | 1000*1000 CU | MaxCompute | 10亿*1亿 | ODPS CopyTask | 1000Mb/s | 17分钟 |
不使用缓存 | MaxCompute | 1000*1000 CU | MaxCompute | 20亿*1亿 | ODPS CopyTask | 1000Mb/s | 60分钟 |
使用缓存 | MaxCompute | 1000*1000 CU | MaxCompute | 20亿*1亿 | ODPS CopyTask | 1000Mb/s | 22分钟 |
不使用缓存 | MaxCompute | 1000*1000 CU | MaxCompute | 40亿*1亿 | ODPS CopyTask | 1000Mb/s | 102分钟 |
使用缓存 | MaxCompute | 1000*1000 CU | MaxCompute | 40亿*1亿 | ODPS CopyTask | 1000Mb/s | 24分钟 |
不使用缓存 | MaxCompute | 1000*1000 CU | MaxCompute | 100亿*1亿 | ODPS CopyTask | 1000Mb/s | 223分钟 |
使用缓存 | MaxCompute | 1000*1000 CU | MaxCompute | 100亿*1亿 | ODPS CopyTask | 1000Mb/s | 20分钟 |
联邦学习(FL)
技术实现
基于安全保护的联邦学习
使用要求
目前已支持计算引擎:Local(本地);
目前已支持数据源:MaxCompute、RDS、Hologres、MySQL、PostgreSQL;
数据传输依赖网络带宽;
使用前首先需要进行ID对齐(PSI);
性能指标
测试环境:Local(本地)计算引擎,计算资源为16 Core CPU、32 GB 内存,传输带宽为100Mbps。
算法类型 | 数据规模 | 特征规模 | 任务类型 | 任务平均运行时间 |
决策树-XGBoostWithDp | 100万 | 2000维*2000维 | 训练 | 180分钟 |
决策树-GBDTWithDp | 500万 | 100维*100维 | 训练 | 15分钟 |
线性回归-LinearRegressionWithHe | 100万 | 100维*100维 | 训练 | 150分钟 |
逻辑回归-LogisticRegressionWithHe | 10万 | 100维*100维 | 训练 | 50分钟 |
神经网络MLP | 100万 | 100维*100维 | 训练 | 30分钟 |
决策树-XGBoostWithDp | 5亿 | 100维*100维 | 离线预测 | 50分钟 |
决策树-GBDTWithDp | 5亿 | 100维*100维 | 离线预测 | 120分钟 |
线性回归-LinearRegressionWithHe | 1亿 | 100维*100维 | 离线预测 | 100分钟 |
逻辑回归-LogisticRegressionWithHe | 1亿 | 100维*100维 | 离线预测 | 70分钟 |
神经网络MLP | 1亿 | 100维*100维 | 离线预测 | 100分钟 |
决策树-XGBoostWithDp | 100维*100维 | 在线预测 | qps:100 rt: 1秒 | |
决策树-GBDTWithDp | 100维*100维 | 在线预测 | qps:100 rt: 1秒 | |
线性回归-LinearRegressionWithHe | 100维*100维 | 在线预测 | qps:100 rt: 1秒 | |
逻辑回归-LogisticRegressionWithHe | 100维*100维 | 在线预测 | qps:100 rt: 1秒 | |
神经网络MLP | 100维*100维 | 在线预测 | qps:100 rt: 1秒 |
隐匿信息查询(PIR)
技术实现
基于安全保护的隐匿信息查询
使用要求
目前已支持计算引擎:Local(本地);
目前已支持数据源:MaxCompute、RDS、Hologres、MySQL、PostgreSQL;
数据传输依赖网络带宽。
性能指标
测试环境:1核16G内存,系统macOS 12.4,Java 8,传输带宽为100Mbps
CPU:Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
客户端PIR数据在服务端数据库中
每批PIR元素个数 | 查询批数 | 密码算法 | 客户端PIR计算平均耗时 (ms) | 服务端PIR计算平均耗时 (ms) | PIR请求全链路预估耗时 (ms) | 总通信量 (KB) |
10 | 1 | 国际 | 5.5 | 5.58 | 11.16 | 1.04 |
国产 | 5.42 | 10.88 | 16.38 | 1.04 | ||
5 | 国际 | 8.58 | 18.78 | 27.77 | 5.2 | |
国产 | 9.12 | 27.1 | 36.63 | 5.2 | ||
100 | 1 | 国际 | 5.94 | 28.7 | 35.38 | 9.48 |
国产 | 5.66 | 41.76 | 48.16 | 9.48 | ||
5 | 国际 | 11.12 | 115.12 | 129.94 | 47.38 | |
国产 | 8.02 | 149.5 | 161.22 | 47.38 | ||
1000 | 1 | 国际 | 6.2 | 185.4 | 198.93 | 93.85 |
国产 | 9.96 | 286.3 | 303.59 | 93.85 | ||
5 | 国际 | 7.4 | 855.7 | 899.76 | 469.26 | |
国产 | 9.1 | 1285.4 | 1331.16 | 469.26 | ||
2000 | 1 | 国际 | 5.32 | 351.2 | 371.18 | 187.6 |
国产 | 5.54 | 496.4 | 516.6 | 187.6 | ||
5 | 国际 | 9.36 | 1735.4 | 1818.04 | 938.01 | |
国产 | 8.1 | 2473.4 | 2554.78 | 938.01 |
客户端PIR数据不在服务端数据库中
每批PIR元素个数 | 查询批数 | 密码算法 | 客户端PIR计算平均耗时 (ms) | 服务端PIR计算平均耗时 (ms) | PIR请求全链路预估耗时 (ms) | 总通信量 (KB) |
10 | 1 | 国际 | 5.68 | 0.54 | 6.25 | 0.41 |
国产 | 6.82 | 0.44 | 7.29 | 0.41 | ||
5 | 国际 | 7.9 | 1.5 | 9.56 | 2.07 | |
国产 | 9.94 | 2.06 | 12.16 | 2.07 | ||
100 | 1 | 国际 | 5.96 | 0.56 | 6.77 | 3.23 |
国产 | 6.88 | 1.10 | 8.23 | 3.23 | ||
5 | 国际 | 6.62 | 1.10 | 8.98 | 16.13 | |
国产 | 9.32 | 2.40 | 12.98 | 16.13 | ||
1000 | 1 | 国际 | 6.54 | 0.52 | 9.51 | 31.35 |
国产 | 9.78 | 1.00 | 13.23 | 31.35 | ||
5 | 国际 | 9.16 | 1.80 | 23.21 | 156.76 | |
国产 | 9.08 | 2.30 | 23.63 | 156.76 | ||
2000 | 1 | 国际 | 6.44 | 1.80 | 13.13 | 62.60 |
国产 | 7.76 | 1.86 | 14.51 | 62.60 | ||
5 | 国际 | 9.8 | 2.86 | 37.11 | 313.01 | |
国产 | 11.44 | 3.52 | 39.41 | 313.01 |
性能分析
服务端计算性能
服务端需要根据客户端的PIR请求,找到请求的ID对应的value,然后对ID和value进行加密。除去服务端查数据库的耗时,服务端计算耗时主要在对ID和value进行加密。
假定客户端单批查询的ID(n个)都在服务端的数据库中。n越大,服务端计算耗时越长,被服务端猜到PIR查询的是哪个元素的概率越低(1/n)
计算耗时与查询批数、每批里的元素个数基本线性相关