idnits 2.17.1 draft-ietf-bmwg-b2b-frame-00.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- -- The draft header indicates that this document updates RFC2544, but the abstract doesn't seem to directly say this. It does mention RFC2544 though, so this could be OK. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year == The document seems to lack the recommended RFC 2119 boilerplate, even if it appears to use RFC 2119 keywords -- however, there's a paragraph with a matching beginning. Boilerplate error? (The document does seem to have the reference to RFC 2119 which the ID-Checklist requires). (Using the creation date from RFC2544, updated by this document, for RFC5378 checks: 1999-03-01) -- The document seems to lack a disclaimer for pre-RFC5378 work, but may have content which was first submitted before 10 November 2008. If you have contacted all the original authors and they are all willing to grant the BCP78 rights to the IETF Trust, then this is fine, and you can ignore this comment. If not, you may need to add the pre-RFC5378 disclaimer. (See the Legal Provisions document at https://trustee.ietf.org/license-info for more information.) -- The document date (July 4, 2019) is 1750 days in the past. Is this intentional? Checking references for intended status: Informational ---------------------------------------------------------------------------- ** Obsolete normative reference: RFC 1944 (Obsoleted by RFC 2544) == Outdated reference: A later version (-03) exists of draft-vpolak-bmwg-plrsearch-01 == Outdated reference: A later version (-03) exists of draft-vpolak-mkonstan-bmwg-mlrsearch-01 Summary: 1 error (**), 0 flaws (~~), 4 warnings (==), 3 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group A. Morton 3 Internet-Draft AT&T Labs 4 Updates: 2544 (if approved) July 4, 2019 5 Intended status: Informational 6 Expires: January 5, 2020 8 Updates for the Back-to-back Frame Benchmark in RFC 2544 9 draft-ietf-bmwg-b2b-frame-00 11 Abstract 13 Fundamental Benchmarking Methodologies for Network Interconnect 14 Devices of interest to the IETF are defined in RFC 2544. This memo 15 updates the procedures of the test to measure the Back-to-back frames 16 Benchmark of RFC 2544, based on further experience. 18 This memo updates Section 26.4 of RFC 2544. 20 Requirements Language 22 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 23 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 24 "OPTIONAL" in this document are to be interpreted as described in BCP 25 14[RFC2119] [RFC8174] when, and only when, they appear in all 26 capitals, as shown here. 28 Status of This Memo 30 This Internet-Draft is submitted in full conformance with the 31 provisions of BCP 78 and BCP 79. 33 Internet-Drafts are working documents of the Internet Engineering 34 Task Force (IETF). Note that other groups may also distribute 35 working documents as Internet-Drafts. The list of current Internet- 36 Drafts is at https://datatracker.ietf.org/drafts/current/. 38 Internet-Drafts are draft documents valid for a maximum of six months 39 and may be updated, replaced, or obsoleted by other documents at any 40 time. It is inappropriate to use Internet-Drafts as reference 41 material or to cite them other than as "work in progress." 43 This Internet-Draft will expire on January 5, 2020. 45 Copyright Notice 47 Copyright (c) 2019 IETF Trust and the persons identified as the 48 document authors. All rights reserved. 50 This document is subject to BCP 78 and the IETF Trust's Legal 51 Provisions Relating to IETF Documents 52 (https://trustee.ietf.org/license-info) in effect on the date of 53 publication of this document. Please review these documents 54 carefully, as they describe your rights and restrictions with respect 55 to this document. Code Components extracted from this document must 56 include Simplified BSD License text as described in Section 4.e of 57 the Trust Legal Provisions and are provided without warranty as 58 described in the Simplified BSD License. 60 Table of Contents 62 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 63 2. Scope and Goals . . . . . . . . . . . . . . . . . . . . . . . 3 64 3. Motivation . . . . . . . . . . . . . . . . . . . . . . . . . 4 65 4. Prerequisites . . . . . . . . . . . . . . . . . . . . . . . . 5 66 5. Back-to-back Frames . . . . . . . . . . . . . . . . . . . . . 6 67 5.1. Preparing the list of Frame sizes . . . . . . . . . . . . 6 68 5.2. Test for a Single Frame Size . . . . . . . . . . . . . . 6 69 5.3. Test Repetition . . . . . . . . . . . . . . . . . . . . . 7 70 5.4. Benchmark Calculations . . . . . . . . . . . . . . . . . 7 71 6. Reporting . . . . . . . . . . . . . . . . . . . . . . . . . . 9 72 7. Security Considerations . . . . . . . . . . . . . . . . . . . 9 73 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10 74 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 10 75 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 10 76 10.1. Normative References . . . . . . . . . . . . . . . . . . 10 77 10.2. Informative References . . . . . . . . . . . . . . . . . 11 78 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 12 80 1. Introduction 82 The IETF's fundamental Benchmarking Methodologies are defined 83 in[RFC2544], supported by the terms and definitions in [RFC1242], and 84 [RFC2544] actually obsoletes an earlier specification, [RFC1944]. 85 Over time, the benchmarking community has updated [RFC2544] several 86 times, including the Device Reset Benchmark [RFC6201], and the 87 important Applicability Statement [RFC6815] concerning use outside 88 the Isolated Test Environment (ITE) required for accurate 89 benchmarking. Other specifications implicitly update [RFC2544], such 90 as the IPv6 Benchmarking Methodologies in [RFC5180]. 92 Recent testing experience with the Back-to-back Frame test and 93 Benchmark in Section 26.4 of [RFC2544] indicates that an update is 94 warranted [OPNFV-2017] [VSPERF-b2b]. In particular, analysis of the 95 results indicates that buffers size matters when compensating for 96 disruptions in the software packet processor, and this finding 97 increases the importance of the Back-to-back frame characterization 98 described here. This memo describes additional rationale and 99 provides the updated method. 101 [RFC2544] provides its own Requirements Language consistent with 102 [RFC2119], since [RFC1944] predates [RFC2119]. Thus, the 103 requirements presented in this memo are expressed in [RFC2119] terms, 104 and intended for those performing/reporting laboratory tests to 105 improve clarity and repeatability, and for those designing devices 106 that facilitate these tests. 108 2. Scope and Goals 110 The scope of this memo is to define an updated method to 111 unambiguously perform tests, measure the benchmark(s), and report the 112 results for Back-to-back Frames (presently described Section 26.4 of 113 [RFC2544]). 115 The goal is to provide more efficient test procedures where possible, 116 and to expand reporting with additional interpretation of the 117 results. The tests described in this memo address the cases where 118 the maximum frame rate of a single ingress port cannot be transferred 119 to an egress port loss-free (for some frame sizes of interest). 121 [RFC2544] Benchmarks rely on test conditions with constant frame 122 sizes, with the goal of understanding what network device capability 123 has been tested. Tests with the smallest size stress the header 124 processing capacity, and tests with the largest size stress the 125 overall bit processing capacity. Tests with sizes in-between may 126 determine the transition between these two capacities. However, 127 conditions simultaneously sending multiple frame sizes, such as those 128 described in [RFC6985], MUST NOT be used in Back-to-back Frame 129 testing. 131 Section 3 of [RFC8239] describes buffer size testing for physical 132 networking devices in a Data Center. The [RFC8239] methods measure 133 buffer latency directly with traffic on multiple ingress ports that 134 overload an egress port on the Device Under Test (DUT), and are not 135 subject to the revised calculations presented in this memo. 136 Likewise, the methods of [RFC8239] SHOULD be used for test cases 137 where the egress port buffer is the known point of overload. 139 3. Motivation 141 Section 3.1 of [RFC1242] describes the rationale for the Back-to-back 142 Frames Benchmark. To summarize, there are several reasons that 143 devices on a network produce bursts of frames at the minimum allowed 144 spacing, and it is therefore worthwhile to understand the Device 145 Under Test (DUT) limit on the length of such bursts in practice. 146 Also, [RFC1242] states: 148 "Tests of this parameter are intended to determine the extent 149 of data buffering in the device." 151 After this test was defined, there have been occasional discussions 152 of the stability and repeatability of the results, both over time and 153 across labs. Fortunately, the Open Platform for Network Function 154 Virtualization (OPNFV) VSPERF project's Continuous Integration (CI) 155 testing routinely repeats Back-to-back Frame tests to verify that 156 test functionality has been maintained through development of the 157 test control programs. These tests were used as a basis to evaluate 158 stability and repeatability, even across lab set-ups when the test 159 platform was migrated to new DUT hardware at the end of 2016. 161 When the VSPERF CI results were examined [VSPERF-b2b], several 162 aspects of the results were considered notable: 164 1. Back-to-back Frame Benchmark was very consistent for some fixed 165 frame sizes, and somewhat variable for others. 167 2. The Back-to-back Frame length reported for large frame sizes was 168 unexpectedly long, and no explanation or measurement limit 169 condition was indicated. 171 3. Calculation of the extent of buffer time in the DUT helped to 172 explain the results observed with all frame sizes (for example, 173 some frame sizes cannot exceed the frame header processing rate 174 of the DUT and therefore no buffering occurs, therefore the 175 results depended on the test equipment and not the DUT). 177 4. It was found that the actual buffer time in the DUT could be 178 estimated using results from the Throughput tests conducted 179 according to Section 26.1 of [RFC2544], because it appears that 180 the DUT's frame processing rate may tend to increase the 181 estimate. 183 Further, if the Throughput tests of Section 26.1 of [RFC2544] are 184 conducted as a prerequisite test, the number of frame sizes required 185 for Back-to-back Frame Benchmarking can be reduced to one or more of 186 the small frame sizes, or the results for large frame sizes can be 187 noted as invalid in the results if tested anyway (these are the frame 188 sizes for which the back-to-back frame rate cannot exceed the exceed 189 the frame header processing rate of the DUT and no buffering occurs). 191 [VSPERF-b2b] provides the details of the calculation to estimate the 192 actual buffer storage available in the DUT, using results from the 193 Throughput tests for each frame size, and the maximum theoretical 194 frame rate for the DUT links (which constrain the minimum frame 195 spacing). Knowledge of approximate buffer storage size (in time or 196 bytes) may be useful to estimate whether frame losses will occur if 197 DUT forwarding is temporarily suspended in a production deployment, 198 due to an unexpected interruption of frame processing (an 199 interruption of duration greater than the estimated buffer would 200 certainly cause lost frames). 202 The presentation of OPNFV VSPERF evaluation and development of 203 enhanced search alogorithms [VSPERF-BSLV] was discussed at IETF-102. 204 The enhancements are intended to compensate for transient inerrrupts 205 that may cause loss at near-Throughput levels of offered load. 206 Subsequent analysis of the results indicates that buffers within the 207 DUT can compensate for some interrupts, and this finding increases 208 the importance of the Back-to-back frame characterization described 209 here. 211 4. Prerequisites 213 The Test Setup MUST be consistent with Figure 1 of [RFC2544], or 214 Figure 2 when the tester's sender and recover are different devices. 215 Other mandatory testing aspects described in [RFC2544] MUST be 216 included, unless explicitly modified in the next section. 218 The ingress and egress link speeds and link layer protocols MUST be 219 specified and used to compute the maximum theoretical frame rate when 220 respecting the minimum inter-frame gap. 222 The test results for the Throughput Benchmark conducted according to 223 Section 26.1 of [RFC2544] for all [RFC2544]-RECOMMENDED frame sizes 224 MUST be available to reduce the tested frame size list, or to note 225 invalid results for individual frame sizes (because the burst length 226 may be essentially infinite for large frame sizes). 228 Note that: 230 o the Throughput and the Back-to-back Frame measurement 231 configuration traffic characteristics (unidirectional or bi- 232 directional) MUST match. 234 o the Throughput measurement MUST be under zero-loss conditions, 235 according to Section 26.1 of [RFC2544]. 237 The Back-to-back Benchmark described in Section 3.1 of [RFC1242] MUST 238 be measured directly by the tester, where buffer size is inferred 239 from packet loss measurements. Therefore, sources of packet loss 240 that are un-related to consistent evaluation of buffer size SHOULD be 241 identified and removed or mitigated. Example sources include: 243 o On-path active components that are external to the DUT 245 o Operating system environment interrupting DUT operation 247 o Shared resource contention between the DUT and other off-path 248 component(s), impacting DUT's behaviour, sometimes called the 249 "noisy neighbour" problem. 251 Mitigations applicable to some of the sources above are discussed in 252 Section 5.2, with the other measurement requirements described below 253 in Section 5. 255 5. Back-to-back Frames 257 Objective: To characterize the ability of a DUT to process back-to- 258 back frames as defined in [RFC1242]. 260 The Procedure follows. 262 5.1. Preparing the list of Frame sizes 264 From the list of RECOMMENDED Frame sizes (Section 9 of [RFC2544]), 265 select the subset of Frame sizes whose measured Throughput was less 266 than the maximum theoretical Frame Rate. These are the only Frame 267 sizes where it is possible to produce a burst of frames that cause 268 the DUT buffers to fill and eventually overflow, producing one or 269 more discarded frames. 271 5.2. Test for a Single Frame Size 273 Each trial in the test requires the tester to send a burst of frames 274 (after idle time) with the minimum inter-frame gap, and to count the 275 corresponding frames forwarded by the DUT. 277 The duration of the trial MUST be at least 2 seconds, to allow DUT 278 buffers to deplete. 280 If all frames have been received, the tester increases the length of 281 the burst according to the search algorithm and performs another 282 trial. 284 If the received frame count is less than the number of frames in the 285 burst, then the limit of DUT processing and buffering may have been 286 exceeded, and the burst length is determined by the search algorithm 287 for the next trial. 289 Classic search algorithms have been adapted for use in benchmarking, 290 where the search requires discovery of a pair of outcomes, one with 291 no loss and another with loss, at load conditions within the 292 acceptable tolerance. Also for conditions encountered when 293 benchmarking the Infrastructure for Network Function Virtualization 294 require algorithm enhancement. Fortunately, the adaptation of Binary 295 Search, and an enhanced Binary Search with Loss Verification have 296 been specified in [TST009]. These alogorithms (see clause 12.3) can 297 easily be used for Back-to-back Frame benchmarking by replacing the 298 Offered Load level with burst length in frames. [TST009] Annex B 299 describes the theory behind the enhanced Binary Search algorithm. 301 There is also promising work-in-progress that may prove useful in for 302 Back-to-back Frame benchmarking. 303 [I-D.vpolak-mkonstan-bmwg-mlrsearch] and [I-D.vpolak-bmwg-plrsearch] 304 are two such examples. 306 Either the [TST009] Binary Search or Binary Search with Loss 307 Verification algorithms MUST be used, and input parameters to the 308 algorithm(s) MUST be reported. 310 The Back-to-back Frame value is the longest burst of frames that the 311 DUT can successfully process and buffer without frame loss, as 312 determined from the series of trials. The tester may impose a 313 (configurable) minimum step size for burst length, and the step size 314 MUST be reported with the results (as this influences the accuracy 315 and variation of test results). 317 5.3. Test Repetition 319 The test MUST be repeated N times for each frame size in the subset 320 list, and each Back-to-back Frame value made available for further 321 processing (below). 323 5.4. Benchmark Calculations 325 For each Frame size, calculate the following summary statistics for 326 Back-to-back Frame values over the N tests: 328 o Average (Benchmark) 330 o Minimum 332 o Maximum 334 o Standard Deviation 336 Further, calculate the Implied DUT Buffer Time and the Corrected DUT 337 Buffer Time in seconds, as follows: 339 Implied DUT Buffer Time = 341 Average num of Back-to-back Frames / Max Theoretical Frame Rate 343 The formula above is simply expressing the Burst of Frames in units 344 of time. 346 The next step is to apply a correction factor that accounts for the 347 DUT's frame forwarding operation during the test (assuming a simple 348 model of the DUT composed of a buffer and a forwarding function). 350 Corrected DUT Buffer Time = 352 Measured Throughput 353 = Implied DUT Buffer Time * -------------------------- 354 Max Theoretical Frame Rate 356 where: 358 1. The "Measured Throughput" is the [RFC2544] Throughput Benchmark 359 for the frame size tested, as augmented by methods including the 360 Binary Search with Loss Verification aglorithm in [TST009] where 361 applicable, and MUST be expressed in Frames per second in this 362 equation. 364 2. The "Max Theoretical Frame Rate" is a calculated value for the 365 interface speed and link layer technology used, and MUST be 366 expressed in Frames per second in this equation. 368 The term on the far right in the formula for Corrected DUT Buffer 369 Time accounts for all the frames in the Burst that were transmitted 370 by the DUT *while the Burst of frames were sent in*. So, these frames 371 are not in the Buffer and the Buffer size is more accurately 372 estimated by excluding them. 374 6. Reporting 376 The back-to-back results SHOULD be reported in the format of a table 377 with a row for each of the tested frame sizes. There SHOULD be 378 columns for the frame size and for the resultant average frame count 379 for each type of data stream tested. 381 The number of tests Averaged for the Benchmark, N, MUST be reported. 383 The Minimum, Maximum, and Standard Deviation across all complete 384 tests SHOULD also be reported. 386 The Corrected DUT Buffer Time SHOULD also be reported. 388 If the tester operates using a maximum burst length in frames, then 389 this maximum length SHOULD be reported. 391 +--------------+----------------+----------------+------------------+ 392 | Frame Size, | Ave B2B | Min,Max,StdDev | Corrected Buff | 393 | octets | Length, frames | | Time, Sec | 394 +--------------+----------------+----------------+------------------+ 395 | 64 | 26000 | 25500,27000,20 | 0.00004 | 396 +--------------+----------------+----------------+------------------+ 398 Back-to-Back Frame Results 400 Static and configuration parameters: 402 Number of test repetitions, N 404 Minimum Step Size (during searches), in frames. 406 7. Security Considerations 408 Benchmarking activities as described in this memo are limited to 409 technology characterization using controlled stimuli in a laboratory 410 environment, with dedicated address space and the other constraints 411 of[RFC2544]. 413 The benchmarking network topology will be an independent test setup 414 and MUST NOT be connected to devices that may forward the test 415 traffic into a production network, or misroute traffic to the test 416 management network. See [RFC6815]. 418 Further, benchmarking is performed on a "black-box" basis, relying 419 solely on measurements observable external to the DUT/SUT. 421 Special capabilities SHOULD NOT exist in the DUT/SUT specifically for 422 benchmarking purposes. Any implications for network security arising 423 from the DUT/SUT SHOULD be identical in the lab and in production 424 networks. 426 8. IANA Considerations 428 This memo makes no requests of IANA. 430 9. Acknowledgements 432 Thanks to Trevor Cooper, Sridhar Rao, and Martin Klozik of the VSPERF 433 project for many contributions to the testing [VSPERF-b2b]. Yoshiaki 434 Itou has also investigated the topic, and made useful suggestions. 435 Maciek Konstantyowicz also provided many comments and suggestions 436 based on his extensive integration testing and resulting search 437 algorithm proposals - the most up-to-date feedback possible. 439 10. References 441 10.1. Normative References 443 [RFC1242] Bradner, S., "Benchmarking Terminology for Network 444 Interconnection Devices", RFC 1242, DOI 10.17487/RFC1242, 445 July 1991, . 447 [RFC1944] Bradner, S. and J. McQuaid, "Benchmarking Methodology for 448 Network Interconnect Devices", RFC 1944, 449 DOI 10.17487/RFC1944, May 1996, 450 . 452 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 453 Requirement Levels", BCP 14, RFC 2119, 454 DOI 10.17487/RFC2119, March 1997, 455 . 457 [RFC2544] Bradner, S. and J. McQuaid, "Benchmarking Methodology for 458 Network Interconnect Devices", RFC 2544, 459 DOI 10.17487/RFC2544, March 1999, 460 . 462 [RFC5180] Popoviciu, C., Hamza, A., Van de Velde, G., and D. 463 Dugatkin, "IPv6 Benchmarking Methodology for Network 464 Interconnect Devices", RFC 5180, DOI 10.17487/RFC5180, May 465 2008, . 467 [RFC6201] Asati, R., Pignataro, C., Calabria, F., and C. Olvera, 468 "Device Reset Characterization", RFC 6201, 469 DOI 10.17487/RFC6201, March 2011, 470 . 472 [RFC6815] Bradner, S., Dubray, K., McQuaid, J., and A. Morton, 473 "Applicability Statement for RFC 2544: Use on Production 474 Networks Considered Harmful", RFC 6815, 475 DOI 10.17487/RFC6815, November 2012, 476 . 478 [RFC6985] Morton, A., "IMIX Genome: Specification of Variable Packet 479 Sizes for Additional Testing", RFC 6985, 480 DOI 10.17487/RFC6985, July 2013, 481 . 483 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 484 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 485 May 2017, . 487 10.2. Informative References 489 [I-D.vpolak-bmwg-plrsearch] 490 Konstantynowicz, M. and V. Polak, "Probabilistic Loss 491 Ratio Search for Packet Throughput (PLRsearch)", draft- 492 vpolak-bmwg-plrsearch-01 (work in progress), March 2019. 494 [I-D.vpolak-mkonstan-bmwg-mlrsearch] 495 Konstantynowicz, M. and V. Polak, "Multiple Loss Ratio 496 Search for Packet Throughput (MLRsearch)", draft-vpolak- 497 mkonstan-bmwg-mlrsearch-01 (work in progress), March 2019. 499 [OPNFV-2017] 500 Cooper, T., Morton, A., and S. Rao, "Dataplane 501 Performance, Capacity, and Benchmarking in OPNFV", June 502 2017, 503 . 506 [RFC8239] Avramov, L. and J. Rapp, "Data Center Benchmarking 507 Methodology", RFC 8239, DOI 10.17487/RFC8239, August 2017, 508 . 510 [TST009] Morton, R. A., "ETSI GS NFV-TST 009 V3.2.1 (2019-06), 511 "Network Functions Virtualisation (NFV) Release 3; 512 Testing; Specification of Networking Benchmarks and 513 Measurement Methods for NFVI"", June 2019, 514 . 517 [VSPERF-b2b] 518 Morton, A., "Back2Back Testing Time Series (from CI)", 519 June 2017, . 523 [VSPERF-BSLV] 524 Morton, A. and S. Rao, "Evolution of Repeatability in 525 Benchmarking: Fraser Plugfest (Summary for IETF BMWG)", 526 July 2018, 527 . 531 Author's Address 533 Al Morton 534 AT&T Labs 535 200 Laurel Avenue South 536 Middletown,, NJ 07748 537 USA 539 Phone: +1 732 420 1571 540 Fax: +1 732 368 1192 541 Email: acmorton@att.com