Eleos increased I/O and memory intensive SGX program execution performance with In-enclave system calls and user-managed virtual memory.

Why

  • Running I/O-intensive, memory-demanding server applications in en-claves leads to significant performance degradation.
  • Main reason for the application slowdown with SGX is substantial load on the in-enclave system call and secure paging mechanisms.
  • Other reason for slowdown:
    • Thousands-of-cycles long SGX management instructions.
    • Enclave exits cost too high due to associated TLB flushes and processor state pollution.

How

  • Reduced cache pollution due to system calls -> Limiting the LLC space available to the RPC thread using the Cache Allocation Technology.
  • Application-managed paging -> User-level library SUVM: per-enclave page table and page cache in EPC along with a secure backing store in host memory.
  • Low-overhead software address translation -> Memory accesses via spointers resolve to the SUVM page cache or trigger a software page fault to a page in evicted pages.
  • Graceful handling of multiple enclaves -> All enclaves share the same PRM, so SUVM coordinates the size of its page cache with the SGX driver to avoid thrashing when new enclave invocation.
  • Optimized eviction and memory access policies -> Exposing SUVM management to the application.
    • preventing write back of clean pages to the backing store.
    • providing direct access to the backing store at sub-page granularity.

What

Eleos enabling exit-less system calls and exit-less paging in enclaves to tackle performance issues in SGX applications.

Some Details

  • Analyze the operational overhead of the various components of the system before system design
  • Evaluate end-to-end by two real server applications: memcached and face verification (Modify origin code).
  • Evaluate the RPC and SUVM mechanisms on several microbenchmarks (Cost in different usage scenarios).

Note: Eleos: ExitLess OS Services for SGX Enclaves的更多相关文章

  1. Note: PANOPLY: Low-TCB Linux Applications with SGX Enclaves

    PANOPLY provides middleware for SGX and Linux operating systems. What PANOPLY provides middleware fo ...

  2. Note: EnclaveDB: A Secure Database using SGX

    EnclaveDB uses SGX security properties to secure database operations. Why The cloud database is cont ...

  3. Note: ENDBOX: Scalable Middlebox Functions Using Client-Side Trusted Execution

    ENDBOX enable secure networking by client-Side trusted execution. What ENDBOX is a scalable middlebo ...

  4. [EXP]Drupal < 8.5.11 / < 8.6.10 - RESTful Web Services unserialize() Remote Command Execution (Metasploit)

    ## # This module requires Metasploit: https://metasploit.com/download # Current source: https://gith ...

  5. MPU/SoC/Application Processor/Embedded OS

    Everything has its principles and mechanisms which are designed by its creator and followed by its u ...

  6. 10.python内置模块之os模块

    os模块的作用:os 模块提供了非常丰富的方法用来处理文件和目录(管理和维护目录以及文件). os.path模块的作用:主要用于获取文件的属性(管理路径的(物理地址)). 小生总结了一些平时常用到的属 ...

  7. oracle_hc.sql

    select event,count(1) from gv$session group by event order by 2;exec dbms_workload_repository.create ...

  8. [转]The NTLM Authentication Protocol and Security Support Provider

    本文转自:http://davenport.sourceforge.net/ntlm.html#ntlmHttpAuthentication The NTLM Authentication Proto ...

  9. at91 uart driver for vxworks

    /* at91UART.c - AT91RM9200 serial driver */ /* Copyright 2003-2004 Coordinate Co., Ltd. */ /* Copyri ...

随机推荐

  1. matlab对点云旋转平移

    1.显示茶壶点云 ptCloud = pcread('teapot.ply');figure(1)pcshow(ptCloud); title('Teapot'); 2.Create a transf ...

  2. Oracle 11g的7个服务详解

    成功安装Oracle 11g后,共有7个服务,这七个服务的含义分别为:1. Oracle ORCL VSS Writer Service:Oracle卷映射拷贝写入服务,VSS(Volume Shad ...

  3. linux命令学习笔记(8):cp 命令

    cp命令用来复制文件或者目录,是Linux系统中最常用的命令之一.一般情况下,shell会设置一个别名, 在命令行下复制文件时,如果目标文件已经存在,就会询问是否覆盖,不管你是否使用-i参数.但是如果 ...

  4. Java进阶07 嵌套类

    到现在为止,我们都是在Java文件中直接定义类.这样的类出现在包(package)的级别上.Java允许类的嵌套定义. 这里将讲解如何在一个类中嵌套定义另一个类. 嵌套 内部类 Java允许我们在类的 ...

  5. python实现列队

    1 列队定义 队列是项的有序结合,其中添加新项的一端称为队尾,移除项的一端称为队首.当一个元素从队尾进入队列时,一直向队首移动,直到它成为下一个需要移除的元素为止. 最近添加的元素必须在队尾等待.集合 ...

  6. FFMPEG实现H264的解码(从源代码角度)

    农历2014年底了,将前段时间工作中研究的FFMPEG解码H264流程在此做一下整理,也算作年终技术总结了! H264解码原理: H264的原理参考另一篇博文 http://blog.csdn.net ...

  7. Gym - 100570B :ShortestPath Query(SPFA及其优化)

    题意:给定N点M边的有向图,每条边有距离和颜色,一条有效路径上不能有相邻的边颜色相同.现在给定起点S,多次讯问S到点X的最短有效距离. TLE思路:用二维状态dis(u,c)表示起点到u,最后一条边的 ...

  8. shader学习推荐

    <DirectX 9.0 3D游戏开发编程基础> 当您理解了如何实现顶点着色器和像素着色器之后,接下来您可能想进一步了解使用这两种着色器能够实现哪些效果. 最好的方式就是研究一下现有的各种 ...

  9. 【转】 Pro Android学习笔记(七一):HTTP服务(5):多线程调用HttpClient

    目录(?)[-] 应用共享HttpClient对象的同步问题 创建共享HttpClient代码 创建共享对象 创建可共享的HttpClient对象 使用共享HttpClient对象的代码 基础代码 修 ...

  10. 杂项-Log:NLog

    ylbtech-杂项-Log:NLog NLog是一个基于.NET平台编写的类库,我们可以使用NLog在应用程序中添加极为完善的跟踪调试代码. NLog是一个简单灵活的.NET日志记录类库.通过使用N ...