<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.1 (Ruby 2.7.0) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-rcr-opsawg-operational-compute-metrics-05" category="info" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.18.2 -->
  <front>
    <title abbrev="TODO - Abbreviation">Joint Exposure of Network and Compute Information for Infrastructure-Aware Service Deployment</title>
    <seriesInfo name="Internet-Draft" value="draft-rcr-opsawg-operational-compute-metrics-05"/>
    <author fullname="S. Randriamasy">
      <organization>Nokia Bell Labs</organization>
      <address>
        <email>sabine.randriamasy@nokia-bell-labs.com</email>
      </address>
    </author>
    <author fullname="L. M. Contreras">
      <organization>Telefonica</organization>
      <address>
        <email>luismiguel.contrerasmurillo@telefonica.com</email>
      </address>
    </author>
    <author fullname="Jordi Ros-Giralt">
      <organization>Qualcomm Europe, Inc.</organization>
      <address>
        <email>jros@qti.qualcomm.com</email>
      </address>
    </author>
    <author fullname="Roland Schott">
      <organization>Deutsche Telekom</organization>
      <address>
        <email>Roland.Schott@telekom.de</email>
      </address>
    </author>
    <date year="2024" month="May" day="31"/>
    <keyword>next generation</keyword>
    <keyword>unicorn</keyword>
    <keyword>sparkling distributed ledger</keyword>
    <abstract>
      <?line 86?>

<t>Service providers are starting to deploy computing capabilities
across the network for hosting applications such as distributed AI workloads,
AR/VR, vehicle networks, and IoT, among others. In this
network-compute environment, knowing information about
the availability and state of the underlying communication and compute resources is
necessary to determine both the proper deployment location of
the applications and the most suitable servers on which to run them.
Further, this information is used by numerous use cases with different
interpretations. This document proposes an initial approach towards a
common exposure scheme for metrics reflecting compute and communication capabilities.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://giralt.github.io/draft-rcr-opsawg-operational-compute-metrics/draft-rcr-opsawg-operational-compute-metrics.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-rcr-opsawg-operational-compute-metrics/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/giralt/draft-rcr-opsawg-operational-compute-metrics"/>.</t>
    </note>
  </front>
  <middle>
    <?line 99?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Operators are starting to deploy distributed computing environments
in different parts of the network that must support a variety of
applications with different performance needs such as latency, bandwidth,
compute power, storage, energy, etc.
This translates in the emergence of distributed compute resources
(both in the cloud and at the edge) with a variety of sizes
(e.g., large, medium, small) characterized by
distinct dimensions of CPUs, memory, and storage capabilities, as well
as bandwidth capacity for forwarding the traffic generated in and out
of the corresponding compute resource.</t>
      <t>The proliferation of the edge computing paradigm further increases
the potential footprint and heterogeneity of the environments where a
function or application can be deployed, resulting in different
unitary cost per CPU, memory, and storage. This increases the
complexity of deciding the location where a given function or
application should be best deployed or executed.
On the one hand, this decision should be jointly
influenced by the available resources in a given computing
environment and, on the other, by the capabilities of the network
path connecting the traffic source with the destination.</t>
      <t>Network and compute-aware application placement and service selection has become
of utmost importance in the last decade. The availability of such information
is taken for granted by the numerous service providers and bodies that are specifying them.
However, distributed computational resources often run different
implementations with different understandings and representations of
compute capabilities, which poses a challenge to the application placement
and service selection problems. While standardization
efforts on network capabilities representation and exposure are well advanced,
similar efforts on compute capabilitites are in their infancy.</t>
      <t>This document proposes an initial approach towards  a common understanding
and exposure scheme for metrics reflecting compute capabilities.
It aims at leveraging existing work in the IETF on compute metrics definitions to build synergies.
It also aims at reaching out to working or research groups in the IETF that would consume such information and have particular requirements.</t>
    </section>
    <section anchor="conventions-and-definitions">
      <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 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

<!-- # Motivations

TODO TEST
ANOTHE CHANGE + COMMENTS
CHANGE 2 -->

</section>
    <section anchor="problem-space-and-needs">
      <name>Problem Space and Needs</name>
      <t>Visibility and exposure of both (1) network and (2) compute
resources to the application is critical to
enable a proper functioning of the new class of services
arising at the edge (e.g., distributed AI, driverless vehicles,
AR/VR, etc.). To understand the problem space and the capabilities
that are lacking in today's protocol interfaces needed to enable
these new services, we focus on the life cycle of
a service.</t>
      <t>At the edge, compute nodes
are deployed near communication nodes (e.g., co-located
in a 5G base station) to provide computing services that are
close to users with the goal to (1) reduce latency, (2) increase
communication bandwidth, (3) increase reliability, (4) enable privacy
nd security, (5) enable personalization, and (6) reduce cloud costs and
energy consumption. Services are deployed on the communication and compute
infrastructure through a two-phase life cycle that involves first a
service <em>deployment stage</em> and then a <em>service selection</em> stage
(<xref target="lifecycle"/>).</t>
      <figure anchor="lifecycle">
        <name>Service life cycle.</name>
        <artwork><![CDATA[
 +-------------+      +--------------+      +-------------+
 |             |      |              |      |             |
 |  New        +------>  Service     +------>  Service    |
 |  Service    |      |  Deployment  |      |  Selection  |
 |             |      |              |      |             |
 +-------------+      +--------------+      +-------------+
]]></artwork>
      </figure>
      <!--
In this Section, we introduce the life cycle of a
service as a simple framework to understand the capabilities
that are lacking in today's protocol interfaces and that are necessary for
these new services. -->

<t><strong>Service deployment.</strong> This phase is carried out by the service
provider and involves the deployment of a new service
(e.g., a distributed AI training/inference, an XR/AR service, etc.)
on the communication and compute infrastructure. The service
provider needs to properly size the amount of communication and compute
resources assigned to this new service to meet the expected user
demand. The decision on where the service is deployed and how
many resources are requested from the infrastructure depends on
the levels of Quality of Experience (QoE)
that the provider wants to guarantee to the
users of the service. To make a proper deployment decision, the provider
must have visibility on the resources available within
the infrastructure, including communication (e.g., link
bandwidth and latency) and compute
(e.g., CPU, GPU, memory and storage capacity) resources. For instance,
to run a Large Language Model (LLM) with 175 billion parameters, a total
aggregated memory of 350GB and 5 GPUs may be needed <xref target="LLM_COMP_REQ"/>.
The service provider needs
an interface to query the infrastructure, extract the available compute
and communication resources, and decide which subset of resources are
needed to run the service.</t>
      <t><strong>Service selection.</strong> This phase is initiated by the user, through
a client application that connects to the deployed service. There
are two main decisions that must be performed in the service selection
stage: compute node selection and path selection. In the compute node selection
step, as the service is generally replicated in
N locations (e.g., by leveraging a microservice architecture),
the application must decide which of the service replicas
it connects to. Similar to the service deployment stage, this
decision requires knowledge about communication and compute
resources available in each replica. On the other hand, in the path selection decision,
the application must decide which path it chooses to connect to the service.
This decision depends on the communication properties (e.g., bandwidth and latency)
of the available paths. Similar to the service deployment case,
the service provider needs an interface to query the infrastructure and extract the available compute
and communication resources, with the goal to make informed node and path selection decisions.
It is also important to note that, ideally, the node and path selection
decisions should be jointly optimized, since in general the best end-to-end performance
is achieved by jointly taking into account both decisions. In some cases, however,
such decisions may be owned by different players. For instance, in some network
environments, the path selection may be decided by the network operator,
wheres the compute node selection may be decided by the application. Even in these cases,
it is crucial to have a proper interface (for both the network operator and the service
provider) to query the available compute and communication resources from the system.</t>
      <t><xref target="prob_space"/> summarizes the problem space, the information that needs to be exposed, and the stakeholders that need this information.</t>
      <table anchor="prob_space">
        <name>Problem space, needs, and stakeholders.</name>
        <thead>
          <tr>
            <th align="right">Action to take</th>
            <th align="center">Information needed</th>
            <th align="left">Who needs it</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="right">Service placement</td>
            <td align="center">Compute and communication</td>
            <td align="left">Service provider</td>
          </tr>
          <tr>
            <td align="right">Service selection/node selection</td>
            <td align="center">Compute and communication</td>
            <td align="left">Network/service provider and/or application</td>
          </tr>
          <tr>
            <td align="right">Service selection/path selection</td>
            <td align="center">Communication</td>
            <td align="left">Network/service and/or application</td>
          </tr>
        </tbody>
      </table>
    </section>
    <section anchor="use-cases">
      <name>Use Cases</name>
      <section anchor="distributed-ai-workloads">
        <name>Distributed AI Workloads</name>
        <t>Generative AI is a technological feat that opens up many applications such as holding
conversations, generating art, developing a research paper, or writing software, among
many others. Yet this innovation comes with a high cost in terms of processing and power
consumption. While data centers are already running at capacity, it is projected
that transitioning current search engine queries to leverage generative AI will
increase costs by 10 times compared to traditional search methods <xref target="DC-AI-COST"/>. As (1) computing
nodes (CPUs, GPUs, and NPUs) are deployed to build the edge cloud leveraging
technologies like 5G and (2) with billions of mobile user devices globally providing a large
untapped computational platform, shifting part of the processing from the cloud to the
edge becomes a viable and necessary step towards enabling the AI-transition.
There are at least four drivers supporting this trend:</t>
        <ul spacing="normal">
          <li>
            <t>Computational and energy savings: Due to savings from not needing
large-scale cooling systems and the high performance-per-watt
efficiency of the edge devices, some workloads can run at the edge
at a lower computational and energy cost <xref target="EDGE-ENERGY"/>, especially when
considering not only processing but also data transport.</t>
          </li>
          <li>
            <t>Latency: For applications such as driverless vehicles which require real-time
inference at very low latency, running at the edge is necessary.</t>
          </li>
          <li>
            <t>Reliability and performance: Peaks in cloud demand for generative AI queries can
create large queues and latency, and in some cases even lead to denial of service.
Further, limited or no connectivity generally requires running the workloads at the edge.</t>
          </li>
          <li>
            <t>Privacy, security, and personalization: A "private mode" allows users to strictly
utilize on-device (or near-the-device) AI to enter sensitive prompts to chatbots,
such as health questions or confidential ideas.</t>
          </li>
        </ul>
        <t>These drivers lead to a distributed computational model that is hybrid: Some AI workloads
will fully run in the cloud, some will fully run in the edge, and some will run both in the
edge and in the cloud. Being able to efficiently run these workloads in this hybrid,
distributed, cloud-edge environment is necessary given the aforementioned massive energy
and computational costs. To make optimized service and workload placement decisions, information
about both the compute and communication resources available in the network is necessary too.</t>
        <t>Consider as an example a large language model (LLM) used to generate text and hold intelligent
conversations. LLMs produce a single token per inference,
where a token is a set of characters forming words or fractions of words.
Pipelining and parallelization techniques are used to optimize inference, but
this means that a model like GPT-3 could potentially go through all 175 billion parameters
that are part of it to generate a single word. To efficiently run these computational-intensive
workloads, it is necessary to know the availability of compute resources in the distributed
system. Suppose that a user is driving a car while conversing with an AI model. The model
can run inference on a variety of compute nodes, ordered from lower to higher compute power
as follows: (1) the user's phone, (2) the computer in the car, (3) the 5G edge cloud,
and (4) the datacenter cloud. Correspondingly, the system can deploy four different models
with different levels of accuracy and compute requirements. The simplest model with the
least parameters can run in the phone, requiring less compute power but yielding lower
accuracy. Three other models ordered in increasing value of accuracy and computational
complexity can run in the car, the edge, and the cloud. The application can identify the
right trade-off between accuracy and computational cost, combined with metrics of
communication bandwidth and latency, to make the right decision on which of the four
models to use for every inference request. Note that this is similar to the
resolution/bandwidth trade-off commonly found in the image encoding problem, where an
image can be encoded and transmitted at different levels of resolution depending on the
available bandwidth in the communication channel. In the case of AI inference, however,
not only bandwidth is a scarce resource, but also compute.</t>
      </section>
      <section anchor="open-abstraction-for-edge-computing">
        <name>Open Abstraction for Edge Computing</name>
        <t>Modern applications such as AR/VR,
V2X, or IoT, require bringing compute
closer to the edge in order to meet
strict bandwidth, latency, and jitter requirements.  While this
deployment process resembles the path taken
by the main cloud providers
(notably, AWS, Facebook, Google and Microsoft) to deploy
their large-scale datacenters, the edge presents a
key difference: datacenter clouds (both in terms of their infrastructure
and the applications run by them) are owned and managed by a
single organization,
whereas edge clouds involve a complex ecosystem of operators,
vendors, and application providers, all striving to provide
a quality end-to-end solution to the user. This implies that,
while the traditional cloud has been implemented for the most part
by using vertically optimized and closed architectures, the edge will
necessarily need to rely on a complete ecosystem of carefully
designed open standards to enable horizontal interoperability
across all the involved parties.</t>
        <t>As an example, consider a user of an XR
application who arrives at his/her home by car. The application
runs by leveraging compute capabilities from both the
car and the public 5G edge cloud. As the user parks the
car, 5G coverage may diminish (due to building interference)
making the home local Wi-Fi connectivity a better choice.
Further, instead of relying on computational resources from
the car and the 5G edge cloud, latency can be reduced by leveraging
computing devices (PCs, laptops, tablets) available from the home
edge cloud.
The application's decision to switch from one
domain to another, however,
demands knowledge about the compute
and communication resources available both in the 5G and the Wi-Fi
domains, therefore requiring interoperability across multiple
industry standards (for instance, IETF and 3GPP on the public side,
and IETF and LF Edge <xref target="LF-EDGE"/> on the private home side).</t>
      </section>
      <section anchor="optimized-placement-of-microservice-components">
        <name>Optimized Placement of Microservice Components</name>
        <t>Current applications are transitioning from a monolithic service architecture
towards the composition of microservice components, following cloud-native
trends. The set of microservices can have
associated Service Level Objectives (SLOs) that impose
constraints not only in terms of the required computational resources
dependent on the compute facilities available, but also in terms of performance
indicators such as latency, bandwidth, etc, which impose restrictions in the
networking capabilities connecting the computing facilities. Even more complex
constraints, such as affinity among certain microservices components could
require complex calculations for selecting the most appropriate compute nodes
taken into consideration both network and compute information.</t>
      </section>
    </section>
    <section anchor="production-and-consumption-scenarios-of-compute-related-information">
      <name>Production and Consumption Scenarios of Compute-related Information</name>
      <t>It is important to understand the scenarios of production and consumption of compute-related information in combination with information related to communication. Leveraging such combination enables the possibility of resource and workload placement optimization, leading to both operational cost reductions to the operator and service provider, as well as an improvement on the service level experienced by the end users.</t>
      <section anchor="producers-of-compute-related-information">
        <name>Producers of Compute-Related Information</name>
        <t>The information relative to compute (i.e., processing capabilities, memory, and storage capacity) can be structured in two ways. On one hand, the information corresponding to the raw compute resources; on the other hand, the information of resources allocated or utilized by a specific application or service function.</t>
        <t>The former is typically provided by the management systems enabling the virtualization of the physical resources for a later assignment to the processes running on top. Cloud Managers or Virtual Infrastructure Managers are the entities that manage those resources. These management systems offer APIs to access the available resources in the computing facility. Thus, it can be expected that these APIs can be used for the consumption of such information. Once the raw resources are retrieved from the various compute facilities, it could be possible to generate topological network views of them, as being proposed in <xref target="I-D.llc-teas-dc-aware-topo-model"/>.</t>
        <t>Regarding the resources allocated or utilized by a specific application or service function, two situations apply: (1) The total allocation and (2) the allocation per service or application. In the first case, the information can be supplied by the virtualization management systems described before. For the specific per-service allocation, it can be expected that the specific management systems of the service or application is capable to provide the resources being used at run time typically as part of the allocated ones. In this last scenario, it is also reasonable to expect the availability of APIs offering this information, even though they can be specific to the service or application.</t>
      </section>
      <section anchor="consumers-of-compute-related-information">
        <name>Consumers of Compute-Related Information</name>
        <t>The consumption of compute-related information is relative to the different phases of the service lifecycle. This means that this information can be consumed in different points of time and for different purposes.</t>
        <t>The expected consumers can be both external or internal to the network. As external consumers it is possible to consider external application management systems requiring resource availability information for service function placement decision, workload migration in the case of consuming raw resources, or requiring information on the usage of resources for service assurance or service scaling, among others.</t>
        <t>As internal consumers, it is possible to consider network management entities requiring information on the level of resource utilization for traffic steering (as the Path Selector in <xref target="I-D.ldbc-cats-framework"/>), load balance, or analytics, among others.</t>
      </section>
    </section>
    <section anchor="metrics-selection-and-exposure">
      <name>Metrics Selection and Exposure</name>
      <t>Regarding metrics exposure one can distinguish the topics of (1)
how the metrics are exposed and (2) which kind of metrics need to be exposed.
The infrastructure resources can be divided into network and compute related
resources. Network based resources can roughly be subdivided according to the
network structure into edge, backbone, and cloud resources.</t>
      <t>This section intends to give a brief outlook regarding these resources
for stimulating additional discussion with related work going on in
other IETF working groups or standardization bodies.</t>
      <section anchor="edge-resources">
        <name>Edge Resources</name>
        <t>Edge resources are referring to latency, bandwidth, compute
latency or traffic breakout.</t>
      </section>
      <section anchor="network-resources">
        <name>Network Resources</name>
        <t>Network resources relate to the traditional network
infrastructure. The next table provides an overview of some of the
commonly used metrics.</t>
        <table anchor="net_res">
          <name>Examples of network resource metrics.</name>
          <thead>
            <tr>
              <th align="left">Kind of Resource</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">QoS</td>
            </tr>
            <tr>
              <td align="left">Latency</td>
            </tr>
            <tr>
              <td align="left">Bandwidth</td>
            </tr>
            <tr>
              <td align="left">RTT</td>
            </tr>
            <tr>
              <td align="left">Packet Loss</td>
            </tr>
            <tr>
              <td align="left">Jitter</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="cloud-resources">
        <name>Cloud Resources</name>
        <t>The next table provides an example of parameters that
could be exposed:</t>
        <table anchor="cloud_res">
          <name>Examples of cloud resource parameters.</name>
          <thead>
            <tr>
              <th align="left">CPU</th>
              <th align="left">Compute</th>
              <th align="left">Available cpu resources</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">Memory</td>
              <td align="left">Compute</td>
              <td align="left">Available memory</td>
            </tr>
            <tr>
              <td align="left">Storage</td>
              <td align="left">Storage</td>
              <td align="left">Available storage</td>
            </tr>
            <tr>
              <td align="left">Configmaps</td>
              <td align="left">Object</td>
              <td align="left">Configuration and topology maps</td>
            </tr>
            <tr>
              <td align="left">Secrets</td>
              <td align="left">Object</td>
              <td align="left">Possible secrets</td>
            </tr>
            <tr>
              <td align="left">Pods</td>
              <td align="left">Object</td>
              <td align="left">Possible pods</td>
            </tr>
            <tr>
              <td align="left">Jobs</td>
              <td align="left">Object</td>
              <td align="left">Concurrent jobs</td>
            </tr>
            <tr>
              <td align="left">Services</td>
              <td align="left">Object</td>
              <td align="left">Concurrent services</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="considerations-about-metrics">
        <name>Considerations about Metrics</name>
        <t>The metrics considered in this document should be used to support
decisions for selection and deployment of services and applications.
Further iterations of this document may consider additional
life cycle operations such as assurance and relevant metrics.</t>
        <t>The network netrics listed above are specified in a number of
IETF documents such as RFC 9439 <xref target="I-D.ietf-alto-performance-metrics"/>,
which itself leverages on RFC 7679. The work on compute metrics
at the IETF, on the other hand, is in its first stages and merely
relates to low-level infrastructure metrics such as in <xref target="RFC7666"/>.
However:</t>
        <ul spacing="normal">
          <li>
            <t>decisions for service deployment and selection also involve
decisions that require an aggregated view for instance at the
service level,</t>
          </li>
          <li>
            <t>deciding entities may only have partial access to the compute
information and actually do not need to have all the details.</t>
          </li>
        </ul>
        <t>A number of public tools and methods to test compute facility
performances are made available by cloud service providers or
service management businesses, see <xref target="UPCLOUD"/> and <xref target="IR"/> to name a few.
However, for the proposed performance metrics, their definition and
acquisition method may differ from one provider to the other,
making it thus challenging to compare performances across different
providers. The latter aspect is particularly problematic for
applications running at the edge where a complex ecosystem of
operators, vendors, and application providers is involved
and calls for a common standardized definition.
<!--  REFS
UPCLOUD https://upcloud.com/resources/tutorials/how-to-benchmark-cloud-servers
IR https://www.ir.com/guides/cloud-performance-testing-->
        </t>
      </section>
      <section anchor="metric-dimensions">
        <name>Metric Dimensions</name>
        <t>Upon exploring existing work, this draft
proposes to consider a number of dimensions before identifying
the compute metrics needed to take a service operation decision.
This list is initial and is to be updated upon further discussion.</t>
        <t>Dimensions helping to identify needed compute metrics:</t>
        <table anchor="comp_dimensions">
          <name>Dimensions to consider when idenfitying compute metrics.</name>
          <thead>
            <tr>
              <th align="left">Dimension</th>
              <th align="left">Definition</th>
              <th align="left">Examples</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">Decision</td>
              <td align="left">what are the metrics used for</td>
              <td align="left">monitoring, benchmarking, service selection and placement</td>
            </tr>
            <tr>
              <td align="left">Driving KPI</td>
              <td align="left">what is assessed with the metrics</td>
              <td align="left">speed, scalability, cost, stability</td>
            </tr>
            <tr>
              <td align="left">Decision scope</td>
              <td align="left">different granularities</td>
              <td align="left">infrastructure node/cluster, compute service, end-to-end application</td>
            </tr>
            <tr>
              <td align="left">Receiving entity</td>
              <td align="left">receiving metrics</td>
              <td align="left">router, centralized controller, application management</td>
            </tr>
            <tr>
              <td align="left">Deciding entity</td>
              <td align="left">computing decisions</td>
              <td align="left">router, centralized controller, application management</td>
            </tr>
          </tbody>
        </table>
        <t>When metrics are documented according to their life cycle action, it allows for
a more reliable interpretation and informed utilization of the metrics.
The table below provides some examples:</t>
        <table anchor="metric_action">
          <name>Metrics documented by life cycle action.</name>
          <thead>
            <tr>
              <th align="left">Lifecycle action</th>
              <th align="left">Example</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">Acquisition method</td>
              <td align="left">telemetry, estimation</td>
            </tr>
            <tr>
              <td align="left">Value processing</td>
              <td align="left">aggregation, abstraction</td>
            </tr>
            <tr>
              <td align="left">Exposure</td>
              <td align="left">in-path distribution, off-path distribution</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="abstraction-level-and-information-access">
        <name>Abstraction Level and Information Access</name>
        <t>One important aspect to consider is that receiving entities that need to consume metrics to take selection or placement decisions do not always have access to computing information. In particular, several scenarios to be completed upon further discussions, may need to be considered among which:</t>
        <ul spacing="normal">
          <li>
            <t>the consumer is an ISP that does not own the compute infrastructure or has no access to full information. In this case the compute metrics will likely be estimated</t>
          </li>
          <li>
            <t>the consumer is an application that has no direct access to full information while the ISP has access to both network and compute information. However the ISP is willing to provide guidance to the application with abstract information.</t>
          </li>
          <li>
            <t>the consumer has access to full network and compute information and wants to use it for fine-grained decision making e.g. at the node/cluster level</t>
          </li>
          <li>
            <t>the consumer has access to full information but essentially needs guidance with abstracted information.</t>
          </li>
          <li>
            <t>the consumer has access to information that is abstracted or detailed depending on the metrics.</t>
          </li>
        </ul>
        <t>These scenarios further drive the selection of metrics upon the above mentioned dimensions.</t>
      </section>
      <section anchor="distribution-and-exposure-mechanisms">
        <name>Distribution and Exposure Mechanisms</name>
        <section anchor="metric-distribution-computing-aware-traffic-steering-cats">
          <name>Metric Distribution Computing-Aware Traffic Steering (CATS)</name>
          <t>Other existing work at the IETF CATS WG has explored the collection and distribution of computing metrics in <xref target="I-D.ldbc-cats-framework"/>. They consider three deployment models in their deployment considerations:</t>
          <ul spacing="normal">
            <li>
              <t>distributed among network devices directly,</t>
            </li>
            <li>
              <t>collected by a centralized control plane,</t>
            </li>
            <li>
              <t>hybrid where a part of computing metrics are distributed among involved network devices, and others may be collected by a centralized control plane.</t>
            </li>
          </ul>
          <t>In the hybrid mode, the draft suggests that some static information (e.g., capabilities information) can be distributed among network devices since they are quite stable. Frequent changing information (e.g., resource utilization) can be collected by a centralized control plane to avoid frequent flooding in the distributed control plane.</t>
          <t>Besides the required extensions to the routing protocols, the hybrid mode stresses the impact of the dynamicity of the distributed metrics and the need to carefully sort out the metric exposure mode w.r.t. their dynamicity.</t>
        </section>
        <section anchor="metric-exposure-with-extensions-of-alto">
          <name>Metric Exposure with Extensions of ALTO</name>
          <t>The ALTO protocol has been difined to expose an abstracted network topology and related path costs in <xref target="RFC7285"/>. Its extension RFC 9240 allows to define entities on which properties can be defined, while <xref target="I-D.contreras-alto-service-edge"/> introduces a proposed entity property that allows to consider an entity as both a network element with network related costs and properties and a element of a data center with compute related properties. Such an exposure mechanism is particularly useful for decision making entities which are centralized and located off the network paths.</t>
        </section>
        <section anchor="exposure-of-abstracted-generic-metrics">
          <name>Exposure of Abstracted Generic Metrics</name>
          <t>In some cases, whether due to unavailable information details or for the sake of simplicity, a consumer may need reliable but simple guidance to select a service. To this end, abstracted generic metrics may be useful.</t>
          <t>One can consider a generic metric that can be named “computingcost” and is applied to a contact point to one or more edge servers such as a load balancer, for short  an edge server, to reflect the network operator policy and preferences.  The metric “computingcost” results from an abstraction method that is hidden from users, similarly to the metric “routingcost” defined in <xref target="RFC7285"/>.  For instance, “computingcost” may be higher for an edge server located far away, or in disliked geographical areas, or owned by a provider who does not share information with the Internet Service Provider (ISP) or with which ISP has a poorer commercial agreement.  “computingcost” may also reflect environmental preferences in terms, for instance, of energy source, average consumption vs. local climate, location adequacy vs. climate.</t>
          <t>One may also consider a generic metric named “computingperf”, applied to an edge server, that reflects its performances, based on measurements or estimations by the ISP or combination thereof.  An edge server with a higher “computingperf” value will be preferred.  “computingperf” can be based on a vector of one or more metrics reflecting, for instance, responsiveness, reliability of cloud services based on metrics such as latency, packet loss, jitter, time to first and/or last byte, or a single value reflecting a global performance score.</t>
        </section>
      </section>
    </section>
    <section anchor="related-work">
      <name>Related Work</name>
      <t>Some existing work has explored compute-related metrics. They can be categorized as follows:</t>
      <ul spacing="normal">
        <li>
          <t>References providing raw compute infrastructure metrics: <xref target="I-D.contreras-alto-service-edge"/> includes references to cloud management solutions (i.e., OpenStack, Kubernetes, etc) which administer the virtualization infrastructure, providing information about raw compute infrastructure metrics. Furthermore, <xref target="NFV-TST"/> describes processor, memory and network interface usage metrics.</t>
        </li>
        <li>
          <t>References providing compute virtualization metrics: <xref target="RFC7666"/> provides several metrics as part of the Management Information Base (MIB) definition for managing virtual machines controlled by a hypervisor. The objects there defined make reference to the resources consumed by a particluar virtual machine serving as host for services or applications. Moreover, <xref target="NFV-INF"/> provides metrics associated to virtualized network functions.</t>
        </li>
        <li>
          <t>References providing service metrics including compute-related information: <xref target="I-D.dunbar-cats-edge-service-metrics"/> proposes metrics associated to services running in compute infrastructures. Some of these metrics do not depend on the infrastructure behavior itself but from where such compute infrastructure is topologically located.</t>
        </li>
        <li>
          <t>Other existing work at the IETF CATS WG has explored the collection
and distribution of computing metrics in <xref target="I-D.ldbc-cats-framework"/>.
In their deployment considerations, they consider three models: distributed,
centralized and hybrid.</t>
        </li>
      </ul>
    </section>
    <section anchor="guiding-principles">
      <name>Guiding Principles</name>
      <t>The driving principles for designing an interface to jointly extract
network and compute information are as follows:</t>
      <t>P1. Leverage metrics across working groups to avoid reinventing the wheel. For instance:</t>
      <ul spacing="normal">
        <li>
          <t>RFC 9439 <xref target="I-D.ietf-alto-performance-metrics"/> leverages IPPM metrics from RFC 7679.</t>
        </li>
        <li>
          <t>Section 5.2 of <xref target="I-D.du-cats-computing-modeling-description"/> considers delay as a good metric, since it is easy to use in both compute and communication domains. RFC 9439 also defines delay as part of the performance metrics.</t>
        </li>
        <li>
          <t>Section 6 of <xref target="I-D.du-cats-computing-modeling-description"/> proposes to represent the network structure as graphs, which is similar to the ALTO map services in <xref target="RFC7285"/>.</t>
        </li>
      </ul>
      <t>P2. Aim for simplicity, while ensuring the combined efforts
don’t leave technical gaps in supporting the full life cycle
of service deployment and selection. For instance, the CATS working
group is covering path selection from a network standpoint, while
ALTO (e.g., <xref target="RFC7285"/>) covers exposing of network information
to the service provider and the client application. However,
there is currently no effort being pursued to expose compute information
to the service provider and the client application for
service placement or selection.</t>
    </section>
    <section anchor="gap-analysis">
      <name>GAP Analysis</name>
      <t>From this related work it is evident that compute-related metrics can serve several purposes, ranging from service instance instantiation to service instance behavior, and then to service instance selection. Some of the metrics could refer to the same object (e.g., CPU) but with a particular usage and scope.</t>
      <t>In contrast, the network metrics are more uniform and straightforward. It is then necessary to consistently define a set of metrics that could assist to the operation in the different concerns identified so far, so that networks and systems could have a common understanding of the perceived compute performance. When combined with network metrics, the combined network plus compute performance behavior will assist informed decisions particular to each of the operational concerns related to the different parts of a service life cycle.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>TODO Security</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC7285">
          <front>
            <title>Application-Layer Traffic Optimization (ALTO) Protocol</title>
            <author fullname="R. Alimi" initials="R." role="editor" surname="Alimi"/>
            <author fullname="R. Penno" initials="R." role="editor" surname="Penno"/>
            <author fullname="Y. Yang" initials="Y." role="editor" surname="Yang"/>
            <author fullname="S. Kiesel" initials="S." surname="Kiesel"/>
            <author fullname="S. Previdi" initials="S." surname="Previdi"/>
            <author fullname="W. Roome" initials="W." surname="Roome"/>
            <author fullname="S. Shalunov" initials="S." surname="Shalunov"/>
            <author fullname="R. Woundy" initials="R." surname="Woundy"/>
            <date month="September" year="2014"/>
            <abstract>
              <t>Applications using the Internet already have access to some topology information of Internet Service Provider (ISP) networks. For example, views to Internet routing tables at Looking Glass servers are available and can be practically downloaded to many network application clients. What is missing is knowledge of the underlying network topologies from the point of view of ISPs. In other words, what an ISP prefers in terms of traffic optimization -- and a way to distribute it.</t>
              <t>The Application-Layer Traffic Optimization (ALTO) services defined in this document provide network information (e.g., basic network location structure and preferences of network paths) with the goal of modifying network resource consumption patterns while maintaining or improving application performance. The basic information of ALTO is based on abstract maps of a network. These maps provide a simplified view, yet enough information about a network for applications to effectively utilize them. Additional services are built on top of the maps.</t>
              <t>This document describes a protocol implementing the ALTO services. Although the ALTO services would primarily be provided by ISPs, other entities, such as content service providers, could also provide ALTO services. Applications that could use the ALTO services are those that have a choice to which end points to connect. Examples of such applications are peer-to-peer (P2P) and content delivery networks.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7285"/>
          <seriesInfo name="DOI" value="10.17487/RFC7285"/>
        </reference>
        <reference anchor="I-D.ietf-alto-performance-metrics">
          <front>
            <title>Application-Layer Traffic Optimization (ALTO) Performance Cost Metrics</title>
            <author fullname="Qin Wu" initials="Q." surname="Wu">
              <organization>Huawei</organization>
            </author>
            <author fullname="Y. Richard Yang" initials="Y. R." surname="Yang">
              <organization>Yale University</organization>
            </author>
            <author fullname="Young Lee" initials="Y." surname="Lee">
              <organization>Samsung</organization>
            </author>
            <author fullname="Dhruv Dhody" initials="D." surname="Dhody">
              <organization>Huawei</organization>
            </author>
            <author fullname="Sabine Randriamasy" initials="S." surname="Randriamasy">
              <organization>Nokia Bell Labs</organization>
            </author>
            <author fullname="Luis M. Contreras" initials="L. M." surname="Contreras">
              <organization>Telefonica</organization>
            </author>
            <date day="21" month="March" year="2022"/>
            <abstract>
              <t>The cost metric is a basic concept in Application-Layer Traffic
Optimization (ALTO), and different applications may use different
types of cost metrics. Since the ALTO base protocol (RFC 7285)
defines only a single cost metric (namely, the generic "routingcost"
metric), if an application wants to issue a cost map or an endpoint
cost request in order to identify a resource provider that offers
better performance metrics (e.g., lower delay or loss rate), the base
protocol does not define the cost metric to be used.

 This document addresses this issue by extending the specification to
provide a variety of network performance metrics, including network
delay, delay variation (a.k.a. jitter), packet loss rate, hop count,
and bandwidth.

 There are multiple sources (e.g., estimations based on measurements
or a Service Level Agreement) available for deriving a performance
metric. This document introduces an additional "cost-context" field
to the ALTO "cost-type" field to convey the source of a performance
metric.
              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-alto-performance-metrics-28"/>
        </reference>
        <reference anchor="I-D.du-cats-computing-modeling-description">
          <front>
            <title>Computing Information Description in Computing-Aware Traffic Steering</title>
            <author fullname="Zongpeng Du" initials="Z." surname="Du">
              <organization>China Mobile</organization>
            </author>
            <author fullname="Yuexia Fu" initials="Y." surname="Fu">
              <organization>China Mobile</organization>
            </author>
            <author fullname="Cheng Li" initials="C." surname="Li">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Daniel Huang" initials="D." surname="Huang">
              <organization>ZTE</organization>
            </author>
            <author fullname="Zhihua Fu" initials="Z." surname="Fu">
              <organization>New H3C Technologies</organization>
            </author>
            <date day="23" month="October" year="2023"/>
            <abstract>
              <t>   This document describes the considerations and the potential
   architecture of the computing information that needs to be notified
   into the network in Computing-Aware Traffic Steering (CATS).

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-du-cats-computing-modeling-description-02"/>
        </reference>
        <reference anchor="I-D.ldbc-cats-framework">
          <front>
            <title>A Framework for Computing-Aware Traffic Steering (CATS)</title>
            <author fullname="Cheng Li" initials="C." surname="Li">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Zongpeng Du" initials="Z." surname="Du">
              <organization>China Mobile</organization>
            </author>
            <author fullname="Mohamed Boucadair" initials="M." surname="Boucadair">
              <organization>Orange</organization>
            </author>
            <author fullname="Luis M. Contreras" initials="L. M." surname="Contreras">
              <organization>Telefonica</organization>
            </author>
            <author fullname="John Drake" initials="J." surname="Drake">
              <organization>Juniper Networks, Inc.</organization>
            </author>
            <date day="8" month="February" year="2024"/>
            <abstract>
              <t>   This document describes a framework for Computing-Aware Traffic
   Steering (CATS).  Particularly, the document identifies a set of CATS
   components, describes their interactions, and exemplifies the
   workflow of the control and data planes.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ldbc-cats-framework-06"/>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="NFV-TST" target="https://www.etsi.org/deliver/etsi_gs/NFV-TST/001_099/008/03.03.01_60/gs_NFV-TST008v030301p.pdf">
          <front>
            <title>ETSI GS NFV-TST 008 V3.3.1, NFVI Compute and Network Metrics Specification</title>
            <author>
              <organization/>
            </author>
            <date year="2020" month="June" day="01"/>
          </front>
        </reference>
        <reference anchor="NFV-INF" target="https://www.etsi.org/deliver/etsi_gs/NFV-INF/001_099/010/01.01.01_60/gs_NFV-INF010v010101p.pdf">
          <front>
            <title>ETSI GS NFV-INF 010, v1.1.1, Service Quality Metrics</title>
            <author>
              <organization/>
            </author>
            <date year="2014" month="December" day="01"/>
          </front>
        </reference>
        <reference anchor="LF-EDGE">
          <front>
            <title>Linux Foundation Edge</title>
            <author>
              <organization/>
            </author>
            <date year="2023" month="March"/>
          </front>
          <seriesInfo name="https://www.lfedge.org/" value=""/>
        </reference>
        <reference anchor="EDGE-ENERGY">
          <front>
            <title>Estimating energy consumption of cloud, fog, and edge computing infrastructures</title>
            <author>
              <organization/>
            </author>
            <date year="2019"/>
          </front>
          <seriesInfo name="IEEE Transactions on Sustainable Computing" value=""/>
        </reference>
        <reference anchor="DC-AI-COST">
          <front>
            <title>Generative AI Breaks The Data Center - Data Center Infrastructure And Operating Costs Projected To Increase To Over $76 Billion By 2028</title>
            <author>
              <organization/>
            </author>
            <date year="2023"/>
          </front>
          <seriesInfo name="Forbes, Tirias Research Report" value=""/>
        </reference>
        <reference anchor="UPCLOUD" target="https://upcloud.com/resources/tutorials/how-to-benchmark-cloud-servers">
          <front>
            <title>How to benchmark Cloud Servers</title>
            <author>
              <organization/>
            </author>
            <date year="2023" month="May"/>
          </front>
        </reference>
        <reference anchor="IR" target="https://www.ir.com/guides/cloud-performance-testing">
          <front>
            <title>Cloud Performance Testing Best Tips and Tricks</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="LLM_COMP_REQ" target="https://alpa.ai/tutorials/opt_serving.html">
          <front>
            <title>Serving OPT-175B, BLOOM-176B and CodeGen-16B using Alpa</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="I-D.llc-teas-dc-aware-topo-model">
          <front>
            <title>DC aware TE topology model</title>
            <author fullname="Young Lee" initials="Y." surname="Lee">
              <organization>Samsung Electronics</organization>
            </author>
            <author fullname="Xufeng Liu" initials="X." surname="Liu">
              <organization>Alef Edge</organization>
            </author>
            <author fullname="Luis M. Contreras" initials="L. M." surname="Contreras">
              <organization>Telefonica</organization>
            </author>
            <date day="10" month="July" year="2023"/>
            <abstract>
              <t>   This document proposes the extension of the TE topology model for
   including information related to data center resource capabilities.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-llc-teas-dc-aware-topo-model-03"/>
        </reference>
        <reference anchor="RFC7666">
          <front>
            <title>Management Information Base for Virtual Machines Controlled by a Hypervisor</title>
            <author fullname="H. Asai" initials="H." surname="Asai"/>
            <author fullname="M. MacFaden" initials="M." surname="MacFaden"/>
            <author fullname="J. Schoenwaelder" initials="J." surname="Schoenwaelder"/>
            <author fullname="K. Shima" initials="K." surname="Shima"/>
            <author fullname="T. Tsou" initials="T." surname="Tsou"/>
            <date month="October" year="2015"/>
            <abstract>
              <t>This document defines a portion of the Management Information Base (MIB) for use with network management protocols in the Internet community. In particular, this specifies objects for managing virtual machines controlled by a hypervisor (a.k.a. virtual machine monitor).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7666"/>
          <seriesInfo name="DOI" value="10.17487/RFC7666"/>
        </reference>
        <reference anchor="I-D.contreras-alto-service-edge">
          <front>
            <title>Use of ALTO for Determining Service Edge</title>
            <author fullname="Luis M. Contreras" initials="L. M." surname="Contreras">
              <organization>Telefonica</organization>
            </author>
            <author fullname="Sabine Randriamasy" initials="S." surname="Randriamasy">
              <organization>Nokia Bell Labs</organization>
            </author>
            <author fullname="Jordi Ros-Giralt" initials="J." surname="Ros-Giralt">
              <organization>Qualcomm Europe</organization>
            </author>
            <author fullname="Danny Alex Lachos Perez" initials="D. A. L." surname="Perez">
              <organization>Benocs</organization>
            </author>
            <author fullname="Christian Esteve Rothenberg" initials="C. E." surname="Rothenberg">
              <organization>Unicamp</organization>
            </author>
            <date day="13" month="October" year="2023"/>
            <abstract>
              <t>   Service providers are starting to deploy computing capabilities
   across the network for hosting applications such as AR/VR, vehicle
   networks, IoT, and AI training, among others.  In these distributed
   computing environments, knowledge about computing and communication
   resources is necessary to determine the proper deployment location of
   each application.  This document proposes an initial approach towards
   the use of ALTO to expose such information to the applications and
   assist the selection of their deployment locations.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-contreras-alto-service-edge-10"/>
        </reference>
        <reference anchor="I-D.dunbar-cats-edge-service-metrics">
          <front>
            <title>5G Edge Services Use Cases</title>
            <author fullname="Linda Dunbar" initials="L." surname="Dunbar">
              <organization>Futurewei</organization>
            </author>
            <author fullname="Kausik Majumdar" initials="K." surname="Majumdar">
              <organization>Microsoft</organization>
            </author>
            <author fullname="Gyan Mishra" initials="G. S." surname="Mishra">
              <organization>Huawei</organization>
            </author>
            <author fullname="Haibo Wang" initials="H." surname="Wang">
              <organization>Huawei</organization>
            </author>
            <author fullname="Haoyu Song" initials="H." surname="Song">
              <organization>Futurewei</organization>
            </author>
            <date day="6" month="July" year="2023"/>
            <abstract>
              <t>   This draft describes the 5G Edge computing use cases for CATS
   and how BGP can be used to propagate additional IP layer
   detectable information about the 5G edge data centers so that
   the ingress routers in the 5G Local Data Network can make
   path selections based on not only the routing distance but
   also the IP Layer relevant metrics of the destinations. The
   goal is to improve latency and performance for 5G Edge
   Computing (EC) services even when the detailed servers
   running status are unavailable.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-dunbar-cats-edge-service-metrics-01"/>
        </reference>
      </references>
    </references>
    <?line 604?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>TODO acknowledge.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
