<?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-04" 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-04"/>
    <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="March" day="05"/>
    <keyword>next generation</keyword>
    <keyword>unicorn</keyword>
    <keyword>sparkling distributed ledger</keyword>
    <abstract>
      <?line 83?>

<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 understanding and 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 96?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Operators are starting to deploy distributed computing environments
in different parts of the network with the objective of addressing
different service needs including latency, bandwidth, processing
capabilities, storage, etc.
This translates in the emergence of a
number of data centers (both in the cloud and at the edge) of
different sizes (e.g., large, medium, small) characterized by
distinct dimension of CPUs, memory, and storage capabilities, as well
as bandwidth capacity for forwarding the traffic generated in and out
of the corresponding data center.</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.
This decision should be jointly
influenced on the one hand by the available resources in a given computing
environment, and on the other hand by the capabilities of the network path connecting
the traffic source with the destination.</t>
      <t>Network and compute aware function placement and 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, deployments may reach out to data centers running different implementations with different understandings and representations of compute capabilities and smooth operation is a challenge. 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 on 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 the 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) enable privacy/personalization
(e.g., federated AI learning), and (4) reduce cloud costs and
energy. 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 consists in 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 QoE that the provider wants to guarantee to the
user base. To make a proper deployment decision, the provider
must have visibility on the resources available from
the infrastructure, including communication resources (e.g., latency and
bandwidth) and compute (e.g., CPU, GPU, memory, storage). For instance,
to run a Large Language Model (LLM) with 175 billion parameters, a total
aggregated memory of 400GB and 8 GPUs are needed. 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 microservices 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 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</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.
In some cases, limited or no connectivity 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 almost equivalent
to a word. 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 precision 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. ALTO extensions to support
the exposure of compute resources would allow applications to make optimized decisions
on selecting the right computational resource, supporting the efficient execution of hybrid
AI workloads.</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.
This document envisions ALTO playing a role as part of the
ecosystem of open standards that are necessary to deploy and
operate the edge cloud.</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). ALTO
can be positioned to act as an abstraction layer supporting
the exposure of communication and compute information independently
of the type of domain the application is currently residing in.</t>
        <t>Future versions of this document will elaborate further on this
use case.</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 SLOs which impose
constraints not only in terms of required compute resources (CPU, storage, ...)
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
constrains, 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>
        <t>Thus, service/application orchestrators can benefit from the information exposed
by ALTO at the time of deciding the placement of the microservices in the network.</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 centzer 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="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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
DDEz+4+9Oeg9s3cvDy/ClTDV/wZlZlodLosAAA==

-->

</rfc>
