Commit Graph

731 Commits

Author SHA1 Message Date
LI Qing
230e6fa380 Report the underlying SGX protected file I/O error 2020-10-21 12:20:52 +08:00
He Sun
9a47791ae3 Put the shebang in the front of run_occlum_bench.sh 2020-10-21 10:38:11 +08:00
Hui, Chunyang
3b5a84a129 Add libos symbolic link of hardware mode for installation 2020-10-19 13:12:18 +08:00
yuanwu
66b64f8276 Update the xgboost to latest version
Intel has optimized the xgboost in latest version. Performance has
obvious acceleration in benchmark. In svm training with Yahoo LTR data,
latest version gets 7.8X acceleration in host, and 2X acceleration in occlum.

Signed-off-by: yuanwu <yuan.wu@intel.com>
2020-10-18 09:59:06 +08:00
James Dong
4048686c3b Add Golang SQLite test for CI 2020-10-15 10:07:11 +08:00
Hui, Chunyang
e82b3dab92 Integrate cargo fmt into make format 2020-10-14 20:34:12 +08:00
Hui, Chunyang
8fbd6295bf Add Golang installer 2020-10-14 13:17:58 +08:00
Hui, Chunyang
f4e1352b41 Add Python demo CI 2020-10-13 16:06:02 +08:00
yuanwu
cd588d2ca4 Add the gRPC-golang benchmark
Copied and Modified the google.golang.org/grpc/benchmark/run_bench.sh to
support the benchmark with occlum.

Signed-off-by: yuanwu <yuan.wu@intel.com>
2020-10-12 11:24:33 +08:00
Hui, Chunyang
4269395f1d Remove python from Occlum commands 2020-10-10 14:59:42 +08:00
Hui, Chunyang
b97f903bf9 Get rid of occlum-gen-default-occlum-json script
Integrate it with previous gen_enclave_conf and rename to gen_internal_conf which
are now used generate both internal Occlum.json and Enclave.xml
2020-10-10 14:59:42 +08:00
yuanwu
69820c0d8c Add the SQLite benchmark app
Add the SQLite speedtest for performance benchmark

Signed-off-by: yuanwu <yuan.wu@intel.com>
2020-10-10 14:24:29 +08:00
James Dong
7fb4d9039a Fix an issue caused by recent reverted interface-based service registration
in cmd/protoc-gen-go-grpc.
2020-10-10 14:14:14 +08:00
Tate, Hongliang Tian
f5ae00895e Refactor pipe with the new event subsystem
1. Introduce channels, which provide an efficient means for IPC;
2. Leverage channels to rewrite pipe, improving the performance (3X),
robustness, and readability.

This pipe rewrite is not done: some more commits will be added to
implement poll and epoll for pipe.
2020-10-09 16:37:11 +08:00
Tate, Hongliang Tian
f39a31cda0 Fix a bug in HostEventFd 2020-10-09 16:37:11 +08:00
Tate, Hongliang Tian
567e965eae Add sigtimedwait syscall 2020-09-29 18:10:30 +08:00
Tate, Hongliang Tian
9bb1baef4e Add the event subsystem
An event can be anything ranging from the exit of a process (interesting
to `wait4`) to the arrival of a blocked signal (interesting to
`sigwaitinfo`), from the completion of a file operation (interesting to
`epoll`) to the change of a file status (interesting to `inotify`).

To meet the event-related demands from various subsystems, this event
subsystem is designed to provide a set of general-purpose primitives:

* `Waiter`, `Waker`, and `WaiterQueue` are primitives to put threads
to sleep and later wake them up.
* `Event`, `Observer`, and `Notifier` are primitives to handle and
broadcast events.
* `WaiterQueueObserver` implements the common pattern of waking up
threads once some interesting events happen.
2020-09-29 18:08:10 +08:00
Hui, Chunyang
1f6fc3d27a Fix copy softlink for make install and deb installer 2020-09-29 18:06:04 +08:00
Hui, Chunyang
ce147df2c9 Enable TFLite and OpenVINO test for CI and add CI image build action 2020-09-29 16:51:38 +08:00
James Dong
fec361f664 Add Golang SQLite demo 2020-09-27 14:21:58 +08:00
He Sun
c39b6f1dc2 Eliminate compiler warnings 2020-09-27 14:17:01 +08:00
LI Qing
280d0a885c Add prerequisite part of the doc for "occlum mount" 2020-09-25 16:55:12 +08:00
LI Qing
5e1635e2b8 Change the calling interface with sefs-cli 2020-09-25 16:34:07 +08:00
Hui, Chunyang
5960b2c787 Add demo test for CI 2020-09-21 20:45:13 +08:00
Hui, Chunyang
f4b3389bbe Fix golang grpc and local attestation demo to align with occlum 0.16.0 2020-09-20 10:39:54 +08:00
Tate, Hongliang Tian
5df923057a Revise the root README 2020-09-18 15:40:04 +08:00
Tate, Hongliang Tian
01dee44322 Bump version to 0.16.0 2020-09-18 15:40:04 +08:00
zongmin.gu
b28aee68b7 Upgrade Intel SGX SDK to 2.11 and Rust SGX SDK accordingly 2020-09-18 15:39:58 +08:00
Hui, Chunyang
4031216f13 Add timerslack concept for libos and enbale prctl PR_GET_TIMERSLACK option 2020-09-18 12:39:12 +08:00
LI Qing
1a11655169 Fix two bugs related to open directories
1. Support O_DIRECTORY flag for open syscall
2. Disallow to open a directory in write mode
2020-09-18 12:39:12 +08:00
Hui, Chunyang
668b825ef4 Remove OCCLUM_RELEASE_ENCLAVE env from user commands
Also fix a bug for deployment environment.
2020-09-18 12:39:12 +08:00
Hui, Chunyang
bfc0576ee7 Add "occlum package" command 2020-09-18 12:39:12 +08:00
LI Qing
ec9ffed1b0 Add "occlum mount" command to mount the secure FS 2020-09-18 12:39:12 +08:00
LI Qing
292fc28340 Add "*at()" system calls
The syscalls implemented in this submission are as follows:
fchmodat, fchownat, linkat, mkdirat, renameat, readlinkat, unlinkat
2020-09-18 12:39:12 +08:00
He Sun
9c390923a5 Narrow the focus of exec client/server build
Only change of the proto file should trigger the build script.
2020-09-18 12:39:12 +08:00
He Sun
83fcd47cd0 Reorganize the header files of pal 2020-09-18 12:39:12 +08:00
He Sun
5d5e8d44ec Pass host-generated SIGPIPE to libos
Socket-related ocalls, e.g, sendto, sendmsg and write, may cause SIGPIPE
in host. Since the ocall is called by libos, this kind of signal should
be handled in libos. We ignore SIGPIPE in host and raise the same signal
in libos if the return value of the above ocalls is EPIPE. In this way
the signal is handled by libos.
2020-09-18 12:39:12 +08:00
He Sun
44583e15be Add default /etc/hosts during occlum init 2020-09-18 12:39:12 +08:00
Hui, Chunyang
7b882bd368 Add support for pal library to run libos outside occlum instance 2020-09-18 12:39:12 +08:00
He Sun
e13242e7e5 Add netdevice ioctl command 2020-09-18 12:39:12 +08:00
Hui, Chunyang
5e9a617350 Add build and push docker image workflow 2020-09-18 12:39:12 +08:00
Hui, Chunyang
c6d4a34b7f Modify rpm installer to align with current intallation structure 2020-09-18 12:39:12 +08:00
Hui, Chunyang
1310eb9363 Add DEB installer for Occlum and C/C++ toolchains 2020-09-18 12:39:12 +08:00
He Sun
03ab3b0338 Fix no return value of u_malloc_ocall in sgx_ustdc of Rust SGX SDK 2020-09-18 12:39:12 +08:00
Hui, Chunyang
617f75904f Install occlum needed sgx-sdk tools to occlum dir
When installers are used, sgx-sdk of Occlum version could have conflicts with official sgx-sdk.
This patch will make sure Occlum command use Occlum specific sgx-sdk.
Also add symbolic links to PAL library of hardware mode when installing.
2020-09-18 12:39:12 +08:00
LI Qing
2c8c999d52 Speed up the boot procedure of JVM 2020-09-18 12:39:12 +08:00
Zongmin
edd0980dc3 Fix exec mode occlum server crashes issue (if the client unexpected exit) 2020-09-18 12:39:12 +08:00
Hui, Chunyang
75d3e6abb0 Add Occlum deployment guide for Azure AKS 2020-09-11 13:13:13 +08:00
James Dong
124acba6db Add a sample of Golang gRPC client/server programs 2020-09-02 17:06:09 +08:00
Hui, Chunyang
027e1569e0 Fix tensorflow lite demo eigen download failure 2020-08-28 21:26:48 +08:00