asterinas / trustflow

A privacy-preserving computing system based on TEE.
https://www.secretflow.org.cn/docs/trustedflow
Apache License 2.0
16 stars 12 forks source link

SGX模式与多任务并行运算 #73

Closed zzx-QDU closed 4 months ago

zzx-QDU commented 4 months ago

大佬,您好!因为Occlum不能同时运行多个任务,所以需要开多个容器来解决这个问题。但是我发现容器一旦被停止,重启之后就无法再连上pccs服务,这样管理容器就会很麻烦。请问如何能更有效的同时运行多个任务?

zhongtianq commented 4 months ago

您好,我理解访问PCCS服务与容器是否重启没有关系,只要服务正常,config中pccs服务地址配置正确即可。

您遇到的这个问题我猜测您本身就已经无法访问pccs服务,但是由于intel dcap库中请求pccs的函数有cache功能,所以在容器重启之前一直使用的是cache,并没有实际访问pccs,所以造成了你误认为是重启导致无法访问pccs的情况。

zzx-QDU commented 4 months ago

我们是再lazy模式下部署的PCCS服务,请问是需要换成其他的模式吗?

zhongtianq commented 4 months ago

我们是再lazy模式下部署的PCCS服务,请问是需要换成其他的模式吗?

可以试下PCCS的REQ模式,但是LAZY模式我理解关系也不大。

另外,起多个teeapps-sgx容器访问pccs是不会有冲突的。 可以看一下错误码,如果是0xe019,那就是网络访问不通。网络问题可以单独调试一下PCCS服务

zzx-QDU commented 4 months ago

如果通过选择其他模式来避免使用occlum,如使用TDX模式或CSV模式,能否在一个容器内同时运行多个任务?

zhongtianq commented 4 months ago

如果通过选择其他模式来避免使用occlum,如使用TDX模式或CSV模式,能否在一个容器内同时运行多个任务?

目前是不支持的。 我们设计上teeapps是被调度拉起单个任务的,同时运行多个任务会有文件路径上的冲突,比如内部的task_config文件等。

zzx-QDU commented 4 months ago

好的,非常感谢帮助!

zhouaihui commented 4 months ago

TDX或者CSV支持机密虚拟机,可以支持在虚拟机内启动多个pod,您可以考虑通过这种方式运行多个任务。不过同一个虚拟机内多pod间的隔离性会稍差。