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.
## Host Dependencies
- 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.
If on Debian, you can install libuv with the following:
```bash
./devenv.sh install_libuv
```
## Setting up the environment
**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.
To setup this environment, run:
```bash
./devenv.sh setup
```
To enter the docker environment, run:
```
```bash
./devenv.sh run
```
## 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.
```
```bash
cd /awsm/runtime
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.
```
```bash
cd /awsm/runtime/tests/
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
To exit the container:
```
```bash
exit
```
**From the host environment**
### From the host environment
You should be in the root project directory (not in the Docker container)
```
```bash
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.
```
```bash
LD_LIBRARY_PATH="$(pwd):$LD_LIBRARY_PATH" ./awsmrt ../tests/test_fibonacci.json
```
The JSON file we pass contains a variety of configuration information:
```json
{
"active" : "yes",
"name" : "fibonacci",
"path" : "fibonacci_wasm.so",
"port" : 10000,
"argsize" : 1,
"http-req-headers" : [ ],
"http-req-content-type" : "text/plain",
"http-req-size": 1024,
"http-resp-headers" : [ ],
"http-resp-size" : 1024,
"http-resp-content-type" : "text/plain"
"active": "yes",
"name": "fibonacci",
"path": "fibonacci_wasm.so",
"port": 10000,
"argsize": 1,
"http-req-headers": [],
"http-req-content-type": "text/plain",
"http-req-size": 1024,
"http-resp-headers": [],
"http-resp-size": 1024,
"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!
```
```bash
This is ApacheBench, Version 2.3 <$Revision: 1807734 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
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
```
## Stopping the Runtime
When you are finished, stop Awsm with
```bash
./devenv.sh stop
```

Loading…
Cancel
Save