Working with PlanetLab

To get access to PlanetLab, you must do the following:

  • Go to the site https://planet-lab.eu/ and choose <Create an account>  Note: the URL ends in .eu, not .org.

  • Fill in the important fields and choose "University of Copenhagen, DIKU" as site. THIS IS IMPORTANT!

 

  • You have to wait for verification of your account before it can be used.  If the verification takes more than a few days, try prodding ericbj@ifi.uio.no ;-)

 

When everything is ok and your account has been verified, you can check out User's Guide: https://www.planet-lab.org/doc/guides/user

Working with PlanetLab means connecting to various servers using SSH. This requires you to do the following:

  1. Create an RSA SSH key (if you don't already have one) and add it to your account.

    The key MUST be an RSA key, and we recommend a 4096-bit, password-protected key. You can use the following command to generate a 4096-bit RSA key interactively from your shell:

    ssh-keygen -t rsa -b 4096

    You will find an upload form under <Keys> under <My Account> on PlanetLab. Upload your public key (i.e., the .pub file). Please note, it may take some time for your key to propagate to all the machines in your slice.
  2. To login on a node, type in the following command:

    ssh -i <private-key> -l <slicename> <hostname>

    For example,

    ssh -i ~/.ssh/id_rsa -l diku_IN5570 cse-white.cse.chalmers.se

Prepared Nodes (anno 2019)

We have pre-installed the Emerald compiler and runtime as ec32 and emx32, respectively, on the following machines (as of 2019-02-19):

  • cse-white.cse.chalmers.se (Gothenberg, Sweden)
  • cse-yellow.cse.chalmers.se (Gothenberg, Sweden)
  • mars.planetlab.haw-hamburg.de (Nack, Germany)
  • merkur.planetlab.haw-hamburg.de (Nack, Germany)
  • pl1.uni-rostock.de (Rostock, Germany)
  • pl2.prakinf.tu-ilmenau.de (Ilmenau, Germany)
  • planetlab1.xeno.cl.cam.ac.uk (Cambridge, United Kingdom)
  • planetlab2.xeno.cl.cam.ac.uk (Cambridge, United Kingdom)
  • ple3.planet-lab.eu (Paris, France)
  • ple4.planet-lab.eu (Paris, France)
  • ple43.planet-lab.eu (Paris, France)
  • ple44.planet-lab.eu (Paris, France)

Prepared Nodes (anno 2018)

We have pre-installed the Emerald compiler and runtime as ec32 and emx32, respectively, on the following machines (as of 2018-02-21):

  • ple2.planet-lab.eu
  • pl-node-2.technion.ac.il
  • ple1.cesnet.cz
  • ple2.cesnet.cz
  • planetlab2.upm.ro
  • planetlab1.informatik.uni-goettingen.de

As of April 19, 2018, the following list of machines were available within a 3-second delay from IFI, and had open outgoing traffic:

  • cse-yellow.cse.chalmers.se, Sweden
  • planetlab1.cesnet.cz, Czech Republic
  • planetlab1.dtc.umn.edu, United States
  • planetlab-1.ing.unimo.it, Italy
  • planetlab2.dtc.umn.edu, United States
  • planetlab2.inf.ethz.ch, Switzerland
  • planetlab3.cesnet.cz, Czech Republic
  • planetlab4.mini.pw.edu.pl, Poland
  • planet-lab-node2.netgroup.uniroma2.it, Italy
  • ple1.cesnet.cz, Czech Republic
  • ple1.planet-lab.eu, France
  • ple2.planet-lab.eu, France
  • pl-node-2.technion.ac.il, Israel

As of March 8, 2018, the following list of machines were available within a 5-second delay from IFI, and had open outgoing traffic:

  • iraplab1.iralab.uni-karlsruhe.de , Germany
  • iraplab2.iralab.uni-karlsruhe.de , Germany
  • netissime2.planet-lab.eu , France
  • node1.planetlab.mathcs.emory.edu , United States
  • node2.planetlab.mathcs.emory.edu , United States
  • nuc1.planet-lab.eu , France
  • pl1.rcc.uottawa.ca , Canada
  • planetlab-04.cs.princeton.edu , United States
  • planetlab1.cesnet.cz , Czech Republic
  • planetlab1.dtc.umn.edu , United States
  • planetlab-1.ing.unimo.it , Italy
  • planetlab2.cs.ubc.ca , Canada
  • planetlab2.cs.unc.edu , United States
  • planetlab2.dtc.umn.edu , United States
  • planetlab2.inf.ethz.ch , Switzerland
  • planetlab2.upm.ro , Romania
  • planetlab3.cesnet.cz , Czech Republic
  • planetlab3.eecs.umich.edu , United States
  • planetlab4.mini.pw.edu.pl , Poland
  • planetlab4.postel.org , United States
  • planetlab4.williams.edu , United States
  • planetlab-5.eecs.cwru.edu , United States
  • planetlab5.eecs.umich.edu , United States
  • planetlab5.williams.edu , United States
  • planetlabone.ccs.neu.edu , United States
  • planetvs2.informatik.uni-stuttgart.de , Germany
  • ple1.cesnet.cz , Czech Republic
  • ple2.cesnet.cz , Czech Republic
  • ple2.planet-lab.eu , France
  • plink.cs.uwaterloo.ca , Canada
  • pl-node-1.technion.ac.il , Israel
  • pl-node-2.technion.ac.il , Israel
  • saturn.planetlab.carleton.ca , Canada

You should be able to install Emerald, and conduct your experiments on all of these machines. The given location is the location of the IP behind the URL according to the GeoLite Country dataset from MAXMIND. For further documentation on how we gauged PlanetLab status, see https://github.com/emerald/inf5510v18/tree/master/planet-lab.

Installing Emerald on a new node

If you have to install the Emerald compiler on another node, follow this guide:

Login at nodename:

$ ssh -l diku_inf5510 nodename 

To install an Emerald compiler at that node:

$ wget http://www.uio.no/studier/emner/matnat/ifi/INF5510/v15/emerald-0.99-linux.tar.gz
$ tar xvf emerald-0.99-linux.tar.gz
$ mv emerald-0.99-linux emerald
$ sudo dnf install glibc.i686

Copy this 32-bit bind_public.so to the home directory on the node.

Copy the following to the .profile file in the home directory:

[ -f /etc/planetlab.profile ] && source /etc/planetlab.profile

export EMERALDROOT=/home/diku_inf5510/emerald/
export EMERALDARCH='i686mt'
export PATH="$EMERALDROOT/bin:$PATH"

export TERM=xterm-256color

alias emx32="LD_PRELOAD=~/bind_public.so emx"
alias ec32="LD_PRELOAD=~/bind_public.so ec"

Note how ec32 and emx32 overload the system LD_PRELOAD. This is because the one bind_public.so provisioned on PlanetLab only works for 64-bit binaries, while our Emerald compiler is mere 32-bit software.

Published Feb. 7, 2019 1:05 PM - Last modified Mar. 4, 2019 3:34 PM