My favorites | Sign in
Project Home Downloads Wiki Issues Source
Search
for
PgmPerformance  
Math on the efficiency of the PGM protocol.
Featured, Phase-Design
Updated Oct 27, 2009 by fnjo...@gmail.com

PGM Protocol Efficiency

Excluding bit usage of SPM broadcasts, PGM efficiency is 95.0% for single packet APDUs.

  MAC Pre-amble:                         7 bytes
  Start-of-Frame-Delimiter:              1 byte
  802.3 MAC Frame:                      18 bytes
  IPv4 Header:                          20 bytes
  PGM Header:                           11 bytes
  ODATA Header:                          8 bytes
  Payload:                           1,461 bytes
  Interframe Gap:                       12 bytes
 * ----------------------------------------------* 
 * Total:                             1,538 bytes* 
  
 _ Efficiency: (1,461 ÷ 1,538 × 100%)     = 95.0%_ 
 * ----------------------------------------------* 
 

NB: 802.3 MAC frame = 6 bytes MAC destination + 6 bytes MAC source + 2 bytes ethertype + 4 bytes checksum.

For a 64KB APDU on standard Ethernet framing, no FEC, efficiency drops to 93.6%.

  Number of packets  = (64 × 1,024) ÷ 1,433 = 46
  Payload per packet = (64 × 1,024) ÷ 46 = 1,425 bytes + 14 bytes remainder.
  
  MAC Pre-amble:                         7 bytes
  Start-of-Frame-Delimiter:              1 byte
  802.3 MAC Frame:                      18 bytes
  IPv4 Header:                          20 bytes
  PGM Header:                           11 bytes
  OPT_LENGTH Header:                     4 bytes
  OPT_FRAGMENT Header:                  16 bytes
  ODATA Header:                          8 bytes
  Payload:                           1,425 bytes
  Interframe Gap:                       12 bytes
 * ----------------------------------------------* 
 * Sub-Total:                         1,522 bytes* 
 *                                     × 46 packets* 
 *                                   70,012 bytes* 
 * Subtract remainder:                  -14 bytes* 
 * Total:                            69,998 bytes* 
  
 _ Efficiency: (65,536 ÷ 69,001 × 100%)   = 93.6%_ 
 * ----------------------------------------------* 
 

NB: Maximum fragment payload is calculated as follows.

  Maximum IP payload:                1,500 bytes
  Subtract IPv4 Header:                -20 bytes
  Subtract PGM Header:                 -19 bytes
  Subtract OPT_LENGTH Header:           -4 bytes
  Subtract OPT_FRAGMENT Header:        -16 bytes
  Subtract ODATA Header:                -8 bytes
 * ----------------------------------------------* 
 * Total:                             1,433 bytes* 
 * ----------------------------------------------* 
 

For UDP encapsulation of single packet APDUs efficiency is at 94.5% for IPv4 and 93.2% for IPv6.

  MAC Pre-amble:                         7 bytes
  Start-of-Frame-Delimiter:              1 byte
  802.3 MAC Frame:                      18 bytes
  IPv4 Header:                          20 bytes
  UDP Header:                            8 bytes
  PGM Header:                           11 bytes
  ODATA Header:                          8 bytes
  Payload:                           1,453 bytes
  Interframe Gap:                       12 bytes
 * ----------------------------------------------* 
 * Total:                             1,538 bytes* 
  
 _ Efficiency: (1,453 ÷ 1,538 × 100%)     = 94.5%_ 
 * ----------------------------------------------* 
 

  MAC Pre-amble:                         7 bytes
  Start-of-Frame-Delimiter:              1 byte
  802.3 MAC Frame:                      18 bytes
  IPv6 Header:                          40 bytes
  UDP Header:                            8 bytes
  PGM Header:                           11 bytes
  ODATA Header:                          8 bytes
  Payload:                           1,433 bytes
  Interframe Gap:                       12 bytes
 * ----------------------------------------------* 
 * Total:                             1,538 bytes* 
  
 _ Efficiency: (1,433 ÷ 1,538 × 100%)     = 93.2%_ 
 * ----------------------------------------------* 
 

FEC only affects multiple packet APDUs when using variable packet length per TPDU, for a 64KB APDU as above there is no difference.

  Number of packets  = (64 × 1,024) ÷ 1,431 = 46
  Payload per packet = (64 × 1,024) ÷ 46 = 1,425 bytes + 14 bytes remainder.
  
  MAC Pre-amble:                         7 bytes
  Start-of-Frame-Delimiter:              1 byte
  802.3 MAC Frame:                      18 bytes
  IPv4 Header:                          20 bytes
  PGM Header:                           11 bytes
  OPT_LENGTH Header:                     4 bytes
  OPT_FRAGMENT Header:                  16 bytes
  ODATA Header:                          8 bytes
  Payload:                           1,425 bytes
  Interframe Gap:                       12 bytes
 * ----------------------------------------------* 
 * Sub-Total:                         1,522 bytes* 
 *                                     × 46 packets* 
 *                                   70,012 bytes* 
 * Subtract remainder:                  -14 bytes* 
 * Total:                            69,998 bytes* 
  
 _ Efficiency: (65,536 ÷ 69,998 * 100%)   = 93.6%_ 
 * ----------------------------------------------* 
 

NB: Maximum packet payload is calculated as 1,433 - 2 = 1,431 bytes.

Ethernet Line Performance

Minimum Ethernet frame is 64 bytes, therefore calculating maximum packet rate for gigabit Ethernet with an interframe gap of 96 ns.

  MAC Pre-amble:                         7 bytes
  Start-of-Frame-Delimiter:              1 byte
  802.3 MAC Frame:                      18 bytes
  Payload:                              46 bytes
  Interframe Gap:                       12 bytes
 * ----------------------------------------------* 
 * Total:                                84 bytes* 
  
 _ Maximum packets-per-second: 1,000,000,000 ÷ (84 × 8) = 1,488,100 pps_ 
 * ----------------------------------------------* 
 

At reduced IFG of 64 bit times (8 bytes) the rate increases to 1,562,500 pps.

Maximum Ethernet frame is 1,518 bytes, therefore maximum full frame rate is calculated as follows.

  MAC Pre-amble:                         7 bytes
  Start-of-Frame-Delimiter:              1 byte
  802.3 MAC Frame:                      18 bytes
  Payload:                           1,500 bytes
  Interframe Gap:                       12 bytes
 * ----------------------------------------------* 
 * Total:                             1,538 bytes* 
  
 _ Maximum packets-per-second: 1,000,000,000 ÷ (1,538 × 8) = 81,274 pps_ 
 * ----------------------------------------------* 
 

At reduced IFG of 64 bit times (8 bytes) the rate increases to 81,486 pps.

Maximum Goodput

Goodput is the application level throughput, i.e. the number of useful bits per unit of time forwarded by the network from a certain source address to a certain destination, excluding protocol overhead, and excluding retransmitted data packets.

  IP/PGM:              82,274 × 1,461 bytes = 962mbs⁻¹.
  UDP over IPv4/PGM:   82,274 × 1,453 bytes = 956mbs⁻¹.
  UDP over IPv6/PGM:   82,274 × 1,433 bytes = 943mbs⁻¹.
 


Sign in to add a comment
Powered by Google Project Hosting