Files
graphene/Examples/lmbench/README.md
Michał Kowalczyk 6c7ff2d3a6 Migrate and remove test/apps submodule
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>.
2020-03-30 21:10:41 +02:00

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