| rfc9004.original | rfc9004.txt | |||
|---|---|---|---|---|
| Network Working Group A. Morton | Internet Engineering Task Force (IETF) A. Morton | |||
| Internet-Draft AT&T Labs | Request for Comments: 9004 AT&T Labs | |||
| Updates: 2544 (if approved) December 18, 2020 | Updates: 2544 May 2021 | |||
| Intended status: Informational | Category: Informational | |||
| Expires: June 21, 2021 | ISSN: 2070-1721 | |||
| Updates for the Back-to-back Frame Benchmark in RFC 2544 | Updates for the Back-to-Back Frame Benchmark in RFC 2544 | |||
| draft-ietf-bmwg-b2b-frame-04 | ||||
| Abstract | Abstract | |||
| Fundamental Benchmarking Methodologies for Network Interconnect | Fundamental benchmarking methodologies for network interconnect | |||
| Devices of interest to the IETF are defined in RFC 2544. This memo | devices of interest to the IETF are defined in RFC 2544. This memo | |||
| updates the procedures of the test to measure the Back-to-back frames | updates the procedures of the test to measure the Back-to-Back Frames | |||
| Benchmark of RFC 2544, based on further experience. | benchmark of RFC 2544, based on further experience. | |||
| This memo updates Section 26.4 of RFC 2544. | This memo updates Section 26.4 of RFC 2544. | |||
| Requirements Language | ||||
| The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | ||||
| "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | ||||
| "OPTIONAL" in this document are to be interpreted as described in BCP | ||||
| 14[RFC2119] [RFC8174] when, and only when, they appear in all | ||||
| capitals, as shown here. | ||||
| Status of This Memo | Status of This Memo | |||
| This Internet-Draft is submitted in full conformance with the | This document is not an Internet Standards Track specification; it is | |||
| provisions of BCP 78 and BCP 79. | published for informational purposes. | |||
| Internet-Drafts are working documents of the Internet Engineering | ||||
| Task Force (IETF). Note that other groups may also distribute | ||||
| working documents as Internet-Drafts. The list of current Internet- | ||||
| Drafts is at https://datatracker.ietf.org/drafts/current/. | ||||
| Internet-Drafts are draft documents valid for a maximum of six months | This document is a product of the Internet Engineering Task Force | |||
| and may be updated, replaced, or obsoleted by other documents at any | (IETF). It represents the consensus of the IETF community. It has | |||
| time. It is inappropriate to use Internet-Drafts as reference | received public review and has been approved for publication by the | |||
| material or to cite them other than as "work in progress." | Internet Engineering Steering Group (IESG). Not all documents | |||
| approved by the IESG are candidates for any level of Internet | ||||
| Standard; see Section 2 of RFC 7841. | ||||
| This Internet-Draft will expire on June 21, 2021. | Information about the current status of this document, any errata, | |||
| and how to provide feedback on it may be obtained at | ||||
| https://www.rfc-editor.org/info/rfc9004. | ||||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2020 IETF Trust and the persons identified as the | Copyright (c) 2021 IETF Trust and the persons identified as the | |||
| document authors. All rights reserved. | document authors. All rights reserved. | |||
| This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
| Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
| (https://trustee.ietf.org/license-info) in effect on the date of | (https://trustee.ietf.org/license-info) in effect on the date of | |||
| publication of this document. Please review these documents | publication of this document. Please review these documents | |||
| carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
| to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
| include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
| the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
| described in the Simplified BSD License. | described in the Simplified BSD License. | |||
| Table of Contents | Table of Contents | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction | |||
| 2. Scope and Goals . . . . . . . . . . . . . . . . . . . . . . . 3 | 2. Requirements Language | |||
| 3. Motivation . . . . . . . . . . . . . . . . . . . . . . . . . 4 | 3. Scope and Goals | |||
| 4. Prerequisites . . . . . . . . . . . . . . . . . . . . . . . . 6 | 4. Motivation | |||
| 5. Back-to-back Frames . . . . . . . . . . . . . . . . . . . . . 7 | 5. Prerequisites | |||
| 5.1. Preparing the list of Frame sizes . . . . . . . . . . . . 7 | 6. Back-to-Back Frames | |||
| 5.2. Test for a Single Frame Size . . . . . . . . . . . . . . 8 | 6.1. Preparing the List of Frame Sizes | |||
| 5.3. Test Repetition and Benchmark . . . . . . . . . . . . . . 9 | 6.2. Test for a Single Frame Size | |||
| 5.4. Benchmark Calculations . . . . . . . . . . . . . . . . . 9 | 6.3. Test Repetition and Benchmark | |||
| 6. Reporting . . . . . . . . . . . . . . . . . . . . . . . . . . 11 | 6.4. Benchmark Calculations | |||
| 7. Security Considerations . . . . . . . . . . . . . . . . . . . 12 | 7. Reporting | |||
| 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12 | 8. Security Considerations | |||
| 9. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . 12 | 9. IANA Considerations | |||
| 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 13 | 10. References | |||
| 10.1. Normative References . . . . . . . . . . . . . . . . . . 13 | 10.1. Normative References | |||
| 10.2. Informative References . . . . . . . . . . . . . . . . . 13 | 10.2. Informative References | |||
| Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 15 | Acknowledgments | |||
| Author's Address | ||||
| 1. Introduction | 1. Introduction | |||
| The IETF's fundamental Benchmarking Methodologies are defined in | The IETF's fundamental benchmarking methodologies are defined in | |||
| [RFC2544], supported by the terms and definitions in [RFC1242], and | [RFC2544], supported by the terms and definitions in [RFC1242]. | |||
| [RFC2544] actually obsoletes an earlier specification, [RFC1944]. | [RFC2544] actually obsoletes an earlier specification, [RFC1944]. | |||
| Over time, the benchmarking community has updated [RFC2544] several | Over time, the benchmarking community has updated [RFC2544] several | |||
| times, including the Device Reset Benchmark [RFC6201], and the | times, including the Device Reset benchmark [RFC6201] and the | |||
| important Applicability Statement [RFC6815] concerning use outside | important Applicability Statement [RFC6815] concerning use outside | |||
| the Isolated Test Environment (ITE) required for accurate | the Isolated Test Environment (ITE) required for accurate | |||
| benchmarking. Other specifications implicitly update [RFC2544], such | benchmarking. Other specifications implicitly update [RFC2544], such | |||
| as the IPv6 Benchmarking Methodologies in [RFC5180]. | as the IPv6 benchmarking methodologies in [RFC5180]. | |||
| Recent testing experience with the Back-to-back Frame test and | Recent testing experience with the Back-to-Back Frame test and | |||
| Benchmark in Section 26.4 of [RFC2544] indicates that an update is | benchmark in Section 26.4 of [RFC2544] indicates that an update is | |||
| warranted [OPNFV-2017] [VSPERF-b2b]. In particular, analysis of the | warranted [OPNFV-2017] [VSPERF-b2b]. In particular, analysis of the | |||
| results indicates that buffer size matters when compensating for | results indicates that buffer size matters when compensating for | |||
| interruptions of software packet processing, and this finding | interruptions of software-packet processing, and this finding | |||
| increases the importance of the Back-to-back frame characterization | increases the importance of the Back-to-Back Frame characterization | |||
| described here. This memo describes additional rationale and | described here. This memo provides additional rationale and the | |||
| provides the updated method. | updated method. | |||
| [RFC2544] (which obsoletes [RFC1944]) provides its own Requirements | [RFC2544] provides its own requirements language consistent with | |||
| Language consistent with [RFC2119], since [RFC1944] pre-dates | [RFC2119], since [RFC1944] (which it obsoletes) predates [RFC2119]. | |||
| [RFC2119] and all three memos share common authorship. | All three memos share common authorship. Today, [RFC8174] clarifies | |||
| Today,[RFC8174] clarifies the usage of Requirements Language, so the | the usage of requirements language, so the requirements language | |||
| requirements presented in this memo are expressed in [RFC8174] terms, | presented in this memo are expressed in accordance with [RFC8174]. | |||
| and intended for those performing/reporting laboratory tests to | They are intended for those performing/reporting laboratory tests to | |||
| improve clarity and repeatability, and for those designing devices | improve clarity and repeatability, and for those designing devices | |||
| that facilitate these tests. | that facilitate these tests. | |||
| 2. Scope and Goals | 2. Requirements Language | |||
| The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | ||||
| "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | ||||
| "OPTIONAL" in this document are to be interpreted as described in | ||||
| BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all | ||||
| capitals, as shown here. | ||||
| 3. Scope and Goals | ||||
| The scope of this memo is to define an updated method to | The scope of this memo is to define an updated method to | |||
| unambiguously perform tests, measure the benchmark(s), and report the | unambiguously perform tests, measure the benchmark(s), and report the | |||
| results for Back-to-back Frames (presently described in Section 26.4 | results for Back-to-Back Frames (as described in Section 26.4 of | |||
| of [RFC2544]). | [RFC2544]). | |||
| The goal is to provide more efficient test procedures where possible, | The goal is to provide more efficient test procedures where possible | |||
| and to expand reporting with additional interpretation of the | and expand reporting with additional interpretation of the results. | |||
| results. The tests described in this memo address the cases in which | The tests described in this memo address the cases in which the | |||
| the maximum frame rate of a single ingress port cannot be transferred | maximum frame rate of a single ingress port cannot be transferred to | |||
| loss-free to an egress port (for some frame sizes of interest). | an egress port without loss (for some frame sizes of interest). | |||
| [RFC2544] Benchmarks rely on test conditions with constant frame | Benchmarks as described in [RFC2544] rely on test conditions with | |||
| sizes, with the goal of understanding what network device capability | constant frame sizes, with the goal of understanding what network- | |||
| has been tested. Tests with the smallest size stress the header | device capability has been tested. Tests with the smallest size | |||
| processing capacity, and tests with the largest size stress the | stress the header-processing capacity, and tests with the largest | |||
| overall bit processing capacity. Tests with sizes in-between may | size stress the overall bit-processing capacity. Tests with sizes in | |||
| determine the transition between these two capacities. However, | between may determine the transition between these two capacities. | |||
| conditions simultaneously sending a mixture of Internet frame sizes | However, conditions simultaneously sending a mixture of Internet | |||
| (IMIX), such as those described in [RFC6985], MUST NOT be used in | (IMIX) frame sizes, such as those described in [RFC6985], MUST NOT be | |||
| Back-to-back Frame testing. | used in Back-to-Back Frame testing. | |||
| Section 3 of [RFC8239] describes buffer size testing for physical | Section 3 of [RFC8239] describes buffer-size testing for physical | |||
| networking devices in a data center. The [RFC8239] methods measure | networking devices in a data center. Those methods measure buffer | |||
| buffer latency directly with traffic on multiple ingress ports that | latency directly with traffic on multiple ingress ports that overload | |||
| overload an egress port on the Device Under Test (DUT) and are not | an egress port on the Device Under Test (DUT) and are not subject to | |||
| subject to the revised calculations presented in this memo. | the revised calculations presented in this memo. Likewise, the | |||
| Likewise, the methods of [RFC8239] SHOULD be used for test cases | methods of [RFC8239] SHOULD be used for test cases where the egress- | |||
| where the egress port buffer is the known point of overload. | port buffer is the known point of overload. | |||
| 3. Motivation | 4. Motivation | |||
| Section 3.1 of [RFC1242] describes the rationale for the Back-to-back | Section 3.1 of [RFC1242] describes the rationale for the Back-to-Back | |||
| Frames Benchmark. To summarize, there are several reasons that | Frames benchmark. To summarize, there are several reasons that | |||
| devices on a network produce bursts of frames at the minimum allowed | devices on a network produce bursts of frames at the minimum allowed | |||
| spacing; and it is, therefore, worthwhile to understand the Device | spacing; and it is, therefore, worthwhile to understand the DUT limit | |||
| Under Test (DUT) limit on the length of such bursts in practice. | on the length of such bursts in practice. The same document also | |||
| Also, [RFC1242] states: | states: | |||
| "Tests of this parameter are intended to determine the extent | | Tests of this parameter are intended to determine the extent of | |||
| of data buffering in the device." | | data buffering in the device. | |||
| After this test was defined, there have been occasional discussions | Since this test was defined, there have been occasional discussions | |||
| of the stability and repeatability of the results, both over time and | of the stability and repeatability of the results, both over time and | |||
| across labs. Fortunately, the Open Platform for Network Function | across labs. Fortunately, the Open Platform for Network Function | |||
| Virtualization (OPNFV) VSPERF project's Continuous Integration (CI) | Virtualization (OPNFV) project on Virtual Switch Performance (VSPERF) | |||
| [VSPERF-CI] testing routinely repeats Back-to-back Frame tests to | Continuous Integration (CI) [VSPERF-CI] testing routinely repeats | |||
| verify that test functionality has been maintained through | Back-to-Back Frame tests to verify that test functionality has been | |||
| development of the test control programs. These tests were used as a | maintained through development of the test-control programs. These | |||
| basis to evaluate stability and repeatability, even across lab set- | tests were used as a basis to evaluate stability and repeatability, | |||
| ups when the test platform was migrated to new DUT hardware at the | even across lab setups when the test platform was migrated to new DUT | |||
| end of 2016. | hardware at the end of 2016. | |||
| When the VSPERF CI results were examined [VSPERF-b2b], several | When the VSPERF CI results were examined [VSPERF-b2b], several | |||
| aspects of the results were considered notable: | aspects of the results were considered notable: | |||
| 1. Back-to-back Frame Benchmark was very consistent for some fixed | 1. Back-to-Back Frame benchmark was very consistent for some fixed | |||
| frame sizes, and somewhat variable for other frame sizes. | frame sizes, and somewhat variable for other frame sizes. | |||
| 2. The number of Back-to-back Frames with zero loss reported for | 2. The number of Back-to-Back Frames with zero loss reported for | |||
| large frame sizes was unexpectedly long (translating to 30 | large frame sizes was unexpectedly long (translating to 30 | |||
| seconds of buffer time), and no explanation or measurement limit | seconds of buffer time), and no explanation or measurement limit | |||
| condition was indicated. It was important that the buffering | condition was indicated. It was important that the buffering | |||
| time calculations were part of the referenced testing and | time calculations were part of the referenced testing and | |||
| analysis[VSPERF-b2b], because the calculated buffer times of 30 | analysis [VSPERF-b2b], because the calculated buffer time of 30 | |||
| seconds for some frame sizes were clearly wrong or highly | seconds for some frame sizes was clearly wrong or highly suspect. | |||
| suspect. On the other hand, a result expressed only as a large | On the other hand, a result expressed only as a large number of | |||
| number of Back-to-back Frames does not permit such an easy | Back-to-Back Frames does not permit such an easy comparison with | |||
| comparison with reality. | reality. | |||
| 3. Calculation of the extent of buffer time in the DUT helped to | 3. Calculation of the extent of buffer time in the DUT helped to | |||
| explain the results observed with all frame sizes (for example, | explain the results observed with all frame sizes. For example, | |||
| tests with some frame sizes cannot exceed the frame header | tests with some frame sizes cannot exceed the frame-header- | |||
| processing rate of the DUT and thus no buffering occurs; | processing rate of the DUT, thus, no buffering occurs. | |||
| therefore, the results depended on the test equipment and not the | Therefore, the results depended on the test equipment and not the | |||
| DUT). | DUT. | |||
| 4. It was found that a better estimate of the DUT buffer time could | 4. It was found that a better estimate of the DUT buffer time could | |||
| be calculated using measurements of both the longest burst in | be calculated using measurements of both the longest burst in | |||
| frames without loss and results from the Throughput tests | frames without loss and results from the Throughput tests | |||
| conducted according to Section 26.1 of [RFC2544]. It is apparent | conducted according to Section 26.1 of [RFC2544]. It is apparent | |||
| that the DUT's frame processing rate empties the buffer during a | that the DUT's frame-processing rate empties the buffer during a | |||
| trial and tends to increase the "implied" buffer size estimate | trial and tends to increase the "implied" buffer-size estimate | |||
| (measured according to Section 26.4 of [RFC2544] because many | (measured according to Section 26.4 of [RFC2544] because many | |||
| frames have departed the buffer when the burst of frames ends). | frames have departed the buffer when the burst of frames ends). | |||
| A calculation using the Throughput measurement can reveal a | A calculation using the Throughput measurement can reveal a | |||
| "corrected" buffer size estimate. | "corrected" buffer-size estimate. | |||
| Further, if the Throughput tests of Section 26.1 of [RFC2544] are | Further, if the Throughput tests of Section 26.1 of [RFC2544] are | |||
| conducted as a prerequisite test, the number of frame sizes required | conducted as a prerequisite, the number of frame sizes required for | |||
| for Back-to-back Frame Benchmarking can be reduced to one or more of | Back-to-Back Frame benchmarking can be reduced to one or more of the | |||
| the small frame sizes, or the results for large frame sizes can be | small frame sizes, or the results for large frame sizes can be noted | |||
| noted as invalid in the results if tested anyway (these are the | as invalid in the results if tested anyway. These are the larger | |||
| larger frame sizes for which the back-to-back frame rate cannot | frame sizes for which the Back-to-Back Frame rate cannot exceed the | |||
| exceed the frame header processing rate of the DUT and little or no | frame-header-processing rate of the DUT and little or no buffering | |||
| buffering occurs). | occurs. | |||
| The material below provides the details of the calculation to | The material below provides the details of the calculation to | |||
| estimate the actual buffer storage available in the DUT, using | estimate the actual buffer storage available in the DUT, using | |||
| results from the Throughput tests for each frame size, and the | results from the Throughput tests for each frame size and the Max | |||
| maximum theoretical frame rate for the DUT links (which constrain the | Theoretical Frame Rate for the DUT links (which constrain the minimum | |||
| minimum frame spacing). | frame spacing). | |||
| In reality, there are many buffers and packet header processing steps | In reality, there are many buffers and packet-header-processing steps | |||
| in a typical DUT. The simplified model used in these calculations | in a typical DUT. The simplified model used in these calculations | |||
| for the DUT includes a packet header processing function with limited | for the DUT includes a packet-header-processing function with limited | |||
| rate of operation, as shown below: | rate of operation, as shown in Figure 1. | |||
| |------------ DUT --------| | |------------ DUT --------| | |||
| Generator -> Ingress -> Buffer -> HeaderProc -> Egress -> Receiver | Generator -> Ingress -> Buffer -> HeaderProc -> Egress -> Receiver | |||
| So, in the Back-to-back Frame testing: | Figure 1: Simplified Model for DUT Testing | |||
| So, in the Back-to-Back Frame testing: | ||||
| 1. The ingress burst arrives at Max Theoretical Frame Rate, and | 1. The ingress burst arrives at Max Theoretical Frame Rate, and | |||
| initially the frames are buffered. | initially the frames are buffered. | |||
| 2. The packet header processing function (HeaderProc) operates at | 2. The packet-header-processing function (HeaderProc) operates at | |||
| the "Measured Throughput" (Section 26.1 of [RFC2544]), removing | the "Measured Throughput" (Section 26.1 of [RFC2544]), removing | |||
| frames from the buffer (this is the best approximation we have). | frames from the buffer (this is the best approximation we have, | |||
| another acceptable approximation is the received frame rate | ||||
| during Back-to-back Frame testing, if Measured Throughput is not | ||||
| available). | ||||
| 3. Frames that have been processed are clearly not in the buffer, so | 3. Frames that have been processed are clearly not in the buffer, so | |||
| the Corrected DUT buffer time equation (Section 5.4) estimates | the Corrected DUT Buffer Time equation (Section 6.4) estimates | |||
| and removes the frames that the DUT forwarded on egress during | and removes the frames that the DUT forwarded on egress during | |||
| the burst. We define buffer time as the number of frames | the burst. We define buffer time as the number of frames | |||
| occupying the buffer divided by the Maximum Theoretical Frame | occupying the buffer divided by the Max Theoretical Frame Rate | |||
| Rate (on ingress) for the frame size under test. | (on ingress) for the frame size under test. | |||
| 4. A helpful concept is the buffer filling rate, which is the | 4. A helpful concept is the buffer-filling rate, which is the | |||
| difference between the Max Theoretical Frame Rate (ingress) and | difference between the Max Theoretical Frame Rate (ingress) and | |||
| the Measured Throughput (HeaderProc on egress). If the actual | the Measured Throughput (HeaderProc on egress). If the actual | |||
| buffer size in frames was known, the time to fill the buffer | buffer size in frames is known, the time to fill the buffer | |||
| during a measurement can be calculated using the filling rate as | during a measurement can be calculated using the filling rate, as | |||
| a check on measurements. However, the buffer in the model | a check on measurements. However, the buffer in the model | |||
| represents many buffers of different sizes in the DUT data path. | represents many buffers of different sizes in the DUT data path. | |||
| Knowledge of approximate buffer storage size (in time or bytes) may | Knowledge of approximate buffer storage size (in time or bytes) may | |||
| be useful to estimate whether frame losses will occur if DUT | be useful in estimating whether frame losses will occur if DUT | |||
| forwarding is temporarily suspended in a production deployment, due | forwarding is temporarily suspended in a production deployment due to | |||
| to an unexpected interruption of frame processing (an interruption of | an unexpected interruption of frame processing (an interruption of | |||
| duration greater than the estimated buffer would certainly cause lost | duration greater than the estimated buffer would certainly cause lost | |||
| frames). In Section 5, the calculations for the correct buffer time | frames). In Section 6, the calculations for the correct buffer time | |||
| use the combination of offered load at Max Theoretical Frame Rate and | use the combination of offered load at Max Theoretical Frame Rate and | |||
| header processing speed at 100% of Measured Throughput. Other | header-processing speed at 100% of Measured Throughput. Other | |||
| combinations are possible, such as changing the percent of measured | combinations are possible, such as changing the percent of Measured | |||
| Throughput to account for other processes reducing the header | Throughput to account for other processes reducing the header | |||
| processing rate. | processing rate. | |||
| The presentation of OPNFV VSPERF evaluation and development of | The presentation of OPNFV VSPERF evaluation and development of | |||
| enhanced search algorithms [VSPERF-BSLV] was discussed at IETF-102. | enhanced search algorithms [VSPERF-BSLV] was given and discussed at | |||
| The enhancements are intended to compensate for transient interrupts | IETF 102. The enhancements are intended to compensate for transient | |||
| that may cause loss at near-Throughput levels of offered load. | processor interrupts that may cause loss at near-Throughput levels of | |||
| Subsequent analysis of the results indicates that buffers within the | offered load. Subsequent analysis of the results indicates that | |||
| DUT can compensate for some interrupts, and this finding increases | buffers within the DUT can compensate for some interrupts, and this | |||
| the importance of the Back-to-back frame characterization described | finding increases the importance of the Back-to-Back Frame | |||
| here. | characterization described here. | |||
| 4. Prerequisites | 5. Prerequisites | |||
| The Test Setup MUST be consistent with Figure 1 of [RFC2544], or | The test setup MUST be consistent with Figure 1 of [RFC2544], or | |||
| Figure 2 when the tester's sender and receiver are different devices. | Figure 2 of that document when the tester's sender and receiver are | |||
| Other mandatory testing aspects described in [RFC2544] MUST be | different devices. Other mandatory testing aspects described in | |||
| included, unless explicitly modified in the next section. | [RFC2544] MUST be included, unless explicitly modified in the next | |||
| section. | ||||
| The ingress and egress link speeds and link layer protocols MUST be | The ingress and egress link speeds and link-layer protocols MUST be | |||
| specified and used to compute the maximum theoretical frame rate when | specified and used to compute the Max Theoretical Frame Rate when | |||
| respecting the minimum inter-frame gap. | respecting the minimum interframe gap. | |||
| The test results for the Throughput Benchmark conducted according to | The test results for the Throughput benchmark conducted according to | |||
| Section 26.1 of [RFC2544] for all [RFC2544]-RECOMMENDED frame sizes | Section 26.1 of [RFC2544] for all frame sizes RECOMMENDED by | |||
| MUST be available to reduce the tested frame size list, or to note | [RFC2544] MUST be available to reduce the tested-frame-size list or | |||
| invalid results for individual frame sizes (because the burst length | to note invalid results for individual frame sizes (because the burst | |||
| may be essentially infinite for large frame sizes). | length may be essentially infinite for large frame sizes). | |||
| Note that: | Note that: | |||
| o the Throughput and the Back-to-back Frame measurement | * the Throughput and the Back-to-Back Frame measurement- | |||
| configuration traffic characteristics (unidirectional or bi- | configuration traffic characteristics (unidirectional or | |||
| directional, and number of flows generated) MUST match. | bidirectional, and number of flows generated) MUST match. | |||
| o the Throughput measurement MUST be under zero-loss conditions, | * the Throughput measurement MUST be taken under zero-loss | |||
| according to Section 26.1 of [RFC2544]. | conditions, according to Section 26.1 of [RFC2544]. | |||
| The Back-to-back Benchmark described in Section 3.1 of [RFC1242] MUST | The Back-to-Back Benchmark described in Section 3.1 of [RFC1242] MUST | |||
| be measured directly by the tester, where buffer size is inferred | be measured directly by the tester, where buffer size is inferred | |||
| from Back-to-back Frame bursts and associated packet loss | from Back-to-Back Frame bursts and associated packet-loss | |||
| measurements. Therefore, sources of packet loss that are unrelated | measurements. Therefore, sources of frame loss that are unrelated to | |||
| to consistent evaluation of buffer size SHOULD be identified and | consistent evaluation of buffer size SHOULD be identified and removed | |||
| removed or mitigated. Example sources include: | or mitigated. Example sources include: | |||
| o On-path active components that are external to the DUT | * On-path active components that are external to the DUT | |||
| o Operating system environment interrupting DUT operation | * Operating-system environment interrupting DUT operation | |||
| o Shared resource contention between the DUT and other off-path | * Shared-resource contention between the DUT and other off-path | |||
| component(s) impacting DUT's behaviour, sometimes called the | component(s) impacting DUT's behavior, sometimes called the "noisy | |||
| "noisy neighbour" problem with virtualized network functions. | neighbor" problem with virtualized network functions. | |||
| Mitigations applicable to some of the sources above are discussed in | Mitigations applicable to some of the sources above are discussed in | |||
| Section 5.2, with the other measurement requirements described below | Section 6.2, with the other measurement requirements described below | |||
| in Section 5. | in Section 6. | |||
| 5. Back-to-back Frames | 6. Back-to-Back Frames | |||
| Objective: To characterize the ability of a DUT to process back-to- | Objective: To characterize the ability of a DUT to process Back-to- | |||
| back frames as defined in [RFC1242]. | Back Frames as defined in [RFC1242]. | |||
| The Procedure follows. | The procedure follows. | |||
| 5.1. Preparing the list of Frame sizes | 6.1. Preparing the List of Frame Sizes | |||
| From the list of RECOMMENDED frame sizes (Section 9 of [RFC2544]), | From the list of RECOMMENDED frame sizes (Section 9 of [RFC2544]), | |||
| select the subset of frame sizes whose measured Throughput (during | select the subset of frame sizes whose Measured Throughput (during | |||
| prerequisite testing) was less than the Maximum Theoretical Frame | prerequisite testing) was less than the Max Theoretical Frame Rate of | |||
| Rate of the DUT/test-set-up. These are the only frame sizes where it | the DUT/test setup. These are the only frame sizes where it is | |||
| is possible to produce a burst of frames that cause the DUT buffers | possible to produce a burst of frames that cause the DUT buffers to | |||
| to fill and eventually overflow, producing one or more discarded | fill and eventually overflow, producing one or more discarded frames. | |||
| frames. | ||||
| 5.2. Test for a Single Frame Size | 6.2. Test for a Single Frame Size | |||
| Each trial in the test requires the tester to send a burst of frames | Each trial in the test requires the tester to send a burst of frames | |||
| (after idle time) with the minimum inter-frame gap, and to count the | (after idle time) with the minimum interframe gap and to count the | |||
| corresponding frames forwarded by the DUT. | corresponding frames forwarded by the DUT. | |||
| The duration of the trial includes three REQUIRED components: | The duration of the trial includes three REQUIRED components: | |||
| 1. The time to send the burst of frames (at the back-to-back rate), | 1. The time to send the burst of frames (at the back-to-back rate), | |||
| determined by the search algorithm. | determined by the search algorithm. | |||
| 2. The time to receive the transferred burst of frames (at the | 2. The time to receive the transferred burst of frames (at the | |||
| [RFC2544] Throughput rate), possibly truncated by buffer | [RFC2544] Throughput rate), possibly truncated by buffer | |||
| overflow, and certainly including the latency of the DUT. | overflow, and certainly including the latency of the DUT. | |||
| 3. At least 2 seconds not overlapping the time to receive the burst | 3. At least 2 seconds not overlapping the time to receive the burst | |||
| (2.), to ensure that DUT buffers have depleted. Longer times | (Component 2, above), to ensure that DUT buffers have depleted. | |||
| MUST be used when conditions warrant, such as when buffer times | Longer times MUST be used when conditions warrant, such as when | |||
| >2 seconds are measured or when burst sending times are >2 | buffer times >2 seconds are measured or when burst sending times | |||
| seconds, but care is needed since this time component directly | are >2 seconds, but care is needed, since this time component | |||
| increases trial duration and many trials and tests comprise a | directly increases trial duration, and many trials and tests | |||
| complete benchmarking study. | comprise a complete benchmarking study. | |||
| The upper search limit for the time to send each burst MUST be | The upper search limit for the time to send each burst MUST be | |||
| configurable, to values as high as 30 seconds (buffer time results | configurable to values as high as 30 seconds (buffer time results | |||
| reported at or near the configured upper limit are likely invalid, | reported at or near the configured upper limit are likely invalid, | |||
| and the test MUST be repeated with a higher search limit). | and the test MUST be repeated with a higher search limit). | |||
| If all frames have been received, the tester increases the length of | If all frames have been received, the tester increases the length of | |||
| the burst according to the search algorithm and performs another | the burst according to the search algorithm and performs another | |||
| trial. | trial. | |||
| If the received frame count is less than the number of frames in the | If the received frame count is less than the number of frames in the | |||
| burst, then the limit of DUT processing and buffering may have been | burst, then the limit of DUT processing and buffering may have been | |||
| exceeded, and the burst length is determined by the search algorithm | exceeded, and the burst length for the next trial is determined by | |||
| for the next trial (the burst length is typically reduced, but see | the search algorithm (the burst length is typically reduced, but see | |||
| below). | below). | |||
| Classic search algorithms have been adapted for use in benchmarking, | Classic search algorithms have been adapted for use in benchmarking, | |||
| where the search requires discovery of a pair of outcomes, one with | where the search requires discovery of a pair of outcomes, one with | |||
| no loss and another with loss, at load conditions within the | no loss and another with loss, at load conditions within the | |||
| acceptable tolerance or accuracy. Conditions encountered when | acceptable tolerance or accuracy. Conditions encountered when | |||
| benchmarking the Infrastructure for Network Function Virtualization | benchmarking the infrastructure for network function virtualization | |||
| require algorithm enhancement. Fortunately, the adaptation of Binary | require algorithm enhancement. Fortunately, the adaptation of Binary | |||
| Search, and an enhanced Binary Search with Loss Verification have | Search, and an enhanced Binary Search with Loss Verification, have | |||
| been specified in clause 12.3 of [TST009]. These algorithms can | been specified in Clause 12.3 of [TST009]. These algorithms can | |||
| easily be used for Back-to-back Frame benchmarking by replacing the | easily be used for Back-to-Back Frame benchmarking by replacing the | |||
| Offered Load level with burst length in frames. [TST009] Annex B | offered load level with burst length in frames. [TST009], Annex B | |||
| describes the theory behind the enhanced Binary Search with Loss | describes the theory behind the enhanced Binary Search with Loss | |||
| Verification algorithm. | Verification algorithm. | |||
| There is also promising work-in-progress that may prove useful in | There are also promising works in progress that may prove useful in | |||
| Back-to-back Frame benchmarking. | Back-to-Back Frame benchmarking. [BMWG-MLRSEARCH] and | |||
| [I-D.vpolak-mkonstan-bmwg-mlrsearch] and [I-D.vpolak-bmwg-plrsearch] | [BMWG-PLRSEARCH] are two such examples. | |||
| are two such examples. | ||||
| Either the [TST009] Binary Search or Binary Search with Loss | Either the [TST009] Binary Search or Binary Search with Loss | |||
| Verification algorithms MUST be used, and input parameters to the | Verification algorithms MUST be used, and input parameters to the | |||
| algorithm(s) MUST be reported. | algorithm(s) MUST be reported. | |||
| The tester usually imposes a (configurable) minimum step size for | The tester usually imposes a (configurable) minimum step size for | |||
| burst length, and the step size MUST be reported with the results (as | burst length, and the step size MUST be reported with the results (as | |||
| this influences the accuracy and variation of test results). | this influences the accuracy and variation of test results). | |||
| The original Section 26.4 of [RFC2544] definition is stated below: | The original Section 26.4 of [RFC2544] definition is stated below: | |||
| The Back-to-back Frame value is the longest burst of frames that | | The back-to-back value is the number of frames in the longest | |||
| the DUT can successfully process and buffer without frame loss, as | | burst that the DUT will handle without the loss of any frames. | |||
| determined from the series of trials. | ||||
| 5.3. Test Repetition and Benchmark | 6.3. Test Repetition and Benchmark | |||
| On this topic, Section 26.4 of [RFC2544] requires: | On this topic, Section 26.4 of [RFC2544] requires: | |||
| The trial length MUST be at least 2 seconds and SHOULD be repeated | | The trial length MUST be at least 2 seconds and SHOULD be repeated | |||
| at least 50 times with the average of the recorded values being | | at least 50 times with the average of the recorded values being | |||
| reported. | | reported. | |||
| Therefore, the Back-to-back Frame Benchmark is the average of burst | Therefore, the Back-to-Back Frame benchmark is the average of burst- | |||
| length values over repeated tests to determine the longest burst of | length values over repeated tests to determine the longest burst of | |||
| frames that the DUT can successfully process and buffer without frame | frames that the DUT can successfully process and buffer without frame | |||
| loss. Each of the repeated tests completes an independent search | loss. Each of the repeated tests completes an independent search | |||
| process. | process. | |||
| In this update, the test MUST be repeated N times (the number of | In this update, the test MUST be repeated N times (the number of | |||
| repetitions is now a variable that must be reported),for each frame | repetitions is now a variable that must be reported) for each frame | |||
| size in the subset list, and each Back-to-back Frame value made | size in the subset list, and each Back-to-Back Frame value MUST be | |||
| available for further processing (below). | made available for further processing (below). | |||
| 5.4. Benchmark Calculations | 6.4. Benchmark Calculations | |||
| For each frame size, calculate the following summary statistics for | For each frame size, calculate the following summary statistics for | |||
| longest Back-to-back Frame values over the N tests: | longest Back-to-Back Frame values over the N tests: | |||
| o Average (Benchmark) | * Average (Benchmark) | |||
| o Minimum | ||||
| o Maximum | * Minimum | |||
| o Standard Deviation | * Maximum | |||
| * Standard Deviation | ||||
| Further, calculate the Implied DUT Buffer Time and the Corrected DUT | Further, calculate the Implied DUT Buffer Time and the Corrected DUT | |||
| Buffer Time in seconds, as follows: | Buffer Time in seconds, as follows: | |||
| Implied DUT Buffer Time = | Implied DUT buffer time = | |||
| Average num of Back-to-back Frames / Max Theoretical Frame Rate | Average num of Back-to-back Frames / Max Theoretical Frame Rate | |||
| The formula above is simply expressing the burst of frames in units | The formula above is simply expressing the burst of frames in units | |||
| of time. | of time. | |||
| The next step is to apply a correction factor that accounts for the | The next step is to apply a correction factor that accounts for the | |||
| DUT's frame forwarding operation during the test (assuming the simple | DUT's frame forwarding operation during the test (assuming the simple | |||
| model of the DUT composed of a buffer and a forwarding function, | model of the DUT composed of a buffer and a forwarding function, | |||
| described in Section 3). | described in Section 4). | |||
| Corrected DUT Buffer Time = | Corrected DUT Buffer Time = | |||
| / \ | / \ | |||
| Implied DUT |Implied DUT Measured Throughput | | Implied DUT |Implied DUT Measured Throughput | | |||
| = Buffer Time - |Buffer Time * -------------------------- | | = Buffer Time - |Buffer Time * -------------------------- | | |||
| | Max Theoretical Frame Rate | | | Max Theoretical Frame Rate | | |||
| \ / | \ / | |||
| where: | where: | |||
| 1. The "Measured Throughput" is the [RFC2544] Throughput Benchmark | 1. The "Measured Throughput" is the [RFC2544] Throughput Benchmark | |||
| for the frame size tested, as augmented by methods including the | for the frame size tested, as augmented by methods including the | |||
| Binary Search with Loss Verification algorithm in [TST009] where | Binary Search with Loss Verification algorithm in [TST009] where | |||
| applicable, and MUST be expressed in frames per second in this | applicable and MUST be expressed in frames per second in this | |||
| equation. | equation. | |||
| 2. The "Max Theoretical Frame Rate" is a calculated value for the | 2. The "Max Theoretical Frame Rate" is a calculated value for the | |||
| interface speed and link layer technology used, and MUST be | interface speed and link-layer technology used, and it MUST be | |||
| expressed in frames per second in this equation. | expressed in frames per second in this equation. | |||
| The term on the far right in the formula for Corrected DUT Buffer | The term on the far right in the formula for Corrected DUT Buffer | |||
| Time accounts for all the frames in the Burst that were transmitted | Time accounts for all the frames in the burst that were transmitted | |||
| by the DUT *while the Burst of frames were sent in*. So, these frames | by the DUT *while the burst of frames was sent in*. So, these frames | |||
| are not in the buffer and the buffer size is more accurately | are not in the buffer, and the buffer size is more accurately | |||
| estimated by excluding them. | estimated by excluding them. If Measured Throughput is not | |||
| available, an acceptable approximation is the received frame rate | ||||
| (see Forwarding Rate in [RFC2889] measured during Back-to-back Frame | ||||
| testing). | ||||
| 6. Reporting | 7. Reporting | |||
| The back-to-back frame results SHOULD be reported in the format of a | The Back-to-Back Frame results SHOULD be reported in the format of a | |||
| table with a row for each of the tested frame sizes. There SHOULD be | table with a row for each of the tested frame sizes. There SHOULD be | |||
| columns for the frame size and for the resultant average frame count | columns for the frame size and the resultant average frame count for | |||
| for each type of data stream tested. | each type of data stream tested. | |||
| The number of tests Averaged for the Benchmark, N, MUST be reported. | The number of tests averaged for the benchmark, N, MUST be reported. | |||
| The Minimum, Maximum, and Standard Deviation across all complete | The minimum, maximum, and standard deviation across all complete | |||
| tests SHOULD also be reported (they are referred to as | tests SHOULD also be reported (they are referred to as | |||
| "Min,Max,StdDev" in the table below). | "Min,Max,StdDev" in Table 1). | |||
| The Corrected DUT Buffer Time SHOULD also be reported. | The Corrected DUT Buffer Time SHOULD also be reported. | |||
| If the tester operates using a limited maximum burst length in | If the tester operates using a limited maximum burst length in | |||
| frames, then this maximum length SHOULD be reported. | frames, then this maximum length SHOULD be reported. | |||
| +--------------+----------------+----------------+------------------+ | +=============+================+================+================+ | |||
| | Frame Size, | Ave B2B | Min,Max,StdDev | Corrected Buff | | | Frame Size, | Ave B2B | Min,Max,StdDev | Corrected Buff | | |||
| | octets | Length, frames | | Time, Sec | | | octets | Length, frames | | Time, Sec | | |||
| +--------------+----------------+----------------+------------------+ | +=============+================+================+================+ | |||
| | 64 | 26000 | 25500,27000,20 | 0.00004 | | | 64 | 26000 | 25500,27000,20 | 0.00004 | | |||
| +--------------+----------------+----------------+------------------+ | +-------------+----------------+----------------+----------------+ | |||
| Back-to-Back Frame Results | Table 1: Back-to-Back Frame Results | |||
| Static and configuration parameters (reported with the table above): | Static and configuration parameters (reported with Table 1): | |||
| Number of test repetitions, N | * Number of test repetitions, N | |||
| Minimum Step Size (during searches), in frames. | * Minimum Step Size (during searches), in frames. | |||
| If the tester has a specific (actual) frame rate of interest (less | If the tester has a specific (actual) frame rate of interest (less | |||
| than the Throughput rate), it is useful to estimate the buffer time | than the Throughput rate), it is useful to estimate the buffer time | |||
| at that actual frame rate: | at that actual frame rate: | |||
| Actual Buffer Time = | Actual Buffer Time = | |||
| Max Theoretical Frame Rate | Max Theoretical Frame Rate | |||
| = Corrected DUT Buffer Time * -------------------------- | = Corrected DUT Buffer Time * -------------------------- | |||
| Actual Frame Rate | Actual Frame Rate | |||
| and report this value, properly labeled. | and report this value, properly labeled. | |||
| 7. Security Considerations | 8. Security Considerations | |||
| Benchmarking activities as described in this memo are limited to | Benchmarking activities as described in this memo are limited to | |||
| technology characterization using controlled stimuli in a laboratory | technology characterization using controlled stimuli in a laboratory | |||
| environment, with dedicated address space and the other constraints | environment, with dedicated address space and the other constraints | |||
| of[RFC2544]. | of [RFC2544]. | |||
| The benchmarking network topology will be an independent test setup | The benchmarking network topology will be an independent test setup | |||
| and MUST NOT be connected to devices that may forward the test | and MUST NOT be connected to devices that may forward the test | |||
| traffic into a production network, or misroute traffic to the test | traffic into a production network or misroute traffic to the test | |||
| management network. See [RFC6815]. | management network. See [RFC6815]. | |||
| Further, benchmarking is performed on an "opaque-box" (a.k.a. | Further, benchmarking is performed on an "opaque-box" (a.k.a. | |||
| "black-box") basis, relying solely on measurements observable | "black-box") basis, relying solely on measurements observable | |||
| external to the DUT/SUT. | external to the Device or System Under Test (SUT). | |||
| The DUT developers are commonly independent from the personnel and | The DUT developers are commonly independent from the personnel and | |||
| institutions conducting benchmarking studies. DUT developers might | institutions conducting benchmarking studies. DUT developers might | |||
| have incentives to alter the performance of the DUT if the test | have incentives to alter the performance of the DUT if the test | |||
| conditions can be detected. Special capabilities SHOULD NOT exist in | conditions can be detected. Special capabilities SHOULD NOT exist in | |||
| the DUT/SUT specifically for benchmarking purposes. Procedures | the DUT/SUT specifically for benchmarking purposes. Procedures | |||
| described in this document are not designed to detect such activity. | described in this document are not designed to detect such activity. | |||
| Additional testing outside of the scope of this document would be | Additional testing outside of the scope of this document would be | |||
| needed and has been used successfully in the past to discover such | needed and has been used successfully in the past to discover such | |||
| malpractices. | malpractices. | |||
| Any implications for network security arising from the DUT/SUT SHOULD | Any implications for network security arising from the DUT/SUT SHOULD | |||
| be identical in the lab and in production networks. | be identical in the lab and in production networks. | |||
| 8. IANA Considerations | 9. IANA Considerations | |||
| This memo makes no requests of IANA. | ||||
| 9. Acknowledgements | ||||
| Thanks to Trevor Cooper, Sridhar Rao, and Martin Klozik of the VSPERF | This document has no IANA actions. | |||
| project for many contributions to the early testing [VSPERF-b2b]. | ||||
| Yoshiaki Itou has also investigated the topic, and made useful | ||||
| suggestions. Maciek Konstantyowicz and Vratko Polak also provided | ||||
| many comments and suggestions based on extensive integration testing | ||||
| and resulting search algorithm proposals - the most up-to-date | ||||
| feedback possible. Tim Carlin also provided comments and support for | ||||
| the draft. Warren Kumari's review improved readability in several | ||||
| key passages. David Black, Martin Duke, and Scott Bradner's comments | ||||
| improved the clarity and configuration advice on trial duration. | ||||
| Malisa Vucinic suggested additional text on DUT design cautions in | ||||
| the Security Considerations section. | ||||
| 10. References | 10. References | |||
| 10.1. Normative References | 10.1. Normative References | |||
| [RFC1242] Bradner, S., "Benchmarking Terminology for Network | [RFC1242] Bradner, S., "Benchmarking Terminology for Network | |||
| Interconnection Devices", RFC 1242, DOI 10.17487/RFC1242, | Interconnection Devices", RFC 1242, DOI 10.17487/RFC1242, | |||
| July 1991, <https://www.rfc-editor.org/info/rfc1242>. | July 1991, <https://www.rfc-editor.org/info/rfc1242>. | |||
| [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
| skipping to change at page 13, line 36 ¶ | skipping to change at line 584 ¶ | |||
| <https://www.rfc-editor.org/info/rfc6985>. | <https://www.rfc-editor.org/info/rfc6985>. | |||
| [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | |||
| 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | |||
| May 2017, <https://www.rfc-editor.org/info/rfc8174>. | May 2017, <https://www.rfc-editor.org/info/rfc8174>. | |||
| [RFC8239] Avramov, L. and J. Rapp, "Data Center Benchmarking | [RFC8239] Avramov, L. and J. Rapp, "Data Center Benchmarking | |||
| Methodology", RFC 8239, DOI 10.17487/RFC8239, August 2017, | Methodology", RFC 8239, DOI 10.17487/RFC8239, August 2017, | |||
| <https://www.rfc-editor.org/info/rfc8239>. | <https://www.rfc-editor.org/info/rfc8239>. | |||
| [TST009] Morton, A., "ETSI GS NFV-TST 009 V3.4.1 (2020-12), | [TST009] ETSI, "Network Functions Virtualisation (NFV) Release 3; | |||
| "Network Functions Virtualisation (NFV) Release 3; | ||||
| Testing; Specification of Networking Benchmarks and | Testing; Specification of Networking Benchmarks and | |||
| Measurement Methods for NFVI"", December 2020, | Measurement Methods for NFVI", Rapporteur: A. Morton, ETSI | |||
| GS NFV-TST 009 v3.4.1, December 2020, | ||||
| <https://www.etsi.org/deliver/etsi_gs/NFV- | <https://www.etsi.org/deliver/etsi_gs/NFV- | |||
| TST/001_099/009/03.04.01_60/gs_NFV-TST009v030401p.pdf>. | TST/001_099/009/03.04.01_60/gs_NFV-TST009v030401p.pdf>. | |||
| 10.2. Informative References | 10.2. Informative References | |||
| [I-D.vpolak-bmwg-plrsearch] | [BMWG-MLRSEARCH] | |||
| Konstantynowicz, M. and V. Polak, "Probabilistic Loss | Konstantynowicz, M., Ed. and V. Polak, Ed., "Multiple Loss | |||
| Ratio Search for Packet Throughput (PLRsearch)", draft- | Ratio Search for Packet Throughput (MLRsearch)", Work in | |||
| vpolak-bmwg-plrsearch-03 (work in progress), March 2020. | Progress, Internet-Draft, draft-vpolak-mkonstan-bmwg- | |||
| mlrsearch-03, 6 March 2020, <https://tools.ietf.org/html/ | ||||
| draft-vpolak-mkonstan-bmwg-mlrsearch-03>. | ||||
| [I-D.vpolak-mkonstan-bmwg-mlrsearch] | [BMWG-PLRSEARCH] | |||
| Konstantynowicz, M. and V. Polak, "Multiple Loss Ratio | Konstantynowicz, M., Ed. and V. Polak, Ed., "Probabilistic | |||
| Search for Packet Throughput (MLRsearch)", draft-vpolak- | Loss Ratio Search for Packet Throughput (PLRsearch)", Work | |||
| mkonstan-bmwg-mlrsearch-03 (work in progress), March 2020. | in Progress, Internet-Draft, draft-vpolak-bmwg-plrsearch- | |||
| 03, 6 March 2020, <https://tools.ietf.org/html/draft- | ||||
| vpolak-bmwg-plrsearch-03>. | ||||
| [OPNFV-2017] | [OPNFV-2017] | |||
| Cooper, T., Morton, A., and S. Rao, "Dataplane | Cooper, T., Rao, S., and A. Morton, "Dataplane | |||
| Performance, Capacity, and Benchmarking in OPNFV", June | Performance, Capacity, and Benchmarking in OPNFV", 15 June | |||
| 2017, | 2017, | |||
| <https://wiki.opnfv.org/download/attachments/10293193/ | <https://wiki.anuket.io/download/attachments/4404001/ | |||
| VSPERF-Dataplane-Perf-Cap-Bench.pptx?api=v2>. | VSPERF-Dataplane-Perf-Cap-Bench.pdf?version=1&modification | |||
| Date=1621191833500&api=v2>. | ||||
| [RFC1944] Bradner, S. and J. McQuaid, "Benchmarking Methodology for | [RFC1944] Bradner, S. and J. McQuaid, "Benchmarking Methodology for | |||
| Network Interconnect Devices", RFC 1944, | Network Interconnect Devices", RFC 1944, | |||
| DOI 10.17487/RFC1944, May 1996, | DOI 10.17487/RFC1944, May 1996, | |||
| <https://www.rfc-editor.org/info/rfc1944>. | <https://www.rfc-editor.org/info/rfc1944>. | |||
| [RFC2889] Mandeville, R. and J. Perser, "Benchmarking Methodology | ||||
| for LAN Switching Devices", RFC 2889, | ||||
| DOI 10.17487/RFC2889, August 2000, | ||||
| <https://www.rfc-editor.org/info/rfc2889>. | ||||
| [RFC5180] Popoviciu, C., Hamza, A., Van de Velde, G., and D. | [RFC5180] Popoviciu, C., Hamza, A., Van de Velde, G., and D. | |||
| Dugatkin, "IPv6 Benchmarking Methodology for Network | Dugatkin, "IPv6 Benchmarking Methodology for Network | |||
| Interconnect Devices", RFC 5180, DOI 10.17487/RFC5180, May | Interconnect Devices", RFC 5180, DOI 10.17487/RFC5180, May | |||
| 2008, <https://www.rfc-editor.org/info/rfc5180>. | 2008, <https://www.rfc-editor.org/info/rfc5180>. | |||
| [RFC6201] Asati, R., Pignataro, C., Calabria, F., and C. Olvera, | [RFC6201] Asati, R., Pignataro, C., Calabria, F., and C. Olvera, | |||
| "Device Reset Characterization", RFC 6201, | "Device Reset Characterization", RFC 6201, | |||
| DOI 10.17487/RFC6201, March 2011, | DOI 10.17487/RFC6201, March 2011, | |||
| <https://www.rfc-editor.org/info/rfc6201>. | <https://www.rfc-editor.org/info/rfc6201>. | |||
| [RFC6815] Bradner, S., Dubray, K., McQuaid, J., and A. Morton, | [RFC6815] Bradner, S., Dubray, K., McQuaid, J., and A. Morton, | |||
| "Applicability Statement for RFC 2544: Use on Production | "Applicability Statement for RFC 2544: Use on Production | |||
| Networks Considered Harmful", RFC 6815, | Networks Considered Harmful", RFC 6815, | |||
| DOI 10.17487/RFC6815, November 2012, | DOI 10.17487/RFC6815, November 2012, | |||
| <https://www.rfc-editor.org/info/rfc6815>. | <https://www.rfc-editor.org/info/rfc6815>. | |||
| [VSPERF-b2b] | [VSPERF-b2b] | |||
| Morton, A., "Back2Back Testing Time Series (from CI)", | Morton, A., "Back2Back Testing Time Series (from CI)", | |||
| June 2017, <https://wiki.opnfv.org/display/vsperf/ | June 2017, <https://wiki.anuket.io/display/HOME/ | |||
| Traffic+Generator+Testing#TrafficGeneratorTesting- | Traffic+Generator+Testing#TrafficGeneratorTesting- | |||
| AppendixB:Back2BackTestingTimeSeries(fromCI)>. | AppendixB:Back2BackTestingTimeSeries(fromCI)>. | |||
| [VSPERF-BSLV] | [VSPERF-BSLV] | |||
| Morton, A. and S. Rao, "Evolution of Repeatability in | Rao, S. and A. Morton, "Evolution of Repeatability in | |||
| Benchmarking: Fraser Plugfest (Summary for IETF BMWG)", | Benchmarking: Fraser Plugfest (Summary for IETF BMWG)", | |||
| July 2018, | July 2018, | |||
| <https://datatracker.ietf.org/meeting/102/materials/ | <https://datatracker.ietf.org/meeting/102/materials/ | |||
| slides-102-bmwg-evolution-of-repeatability-in- | slides-102-bmwg-evolution-of-repeatability-in- | |||
| benchmarking-fraser-plugfest-summary-for-ietf-bmwg-00>. | benchmarking-fraser-plugfest-summary-for-ietf-bmwg-00>. | |||
| [VSPERF-CI] | [VSPERF-CI] | |||
| Tahhan, M., "OPNFV VSPERF CI", June 2019, | Tahhan, M., "OPNFV VSPERF CI", June 2019, | |||
| <https://wiki.opnfv.org/display/vsperf/VSPERF+CI>. | <https://wiki.anuket.io/display/HOME/VSPERF+CI>. | |||
| Acknowledgments | ||||
| Thanks to Trevor Cooper, Sridhar Rao, and Martin Klozik of the VSPERF | ||||
| project for many contributions to the early testing [VSPERF-b2b]. | ||||
| Yoshiaki Itou has also investigated the topic and made useful | ||||
| suggestions. Maciek Konstantyowicz and Vratko Polak also provided | ||||
| many comments and suggestions based on extensive integration testing | ||||
| and resulting search-algorithm proposals -- the most up-to-date | ||||
| feedback possible. Tim Carlin also provided comments and support for | ||||
| the document. Warren Kumari's review improved readability in several | ||||
| key passages. David Black, Martin Duke, and Scott Bradner's comments | ||||
| improved the clarity and configuration advice on trial duration. | ||||
| Malisa Vucinic suggested additional text on DUT design cautions in | ||||
| the Security Considerations section. | ||||
| Author's Address | Author's Address | |||
| Al Morton | Al Morton | |||
| AT&T Labs | AT&T Labs | |||
| 200 Laurel Avenue South | 200 Laurel Avenue South | |||
| Middletown,, NJ 07748 | Middletown, NJ 07748 | |||
| USA | United States of America | |||
| Phone: +1 732 420 1571 | Phone: +1 732 420 1571 | |||
| Fax: +1 732 368 1192 | ||||
| Email: acmorton@att.com | Email: acmorton@att.com | |||
| End of changes. 116 change blocks. | ||||
| 300 lines changed or deleted | 315 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||