step by step guide for using planetlabplanetlabnz.canterbury.ac.nz/docs/step by step guide...

8
Step By Step Guide for Using PlanetLab Mofassir Ul Haque, Krzysztof Pawlikowski The Department of Computer Science and Software Engineering University of Canterbury 15 March, 2011

Upload: others

Post on 19-Jul-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Step By Step Guide for Using PlanetLabplanetlabnz.canterbury.ac.nz/docs/Step By Step Guide for...university / organization. Linux operating system runs on these computers. g. Slice

Step By Step Guide for Using PlanetLab

Mofassir Ul Haque, Krzysztof Pawlikowski

The Department of Computer Science and Software Engineering

University of Canterbury

15 March, 2011

Page 2: Step By Step Guide for Using PlanetLabplanetlabnz.canterbury.ac.nz/docs/Step By Step Guide for...university / organization. Linux operating system runs on these computers. g. Slice

Introduction

1. There are many tutorials available on Internet about the use of PlanetLab. All these tutorials

have primarily been written for audience with background knowledge of Linux and are difficult

to comprehend. There is no comprehensive tutorial available for window users. This step by

step PlanetLab guide has been written for individuals using windows operating system.

What is PlanetLab?

2. PlanetLab is a distributed test bed consisting of computers located in more than forty

countries. It allows researchers to run their experiments in a real world scenario, on

nodes which are thousands of miles apart.

Important Terms 3.

a. Principal Investigator. PI is the controller of PlanetLab nodes at a particular

site and is responsible for everything being done by users of the site. He gives

approval of new user accounts, creates slices, etc.

b. Technical contact. He is responsible for installing PlanetLab operating system

on new nodes, monitoring of nodes and day to day maintenance if required.

c. User. Actual user who conducts experiment on PlanetLab.

d. PLC. It is an abbreviation for PlanetLab Central. PLC is the main controller of

PlanetLab. They provide basic interface for controlling and managing slices and nodes.

e. Site. A physical location where nodes have been kept e.g. University of Canterbury

f. Node. Actual computers provided by the participating universities /

organizations. Minimum of two nodes have to be provided by each participating

university / organization. Linux operating system runs on these computers.

g. Slice. It is a network wide resource container. A maximum of 10 slices can be

created by Principal Investigator of a university and only two slices by Principal

Investigator of an organization. Any number of Nodes can be added to a slice. Slices

can only be created by Principal Investigator but users can add nodes to them.

h. Sliver. It is actual allocated resources on a node. Slivers are implemented using

Linux – VServers.

Page 3: Step By Step Guide for Using PlanetLabplanetlabnz.canterbury.ac.nz/docs/Step By Step Guide for...university / organization. Linux operating system runs on these computers. g. Slice

Soft ware Needed to Connect with PlanetLab

4. Following software are required to access PlanetLab nodes using Microsoft Operating System.

a. Putty. It is used for making connection with remote PlanetLab node.

b. Putty gen. It is used for generating public and private key pair.

c. PSCP. It is used for transferring files to remote nodes.

5. All these software are executable programs therefore there is no need to install them.

They can be downloaded for free from the address given below: -

http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

Creating New Account on PlanetLab

6. Go to PlanetLab’s web site i.e. (http://www.planet-lab.org/) and click on ‘create an account’. 7. Fill required information e.g. user name, password etc and select your own PlanetLab site in

front of SITE entry. After completing the form, click register button. Form will be sent to your PI

for approval. You need to ask your PI to approve your account request and create slice for you.

Page 4: Step By Step Guide for Using PlanetLabplanetlabnz.canterbury.ac.nz/docs/Step By Step Guide for...university / organization. Linux operating system runs on these computers. g. Slice

Creating/Uploading private key & Adding Nodes to Slice

8. You will receive an e-mail from PI, confirming the approval of your account. In order to

communicate with PlanetLab nodes you need 7public/private key pair. Putty generator will be

used for creating public and private key pair. Run putty gen by clicking on it. In putty generator

GUI, select SSH-2 & 1024 as number of digits in key and then press generate key.

Page 5: Step By Step Guide for Using PlanetLabplanetlabnz.canterbury.ac.nz/docs/Step By Step Guide for...university / organization. Linux operating system runs on these computers. g. Slice

9. Click ‘Save private key’ and copy public key form putty generator window and save it in text file. 10. Go to PlanetLab’s web site and open your account using user name and password.

Select ‘My Account’ sub menu and click on ‘Key’. It will display browse and upload

option. Upload the text file containing the public key.

Page 6: Step By Step Guide for Using PlanetLabplanetlabnz.canterbury.ac.nz/docs/Step By Step Guide for...university / organization. Linux operating system runs on these computers. g. Slice

11. Open your account and go to ‘My Slices’. Click on your slice name. It will display list of

nodes which are part of slice. Select and click in front of nodes which you want to add to

your slice and click on ‘add selected’. It will only be possible if Principal Investigator has

already created slice for you.

Connecting with Remote Nodes in your Slice

12. Putty will be required to connect with remote sites. Open putty by double clicking on it. Select

session and write down IP address of the remote node. Assign this session a name in ‘Saved

Sessions’ and click ‘Save’. Click on ‘Auth’ under ‘SSH’ category given on left plane. Browse and

point to the place where file containing private key was saved. Click on ‘Open’. If everything

goes fine, then a command comm window with active prompt & name of slice will open. You

can type ‘pwd’ to see path of your current directory and ‘ls’ to list files’ names in this directory.

At that moment, there will be no programs installed on the remote node.

Page 7: Step By Step Guide for Using PlanetLabplanetlabnz.canterbury.ac.nz/docs/Step By Step Guide for...university / organization. Linux operating system runs on these computers. g. Slice

Copying Program to Remote Node

13. Write a client program using C or C++ language which opens a socket connection with another

computer and sends your message to it. Write a server program, which opens socket and waits

for connection from client program and after establishing socket connection it replies back with a

message. PSCP will be used to copy program to remote node. PSCP is command line tool. Open

it in command prompt by typing PSCP. Syntax for copying file to remote node is as under :-

C:\>pscp -scp c:\file name plab:/home/canterbury_slice1

First part ‘-scp ’ is forcing PSCP to use scp protocol , second part ‘c:\file name’ is

location and name of the file to be copied, third part ‘plab’ is name of session saved in

Putty, and last part ‘/home/canterbury_slice1’ is location on remote node where the file

has to be saved. This location can be found by typing ‘pwd’ (Present Working Directory)

in command comm of remote node.

Page 8: Step By Step Guide for Using PlanetLabplanetlabnz.canterbury.ac.nz/docs/Step By Step Guide for...university / organization. Linux operating system runs on these computers. g. Slice

Executing Programs on Remote Node

14. In order to run C program, first install C compiler on remote node. This can be done by writing

‘sudo yum install gcc ‘on remote node command comm prompt. Once C compiler has been

installed, compile your program at remote node using command ‘gcc -0 cient client.c’. It will

generate an executable file with a name of client. Connect to another node and repeat the above

procedure to create an executable program for server. You can now run a program by typing ‘.

/program name’. First, run server program on one of the node and then run client program on

another node if everything runs fine then server should reply back to you.

Conclusion

This guide gives a head start to a new user of PlanetLab with Windows Operating System. In order to

exploit full benefits of PlanetLab the best thing would be to learn Linux.