Trusted execution environments (TEEs) such as \intelsgx facilitate the secure execution of an application on untrusted machines. Sadly, such environments suffer from serious limitations and performance overheads in terms of writing back data to the main memory, their interaction with the OS, and the ability to issue I/O instructions. There is thus a plethora of work that focuses on improving the performance of such environments -- this necessitates the need for a standard, widely accepted benchmark suite (something similar to SPEC and PARSEC). To the best of our knowledge, such a suite does not exist. Our suite, SGXGauge, contains a diverse set of workloads such as blockchain codes, secure machine learning algorithms, lightweight web servers, secure key-value stores, etc. We thoroughly characterizes the behavior of the benchmark suite on a native platform and on a platform that uses a library OS-based shimming layer (GrapheneSGX). We observe that the most important metrics of interest are performance counters related to paging, memory, and TLB accesses. There is an abrupt change in performance when the memory footprint starts to exceed the size of the EPC size in Intel SGX, and the library OS does not add a significant overhead (~ +- 10%).
翻译:令人痛心的是,这种环境在将数据写回主记忆、与操作系统的互动以及发布 I/O 指令的能力等方面受到严重限制和性能管理。因此,许多工作都侧重于改善这类环境的性能 -- -- 这就需要有一个标准、广泛接受的基准套件(类似于SPEC和PARSEC)。据我们所知,这样的套件并不存在。我们的套件SGXGauge(SGXGauge)包含一系列不同的工作量,如块链码、安全的机器学习算法、轻型网络服务器、安全的钥匙价值仓库等。我们透彻地描述在本地平台上的基准套件和在使用基于图书馆的OS Shimming 层(GrapheneSGX) 的平台上的行为。我们发现,最重要的衡量标准是:与定位、记忆和TLB访问有关的性能反向。当EX 开始超过 EPC 10 的缩略图时,业绩会突然发生变化。