An Introduction to PlanetLab by malj


   Introduction to
Prepared By:
Abhishek Agrawal
        Presentation Outline
 Details about PlanetLab and Slice
 PlanetLab Tools
Details about
PlanetLab and
        What is PlanetLab??
 PlanetLab is an overlay test bed designed to
  allow researchers to experiment with network
  applications and services that benefit from
  distribution across a wide geographic area.

 PlanetLab Consortium is a collection of
  academic, industrial, and government
  institutions cooperating to support and enhance
  the PlanetLab overlay network

 For more information visit
     How to Join PlanetLab??
 Need to donate two machines and host
  two PlanetLab nodes locally.
 After approval, PI’s can create slices
 A slice is a set of allocated resources
  distributed across PlanetLab
 After being assigned a slice, a user can
  add nodes to it.
 Getting Started with PlanetLab
 Register for a PlanetLab account by
 visiting the Account Registration page.

 Contact PI for account to be activated
          Create an SSH Key
 Remote access to PlanetLab nodes is restricted
  to SSH login using RSA authentication
 To generate an SSH key pair, use the ssh-
  keygen program on a secure UNIX system:
      ssh-keygen -t rsa -f ~/.ssh/identity
 Ssh-keygen asks for a passphrase. It’s better to
  go for password-less access.
 Upload the public key file to the
  PlanetLab website using the Manage My Keys
   Getting started with the slice
 Initially slice is populated with a minimal Fedora Core 2
  Linux installation

 To login to a node with SSH, provide your slice name as
  the login name (e.g. ufl_ipop), the path to your private
  key file (e.g. ~/.ssh/identity), and the node to login to
        ssh -l ufl_ipop -i ~/.ssh/identity

 Initially logged in as a regular user with the same name
  as your slice name. May su to root, add new users,
  control services, install new packages, mount certain
  directories, and perform other actions that root is
  normally capable of.
        Populating the Slice
 Additional standard packages in the slice,
 can be installed using yum. For example,
 to install emacs:
        yum install emacs

 To bring your slice up-to-date with the
 latest versions of all packages:
        yum update
      Building and Deploying the

 The most straightforward way of deploying
 your application to a single node is with
   scp -l ufl_ipop -i ~/.ssh/identity -r test1

 rsync may be used to copy just those files
 that do not exist or have changed since
 the last time they were copied:
   rsync -a -e "ssh -l ufl_ipop -i ~/.ssh/identity" test1
           PlanetLab Tools
 Parallel SSH
 PlanetLab Slice Deploy Toolkit
 vxargs
 Nixes Tool Set
 A complete list of contributed software
 may be found on the Contributed Software
 page on the PlanetLab Wiki.
 Developed at Intel Research, Berkeley
 This package provides parallel versions of
 the openssh tools. Included in the
      Parallel ssh (pssh)
      Parallel scp (pscp)
      Parallel rsync (prsync)
      Parallel nuke (pnuke)
      Parallel slurp (pslurp)
                   PSSH Demo
 pssh -h ips.txt -l ufl_ipop -o /tmp/foo hostname

 pscp -h hosts.txt -l ufl_ipop foo.txt /home/ufl_ipop/foo.txt

 pnuke -h ips.txt -l ufl_ipop java
 PlanetLab Slice Deploy Toolkit
 The PlanetLab Slice Deploy Toolkit
 consists of three scripts used to manage
     plslice create and manage a slice
     pldeploy manage a collection of cogs deployed in
      a slice
     pladdnodes example of a script to push a cog to
      all nodes
 It provides the parallel versions of any arbitrary
  command, including ssh, rsync, scp, wget, curl,
  and whatever
 The main features are:
       parallelism: run many jobs at the same time
       flexibility: arbitrary command with arbitrary options
       visualization: monitor the total/per job progress in a curses-
        based UI
       redirection: stdout and stderr of each individual job are
        redirected to files respectively for further analysis.
             Nixes Tool Set
 plsetup node-list: bootstraps the slice with
  yum and gzip
 plinstallrpm “rpms” node-list: installs all the
  rpms on all the nodes
 pldeploy node-list: deploys any file
  structure to the nodes
 plcmd command node-list: executes any
  set of commands on all the nodes.
        Additional Resources
 For questions regarding application
  compilation, deployment, and execution,
  try the PlanetLab Users mailing list

 For technical difficulty with a node, with
  the slice, with the account, or with the
  website, contact PlanetLab Support

To top