英特尔SGX可信计算性能原则与云应用迁移复杂性解析
英特尔SGX可信计算性能原则
在英特尔SGX(Software Guard Extensions)的应用中,线程在同一逻辑核心上执行时的上下文切换频率,比在飞地(enclave)外执行的常规线程要低得多。这可能是在实现飞地支持时的一种设计选择,因为飞地中的中断成本特别高。任何上下文切换都必须由定时器硬件中断触发线程退出飞地,因此增加调度器的时间片以分摊这一成本是合理的。
在设计支持可信计算的云服务时,需要考虑SGX的几个性能特征,具体可分为进入和退出飞地的成本、数据复制成本、新飞地配置成本、内存使用成本和多线程执行成本。
- 进入和退出飞地的成本 :转换成本在方向上是统一的,且最显著的成本归因于作为转换参数输入的缓冲区大小。当缓冲区大小大于64 kB时,成本会急剧上升,这可能是一个架构边界,飞地默认预先配置了一定数量的页面。
- 数据复制成本 :应用应划分其功能组件,以最大限度地减少跨飞地边界复制的数据。例如,Haven通过将大部分系统软件栈放置在单个飞地中,减少了可信代码和不可信代码之间的接口。
- 新飞地配置成本 :飞地创建在配置延迟方面成本较高。如果能够预测使用模式,应用可以预先配置飞地以隐藏部分成本,但回收使用过的飞地可能会导致机密数据泄露。
- 内存使用成本 :EPC(Enclave Page Cache)是有限资源,SGX页面错误处理程序会及时将未使用的飞地内存换出。但页面错误事件中不提供错误地址,处理程序无法对内存访问模式做出假设。
-
超级会员免费看
订阅专栏 解锁全文
22

被折叠的 条评论
为什么被折叠?



