CS-E4580: Cloud Computing

Google Cloud

You can experiment with the Google Cloud Platform, thanks to a Google Cloud Platform Education Grant.

You can use this platform to see how well your code performs in different environments: virtual machines with a large number of virtual CPUs (up to 24), machines with different CPU architectures (Sandy Bridge, Ivy Bridge, Haswell), and machines with modern GPUs (Nvidia Tesla K80).

You can create your own virtual machines with a web interface. In essence, the virtual machine will look like a full Linux computer: you can connect to it with ssh, and you will have full root access there, so you can also easily install whatever you need. Finally, you can delete the entire virtual machine easily using the web interface.

Important

Getting started

Please join the channel #cloud in our Slack chat, let us know what you would like to do with the cloud platform and what is your Google user account (typically your Gmail address).

We will then give your user account full owner rights to a project in the Google Cloud Platform; you should receive an invitation by email. The name of the project will be something like “PPC student 123”.

The project is linked to our grant. You do not need to worry anything about the billing information. In particular, you do not need to enter e.g. any credit card information.

You will find your project if you log on to the user interface at console.cloud.google.com. Make sure the right project is active, and then select Compute Engine to get started. This is where you can create virtual machine instances.

Compute Engine

General setup

First go to Compute Engine — Metadata — SSH Keys to set up your ssh public keys. Once you define them here, you can use these keys to log in to any of your virtual machines.

Then navigate to Compute Engine — VM instances to create and manage your virtual machine instances.

Creating multicore CPU instances

Try the following setting:

Create the instance, wait for it to launch. Check the public IP address, and log in with ssh.

Install the relevant tools:

sudo apt-get install build-essential libpng-dev

Copy your code to the virtual machine (e.g. with rsync or scp), and compile and run it as usual.

Creating GPU instances

Try the following setting:

Create the instance, wait for it to launch. Check the public IP address, and log in with ssh.

Install the relevant tools:

curl -O http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/cuda-repo-ubuntu1604_8.0.61-1_amd64.deb
sudo dpkg -i ./cuda-repo-ubuntu1604_8.0.61-1_amd64.deb
sudo apt-get update
sudo apt-get install cuda -y
sudo apt-get install build-essential libpng-dev

Copy your code to the virtual machine (e.g. with rsync or scp), and compile and run it as usual.

How much?

You can use approx. $50 worth of resources in total. This corresponds to having a virtual machine up and running for approx. 50 hours. Please remember to delete the virtual machine instances that you are not using. Please ask the course staff if you need more resources.