#!/bin/bash DIR="$(realpath "$(dirname "${BASH_SOURCE[0]}")")" cd "$DIR/.." set -x # Setting things up. aws ec2 create-key-pair --key-name aws-shishua-key \ --query "KeyMaterial" --output text >aws-shishua-key.pem chmod 400 aws-shishua-key.pem aws ec2 create-security-group --group-name aws-shishua-sg \ --description 'SHISHUA benchmark' aws ec2 authorize-security-group-ingress --group-name aws-shishua-sg \ --protocol tcp --port 22 \ --cidr "$(curl https://checkip.amazonaws.com)"/32 # Creating the server. srvconf="$(aws ec2 run-instances --image-id ami-0489277f0e9a94f8d \ --key-name aws-shishua-key --security-groups aws-shishua-sg \ --instance-type t4g.micro --region eu-central-1)" srvid="$(echo "$srvconf" | jq -r '.Instances[0].InstanceId')" tar cJf shishua.tar.xz $(git ls-files) while [[ $(aws ec2 describe-instance-status --instance-ids "$srvid" \ | jq -r '.InstanceStatuses[0].InstanceState.Name') != running ]] 2>/dev/null; do echo Awaiting IP address… sleep 10 done srvdns="$(aws ec2 describe-instances --instance-ids "$srvid" \ | jq -r '.Reservations[0].Instances[0].PublicDnsName')" while ! ssh -i aws-shishua-key.pem "ubuntu@$srvdns" 'echo sshd started.'; do echo Awaiting sshd… sleep 10 done # Run benchmark. scp -i aws-shishua-key.pem ./shishua.tar.xz "ubuntu@$srvdns:~" ssh -i aws-shishua-key.pem "ubuntu@$srvdns" 'tar xJf shishua.tar.xz && ./bin/perf-cloud-ubuntu-clang.sh' scp -i aws-shishua-key.pem "ubuntu@$srvdns:~/test/benchmark-perf" test/benchmark-perf-arm # Cleaning up. aws ec2 terminate-instances --instance-ids "$srvid" aws ec2 delete-key-pair --key-name aws-shishua-key while ! aws ec2 delete-security-group --group-name aws-shishua-sg 2>/dev/null; do echo Awaiting server termination… sleep 10 done rm -f shishua.tar.xz aws-shishua-key.pem