Files
borysp b8dc3c5a13 [Examples/lmbench] Add more lmbench download urls
The one lmbench download source we have is very unstable and downloading
often fails. This commit adds more urls that will be iteratively
fetched.
2020-05-07 21:24:55 +02:00
..

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