LARA

Setup

The grading infrastructure for the assignments on concurrency will be hosted on larasrv03.epfl.ch. This website is only accessible on the EPFL network. If you ever need to access this website from outside EPFL, please use the VPN.

On this website, you will be asked to login using your GASPAR account. Once this is done, select “Parallelism and Concurrency” from the list of courses.
The first time you log in to the course, you will be asked to create a group (of 1…). To do so, simply follow the simple instructions on the website.

SSH keys

Authentication to the service works by using a SSH key. You will be asked to enter your public key in the web interface. If you do not already have a private/public key combination for your computer, follow these instructions. Note that you typically generate one key pair per computer that you use.

Linux & Mac OS X

From the command line, type the following command:

ssh-keygen -t rsa -b 2048

Type enter to save it in the default location.
Choose a passphrase, or type enter to ignore it.
If you choose to enter a passphrase, be sure to remember it!

Copying your public key to the server

Your public key is now stored in a file (typically, in ~/.ssh/id_rsa.pub). You will need to copy-paste the content of this file into the website. Make sure you copy your entire key, including the ssh-rsa prefix and the key identifier at the end.

Windows

To generate SSH keys on Windows, you must have Git Bash installed on your computer. This program comes with the git installation on Windows. If you don't have this program, please install git first.

Once you have git installed, open the Git Bash program, normally found in the start menu, and type the following command:

ssh-keygen -t rsa

The command will then ask for a location, which you can leave as the default. It will then also ask for a passphrase, which you may leave empty. If you don't, make sure to remember your passphrase!

Copying your public key to the server

You should now have a file called id_rsa.pub at the location you chose. You will need to copy-paste the content of this file into the website. Make sure you copy your entire key, including the ssh-rsa prefix and the key identifier at the end.

Git

Submitting code to the platform is done using git. If you are not familiar with git, do not worry, we will provide you with all the commands. First, please ensure that git is installed on your computer. On your command line:

git --version

Should return the version of git that is installed on your machine. The above command returns an error, you probably don't have git installed. Before proceeding, please install git.

Cloning the repository

To clone the repository, type the following command in the location you would like the repository folder to be located:

git clone git@larasrv03.epfl.ch:parcon-group??

Where ?? is your group number. You can find the complete URI in the web interface.

Downloading the handout

You will find a link to the handout in the assignment description as before. Download it, extract it into your repository. Make sure that you do not create any subfolders during the extraction. For instance, if your repo is /home/user/myrepo and the handout has files: src, and build.sbt, extract it so that /home/user/myrepo/src is the location of src, and /home/user/myrepo/build.sbt is the location of build.sbt.

Once this is done, type the two following commands in the repository folder:

git add src
git commit -m "Initial Commit."

Those commands will make sure that the handout files you have just copied are registered in the repository.

Sending code to the server

To send code to the server, type the two following commands in the repository folder:

git commit -a -m "Informative message about what was done. You can change this!"
git push

Those two commands will upload the latest version of your code on the server.

Initially, for your first push, you may need to specify which remote and branch to push to. This is done using the following command:

git push origin master

Running tests on the server

You can run tests on the server from the Tests tab on the website. For this assignment, you can run the tests only 10 times. You will receive 10 tokens initially, to run testing once you need one token, and on each run the tokens will decrease by 1.

Submitting a deliverable

Once you have a working solution, you can deliver it for grading. To do so, click on the Deliverables tab on the website. Indicate the commit number of the solution you want to deliver. To obtain this number, type the following command in the repository folder:

git rev-parse HEAD

You can submit any number of times before the deadline. Only the last submission will count.