behind the scenes of geni experimentation featuring content centric networking

40
Sponsored by the National Science Foundation Behind the Scenes of GENI Experimentation featuring Content Centric Networking

Upload: clem

Post on 22-Jan-2016

26 views

Category:

Documents


0 download

DESCRIPTION

Behind the Scenes of GENI Experimentation featuring Content Centric Networking. In Part 1 You Learned to…. Log into the GENI Portal. In Part 1 You Learned to…. Log into the GENI Portal Create a s lice. In Part 1 You Learned to…. Log into the GENI Portal Create a s lice - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Behind the  Scenes  of GENI Experimentation  featuring Content Centric Networking

Sponsored by the National Science Foundation

Behind the Scenes of GENI Experimentation

featuring Content Centric Networking

Page 2: Behind the  Scenes  of GENI Experimentation  featuring Content Centric Networking

Sponsored by the National Science Foundation 2Understanding the AM API –June 23, 2014

In Part 1 You Learned to…

• Log into the GENI Portal

Page 3: Behind the  Scenes  of GENI Experimentation  featuring Content Centric Networking

Sponsored by the National Science Foundation 3Understanding the AM API –June 23, 2014

• Log into the GENI Portal

• Create a slice

In Part 1 You Learned to…

Page 4: Behind the  Scenes  of GENI Experimentation  featuring Content Centric Networking

Sponsored by the National Science Foundation 4Understanding the AM API –June 23, 2014

• Log into the GENI Portal

• Create a slice • Launch the Flack

experimenter tool

In Part 1 You Learned to…

Page 5: Behind the  Scenes  of GENI Experimentation  featuring Content Centric Networking

Sponsored by the National Science Foundation 5Understanding the AM API –June 23, 2014

• Log into the GENI Portal

• Create a slice • Launch the Flack

experimenter tool• Set up a simple

experiment– Add resources to your

slice from an aggregate

– Use the resources in your slice

In Part 1 You Learned to…

Page 6: Behind the  Scenes  of GENI Experimentation  featuring Content Centric Networking

Sponsored by the National Science Foundation 6Understanding the AM API –June 23, 2014

• Log into the GENI Portal

• Create a slice • Launch the Flack

experimenter tool• Set up a simple

experiment– Add resources to your

slice from an aggregate– Use the resources in

your slice

• Delete resources in your slice

In Part 1 You Learned to…

Page 7: Behind the  Scenes  of GENI Experimentation  featuring Content Centric Networking

Sponsored by the National Science Foundation 7Understanding the AM API –June 23, 2014

In Part 2 You will Learn…

• What happens behind the scenes when you run an experiment on GENI

• New concepts:– GENI Resource Specifications

(RSpecs)– GENI Aggregate Manager API

(GENI AM API)

Page 8: Behind the  Scenes  of GENI Experimentation  featuring Content Centric Networking

Sponsored by the National Science Foundation 8Understanding the AM API –June 23, 2014

Tutorial Objectives

• By the end of this tutorial you should:– Feel comfortable running experiments on GENI– Have a basic understanding of how GENI works

• Later exercises may skip some of the basic steps in this tutorial to focus on new material– You may be given an RSpec to use rather than have

you create one– You may use slices that have already been created and

resources added to them

For a description of the GENI concepts covered, see: http://groups.geni.net/geni/wiki/GENIConcepts

Page 9: Behind the  Scenes  of GENI Experimentation  featuring Content Centric Networking

Sponsored by the National Science Foundation 9Understanding the AM API –June 23, 2014

GENI Resource Specifications (RSpecs)

• RSpecs are XML documents that describe resources– VMs, links, etc.

<?xml version="1.0" encoding="UTF-8"?><rspec type="request” xsi:schemaLocation="http://www.geni.net/resources/rspec/3 … xmlns="http://www.geni.net/resources/rspec/3"> <node client_id="server" component_manager_id="urn:publicid:IDN+instageni.gpolab.bbn.com+authority+cm”> <sliver_type name="emulab-openvz"/> <interface client_id="server:if0”> </interface> </node></rspec>

RSpec for a virtual machine with one interface:

Page 10: Behind the  Scenes  of GENI Experimentation  featuring Content Centric Networking

Sponsored by the National Science Foundation 10Understanding the AM API –June 23, 2014

RSpecs

• RSpec documents are exchanged by experimenter tools (e.g. Flack) and aggregates– Aggregates use RSpecs to describe what they have –

Advertisement RSpecs – Experimenters use RSpecs to describe the resources

they want – Request RSpecs – Aggregates use RSpecs to describe the resources

allocated to an experimenter – Manifest RSpecs

Page 11: Behind the  Scenes  of GENI Experimentation  featuring Content Centric Networking

Sponsored by the National Science Foundation 12Understanding the AM API –June 23, 2014

The GENI AM API

• Experimenter tools and aggregates talk to each other using the GENI Aggregate Manager API (GENI AM API)

AggregateManager

Exp

eri

me

nte

rTo

ol

ListResources(…)

Advertisement RSpec

CreateSliver(Request RSpec, …)

Manifest RSpec

ListResources(SliceName, …)

Manifest RSpec

What do you have?

I have …

I would like …

You have …

What do I have?

You have …

Page 12: Behind the  Scenes  of GENI Experimentation  featuring Content Centric Networking

Sponsored by the National Science Foundation 13Understanding the AM API –June 23, 2014

Putting it all Together…

• Flack calls ListResources on all aggregates it knows about

• Aggregates send back advertisement RSpecs

• Flack uses information in the advertisements to populate its palette of resources

What do you have?

I have …

Page 13: Behind the  Scenes  of GENI Experimentation  featuring Content Centric Networking

Sponsored by the National Science Foundation 14Understanding the AM API –June 23, 2014

Putting it all Together…

• When you drag and drop resources on to the Flack canvas, it creates request RSpecs for these resources– To view the request

Rspec click on “View” and select “Preview request documents”

• When you click “Submit”, Flack makes createSliver calls on the aggregates

I would like …

Page 14: Behind the  Scenes  of GENI Experimentation  featuring Content Centric Networking

Sponsored by the National Science Foundation 15Understanding the AM API –June 23, 2014

Putting it all Together…

• Flack periodically calls sliverStatus on the aggregates to check on the status of your request

• When sliverStatus shows:– Resources have been

allocated, Flack turns its canvas yellow

– Resources are ready to use, Flack turns its canvas green

Page 15: Behind the  Scenes  of GENI Experimentation  featuring Content Centric Networking

Sponsored by the National Science Foundation 16Understanding the AM API –June 23, 2014

Putting it all Together…

• ListResources with a slice name returns a manifest RSpec

• Manifest includes names and ports used to ssh into VMs– Flack uses this

information to help you log into your resources

What do I have?

You have …

Page 16: Behind the  Scenes  of GENI Experimentation  featuring Content Centric Networking

Sponsored by the National Science Foundation 17Understanding the AM API –June 23, 2014

Putting it all Together…

• When you deleted your resources, Flack called deleteSliver on the aggregates

Page 17: Behind the  Scenes  of GENI Experimentation  featuring Content Centric Networking

Sponsored by the National Science Foundation 18Understanding the AM API –June 23, 2014

Hands-On Exercise*

• Reinforce new concepts using a Future Internet Architecture (FIA) based experiment– New concepts: RSpecs and AM API

• Experiment uses a Content Centric Networking (CCN) architecture– CCN: Access information by name rather than by going

to a host that has that information• E.g. Ask for “forecast for Davis, CA” rather than going to

www.weather.com

* Based on a classroom exercise developed by Sonia Fahmy, Ethan Blanton & Sriharsha Gangam of Purdue U.; Christos Papadopoulos & Susmit Shannigrahi of Colorado State U.

Page 18: Behind the  Scenes  of GENI Experimentation  featuring Content Centric Networking

Sponsored by the National Science Foundation 20Understanding the AM API –June 23, 2014

Omni: Resource Reservation tool

• A command line experimenter tool

• Useful for making AM API calls on aggregates

• Written in and scriptable from Python

• Works with aggregates that implement the GENI AM API – InstaGENI and ExoGENI

racks, ProtoGENI, PlanetLab, FOAM (OpenFlow AM)

$ omni.py createsliver aliceslice myRSpec.xml INFO:omni:Loading config file omni_config INFO:omni:Using control framework pgeni INFO:omni:Slice urn:publicid:IDN+pgeni.gpolab. expires within 1 day on 2011-07-07 INFO:omni:Creating sliver(s) from rspec fileINFO:omni:Writing result of createsliver for INFO:omni:Writing to ‘aliceslice-manifest-rspeINFO:omni: -----------------------------------INFO:omni: Completed createsliver:

Options as run: aggregate: https://www.emulab. framework: pgeni native: True

Args: createsliver aliceslice myRSpec.xml

Result Summary: Slice urn:publicid:IDN+pgeniReserved resources on https://www.emulab.net/p Saved createsliver results to aliceslice-manINFO:omni: ===================================

http://trac.gpolab.bbn.com/gcf/wiki/Omni

Page 19: Behind the  Scenes  of GENI Experimentation  featuring Content Centric Networking

Sponsored by the National Science Foundation 21Understanding the AM API –June 23, 2014

Omni Command Workflow

createslice

listmyslices

getversion

renewslice

createsliver

listresources

sliverstatus

deletesliver

Repeat for each aggregate

Repeat for each aggregate

CreateSlice

CreateSliver

Cleanup

Legend: AM API command

Page 20: Behind the  Scenes  of GENI Experimentation  featuring Content Centric Networking

Sponsored by the National Science Foundation 22Understanding the AM API –June 23, 2014

GENI AM API Calls Used

• listresources: Get an advertisement rspec listing the resources at an aggregate

• createsliver: Request resources from an aggregate

• sliverstatus: Get status of resources allocated to a slice at an aggregate

• deletesliver: Delete resources allocated to a slice by an aggregate

For a complete list of GENI AM API calls see: http://groups.geni.net/geni/wiki/GAPI_AM_API

Page 21: Behind the  Scenes  of GENI Experimentation  featuring Content Centric Networking

Sponsored by the National Science Foundation 23Understanding the AM API –June 23, 2014

Corresponding Omni Commands

omni –a aggregatename listresources

omni –a aggregatename createsliver slicename requestRSpec

omni –a aggregatename sliverstatus slicename

omni –a aggregatename listresources slicename

omni –a aggregatename deletesliver slicename

• A useful utility (distributed with Omni):

readyToLogin –a aggregatename slicename – Gives you the ssh commands you need to log into your nodes

• readyToLogin.py parses the output of listresources and sliverstatus to determine the hostname, port and username for the ssh commands

Page 22: Behind the  Scenes  of GENI Experimentation  featuring Content Centric Networking

Sponsored by the National Science Foundation 24Understanding the AM API –June 23, 2014

Tutorial Structure

• Configure Omni (Step 2.2 of instructions)

• View and edit an RSpec using Flack (Steps 3.2 – 3.5)

• Request resources specified in RSpec using Omni (Step 3.6)

• When resources are ready, log into a node to run the CCN application (Step 5)

• (Optional) Visualize the experiment using the GENI Desktop and GEMINI– GENI Instrumentation and Measurement system– Tutorial on GENI Desktop/GEMINI Mon @ 1.30pm

Page 23: Behind the  Scenes  of GENI Experimentation  featuring Content Centric Networking

Sponsored by the National Science Foundation 25Understanding the AM API –June 23, 2014

Tutorial Tips

• Cut-and-paste is your friend!– Cut-and-paste URLs, commands, etc. from instructions

into text boxes, terminal windows, etc

• If at any step you don’t understand why you are doing something, ask!

• If you fall behind, let us know!– We will help you catch up

Page 24: Behind the  Scenes  of GENI Experimentation  featuring Content Centric Networking

Sponsored by the National Science Foundation 26Understanding the AM API –June 23, 2014

CONFIGURE OMNIStep 2.2

Page 25: Behind the  Scenes  of GENI Experimentation  featuring Content Centric Networking

Sponsored by the National Science Foundation 27Understanding the AM API –June 23, 2014

Configuring Omni

• Omni reads a configuration file omni_config to:– Find locations of ssl certs and ssh key files

• ssl certs are used to secure communication between Omni and the aggregates

• ssh key pairs are used log into compute resources

– Find standard nicknames for aggregates• e.g. you can refer to the InstaGENI rack at NYSERNet as nysernet-ig

instead of

https://instageni.nysernet.org:12369/protogeni/xmlrpc/am

Page 26: Behind the  Scenes  of GENI Experimentation  featuring Content Centric Networking

Sponsored by the National Science Foundation 28Understanding the AM API –June 23, 2014

Creating an Omni Config File

1. Download the GENI bundle from the GENI Portal

$ omni-configure

2. Run omni-configure in a terminal window

Page 27: Behind the  Scenes  of GENI Experimentation  featuring Content Centric Networking

Sponsored by the National Science Foundation 29Understanding the AM API –June 23, 2014

VIEW AND EDIT RSPECSteps 3.2 – 3.5

Page 28: Behind the  Scenes  of GENI Experimentation  featuring Content Centric Networking

Sponsored by the National Science Foundation 30Understanding the AM API –June 23, 2014

Tips

Remember cut-and-paste! Errors in URLs or other text boxeswill cause your experiment to fail

For this exercise, do not use Flack to submit your RSpec

Page 29: Behind the  Scenes  of GENI Experimentation  featuring Content Centric Networking

Sponsored by the National Science Foundation 31Understanding the AM API –June 23, 2014

REQUEST RESOURCESStep 3.6

Page 30: Behind the  Scenes  of GENI Experimentation  featuring Content Centric Networking

Sponsored by the National Science Foundation 32Understanding the AM API –June 23, 2014

Tips

• Successful return from Omni createsliver means your RSpec was submitted to the AM

• It does not mean:– The RSpec was correct– The resources are available

• Use readyToLogin to monitor your resources– Wait until the status turns to “ready” before using

Page 31: Behind the  Scenes  of GENI Experimentation  featuring Content Centric Networking

Sponsored by the National Science Foundation 33Understanding the AM API –June 23, 2014

LEARN ABOUT CCNWhile we wait for our resources to become ready…

Page 32: Behind the  Scenes  of GENI Experimentation  featuring Content Centric Networking

Sponsored by the National Science Foundation 34Understanding the AM API –June 23, 2014

Content Centric Networking… also known as Named Data Networking

PRINCIPLE

Focus on what you need; not on where you find it

TODAY

Must know the location of information (aka URL)– Search engines map the what to the where– Most Internet information look-ups start with search

engines

CCN (NDN)

• New network architecture reflects Internet usage• CCN protocols cache data at all network levels

– routers, hosts

Page 33: Behind the  Scenes  of GENI Experimentation  featuring Content Centric Networking

Sponsored by the National Science Foundation 35Understanding the AM API –June 23, 2014

CCNX

• An implementation of CCN by Xerox PARC

• Our exercise uses CCNX software– Software runs on all nodes in our experiment– All nodes cache information that passes through them– When a node gets a data request it:

• Returns data from local cache, if available• Passes request to neighbor if data not in cache• Caches data returned by neighbor

http://www.ccnx.org

Page 34: Behind the  Scenes  of GENI Experimentation  featuring Content Centric Networking

Sponsored by the National Science Foundation 36Understanding the AM API –June 23, 2014

Our Experiment

Data Source (dsrc1): Holds precipitation data from1 Jan 1901 to 31 Jan 1902 (data from NOAA)

Intermediate node (router). Requestsnot in local cache forwarded to data source.

Researcher (rschr) fetches precipitation data by name(e.g. precip data from 1901/01/01 to 1901/01/02). Requestsnot in local cache forwarded to router.

Collaborator (collab) also fetches data by name. Requestsnot in local cache forwarded to researcher.

Page 35: Behind the  Scenes  of GENI Experimentation  featuring Content Centric Networking

Sponsored by the National Science Foundation 37Understanding the AM API –June 23, 2014

Our Experiment

• Log into the researcher node (rsrchr) and fetch data– Use a client program already installed on the node

• Installed using an install script in the RSpec

• Note how long it takes to get data• Fetch same data again and note time• If time permits

– Repeat the above at the collaborator node (collab)• Data is not in local cache but in rsrchr node cache

– Fetch new data at the collaborator node (collab)• Data is not in local cache or in rsrchr node cache

• Optional: Use GENI Desktop/GEMINI to view graphs of traffic on links– Helps visualize when data comes from a local cache and when it

comes from a neighbor

Page 36: Behind the  Scenes  of GENI Experimentation  featuring Content Centric Networking

Sponsored by the National Science Foundation 38Understanding the AM API –June 23, 2014

RUN THE CCN APPLICATIONStep 5

Page 37: Behind the  Scenes  of GENI Experimentation  featuring Content Centric Networking

Sponsored by the National Science Foundation 39Understanding the AM API –June 23, 2014

Tip

Cut-and-paste ssh command from readyToLogin into a terminal to log into the rsrchr node.

Example:$ ssh -p 32315 -i /Users/vthomas/.ssh/geni_key_portal [email protected]

Page 38: Behind the  Scenes  of GENI Experimentation  featuring Content Centric Networking

Sponsored by the National Science Foundation 40Understanding the AM API –June 23, 2014

VISUALIZE EXPERIMENTOptional

Page 39: Behind the  Scenes  of GENI Experimentation  featuring Content Centric Networking

Sponsored by the National Science Foundation 41Understanding the AM API –June 23, 2014

FINISHStep 7

Page 40: Behind the  Scenes  of GENI Experimentation  featuring Content Centric Networking

Sponsored by the National Science Foundation 42Understanding the AM API –June 23, 2014

Finish

Don’t Delete YET!!!We will clean up after Part 3