Profile for Network Performance Measurements for Grids
version .0001
This document is a first attempt to define names and properties for the most important network measurements for Grid middleware.This document is far from complete.
Note that not much thought has gone into the "types" for each property, or which are "manadatory".
Terminology:
Target: Defined in GGF DAMED WG naming document.
The tables in this document use the following letters to describe the requirement level: (from CIM)
M – Mandatory
O – Optional
C – Conditional (See CIM documentation for explanation)
Types: (from CIM)
string
uint16
uint16[ ] (array of 16bit ints)
uint32
uint64float
boolean
datetime: standard timestamp
All measurement must have a IETF RFC3339 Timestamp and a value.
We are using the naming conventions defined by the GGF DAMED working group.
Classes for the following network measurement characteristics are defined in this document.
path.delay.roundTrip
path.delay.oneWay
path.delay.jitterpath.loss.oneWay
path.reordering.oneWaypath.bandwidth.achievable.TCP
path.bandwidth.achievable.TCP.multiStream
path.bandwidth.achievable.UDP
path.bandwidth.available
path.bandwidth.utilization
path.bandwidth.capacityAll of the above measurement characteristics except for bandwidth.achievable can be for hops as well as for paths. E.G.:
hop.bandwidth.capacity
hop.bandwidth.utilizedAdditional topology characteristics will be included in a future version of this document.
All measurements require the MeasurementBassClass, the TestParamBaseClass, and a specific characteristic test, all described below. An example of a complete measurement result is found here.
MeasurementBaseClass:
Property Type Requirement Level Description CIM ClassOrigin target string M Source/Destination of test toolName string M name of tool used toolVersion string O? version of tool used startTime datetime O time test was started time datetime M time test was completed timeResolution float O resolution of the timestamp (in seconds) timeAccuracy float O accuracy of the timestamp (in seconds) timeAccuracyMethod string O clock sync method: e.g.: NTP, GPS, AFS, etc. Note: might want to separate the target into targetSrc, targetDest
Delay, Loss, Jitter, capacity, and available bandwidth measurements require the following base class:
TestParamBaseClass:
Property Type Requirement Level Description CIM ClassOrigin packetSize uint16 M size of test packet numPackets uint16 M number of test packets packetSpacing boolean O Poisson or periodic packetGap float C time between test packets, in seconds (for periodic tests) packetType string M ICMP or UDP or TCP portNum uint16 O port number used for test priority uint16 O IP precedence bit set, etc. lossThreshold uint16 M the threshold used to distinguish between a large finite delay and loss For more information on the details of these properties, see the following IETF documents:
One way Delay: http://www.ietf.org/rfc/rfc2679.txt
Round Trip Delay: http://www.ietf.org/rfc/rfc2681.txt
These characteristics use the following class to describe their properties:
path.delay.roundTrip
path.delay.oneWay
Property Type Requirement Level Description CIM ClassOrigin percentile uint16 O eg: 50th percentile is the median (See RFC2679) percentileValue float C value for above percentile, in milliseconds median uint16 O median of all measurements in test
minimum uint16 O minimum of all measurements in test maximum uint16 O maximum of all measurements in test value float M result in milliseconds accuracy uint16 O estimate of % error by the tool used to obtain this value For more information on the details of these properties, see the following IETF documents:
One way Delay:http://www.ietf.org/rfc/rfc2679.txt
Round Trip Delay: http://www.ietf.org/rfc/rfc2681.txt
These characteristics use the following class to describe their properties:
path.loss.roundTrip
path.loss.oneWay
Property Type Requirement Level Description CIM ClassOrigin Loss-Distance uint16 O number of packets since the previous loss (See RFC3357) Loss-Period uint16 O number of groups of lost packets (See RFC3357)
Noticeable-Rate uint16 O percent of packets lost where if the distance between the lost packet and the previously lost packet is no greater than the "loss constraint" (See RFC3357) Period-Total uint16 O total number of loss periods (See RFC3357) Period-Lengths uint O number of packets in a burst of loss (See RFC3357) Inter-Loss-Period-Lengths uint O number of packets between bursts of loss (See RFC3357) value uint16 M average packet loss (in percent) (See RFC2680) For more information on the details of these properties, see the following IETF documents:
One-way Loss: http://www.ietf.org/rfc/rfc2680.txt
Loss Patterns: http://www.ietf.org/rfc/rfc3357.txt
This characteristic uses the following class to describe its properties:
path.delay.jitter
Note: someone who understands this better needs to flush this out
Property Type Requirement Level Description CIM ClassOrigin percentile uint O eg: 50th percentile is the median (See RFC3393) peak-to-peak-ipdv uint O (See RFC3393) value float M number of ms For more information on the details of these properties, see the following IETF documents:
Delay Variation (Jitter): http://www.ietf.org/rfc/rfc3393.txt
This characteristic uses the following class to describe its properties:
path.reordering.oneWay
Property Type Requirement Level Description CIM ClassOrigin packetSize uint16 M size of test packet numPackets uint16 M number of test packets packetType string M ICMP or UDP lateTime uint16 O (see IPPM draft) gap uint16 O number of positions out of order value uint16 M result, in percent For more information on the details of these properties, see the following IETF documents:
http://www.ietf.org/internet-drafts/draft-ietf-ippm-reordering-02.txt
path.bandwidth.available
path.bandwidth.utilization
Property Type Requirement Level Description CIM ClassOrigin measurementMethod string M eg: SNMP, packet pair, packet train, etc. ?? ?? value uint32 M result, in Mbits/sec
path.bandwidth.capacity
Property Type Requirement Level Description CIM ClassOrigin measurementMethod string M eg: SNMP, packet pair, packet train, etc. ?? ?? value uint32 M result, in Mbits/sec
These characteristics use the following class to describe their properties:
path.bandwidth.achievable.TCP
path.bandwidth.achievable.TCP.multiStream
path.bandwidth.achievable.UDP
Property Type Requirement Level Description CIM ClassOrigin numBytes uint32 O amount of test traffic duration float O how many seconds the test ran numStreams uint16 O ?? M value uint32 M result, in Mbits/sec
Achievable bandwidth is defined in the NM-WG Characteristics document.
achievable bandwidth tests should all reference end-host (both source and destination) information that includes the following class:
non-OS specific properties
(Note: all these exist in one of several CIM objects, but it's useful to collect them together for our purposed. We can use CIM "Model corespondence" to point to source of the data.)
Property Type Requirement Level Description CIM ClassOrigin OSversion string M name and version of OS used NICtype uint16 M 100BT, 1000BT, etc NICchipSet uint16 O? Intel, syskonnect, etc. MTU string M MTU size set by host (number of bytes) ?? time datetime M time last measured
OS specific properties
Linux 2.4
Property Type Requirement Level Description CIM ClassOrigin net.core.rmem_max
uint32 O net.core.wmem_max uint32 O net.core.rmem_default uint32 O net.core.wmem_default uint32 O net.ipv4.tcp_rmem uint32 O net.ipv4.tcp_wmem uint32 O net.ipv4.tcp_mem uint32 O net.core.netdev_max_backlo uint32 O txqueuelen uint32 O ?? ?? time datetime M time last measured
FreeBSD
Solaris
etc.
A measurement for delay might include all of the following (several are optional)
path.delay.roundTrip
Property Type Requirement Level Description CIM ClassOrigin target string M Source/Destination of test toolName string M name of tool used toolVersion string M version of tool used time datetime M time test was completed packetSize uint16 M size of test packet numPackets uint16 M number of test packets packetSpacing boolean O poisson or periodic packetGap float C time between test packets, in seconds(for periodic tests) packetType string M ICMP or UDP or TCP portNum uint16 O port number used for test priority uint16 O IP precedence bit set, etc. lossThreshold uint16 M the threshold used to distinguish between a large finite delay and loss percentile uint16 O eg: 50th percentile is the median (See RFC2679) percentileValue float O value for above percentile, in milliseconds median uint16 O median of all measurements in test minimum uint16 O minimum of all measurements in test maximum uint16 O maximum of all measurements in test value float M average result, in milliseconds
Sample result:
Property Value target 131.243.2.11/137.138.28.230 toolName ping toolVersion redhat 7.2 time 20030521060902.893847 packetSize 64 numPackets 25 packetSpacing periodic packetGap 1.0 packetType ICMP minimum 275.149 maximum 277.674 value 275.727