<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE rfc [
  <!ENTITY nbsp "&#160;">
]>

<rfc xmlns:xi="http://www.w3.org/2001/XInclude"
     category="info"
     docName="draft-gaikwad-llm-fault-detection-methodology-00"
     ipr="trust200902"
     submissionType="IETF"
     xml:lang="en"
     version="3">

  <front>
    <title abbrev="Fault Detection Methodology">
      Benchmarking Methodology for Output Behavior Fault Detection in Large
      Language Model Serving Systems
    </title>

    <seriesInfo name="Internet-Draft"
                value="draft-gaikwad-llm-fault-detection-methodology-00"
                status="informational"/>

    <author fullname="Madhava Gaikwad" initials="M." surname="Gaikwad">
      <organization>Independent</organization>
      <address>
        <email>gaikwad.madhav@gmail.com</email>
      </address>
    </author>

    <date year="2026"/>

    <area>Operations and Management</area>
    <workgroup>Benchmarking Methodology</workgroup>

    <keyword>benchmarking</keyword>
    <keyword>LLM</keyword>
    <keyword>fault injection</keyword>
    <keyword>fault detection</keyword>
    <keyword>gray failure</keyword>

    <abstract>
      <t>
        This document defines test procedures for characterizing the fault
        detection capability of observability systems that monitor Large Language
        Model (LLM) serving deployments. Procedures are given for Detection
        Latency, Detection Coverage, Detection Threshold Magnitude, False
        Detection Rate, and Boundary Masking.
      </t>
      <t>
        The Detector Under Test is the observability system. Output Behavior
        Faults are injected at a known time under controlled conditions, which
        makes detection latency directly measurable.
      </t>
      <t>
        This document is a companion to
        "Benchmarking Terminology for Output Behavior Fault Detection in Large
        Language Model Serving Systems" and is to be read alongside it. This
        document specifies no acceptance thresholds.
      </t>
    </abstract>
  </front>

  <middle>

    <section anchor="introduction">
      <name>Introduction</name>
      <t>
        <xref target="FAULT-TERMS"/> defines terminology for benchmarking the
        fault detection capability of observability systems monitoring LLM
        serving deployments. This document defines the procedures that produce
        those measurements.
      </t>
      <t>
        The procedures follow the pattern of <xref target="RFC2544"/> and
        <xref target="RFC8239"/>. A parameter is varied across trials, the
        Detector Under Test is observed, and a characteristic of the detector is
        reported with the conditions under which it was obtained.
      </t>

      <section anchor="scope">
        <name>Scope</name>
        <t>
          This document specifies test procedures, required test conditions, and
          a reporting format. It does not specify acceptance thresholds, target
          values, or service-level objectives. A result obtained by these
          procedures characterizes a detector. It does not establish whether that
          detector is adequate for any purpose.
        </t>
        <t>
          The mechanism by which a fault is produced is out of scope. Any
          mechanism that shifts the declared indicator by the declared magnitude
          at the declared time is acceptable. <xref target="injection"/> states
          the properties an injection apparatus must have.
        </t>
        <t>
          Benchmarking described by this document is confined to a test
          environment. <xref target="security"/> states this requirement.
        </t>
      </section>

      <section anchor="applicability">
        <name>Applicability</name>
        <t>
          A result obtained by these procedures characterizes one Detector Under
          Test in one declared environment. The serving deployment includes a
          language model whose output is stochastic, so the baseline against
          which fault magnitude is expressed is a property of that environment.
          <xref target="baseline"/> requires the baseline to be established for
          each environment before any fault trial.
        </t>
        <t>
          Two results are comparable when the Observation Point, the DUT
          configuration, the serving deployment configuration, the request
          population, and the offered load are the same. Results
          <bcp14>MUST NOT</bcp14> be compared when any of these differ.
          <xref target="reporting"/> requires each to be reported so that a
          reader can determine whether a comparison is valid.
        </t>
        <t>
          The intended uses follow from this. A detector configuration can be
          compared against another configuration on the same environment. A
          detector can be tracked across changes to itself or to the deployment
          it observes. A detector can be characterized before it is relied on.
          These procedures are not intended to produce values that rank detectors
          across organizations, and a value obtained here carries no meaning
          outside the environment in which it was obtained.
        </t>
        <t>
          A full series under these procedures is long. Twenty trials at each
          combination of Fault Class, magnitude, profile, and load, each followed
          by a quiet period, together with the search of
          <xref target="proc-threshold"/>, occupies substantial test time. A
          reduced series <bcp14>MAY</bcp14> be run for screening, using fewer
          trials, fewer load points, or a coarser search resolution. A reduced
          series <bcp14>MUST</bcp14> be reported as such, with the reductions
          stated, and <bcp14>MUST NOT</bcp14> be reported as a result under this
          methodology.
        </t>
      </section>
    </section>

    <section anchor="conventions">
      <name>Conventions and Definitions</name>
      <t>
        The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>",
        "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>",
        "<bcp14>SHALL NOT</bcp14>", "<bcp14>SHOULD</bcp14>",
        "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>",
        "<bcp14>NOT RECOMMENDED</bcp14>", "<bcp14>MAY</bcp14>", and
        "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
        described in BCP&nbsp;14 <xref target="RFC2119"/>
        <xref target="RFC8174"/> when, and only when, they appear in all capitals,
        as shown here.
      </t>
      <t>
        Terms defined in <xref target="FAULT-TERMS"/> are used here with their
        definitions from that document. These include Detector Under Test,
        Observation Point, Fault Injection Point, Output Behavior Fault, Fault
        Class, Fault Profile, Fault Onset, Detection Event, False Detection,
        Baseline Interval, Detection Latency, Detection Coverage, Detection
        Threshold Magnitude, and Boundary Masking.
      </t>
    </section>

    <section anchor="setup">
      <name>Test Setup</name>

      <section anchor="topology">
        <name>Topology</name>
        <t>
          The test environment comprises four components.
        </t>
        <dl newline="false" spacing="normal">
          <dt>Traffic generator:</dt>
          <dd>
            Offers requests to the serving deployment at a controlled rate from a
            declared request population.
          </dd>
          <dt>Serving deployment:</dt>
          <dd>
            The LLM serving stack under observation, configured to one of the
            System Under Test boundaries of <xref target="LLM-TERMS"/>.
          </dd>
          <dt>Fault injection apparatus:</dt>
          <dd>
            Applies Output Behavior Faults at the Fault Injection Point and
            records Fault Onset.
          </dd>
          <dt>Detector Under Test:</dt>
          <dd>
            The observability system, sampling at the Observation Point and
            emitting the declared detection signal.
          </dd>
        </dl>
        <t>
          The relative position of the Fault Injection Point and the Observation
          Point <bcp14>MUST</bcp14> be recorded and reported. A fault injected
          downstream of the Observation Point is not observable by the detector,
          and trials in that configuration measure only Boundary Masking.
        </t>
      </section>

      <section anchor="dut-config">
        <name>Detector Under Test Configuration</name>
        <t>
          The DUT configuration <bcp14>MUST</bcp14> be frozen before the first
          trial and <bcp14>MUST NOT</bcp14> be changed during a test series.
          Changing thresholds, sampling rates, judge models, or alerting rules
          begins a new test series.
        </t>
        <t>
          The following <bcp14>MUST</bcp14> be recorded: the indicators the DUT
          computes, the method used to compute each, the sampling rate for any
          sampled indicator, the aggregation window, the alerting thresholds, and
          the version of any model used as a judge.
        </t>
      </section>

      <section anchor="traffic">
        <name>Traffic Generation</name>
        <t>
          Offered load <bcp14>MUST</bcp14> be constant within a trial. The
          request population <bcp14>MUST</bcp14> be constant across all trials in
          a series.
        </t>
        <t>
          Detection Latency for a rate-valued indicator depends on how quickly
          evidence accumulates, and evidence accumulates with requests rather
          than with time. Results are therefore reported against offered load. A
          test series <bcp14>SHOULD</bcp14> cover at least four load points
          spanning at least two orders of magnitude, and
          <bcp14>SHOULD</bcp14> include a load point representative of the
          intended deployment.
        </t>
        <t>
          Response caching in the serving deployment suppresses the indicator
          shift a fault is intended to produce. Caching
          <bcp14>MUST</bcp14> be disabled, or the request population
          <bcp14>MUST</bcp14> be constructed so that cache hits do not occur.
          Which approach was used <bcp14>MUST</bcp14> be reported.
        </t>
      </section>

      <section anchor="injection">
        <name>Fault Injection Apparatus</name>
        <t>
          The apparatus <bcp14>MUST</bcp14> record Fault Onset with a resolution
          of one millisecond or finer, and <bcp14>MUST</bcp14> record it
          independently of any DUT output.
        </t>
        <t>
          The apparatus <bcp14>MUST</bcp14> be able to remove an applied fault
          and return the deployment to its baseline configuration. The apparatus
          <bcp14>MUST NOT</bcp14> emit any signal to the DUT other than through
          the behavior of the serving deployment. An apparatus that notifies the
          DUT of injection invalidates the measurement.
        </t>
        <t>
          The magnitude actually achieved <bcp14>MUST</bcp14> be verified against
          the magnitude intended, by measuring the affected indicator at the Fault
          Injection Point during application. A trial in which the achieved
          magnitude differs from the intended magnitude by more than ten percent
          <bcp14>MUST</bcp14> be discarded and repeated.
        </t>
      </section>

      <section anchor="clock">
        <name>Clock Synchronization</name>
        <t>
          Fault Onset and Detection Event may be recorded by different hosts.
          Detection Latency is the difference between them, and clock offset
          between those hosts enters the result directly as error.
        </t>
        <t>
          The maximum clock offset between the injection apparatus and the DUT
          <bcp14>MUST</bcp14> be measured and reported. The offset
          <bcp14>MUST</bcp14> be smaller than one percent of the smallest
          Detection Latency reported in the series. Where this cannot be
          achieved, the offset <bcp14>MUST</bcp14> be reported as an error bound
          on every latency value in the series.
        </t>
        <t>
          Where the injection apparatus and the DUT record timestamps on the same
          host, this requirement does not apply and the arrangement
          <bcp14>MUST</bcp14> be reported.
        </t>
      </section>
    </section>

    <section anchor="prereq">
      <name>Prerequisites</name>

      <section anchor="signal-decl">
        <name>Detection Signal Declaration</name>
        <t>
          The signal that constitutes a Detection Event
          <bcp14>MUST</bcp14> be declared before the first trial. The declaration
          <bcp14>MUST</bcp14> state the signal type, the component that emits it,
          and the criterion by which a signal is attributed to an applied fault.
        </t>
        <t>
          The declaration <bcp14>MUST NOT</bcp14> be changed after any trial in
          the series has been run. Selecting the detection signal after observing
          results invalidates the series.
        </t>
      </section>

      <section anchor="baseline">
        <name>Baseline Characterization</name>
        <t>
          Before the first fault trial, a Baseline Interval
          <bcp14>MUST</bcp14> be run at each load point to be used in the series.
          The Baseline Interval <bcp14>MUST</bcp14> be at least ten times the DUT
          aggregation window, and <bcp14>MUST</bcp14> be at least three hundred
          seconds.
        </t>
        <t>
          For each indicator to be faulted, the mean and standard deviation over
          the Baseline Interval <bcp14>MUST</bcp14> be recorded. Fault magnitude
          is reported as an absolute change from this mean.
        </t>
        <t>
          A fault magnitude smaller than twice the baseline standard deviation is
          not distinguishable from baseline variation.
          Trials at such magnitudes <bcp14>MAY</bcp14> be run, and results from
          them <bcp14>MUST</bcp14> be reported with the baseline standard
          deviation alongside.
        </t>
      </section>

      <section anchor="quiet">
        <name>Inter-Trial Quiet Period</name>
        <t>
          Observability systems commonly implement alert deduplication, flap
          suppression, and state that persists after a condition clears. A trial
          begun while the DUT retains state from a previous trial does not
          measure detection from a resting state.
        </t>
        <t>
          Between trials, the fault <bcp14>MUST</bcp14> be removed and a quiet
          period <bcp14>MUST</bcp14> be observed. The quiet period
          <bcp14>MUST</bcp14> be long enough for the DUT to return every affected
          indicator to within one standard deviation of its baseline mean, and to
          clear any active alert state. The quiet period used
          <bcp14>MUST</bcp14> be reported.
        </t>
      </section>

      <section anchor="single-fault">
        <name>Single Fault Application</name>
        <t>
          One Output Behavior Fault <bcp14>MUST</bcp14> be applied at a time,
          unless the declared attribution criterion of
          <xref target="signal-decl"/> is able to attribute a signal to a
          specific fault in the presence of others. Where multiple faults are
          applied, the attribution criterion <bcp14>MUST</bcp14> be reported.
        </t>
      </section>
    </section>

    <section anchor="procedures">
      <name>Test Procedures</name>

      <section anchor="proc-latency">
        <name>Detection Latency</name>
        <t>
          <strong>Objective.</strong> Determine the interval from Fault Onset to
          the Detection Event, for a stated Fault Class, magnitude, Fault
          Profile, and offered load.
        </t>
        <t>
          <strong>Procedure.</strong>
        </t>
        <ol spacing="normal">
          <li>Offer traffic at the selected load. Wait for the quiet period of
              <xref target="quiet"/>.</li>
          <li>Apply the fault. Record Fault Onset.</li>
          <li>Observe the DUT until a Detection Event attributable to the fault
              occurs, or until the trial timeout expires.</li>
          <li>Record the Detection Event time, or record the trial as
              undetected.</li>
          <li>Remove the fault. Observe the quiet period.</li>
          <li>Repeat from step 2 until the required number of trials is
              complete.</li>
        </ol>
        <t>
          <strong>Trial count.</strong> At least twenty trials
          <bcp14>MUST</bcp14> be run at each combination of Fault Class,
          magnitude, profile, and load.
        </t>
        <t>
          <strong>Trial timeout.</strong> The timeout <bcp14>MUST</bcp14> be
          declared before the series and <bcp14>MUST</bcp14> be at least twenty
          times the DUT aggregation window. A trial reaching the timeout is
          recorded as undetected and contributes to Detection Coverage.
        </t>
        <t>
          <strong>Reported value.</strong> The median and the ninety-fifth
          percentile of Detection Latency across detected trials
          <bcp14>MUST</bcp14> be reported, together with the number of trials and
          the number undetected. The mean <bcp14>MAY</bcp14> be reported. Values
          from undetected trials <bcp14>MUST NOT</bcp14> be imputed.
        </t>
      </section>

      <section anchor="proc-coverage">
        <name>Detection Coverage</name>
        <t>
          <strong>Objective.</strong> Determine the fraction of applied faults for
          which a Detection Event occurred, for a stated Fault Class, magnitude,
          profile, and load.
        </t>
        <t>
          <strong>Procedure.</strong> Detection Coverage is computed from the same
          trials as <xref target="proc-latency"/>. No separate trials are
          required.
        </t>
        <t>
          <strong>Reported value.</strong> The number of trials in which a
          Detection Event occurred, divided by the number of trials run. The
          numerator and denominator <bcp14>MUST</bcp14> both be reported. A
          coverage value <bcp14>MUST NOT</bcp14> be reported without the fault
          magnitude at which it was obtained.
        </t>
      </section>

      <section anchor="proc-threshold">
        <name>Detection Threshold Magnitude</name>
        <t>
          <strong>Objective.</strong> Determine the smallest fault magnitude at
          which the DUT achieves a stated Detection Coverage, for a given Fault
          Class, profile, and load.
        </t>
        <t>
          <strong>Procedure.</strong> The procedure is a binary search on
          magnitude, following the pattern of the throughput search in
          <xref target="RFC2544"/>.
        </t>
        <ol spacing="normal">
          <li>Select a target coverage level. Declare it before the search
              begins.</li>
          <li>Establish an upper bound magnitude at which coverage meets or
              exceeds the target, and a lower bound at which it does not. Where
              the lower bound falls below twice the baseline standard deviation,
              record that the search floor was reached and stop.</li>
          <li>Run the trials of <xref target="proc-latency"/> at the midpoint
              magnitude.</li>
          <li>If coverage at the midpoint meets or exceeds the target, the
              midpoint becomes the new upper bound. Otherwise it becomes the new
              lower bound.</li>
          <li>Repeat from step 3 until the interval between bounds is smaller
              than the declared resolution.</li>
        </ol>
        <t>
          <strong>Reported value.</strong> The upper bound at termination, the
          target coverage level, the search resolution, and the baseline standard
          deviation of the affected indicator. Where the search floor was reached,
          the result <bcp14>MUST</bcp14> be reported as below the floor and
          <bcp14>MUST NOT</bcp14> be reported as a magnitude.
        </t>
      </section>

      <section anchor="proc-false">
        <name>False Detection Rate</name>
        <t>
          <strong>Objective.</strong> Determine the rate at which the DUT emits
          the declared detection signal when no fault is applied.
        </t>
        <t>
          <strong>Procedure.</strong>
        </t>
        <ol spacing="normal">
          <li>Offer traffic at the selected load with no fault applied.</li>
          <li>Observe the DUT for the declared observation period. Record every
              emission of the declared detection signal.</li>
          <li>Repeat at each load point in the series.</li>
        </ol>
        <t>
          <strong>Observation period.</strong> The period
          <bcp14>MUST</bcp14> be at least the total time spent under fault
          application across the whole series at that load point. A False
          Detection Rate measured over a shorter period than the latency trials
          it accompanies understates the rate.
        </t>
        <t>
          <strong>Reported value.</strong> The count of false detections and the
          observation period. A Detection Latency or Detection Threshold
          Magnitude result <bcp14>MUST NOT</bcp14> be published without an
          accompanying False Detection Rate obtained under the same DUT
          configuration and load.
        </t>
      </section>

      <section anchor="proc-masking">
        <name>Boundary Masking</name>
        <t>
          <strong>Objective.</strong> Determine the reduction in observed fault
          magnitude between the Fault Injection Point and the Observation Point.
        </t>
        <t>
          <strong>Procedure.</strong>
        </t>
        <ol spacing="normal">
          <li>Apply a fault of known magnitude at the Fault Injection Point.</li>
          <li>Measure the affected indicator at the Fault Injection Point and at
              the Observation Point over the same interval, using the same
              method at both points.</li>
          <li>Remove the fault. Observe the quiet period. Repeat for the required
              number of trials.</li>
        </ol>
        <t>
          <strong>Trial count.</strong> At least twenty trials
          <bcp14>MUST</bcp14> be run.
        </t>
        <t>
          <strong>Reported value.</strong> One minus the ratio of the magnitude
          observed at the Observation Point to the magnitude observed at the Fault
          Injection Point, reported as a median across trials. The measurement
          method used at both points <bcp14>MUST</bcp14> be reported. Where the
          two points are the same, Boundary Masking is zero by construction and
          <bcp14>MUST</bcp14> be reported as not applicable.
        </t>
      </section>
    </section>

    <section anchor="reporting">
      <name>Reporting Format</name>
      <t>
        A result reported under this methodology <bcp14>MUST</bcp14> include the
        following fields.
      </t>
      <table>
        <name>Required reporting fields</name>
        <thead>
          <tr><th>Field</th><th>Content</th></tr>
        </thead>
        <tbody>
          <tr><td>Observation Point</td><td>Model Engine, Application Gateway, or Compound System</td></tr>
          <tr><td>Fault Injection Point</td><td>Location, and position relative to the Observation Point</td></tr>
          <tr><td>DUT configuration</td><td>Indicators, methods, sampling rates, aggregation window, thresholds, judge model version</td></tr>
          <tr><td>Fault Class</td><td>As defined in the terminology document</td></tr>
          <tr><td>Fault magnitude</td><td>Absolute change from baseline mean, in indicator units</td></tr>
          <tr><td>Fault Profile</td><td>Step, Ramp, or Intermittent, with parameters</td></tr>
          <tr><td>Baseline statistics</td><td>Mean and standard deviation of the affected indicator</td></tr>
          <tr><td>Offered load</td><td>Requests per second, per load point</td></tr>
          <tr><td>Caching</td><td>Disabled, or request population constructed to avoid hits</td></tr>
          <tr><td>Trial count</td><td>Trials run, and trials undetected</td></tr>
          <tr><td>Trial timeout</td><td>Seconds</td></tr>
          <tr><td>Quiet period</td><td>Seconds</td></tr>
          <tr><td>Clock offset</td><td>Maximum measured offset, or same-host declaration</td></tr>
          <tr><td>Detection Latency</td><td>Median and 95th percentile, seconds</td></tr>
          <tr><td>Detection Coverage</td><td>Numerator and denominator</td></tr>
          <tr><td>False Detection Rate</td><td>Count and observation period</td></tr>
          <tr><td>Boundary Masking</td><td>Median fraction, or not applicable</td></tr>
        </tbody>
      </table>
      <t>
        Results obtained at different Observation Points, under different DUT
        configurations, or at different offered loads
        <bcp14>MUST NOT</bcp14> be combined into a single reported value.
      </t>
    </section>

    <section anchor="security">
      <name>Security Considerations</name>
      <t>
        The procedures in this document deliberately degrade the output behavior
        of a serving deployment. Applying them to a deployment serving production
        traffic exposes users to ungrounded, unsafe, or incorrectly refused
        responses.
      </t>
      <t>
        The test environment <bcp14>MUST</bcp14> be isolated from production
        traffic. The fault injection apparatus <bcp14>MUST NOT</bcp14> be
        reachable from a production control plane. The reasoning of
        <xref target="RFC6815"/> applies to this document.
      </t>
      <t>
        A published Detection Threshold Magnitude states the degradation an
        operator would not observe. A published False Detection Rate indicates
        how much noise an adversary would need to generate to exhaust operator
        attention. Publishers <bcp14>SHOULD</bcp14> consider the disclosure
        audience for both.
      </t>
    </section>

    <section anchor="iana">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>

  </middle>

  <back>
    <references>
      <name>Normative References</name>

      <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119">
        <front>
          <title>Key words for use in RFCs to Indicate Requirement Levels</title>
          <author fullname="S. Bradner" initials="S." surname="Bradner"/>
          <date year="1997" month="March"/>
        </front>
        <seriesInfo name="BCP" value="14"/>
        <seriesInfo name="RFC" value="2119"/>
      </reference>

      <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174">
        <front>
          <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
          <author fullname="B. Leiba" initials="B." surname="Leiba"/>
          <date year="2017" month="May"/>
        </front>
        <seriesInfo name="BCP" value="14"/>
        <seriesInfo name="RFC" value="8174"/>
      </reference>

      <reference anchor="FAULT-TERMS">
        <front>
          <title>Benchmarking Terminology for Output Behavior Fault Detection in
                 Large Language Model Serving Systems</title>
          <author fullname="Madhava Gaikwad" initials="M." surname="Gaikwad"/>
          <date year="2026"/>
        </front>
        <seriesInfo name="Internet-Draft"
                    value="draft-gaikwad-llm-fault-detection-terminology"/>
      </reference>

      <reference anchor="LLM-TERMS">
        <front>
          <title>Benchmarking Terminology for Large Language Model Serving</title>
          <author fullname="Madhava Gaikwad" initials="M." surname="Gaikwad"/>
          <date year="2026"/>
        </front>
        <seriesInfo name="Internet-Draft"
                    value="draft-gaikwad-llm-benchmarking-terminology"/>
      </reference>
    </references>

    <references>
      <name>Informative References</name>

      <reference anchor="RFC2544" target="https://www.rfc-editor.org/info/rfc2544">
        <front>
          <title>Benchmarking Methodology for Network Interconnect
                 Devices</title>
          <author fullname="S. Bradner" initials="S." surname="Bradner"/>
          <author fullname="J. McQuaid" initials="J." surname="McQuaid"/>
          <date year="1999" month="March"/>
        </front>
        <seriesInfo name="RFC" value="2544"/>
      </reference>

      <reference anchor="RFC6815" target="https://www.rfc-editor.org/info/rfc6815">
        <front>
          <title>Applicability Statement for RFC 2544: Use on Production
                 Networks Considered Harmful</title>
          <author fullname="S. Bradner" initials="S." surname="Bradner"/>
          <author fullname="K. Dubray" initials="K." surname="Dubray"/>
          <author fullname="J. McQuaid" initials="J." surname="McQuaid"/>
          <author fullname="A. Morton" initials="A." surname="Morton"/>
          <date year="2012" month="November"/>
        </front>
        <seriesInfo name="RFC" value="6815"/>
      </reference>

      <reference anchor="RFC8239" target="https://www.rfc-editor.org/info/rfc8239">
        <front>
          <title>Data Center Benchmarking Methodology</title>
          <author fullname="L. Avramov" initials="L." surname="Avramov"/>
          <author fullname="J. Rapp" initials="J." surname="Rapp"/>
          <date year="2017" month="August"/>
        </front>
        <seriesInfo name="RFC" value="8239"/>
      </reference>

    </references>

    <section anchor="acknowledgements" numbered="false">
      <name>Acknowledgements</name>
      <t>
        This document follows the methodology structure established by
        <xref target="RFC2544"/> and applied to data center benchmarking in
        <xref target="RFC8239"/>. The binary search of
        <xref target="proc-threshold"/> follows the throughput search of
        <xref target="RFC2544"/>. The author thanks the Benchmarking Methodology
        Working Group for that foundation.
      </t>
    </section>

  </back>
</rfc>
