Intel SGX is already here, with a strong emphasis on security and privacy. However, it is not free. Studies have shown that it incurs a significant performance overhead to take advantage of the security and privacy enhancement offered by SGX. In particular, it only provides limited physical memory for applications to use SGX. As a result, page faults can be frequently triggered during program execution, especially for memory-intensive applications with a large memory footprint. Therefore, it is imperative to look into possible optimization opportunities to enhance the efficiency of SGX. To this end, this paper proposes to leverage memory page preloading techniques to mitigate such a problem. More specifically, we propose two effective schemes to preload memory pages before they are accessed. This way, the number of page faults can be significantly reduced. To demonstrate the effectiveness of the proposed schemes, we have implemented them in a prototype using LLVM and an untrusted operating system. Experimental results on benchmarks from SPEC CPU2017 and a micro-benchmark program show that, on average, these two mechanisms can achieve 11.4% and 7.0% performance improvement with a maximum performance improvement of 18.6% and 9.0%, respectively. The two mechanisms are also evaluated when they are deployed together. The combined approach can achieve an improvement of 7.1% on some real-world applications such as SIFT and MSER.
|Original language||English (US)|
|Title of host publication||Middleware 2020 - Proceedings of the 2020 21st International Middleware Conference|
|Publisher||Association for Computing Machinery, Inc|
|Number of pages||15|
|State||Published - Dec 7 2020|
|Event||21st International Middleware Conference, Middleware 2020 - Virtual, Online, Netherlands|
Duration: Dec 7 2020 → Dec 11 2020
|Name||Middleware 2020 - Proceedings of the 2020 21st International Middleware Conference|
|Conference||21st International Middleware Conference, Middleware 2020|
|Period||12/7/20 → 12/11/20|
Bibliographical noteFunding Information:
This work is partially supported by the National Natural Science Foundation of China (61702286), the National Key Research and Development Program of China (2018YFB1003405), the Natural Science Foundation of Tianjin, China (18JCY-BJC15600), the CERNET Innovation Project (NGII20190514), and a faculty startup funding of the University of Georgia.
© 2020 Association for Computing Machinery.
Copyright 2020 Elsevier B.V., All rights reserved.
- Intel SGX
- Memory Preloading
- Page Fault
- Source Code Instrument