docs: Fix markdown lint issues and add shutdown

main
Sean McBride 5 years ago
parent 31704a0262
commit 1e02248d6e

@ -3,43 +3,49 @@
**aWsm** is an efficient WASM runtime built with the `silverfish` compiler. This is an active research effort with regular breaking changes and no guarantees of stability. **aWsm** is an efficient WASM runtime built with the `silverfish` compiler. This is an active research effort with regular breaking changes and no guarantees of stability.
## Host Dependencies ## Host Dependencies
- Docker - Docker
Additionally, if you want to execute the Awsm runtime on your host environment, you need libuv. A reason you might want to do this is to debug your serverless function, as GDB does not seem to run properly within a Docker container. Additionally, if you want to execute the Awsm runtime on your host environment, you need libuv. A reason you might want to do this is to debug your serverless function, as GDB does not seem to run properly within a Docker container.
If on Debian, you can install libuv with the following: If on Debian, you can install libuv with the following:
```bash ```bash
./devenv.sh install_libuv ./devenv.sh install_libuv
``` ```
## Setting up the environment ## Setting up the environment
**Note: These steps require Docker. Make sure you've got it installed!** **Note: These steps require Docker. Make sure you've got it installed!**
We provide a Docker build environment configured with the dependencies and toolchain needed to build the Awsm runtime and serverless functions. We provide a Docker build environment configured with the dependencies and toolchain needed to build the Awsm runtime and serverless functions.
To setup this environment, run: To setup this environment, run:
```bash ```bash
./devenv.sh setup ./devenv.sh setup
``` ```
To enter the docker environment, run: To enter the docker environment, run:
```
```bash
./devenv.sh run ./devenv.sh run
``` ```
## To run applications ## To run applications
**From within the Docker container environment.** ### From within the Docker container environment
Run the following to copy the awsmrt binary to /awsm/runtime/bin. Run the following to copy the awsmrt binary to /awsm/runtime/bin.
```
```bash
cd /awsm/runtime cd /awsm/runtime
make clean all make clean all
``` ```
There are a set of benchmarking applications in the `/awsm/runtime/tests` directory. Run the following to compile all benchmarks runtime tests using silverfish and then copy all resulting `<application>_wasm.so` files to /awsm/runtime/bin. There are a set of benchmarking applications in the `/awsm/runtime/tests` directory. Run the following to compile all benchmarks runtime tests using silverfish and then copy all resulting `<application>_wasm.so` files to /awsm/runtime/bin.
``` ```bash
cd /awsm/runtime/tests/ cd /awsm/runtime/tests/
make clean all make clean all
``` ```
@ -47,15 +53,16 @@ make clean all
You've now built the binary and some tests. We will now execute these commands from the host You've now built the binary and some tests. We will now execute these commands from the host
To exit the container: To exit the container:
```
```bash
exit exit
``` ```
**From the host environment** ### From the host environment
You should be in the root project directory (not in the Docker container) You should be in the root project directory (not in the Docker container)
``` ```bash
cd runtime/bin/ cd runtime/bin/
``` ```
@ -63,24 +70,25 @@ We can now run Awsm with one of the serverless functions we built. Let's run Fib
Because serverless functions are loaded by Aswsm as shared libraries, we want to add the `runtime/tests/` directory to LD_LIBRARY_PATH. Because serverless functions are loaded by Aswsm as shared libraries, we want to add the `runtime/tests/` directory to LD_LIBRARY_PATH.
``` ```bash
LD_LIBRARY_PATH="$(pwd):$LD_LIBRARY_PATH" ./awsmrt ../tests/test_fibonacci.json LD_LIBRARY_PATH="$(pwd):$LD_LIBRARY_PATH" ./awsmrt ../tests/test_fibonacci.json
``` ```
The JSON file we pass contains a variety of configuration information: The JSON file we pass contains a variety of configuration information:
```json ```json
{ {
"active" : "yes", "active": "yes",
"name" : "fibonacci", "name": "fibonacci",
"path" : "fibonacci_wasm.so", "path": "fibonacci_wasm.so",
"port" : 10000, "port": 10000,
"argsize" : 1, "argsize": 1,
"http-req-headers" : [ ], "http-req-headers": [],
"http-req-content-type" : "text/plain", "http-req-content-type": "text/plain",
"http-req-size": 1024, "http-req-size": 1024,
"http-resp-headers" : [ ], "http-resp-headers": [],
"http-resp-size" : 1024, "http-resp-size": 1024,
"http-resp-content-type" : "text/plain" "http-resp-content-type": "text/plain"
} }
``` ```
@ -99,7 +107,7 @@ ab -c 1 -n 1 -p fib.txt -v 2 http://localhost:10000/fibonacci
In my case, I received the following in response. The response is 55, which seems to be correct! In my case, I received the following in response. The response is 55, which seems to be correct!
``` ```bash
This is ApacheBench, Version 2.3 <$Revision: 1807734 $> This is ApacheBench, Version 2.3 <$Revision: 1807734 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/ Licensed to The Apache Software Foundation, http://www.apache.org/
@ -154,4 +162,10 @@ Waiting: 0 0 0.0 0 0
Total: 1 1 0.0 1 1 Total: 1 1 0.0 1 1
``` ```
## Stopping the Runtime
When you are finished, stop Awsm with
```bash
./devenv.sh stop
```

Loading…
Cancel
Save