We decided to merge the sample app integrations submodule back because working with git submodules turned out to be really painful. The only blocker for this was the fact, that previously it contained a lot of binary blobs and copy-pasted sources, but this was cleaned up recently. Credits: (authors of particular integration examples, extracted from commits and PR history in https://github.com/oscarlab/graphene-tests) apache: Chia-Che Tsai <chiache@tamu.edu>, Dmitrii Kuvaiskii <dmitrii.kuvaiskii@intel.com> bash: Chia-Che Tsai <chiache@tamu.edu>, Dmitrii Kuvaiskii <dmitrii.kuvaiskii@intel.com> blender: borysp <borysp@invisiblethingslab.com> busybox: borysp <borysp@invisiblethingslab.com> capnproto: Dmitrii Kuvaiskii <dmitrii.kuvaiskii@intel.com> curl: Dmitrii Kuvaiskii <dmitrii.kuvaiskii@intel.com> gcc: Thomas Knauth <thomas.knauth@intel.com> lighttpd: Chia-Che Tsai <chiache@tamu.edu>, Thomas Knauth <thomas.knauth@intel.com> lmbench: Chia-Che Tsai <chiache@tamu.edu> memcached: Dmitrii Kuvaiskii <dmitrii.kuvaiskii@intel.com> nginx: Dmitrii Kuvaiskii <dmitrii.kuvaiskii@intel.com> nodejs: jack.wxz <jack.wxz@alibaba-inc.com> nodejs-express-server: Eduardo Rodriguez <erodrig@us.ibm.com> openvino: Dmitrii Kuvaiskii <dmitrii.kuvaiskii@intel.com> python-scipy-insecure: Chia-Che Tsai <chiache@tamu.edu>, Dmitrii Kuvaiskii <dmitrii.kuvaiskii@intel.com> python-simple: Chia-Che Tsai <chiache@tamu.edu>, Dmitrii Kuvaiskii <dmitrii.kuvaiskii@intel.com> pytorch: Thomas Knauth <thomas.knauth@intel.com> r: Chia-Che Tsai <chiache@tamu.edu> redis: Dmitrii Kuvaiskii <dmitrii.kuvaiskii@intel.com> tensorflow: Thomas Knauth <thomas.knauth@intel.com> LTP was moved to LibOS/shim/test/ltp. It was recently rewritten by Wojtek Porczyk <woju@invisiblethingslab.com>.
1.7 KiB
LMBench example
This directory contains an example for running LMBench in Graphene, including the Makefile and a template for generating the manifest. The configuration is only tested with LMBench 2.5 and does not work for LMBench 3.0+. The application is tested on Ubuntu 16.04, with both normal Linux and SGX platforms.
Building LMBench and generating the manifest
This repository does not contain the source code of LMBench. Using the following building commands will automatically download the source code and unpack it into a subdirectory of the current directory.
Building for Linux
Run make (non-debug) or make DEBUG=1 (debug) in the directory.
Building for SGX
Run make SGX=1 (non-debug) or make SGX=1 DEBUG=1 (debug) in the directory.
Running LMBench
Running natively
To run the whole test suite natively, use the following command:
make run-native
To run individual tests, you may run the programs in lmbench-2.5/bin/linux.
Here are a few examples:
./lat_syscall null
./lat_syscall read
./lat_syscall write
Running with Graphene
To run the whole test suite under Graphene, use the following command:
make run-graphene
To run individual tests, you may run the programs in lmbench-2.5/bin/linux,
using pal_loader. Here are a few examples:
./pal_loader lat_syscall null
./pal_loader lat_syscall read
./pal_loader lat_syscall write
Running with Graphene-SGX
To run the whole test suite, use the following command:
make run-graphene SGX=1
To run individual tests, you may run the programs in lmbench-2.5/bin/linux,
using pal_loader. Here are a few examples:
SGX=1 ./pal_loader lat_syscall null
SGX=1 ./pal_loader lat_syscall read
SGX=1 ./pal_loader lat_syscall write