Title: Internet2 E2E piPEs EndtoEnd Performance Initiative Performance Improvement System
1Internet2 E2E piPEsEnd-to-End Performance
Initiative Performance Improvement System
2Overview
- E2E piPEs Overview
- What is piPEs?
- Goals
- E2E piPEs Measurement Infrastructure
- Abilene Measurement Domain
- Data Analysis Status
- Preliminary Data Discovery Approach
- AMI Web Service
3Internet2 E2E piPEs
- Project End-to-End Performance Initiative
Performance Environment System (E2E piPEs) - Approach Collaborative project combining the
best work of many organizations, including
DANTE/GEANT, Daresbury, EGEE, GGF NMWG,
NLANR/DAST, UCL, Georgia Tech, etc.
4Internet2 E2E piPEs Goals
- Enable end-users network operators to
- determine E2E performance capabilities
- locate E2E problems
- contact the right person to get an E2E problem
resolved. - Enable remote initiation of partial path
performance tests - Make partial path performance data publicly
available - Interoperable with other performance measurement
frameworks
5Measurement Infrastructure Components
6Sample piPEs Deployment
7piPEs Deployment
8Measurement Software Components
9Abilene Measurement Domain
- Part of the Abilene Observatory
- http//abilene.internet2.edu/observatory
- Regularly scheduled OWAMP (1-way latency) and
BWCTL (Iperf wrapper) Tests - Web pages displaying
- Latest results http//abilene.internet2.edu/ami/bw
ctl_status.cgi/TCP/now Weathermap
http//abilene.internet2.edu/ami/bwctl_status_map.
cgi/TCP/now - Worst 10 Performing Links http//abilene.internet2
.edu/ami/bwctl_worst_case.cgi/TCP/now - Data available via web service
- http//abilene.internet2.edu/ami/webservices.html
10Overview
- E2E piPEs Overview
- What is piPEs?
- Goals
- E2E piPEs Measurement Infrastructure
- Abilene Measurement Domain
- Data Analysis Status
- Preliminary Data Discovery Approach
- AMI Web Service
11Data Collection / Correlation
- Collection Today
- Iperf (Throughput)
- OWAMP (1-Way Latency, Loss)
- SNMP Data
- Anonymized Netflow Data
- Per Sender, Per Receiver, Per Node Pair
- IPv4 and IPv6
- Collection in the Future
- NTP (Data)
- Traceroute
- BGP Data
- First Mile Analysis
- Correlation Today
- Worst 10 Throughputs
- Worst 10 Latencies
- Correlation in the Future
- 99th Percentile Throughput over Time
- Throughput/Loss for all E2E paths using a
specific link - Commonalities among first mile analyzers
- Sum of Partial Paths vs. Whole Path
12Data Analysis
- Analysis Today
- Throughput over Time
- Latency over Time
- Loss over Time
- Worrisome Tests? (Any bad apples in Worst Ten?)
- Not the Network (If Worst Ten is good enough)
- Analysis in the Future
- Latency vs. Loss
- How good is the network?
- Do common first mile problems exist?
- Does a link have problems that only manifest in
the long-haul? - Is the network delivering the performance
required by a funded project?
13Data Discovery / Interoperability
- Discovery in the Future
- Where are the measurement nodes corresponding to
a specific node? - Where are the test results for a specific partial
path?
- Interoperability in the Future
- Can I have a test within or to another
measurement framework? - Can I have a measurement result from within or to
another measurement framework?
14Overview
- E2E piPEs Overview
- What is piPEs?
- Goals
- E2E piPEs Measurement Infrastructure
- Abilene Measurement Domain
- Data Analysis Status
- Preliminary Data Discovery Approach
- AMI Web Service
15Preliminary Data Discovery Approach
- Good for first/last mile analysis only
- Does not support multi-homing
- A collection of testing servers are placed at the
networks edge - Test requests come from outside the network
- Users can test to the ingress or egress point of
the network - Testing service will support both, but would
prefer ingress point testing
16Connectivity
17Ingress Point Benefits
- Closer to client (users desktop)
- Shorter network path, fewer links to analyze
- Reduces test traffic over network core
- Better for finding configuration problems with
client host/network
18Egress Point Benefits
- Closer to destination
- Approximates the path an application will use
- Better for finding E2E performance problems
19 Traceroute Tree Map
- All servers run traceroute to all other servers
in the cloud - Routes are stored in a tree-based map
20Sample Traceroute Tree Map
21Client Test Request
- Client connects to server S1 requesting that a
test be run - Server S1 runs traceroute back to client IP
- Server S1 compares client route to core map
22Sample Map/Path Comparison
- Traceroute Map
- S1
- R1
- R4
- R5
- S6
- Traceroute to Cient
- S1
- R1
- R4
- R5
- Ra
- Rb
- Rc
- Client
23Ingress Server Selection
- Comparison showed that server S6 is the ingress
server, redirect client to S6 - Prefer configuration testing
- Allow client to automatically select egress point
server - Allow performance testing
- Allow client to manually select any server in the
cloud
24Overview
- E2E piPEs Overview
- What is piPEs?
- Goals
- E2E piPEs Measurement Infrastructure
- Abilene Measurement Domain
- Data Analysis Status
- Preliminary Data Discovery Approach
- AMI Web Service
25AMI Web Service
- AMI measurements published as a web service.
- Implementation of 2004-01-15 NMWG response schema
- Older implementation still exists in different
namespace - Only supported for Advisor and Monalisa
- Until end of March.
26Data Service Implementation
- Data served using perl SOAPLite
- Both SOAP and XMLRPC services
- Same back-end perl module
- OGSI/WSRF server under development
- Using OGSILite
- Also working on .NET/C
27Database and Clients
- Data pulled from same mySQL database as AMI
graphs and other information on web pages. - Multiple clients have been tested
- Perl, python for SOAP
- Perl, Java (Advisor, Monalisa) for XMLRPC
- Php for XMLRPC coming soon
- Others?
28Bumps on the Road
- Perl is untyped.
- SOAPLite performs autotyping
- Sometimes doesnt do what we want!
- Caused unexpected errors in java
- Can over-ride but not yet done so (other
priorities) - XML encoding
- Defaults to RPC
- Can over-ride to force Literal (again, not yet)
29Uphill Struggles
- The hardest part of the implementation was
decoding the XML. - There are some tools but mostly it was a
time-consuming manual process. - XMLParser
- Prefer old-style Profile document or even a list
of objects.
30Client Side
- New client requires characteristic to be
specified. - Partial implementation of request schema for
requesting data not just measurements - Future deployment will follow request schema to
request data and measurements - Only return what is asked for, previously
everything available was returned.
31Supported Characteristics
- Measured by owamp
- path.delay.oneWay
- path.loss.oneway
- Measured by bwctl
- path.bandwidth.achievable.TCP
- path.bandwidth.achievable.UDP
- path.jitter.oneWay
32Other Inputs
- Measurement Nodes by nickname (ATLA, CHIN, DNVR,
HSTN, IPLS, KSCY, LOSA, NYCM, SNVA, STTL, WASH). - Type is IPv4or IPv6 at all nodes. Not case
sensitive. 4 or 6 will suffice.
33Other Inputs
- startTime/endTime
- iso8601 is supported
- Dan Gunter - Timezones are a problem waiting to
happen - very true - But users are looking for trouble
- Currently no support for epochSeconds
- Too much opportunity for timezone confusion
34Example Client
my request ( networkCharacteristic gt
"path.delay.oneway", subject gt
source gt address gt name gt "ATLA", , ,
destination gt
address gt name gt "LOSA", , ,
type gt "IPv4", ,
startTime gt 2004-02-01T000000-500
", endTime gt 2004-02-01T235959
-500", ) my webService
SOAPLite -gt uri('http//abilene.internet
2.edu/PIPES') -gt proxy('http//usernamepa
ssword_at_abilene.internet2.edu/ami/services/soap_ser
ver.cgi') -gt NetworkMeasurementSet(\reque
st) -gt result
Wrap the request up in an object
Send it to the webservice
35Example Client Output
- print webService-gtversion
- 2004-01-15
- print webService-gtnetworkMeasurement-gtcharacte
ristic - path.bandwidth.achievable.TCP
36Supported Objects
- Could add Memory, disk details (both can have a
significant effect on performance). - Last updated field would be a useful sanity
check. - Some system information can be retrieved by snmp,
sysctl, currently hard coded. - Methodology has separate source and destination
objects instead of single endpoint.
37Non-Standard Objects
- NetworkMeasurementSet gt Help or
NetworkMeasurementSet gt Message - e.g. No data matching query or no response
from db - Paola suggested using SOAP Failure
- But not really a SOAP failure if there is no data
matching the query. - Same applies for other SOAP messages
38Future Work
- Deployment on CENIC, NCNI, SOX
- Interconnecting measurement domains
- Other Characteristics
- Path.delay.roundtrip - AMP data
- Continued development of Request schema, future
Response schema - Development of AAA (certificate based?)
39More Information
- piPEs/AMI Web Service home page
- http//abilene.internet2.edu/ami/webservices.html
- Monalisa
- http//vinci.cacr.caltech.edu8080
- Advisor
- http//dast.nlanr.net/Projects/Advisor
- Or send questions/comments to
- Warren.Matthews_at_oit.gatech.edu
40(No Transcript)