Skip to content

Commit

Permalink
Update relay versions to support random inputs
Browse files Browse the repository at this point in the history
Signed-off-by: David Schall <[email protected]>
  • Loading branch information
dhschall committed Jul 30, 2023
1 parent 4ad2878 commit 2a1bc8f
Show file tree
Hide file tree
Showing 6 changed files with 662 additions and 41 deletions.
2 changes: 1 addition & 1 deletion tools/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ managing, or testing. Some of the more noteworthy tools include:
* `deployer/client.go` deploys functions of types and quantity as defined in `deployer/functions.json`.
* `invoker/client.go` invokes functions and reports the latencies and throughput (RPS).

More details on using these tools are available in the [vHive quickstart guide](https://github.com/ease-lab/vhive/blob/main/docs/quickstart_guide.md).
More details on using these tools are available in the [vHive quickstart guide](https://github.com/vhive-serverless/vhive/blob/main/docs/quickstart_guide.md).

We encourage the community to experiment with these basic tools,
extend them and contribute new tools for performance analysis
Expand Down
1 change: 0 additions & 1 deletion tools/relay/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,6 @@ relay:
go build -v -o ./server github.com/vhive-serverless/vSwarm/tools/relay

relay-docker:
go mod tidy
DOCKER_BUILDKIT=1 \
docker build \
--tag vhiveease/relay:latest \
Expand Down
7 changes: 6 additions & 1 deletion tools/relay/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ relay:
```
where FUNCTION_NAME is replaced by the name you have added to the `getclient.go` in the [vSwarm-proto repository](https://github.com/vhive-serverless/vSwarm-proto/blob/main/grpcclient/getclient.go). You can remove the published port of your benchmark server now (the `CONTAINER_PORT` is now FUNCTION_PORT, see [docker networking](https://docs.docker.com/compose/networking/)).

To understand the URL setting in detail check [here in docker docs](https://docs.docker.com/compose/networking/) to find out how docker network works.
To understand the URL setting in detail check [here in docker docs](https://docs.docker.com/compose/networking/) to find out how docker network works.
Generally speaking in this case docker compose sets up a single network between the relay and the function container. Now the function container is reachable from the relay via the service/container name. See [docker networking](https://docs.docker.com/compose/networking/) or aes-go as an example

For knative yamls, add the following snippet
Expand All @@ -46,6 +46,11 @@ containers:
- image: docker.io/<DOCKER_URL_TO_YOUR_FUNCTION>
```

### Input generator
Relay is able to generate *unique*, *linear*, and *random* inputs for the different benchmarks. For for more details how the inputs are generated refer to the specific generator implementation in [vSwarm-proto](https://github.com/vhive-serverless/vSwarm-proto/tree/main/grpcclient).

To define generator type add `- --generator=<TYPE>` as argument to the relay in the yaml file.

## Running relay

Simply use invoker on port 50000.
Expand Down
21 changes: 10 additions & 11 deletions tools/relay/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -5,27 +5,26 @@ go 1.18
replace github.com/vhive-serverless/vSwarm/utils/tracing/go => ../../utils/tracing/go

require (
github.com/sirupsen/logrus v1.9.0
github.com/vhive-serverless/vSwarm-proto v0.3.0
github.com/vhive-serverless/vSwarm/utils/tracing/go v0.0.0-20220719164711-8782cc0ff194
google.golang.org/grpc v1.48.0
github.com/sirupsen/logrus v1.9.3
github.com/vhive-serverless/vSwarm-proto v0.4.2
github.com/vhive-serverless/vSwarm/utils/tracing/go v0.0.0-20221008101717-930188b36b99
google.golang.org/grpc v1.57.0
)

require (
github.com/containerd/containerd v1.6.12 // indirect
github.com/ease-lab/vSwarm/utils/tracing/go v0.0.0-20220427112636-f8f3fc171804 // indirect
github.com/go-logr/logr v1.2.3 // indirect
github.com/go-logr/stdr v1.2.2 // indirect
github.com/golang/protobuf v1.5.2 // indirect
github.com/golang/protobuf v1.5.3 // indirect
github.com/openzipkin/zipkin-go v0.4.0 // indirect
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.33.0 // indirect
go.opentelemetry.io/otel v1.11.1 // indirect
go.opentelemetry.io/otel/exporters/zipkin v1.8.0 // indirect
go.opentelemetry.io/otel/sdk v1.8.0 // indirect
go.opentelemetry.io/otel/trace v1.11.1 // indirect
golang.org/x/net v0.7.0 // indirect
golang.org/x/sys v0.5.0 // indirect
golang.org/x/text v0.7.0 // indirect
google.golang.org/genproto v0.0.0-20220722212130-b98a9ff5e252 // indirect
google.golang.org/protobuf v1.28.0 // indirect
golang.org/x/net v0.9.0 // indirect
golang.org/x/sys v0.7.0 // indirect
golang.org/x/text v0.9.0 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234030-28d5490b6b19 // indirect
google.golang.org/protobuf v1.30.0 // indirect
)
Loading

0 comments on commit 2a1bc8f

Please sign in to comment.