Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

https://github.com/oweisse/hot-calls

Fast interface for SGX secure enclaves. Based on ISCA 2017 HotCalls paper
https://github.com/oweisse/hot-calls

Last synced: about 23 hours ago
JSON representation

Fast interface for SGX secure enclaves. Based on ISCA 2017 HotCalls paper

Lists

README

        

```
----------------------------------------
HotCalls
Copyright 2017 The Regents of the University of Michigan
Ofir Weisse, Valeria Bertacco and Todd Austin

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
---------------------------------------------
```

# HotCalls
## A fast alternative interface for SGX secure enclaves

Based on ISCA 2017 HotCalls paper, that can be found at (http://www.ofirweisse.com/previous_work.html).

### Build and run tests
`make; ./test_hotcalls`

The main benchmark function is at App/App.cpp: HotCallsTester::Run()

Measurements of different type of calls are in `measurements/` directory:

- HotEcall_latencies_in_cycles.csv
- HotOcall_latencies_in_cycles.csv
- SDKEcall_latencies_in_cycles.csv
- SDKOcall_latencies_in_cycles.csv

The number of iterations is defined by `PERFORMANCE_MEASUREMENT_NUM_REPEATS` at `App/App.cpp`.

The round trip time of calls is measured in cycles, using RDTSCP insturction. The overhead of the RDTSCP insturction is roughly 30 cylces, which should be substructed from the numbers in the `csv` files. Different machines may have different overheads for RDTSCP.

NOTE: the file `spinlock.c` is taken from Intel's SGX SDK repository at (https://github.com/01org/linux-sgx)