ontimemeasure i ntegration with gush

14
OnTimeMeasure Integration with Gush Prasad Calyam, Ph.D. (PI) [email protected] Paul Schopis, (Co-PI) Tony Zhu (Software Programmer) Alex Berryman (REU Student) Prototype Design Last Updated: January 21 st 2011

Upload: nili

Post on 24-Feb-2016

44 views

Category:

Documents


0 download

DESCRIPTION

OnTimeMeasure I ntegration with Gush. Prasad Calyam , Ph.D. (PI) [email protected] Paul Schopis , (Co-PI) Tony Zhu (Software Programmer) Alex Berryman (REU Student) Prototype Design Last Updated: January 21 st 2011. OnTimeMeasure Overview. Goal: - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: OnTimeMeasure I ntegration with Gush

OnTimeMeasure Integration with GushPrasad Calyam, Ph.D. (PI)

[email protected]

Paul Schopis, (Co-PI)Tony Zhu (Software Programmer)

Alex Berryman (REU Student)

Prototype DesignLast Updated: January 21st 2011

Page 2: OnTimeMeasure I ntegration with Gush

OnTimeMeasure Overview• Goal:

– Provide GENI community with a shared measurement service for provisioning on-going and on-demand measurement requests

• Expected Outcomes: – OnTimeMeasure Software to perform centralized and distributed measurement

orchestration and provisioning of active measurements• Centralized orchestration for continuous monitoring, persistent measurements

storage and processed network measurement feeds • Distributed orchestration for on-demand (real-time) measurement requests without

need for persistent measurements storage– Measurement service that uses OnTimeMeasure software in GENI experiments

to enable:• Network paths monitoring• Network weather forecasting• Network performance anomaly detection• Network-bottleneck fault-location diagnosis

GENI Project Wiki – http://groups.geni.net/geni/wiki/OnTimeMeasure Researcher Web-portal – http://ontime.oar.net

2

Page 3: OnTimeMeasure I ntegration with Gush

Gush Overview• Gush runs on a user desktop and executes

commands on Client nodes in a GENI Slice

• The application description is written in an XML format with following specs:

– Web addresses of software packages– List of target clients– Commands to be executed

• Two configuration files are required in Gush (filled in using a helper script):

1. Directory.xml: defines where to locate resources during execution ‘port map slice’ Gush queries PlanetLab database about user

slice and auto populates the Directory.xml file2. Gush.prefs: define working dir and client prefix

Source: Gush project website - http://gush.cs.williams.edu

3

Page 4: OnTimeMeasure I ntegration with Gush

Advantages of OnTimeMeasure-Gush Integration

• Improve Experiment Measurements in Classroom:– Students can instrument active and passive measurements within GENI;

query/analyze measurement time series by using OnTimeMeasure-Gush– Get on-demand plots of measurement time series results of their experiments

with simple commands in Gush• Don’t need to teach students GNUPlot

• Installation Ease of OnTimeMeasure:– Configure once and re-use in new slices– Login and install on a number of nodes from user desktop

• Gush takes care of ProtoGENI/PlanetLab authentication

• Management Automation, Scalability and Security of OnTimeMeasure :– Identical configuration process on Node Beacons can be done in parallel

across large number of nodes– GENI experimenter can securely script the request/management/query of

OnTimeMeasure measurements through Gush to address a network science and engineering research issue

4

Page 5: OnTimeMeasure I ntegration with Gush

OnTimeMeasure Software Modules• Customizable software [*] developed at OSC/OARnet• Two main modules installed within a GENI experiment slice

– Node Beacon• Installs tools that measure network health metrics such as: route changes,

delay, jitter, loss, bandwidth– TCP/UDP Iperf, Traceroute, Ping, Pathload, OWAMP, etc.

• Runs measurements based on a schedule and outputs results– Root Beacon

• Installs Apache, MySQL and other packages• Creates database tables and configuration files• Generates measurement schedules for node beacons• Collects data and provides dashboard visualization, statistical analysis (i.e.,

anomaly detection and weather forecasting) with alarm generationNOTE: Typically, two or more Node Beacons and one Root Beacon need to be

installed on separate dedicated servers in a slice; it is however possible to install Root Beacon on one of the Node Beacon servers

[*] P. Calyam, C.-G.Lee, E. Ekici, M. Haffner, N. Howes, “Orchestrating Network-wide Active Measurements for Supporting Distributed Computing Applications”, IEEE Transactions on Computers Journal (TC), 2006.

Download Node/Root Beacon Software – http://ontime.oar.net/download/OnTimeMeasure_latest.php

5

Page 6: OnTimeMeasure I ntegration with Gush

OnTimeMeasure Software Modules (2)• Two modules that are external to the GENI experiment slice

– OnTime Beacon • User Features: Web-interface client for users to login, manage slice

information and interactively control Node/Root Beacons within their slices• Admin Features: User management (approve new users, maintain user

information), Meta-data information repositoryNOTE: Typically, users do NOT need to install OnTime Beacon software and

should use the instance hosted at - http://ontime.oar.net; GENI aggregate providers who wish to have a dedicated OnTime Beacon for their users can install their own instance of OnTime Beacon on a dedicated server

– OnTime Control• Command-line interface client for users to login, manage slice information

and control Node/Root Beacons within their slices in an automated mannerNOTE: Typically, users need to install OnTime Control software in stand-alone

mode on their desktops; if using experiment workflow tools such as GUSH, OnTime Control software will need to be installed on a Node/Root Beacon

Download OnTime Beacon Software (Beta!) – http://ontime.oar.net/download/OnTimeBeacon_latest.php

Download OnTime Control Software (Beta!) – http://ontime.oar.net/download/OnTimeControl_latest.php

6

Page 7: OnTimeMeasure I ntegration with Gush

OnTimeMeasure Architecture

7

Page 8: OnTimeMeasure I ntegration with Gush

OnTimeMeasure Centralized Orchestration

• Centralized scheduling for continuous monitoring, persistent measurements storage and processed network measurement feeds – Useful for “network weathermaps” and long-standing experiments with

advanced measurement analysis capabilities8

Page 9: OnTimeMeasure I ntegration with Gush

OnTimeMeasure User Workflow (ProtoGENI or PlanetLab Aggregates)

1. User creates an experiment slice using ProtoGENI or PlanetLab control framework tools

– For ProtoGENI slice creation, see - http://groups.geni.net/geni/wiki/OnTime-Install – For PlanetLab slice creation, see -

http://groups.geni.net/geni/wiki/OTM-PlanetLabInstall

2. User registers at the “Researcher Web-Portal” (http://ontime.oar.net), provides Slice Rspec information and requests installation of measurement instance

– Slice RSpec should include reservation of any required measurement resources3. Each experiment slice needing a measurement service gets its own

OnTimeMeasure software instance – Node/Root Beacons need to be installed as slivers based on the instructions

provided in Step-1 for the specific aggregate4. Valid login to the “Researcher Web-Portal” allows user to interact with the

measurement service in his/her experiment slice. Specifically, the user can:i. Submit measurement requestsii. Control the measurement serviceiii. Query measurement data

9

Page 10: OnTimeMeasure I ntegration with Gush

Deployment Steps for OnTimeMeasure-Gush

• Slice must be created using an RSpec file or using graphical interfaces

• XML file of the application description must be created with at least two parts:– Commands to be executed only

on the Root Beacon– Commands to be executed on all

of the Node Beacons• Description of the slice resources

must be written in directory.xml• Gush.prefs must be configured

correctly as per Gush setup instructions

Gush Controller

Otm-deploy.xml

Root BeaconNode

Beacon

Root Beacon

directory.xml

gush.prefs

Node Beacon

Node Beacon

GENI Slice10

Page 11: OnTimeMeasure I ntegration with Gush

OnTime Control (Stand-alone Mode)

• User installs OnTime Control on his/her desktop

– Requires Python install– Manually configure slice topology

in .yaml files

• User executes python scripts that query a SQL database on the Root Beacon

– Requires root db user information

• Measurement result time-series files/plots are automatically downloaded into current directory on user desktop

User Desktop

OnTime Control

Python Scripts

Slice Topolgy .yaml files

RootBeacon

DB

NodeBeaconNode

BeaconNodeBeacon

GENI Slice

11

Page 12: OnTimeMeasure I ntegration with Gush

OnTime Control (GUSH Integration mode)

• OnTime Control package resides on Root/Node Beacon; Gush is installed on user desktop

• Write a set of XML experiment files in the Gush format that interacts with the OnTime Control python scripts

• Gush topology description (directory.xml) is passed to the OnTime Control

• Output of the OnTime Control is a URL of a text/plot file containing the results of the measurement

– Is it possible to auto-download URL information to current directory of user desktop within Gush? User

Desktop

OnTime Control

Python Scripts

Slice Topology

RootBeacon

DB

NodeBeaconNode

BeaconNodeBeacon

GUSH Controller

otm-control.xml directory.xml

GENI Slice

12

Page 13: OnTimeMeasure I ntegration with Gush

Integration Timeline• Prototype

– Software bundle and Wiki page (Milestone: End of January 2011)

• OnTimeMeasure-Gush Demo – GENI experiment use case (Milestone: March GEC10)

• GENI User Case Studies– Class for CDN at Williams College? (Milestone: ?)

13

Page 14: OnTimeMeasure I ntegration with Gush

Reference List

• OnTime Control Wiki– http://groups.geni.net/geni/wiki/OTM-Control

• OnTimeMeasure-PlanetLab Wiki– http://groups.geni.net/geni/wiki/OTM-PlanetLabInstall

• OnTimeMeasure-Gush Wiki – To be created

14