Skip to content

Experiment 8 - Determine chunk size #2

Experiment 8 - Determine chunk size

Experiment 8 - Determine chunk size #2

name: Chunk size experiment
on:
workflow_dispatch:
push:
branches:
- ypwong99/temp-experiment-image-sizes
jobs:
build_client:
name: Build framework
runs-on: ubuntu-latest
env:
working-directory: ./src
steps:
- name: Check out code into the Go module directory
uses: actions/checkout@v4
with:
ref: ypwong99/temp-experiment-image-sizes
- name: Set up Go 1.21
uses: actions/setup-go@v3
with:
go-version: 1.21
- name: Build client binary
working-directory: ${{ env.working-directory }}
run: env GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -o stellar main.go
- name: Package client artifact
working-directory: ${{ env.working-directory }}
run: tar -czvf build.tar ./stellar
- name: Upload client artifact
uses: actions/upload-artifact@v3
with:
name: STeLLAR-build
path: ${{ env.working-directory }}/build.tar
retention-days: 1
aws-chunk-4-kbytes:
needs: build_client
runs-on: [ self-hosted, aws ]
env:
working-directory: src
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_KEY }}
steps:
- name: Check out code into the Go module directory
uses: actions/checkout@v4
with:
ref: ypwong99/temp-experiment-image-sizes
- name: Configure AWS credentials using EASE lab account
uses: aws-actions/configure-aws-credentials@v4
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_KEY }}
aws-region: us-west-1
- name: Set up Node.js 16.16.0
uses: actions/setup-node@v3
with:
node-version: 16.16.0
- name: Download client artifact
uses: actions/download-artifact@v3
with:
name: STeLLAR-build
- name: Untar client build
working-directory: ${{ env.working-directory }}
run: tar --strip-components=1 -xvf ../build.tar -C .
- name: Run experiment
working-directory: ${{ env.working-directory }}
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_KEY }}
run: ./stellar -a 356764711652 -o latency-samples -c ../experiments/image-size/aws-chunk-4-kbytes.json
- uses: actions/upload-artifact@v3
with:
name: aws-chunk-4-kbytes
path: ${{ env.working-directory }}/latency-samples
aws-chunk-8-kbytes:
needs: build_client
runs-on: [ self-hosted, aws ]
env:
working-directory: src
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_KEY }}
steps:
- name: Check out code into the Go module directory
uses: actions/checkout@v4
with:
ref: ypwong99/temp-experiment-image-sizes
- name: Configure AWS credentials using EASE lab account
uses: aws-actions/configure-aws-credentials@v4
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_KEY }}
aws-region: us-west-1
- name: Set up Node.js 16.16.0
uses: actions/setup-node@v3
with:
node-version: 16.16.0
- name: Download client artifact
uses: actions/download-artifact@v3
with:
name: STeLLAR-build
- name: Untar client build
working-directory: ${{ env.working-directory }}
run: tar --strip-components=1 -xvf ../build.tar -C .
- name: Run experiment
working-directory: ${{ env.working-directory }}
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_KEY }}
run: ./stellar -a 356764711652 -o latency-samples -c ../experiments/image-size/aws-chunk-8-kbytes.json
- uses: actions/upload-artifact@v3
with:
name: aws-chunk-8-kbytes
path: ${{ env.working-directory }}/latency-samples
aws-chunk-16-kbytes:
needs: build_client
runs-on: [ self-hosted, aws ]
env:
working-directory: src
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_KEY }}
steps:
- name: Check out code into the Go module directory
uses: actions/checkout@v4
with:
ref: ypwong99/temp-experiment-image-sizes
- name: Configure AWS credentials using EASE lab account
uses: aws-actions/configure-aws-credentials@v4
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_KEY }}
aws-region: us-west-1
- name: Set up Node.js 16.16.0
uses: actions/setup-node@v3
with:
node-version: 16.16.0
- name: Download client artifact
uses: actions/download-artifact@v3
with:
name: STeLLAR-build
- name: Untar client build
working-directory: ${{ env.working-directory }}
run: tar --strip-components=1 -xvf ../build.tar -C .
- name: Run experiment
working-directory: ${{ env.working-directory }}
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_KEY }}
run: ./stellar -a 356764711652 -o latency-samples -c ../experiments/image-size/aws-chunk-16-kbytes.json
- uses: actions/upload-artifact@v3
with:
name: aws-chunk-16-kbytes
path: ${{ env.working-directory }}/latency-samples
aws-chunk-32-kbytes:
needs: build_client
runs-on: [ self-hosted, aws ]
env:
working-directory: src
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_KEY }}
steps:
- name: Check out code into the Go module directory
uses: actions/checkout@v4
with:
ref: ypwong99/temp-experiment-image-sizes
- name: Configure AWS credentials using EASE lab account
uses: aws-actions/configure-aws-credentials@v4
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_KEY }}
aws-region: us-west-1
- name: Set up Node.js 16.16.0
uses: actions/setup-node@v3
with:
node-version: 16.16.0
- name: Download client artifact
uses: actions/download-artifact@v3
with:
name: STeLLAR-build
- name: Untar client build
working-directory: ${{ env.working-directory }}
run: tar --strip-components=1 -xvf ../build.tar -C .
- name: Run experiment
working-directory: ${{ env.working-directory }}
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_KEY }}
run: ./stellar -a 356764711652 -o latency-samples -c ../experiments/image-size/aws-chunk-32-kbytes.json
- uses: actions/upload-artifact@v3
with:
name: aws-chunk-32-kbytes
path: ${{ env.working-directory }}/latency-samples
cold-100-azure-read-per-4096-bytes:
needs: build_client
runs-on: [ self-hosted, azure ]
timeout-minutes: 600
env:
working-directory: src
AZURE_SUBSCRIPTION_ID: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
AZURE_TENANT_ID: ${{ secrets.AZURE_TENANT_ID }}
AZURE_CLIENT_ID: ${{ secrets.AZURE_CLIENT_ID }}
AZURE_CLIENT_SECRET: ${{ secrets.AZURE_CLIENT_SECRET }}
steps:
- name: Check out code into the Go module directory
uses: actions/checkout@v4
with:
ref: ypwong99/temp-experiment-image-sizes
- name: Set up Node 16.16.0
uses: actions/setup-node@v3
with:
node-version: 16.16.0
- name: Download client artifact
uses: actions/download-artifact@v3
with:
name: STeLLAR-build
- name: Untar client build
working-directory: ${{ env.working-directory }}
run: tar --strip-components=1 -xvf ../build.tar -C .
- name: Run experiment
working-directory: ${{ env.working-directory }}
run: ./stellar -c ../experiments/image-size/cold-100-azure-read-per-4096-bytes.json
- uses: actions/upload-artifact@v3
with:
name: cold-100-azure-read-per-4096-bytes
path: ${{ env.working-directory }}/latency-samples
cold-100-azure-read-per-8192-bytes:
needs: build_client
runs-on: [ self-hosted, azure ]
timeout-minutes: 600
env:
working-directory: src
AZURE_SUBSCRIPTION_ID: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
AZURE_TENANT_ID: ${{ secrets.AZURE_TENANT_ID }}
AZURE_CLIENT_ID: ${{ secrets.AZURE_CLIENT_ID }}
AZURE_CLIENT_SECRET: ${{ secrets.AZURE_CLIENT_SECRET }}
steps:
- name: Check out code into the Go module directory
uses: actions/checkout@v4
with:
ref: ypwong99/temp-experiment-image-sizes
- name: Set up Node 16.16.0
uses: actions/setup-node@v3
with:
node-version: 16.16.0
- name: Download client artifact
uses: actions/download-artifact@v3
with:
name: STeLLAR-build
- name: Untar client build
working-directory: ${{ env.working-directory }}
run: tar --strip-components=1 -xvf ../build.tar -C .
- name: Run experiment
working-directory: ${{ env.working-directory }}
run: ./stellar -c ../experiments/image-size/cold-100-azure-read-per-8192-bytes.json
- uses: actions/upload-artifact@v3
with:
name: cold-100-azure-read-per-8192-bytes
path: ${{ env.working-directory }}/latency-samples
cold-100-gcr-read-per-40960-bytes:
needs: build_client
runs-on: [ self-hosted, gcr ]
timeout-minutes: 600
env:
working-directory: src
DOCKER_HUB_USERNAME: ${{ secrets.DOCKER_HUB_USERNAME }}
DOCKER_HUB_ACCESS_TOKEN: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
steps:
- name: Check out code into the Go module directory
uses: actions/checkout@v4
with:
ref: ypwong99/temp-experiment-image-sizes
- id: auth
name: Configure GCR credentials
uses: google-github-actions/auth@v1
with:
credentials_json: ${{ secrets.GCR_CREDENTIALS }}
- name: Set up gcloud
uses: google-github-actions/setup-gcloud@v1
with:
version: ">= 363.0.0"
- name: Set up Node 16.16.0
uses: actions/setup-node@v3
with:
node-version: 16.16.0
- name: Download client artifact
uses: actions/download-artifact@v3
with:
name: STeLLAR-build
- name: Untar client build
working-directory: ${{ env.working-directory }}
run: tar --strip-components=1 -xvf ../build.tar -C .
- name: Run experiment
working-directory: ${{ env.working-directory }}
run: ./stellar -c ../experiments/image-size/cold-100-gcr-read-per-40960-bytes.json
- uses: actions/upload-artifact@v3
with:
name: cold-100-gcr-read-per-40960-bytes
path: ${{ env.working-directory }}/latency-samples
cold-100-gcr-read-per-49152-bytes:
needs: build_client
runs-on: [ self-hosted, gcr ]
timeout-minutes: 600
env:
working-directory: src
DOCKER_HUB_USERNAME: ${{ secrets.DOCKER_HUB_USERNAME }}
DOCKER_HUB_ACCESS_TOKEN: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
steps:
- name: Check out code into the Go module directory
uses: actions/checkout@v4
with:
ref: ypwong99/temp-experiment-image-sizes
- id: auth
name: Configure GCR credentials
uses: google-github-actions/auth@v1
with:
credentials_json: ${{ secrets.GCR_CREDENTIALS }}
- name: Set up gcloud
uses: google-github-actions/setup-gcloud@v1
with:
version: ">= 363.0.0"
- name: Set up Node 16.16.0
uses: actions/setup-node@v3
with:
node-version: 16.16.0
- name: Download client artifact
uses: actions/download-artifact@v3
with:
name: STeLLAR-build
- name: Untar client build
working-directory: ${{ env.working-directory }}
run: tar --strip-components=1 -xvf ../build.tar -C .
- name: Run experiment
working-directory: ${{ env.working-directory }}
run: ./stellar -c ../experiments/image-size/cold-100-gcr-read-per-49152-bytes.json
- uses: actions/upload-artifact@v3
with:
name: cold-100-gcr-read-per-49152-bytes
path: ${{ env.working-directory }}/latency-samples
cold-100-gcr-read-per-57344-bytes:
needs: build_client
runs-on: [ self-hosted, gcr ]
timeout-minutes: 600
env:
working-directory: src
DOCKER_HUB_USERNAME: ${{ secrets.DOCKER_HUB_USERNAME }}
DOCKER_HUB_ACCESS_TOKEN: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
steps:
- name: Check out code into the Go module directory
uses: actions/checkout@v4
with:
ref: ypwong99/temp-experiment-image-sizes
- id: auth
name: Configure GCR credentials
uses: google-github-actions/auth@v1
with:
credentials_json: ${{ secrets.GCR_CREDENTIALS }}
- name: Set up gcloud
uses: google-github-actions/setup-gcloud@v1
with:
version: ">= 363.0.0"
- name: Set up Node 16.16.0
uses: actions/setup-node@v3
with:
node-version: 16.16.0
- name: Download client artifact
uses: actions/download-artifact@v3
with:
name: STeLLAR-build
- name: Untar client build
working-directory: ${{ env.working-directory }}
run: tar --strip-components=1 -xvf ../build.tar -C .
- name: Run experiment
working-directory: ${{ env.working-directory }}
run: ./stellar -c ../experiments/image-size/cold-100-gcr-read-per-57344-bytes.json
- uses: actions/upload-artifact@v3
with:
name: cold-100-gcr-read-per-57344-bytes
path: ${{ env.working-directory }}/latency-samples