<?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-02" 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-02"/>
    <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="04"/>
    <keyword>next generation</keyword>
    <keyword>unicorn</keyword>
    <keyword>sparkling distributed ledger</keyword>
    <abstract>
      <?line 77?>

<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 90?>

<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 and GPUs) are deployed to build the edge cloud through
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 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 in use 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 processes running on top. Cloud Managers or Virtual Infrastructure Managers are the entities which manage those resources. These management systems offer APIs from where to retrieve the available resources in a compute 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 in use by a specific application or service function, two situations apply. The total allocation and 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 allocation per service, 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 such information, even though it can be particular to a 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 such 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 view on the level of resource usage 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-exposure">
      <name>Metrics 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>
          <thead>
            <tr>
              <th align="left">Network</th>
              <th align="left">Kind of Resource</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">Path #1</td>
              <td align="left">QoS</td>
            </tr>
            <tr>
              <td align="left"> </td>
              <td align="left">Latency</td>
            </tr>
            <tr>
              <td align="left"> </td>
              <td align="left">Bandwidth</td>
            </tr>
            <tr>
              <td align="left"> </td>
              <td align="left">RTT</td>
            </tr>
            <tr>
              <td align="left"> </td>
              <td align="left">Packet Loss</td>
            </tr>
            <tr>
              <td align="left"> </td>
              <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>
          <thead>
            <tr>
              <th align="left">CPU</th>
              <th align="left">Compute</th>
              <th align="left">Sum of available cpu resources</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">Memory</td>
              <td align="left">Compute</td>
              <td align="left">Sum of available memory</td>
            </tr>
            <tr>
              <td align="left">Storage</td>
              <td align="left">Storage</td>
              <td align="left">Sum of available storage</td>
            </tr>
            <tr>
              <td align="left">Configmaps</td>
              <td align="left">Object</td>
              <td align="left">Sum of config maps</td>
            </tr>
            <tr>
              <td align="left">Secrets</td>
              <td align="left">Object</td>
              <td align="left">Sum of possible secrets</td>
            </tr>
            <tr>
              <td align="left">Pods</td>
              <td align="left">Object</td>
              <td align="left">Sum of possible pods</td>
            </tr>
            <tr>
              <td align="left">Jobs</td>
              <td align="left">Object</td>
              <td align="left">Sum of all parallel jobs</td>
            </tr>
            <tr>
              <td align="left">Services</td>
              <td align="left">Object</td>
              <td align="left">Sum of parallel services</td>
            </tr>
          </tbody>
        </table>
      </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>
      </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="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="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="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.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 488?>

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

-->

</rfc>
