Skip to content

AWS Benchmarking

Theodor Amariucai edited this page Dec 6, 2021 · 18 revisions

Pre-requisites

  1. Fetch the deployment branch of STeLLAR, containing the binary as well as other useful configuration files.

git clone --single-branch --branch deployment https://github.com/ease-lab/STeLLAR.git

  1. Perform some basic update operations, as well as install useful tools (tmux).
cd vhive-bench/scripts/linux && bash setup.sh
cd aws && bash setup.sh

Setup

  1. Create an AWS account
  2. Add permissions for the Lambda functions: IAM console -> Roles -> Create Role -> Lambda -> Select AWSLambdaFullAccess, AWSLambdaBasicExecutionRole (for logging), AWSLambdaRole (for triggering other lambdas in a producer-consumer chain scenario) and AmazonS3FullAccess (for inter-function storage transfers using S3) -> Enter name LambdaProducerConsumer. Take note of this role ARN (e.g., arn:aws:iam::12-DIGIT-NUMBER:role/LambdaProducerConsumer). Replace the value of constant lambdaExecutionRole in src/setup/deployment/connection/amazon/deploy.go with this role ARN. Replace constant UserARNNumber in src/setup/deployment/container.go with the 12-DIGIT-NUMBER.
  3. Permissions for the client: IAM console -> Users -> Create User. Attach AWSLambda_FullAccess and AmazonS3FullAccess to this user, and then create and attach another policy, e.g., named APIGatewayFull, which has API Gateway Full access All resources.
  4. Local client authentication: IAM console -> Users -> Summary -> Security credentials -> Create access key. Make sure to keep creating keys until there are no forward slashes in them. Take note of your Access key ID (e.g., AKIAU4EZSQEM3S42BXY5) and Secret access key (e.g., vAbqZTA3MpxctAi4zvS5QW4Qvvhpkg53lALgDUDV). Configure your local AWS CLI by running aws configure, use your Access Key ID and Secret access key. The default region name used in the client is us-west-1.

To further enable function deployments via container images:

  1. Create a private Amazon ECR repository with the name vhive-bench.
  2. IAM console -> Users. Select your user created in step 2 and attach the AmazonEC2ContainerRegistryFullAccess permission policy to it.

Benchmarking:

Inline data transfers:

sudo ./main -o latency-samples -g endpoints -c experiments/data-transfer/inline/vhive/quick-warm-IAT10s.json
  • Run the tool:
sudo ./main -o latency-samples -g endpoints -c experiments/data-transfer/storage/vhive-minio/quick-warm-IAT10s.json
Clone this wiki locally