<?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.5 (Ruby 3.2.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-peng-cats-car-architecture-00" category="info" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.19.2 -->
  <front>
    <title abbrev="CAR Architecture">The Computing-Aware Routing Architecture in Computing-Aware Traffic Steering</title>
    <seriesInfo name="Internet-Draft" value="draft-peng-cats-car-architecture-00"/>
    <author fullname="Tianhao Peng">
      <organization>Beijing Jiaotong University</organization>
      <address>
        <email>th.peng@bjtu.edu.cn</email>
      </address>
    </author>
    <author fullname="Yuyin Ma">
      <organization>Beijing Jiaotong University</organization>
      <address>
        <email>mayuyin@bjtu.edu.cn</email>
      </address>
    </author>
    <date year="2024" month="February" day="17"/>
    <area>Routing area</area>
    <workgroup>cats</workgroup>
    <keyword>User Experience</keyword>
    <keyword>Collaborative Networking</keyword>
    <keyword>Service optimization</keyword>
    <abstract>
      <?line 34?>

<t>This document proposes a compute-aware routing (CAR) architecture for Computing-Aware Traffic Steering (CATS), designed to support routing systems with compute resource awareness and provide a standardized approach for network devices and services.</t>
    </abstract>
  </front>
  <middle>
    <?line 39?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>With the continuous increase of computing resources and the popularity of distributed computing, how to fully utilize these dispersed computing resources to provide better services has become an important challenge.
To address this challenge, Computing-Aware Traffic Steering (CATS) has been proposed.</t>
      <t>CATS requires the network to be able to perceive information about computing resources and select appropriate service instances based on the joint indicators of computing and the network, thereby achieving dynamic control of network traffic.
In the implementation of CATS, a key task is to design a message format that can transmit computing resource information.</t>
      <t>Therefore, the Computing-Aware Routing (CAR) message format is proposed.</t>
      <t>The CAR is a flexible and powerful message transmission method designed to support computing resource-aware routing systems.</t>
    </section>
    <section anchor="the-computing-aware-routing-headers-carh">
      <name>The Computing-Aware Routing Headers (CARH)</name>
      <artwork><![CDATA[
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Version|     Time to Live      |            Length             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
|                       Timestamp (64 bits)                     |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  CAI Type[0]  |                 CAI Value[0]                  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                              ...                              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  CAI Type[n]  |                 CAI Value[n]                  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
      <t>The CARH contains the following fields:</t>
      <ul spacing="normal">
        <li>
          <t>Version Number (4-bit): The version number indicates the CARH format version.</t>
        </li>
        <li>
          <t>Time to Live (8-bit): Time to Live indicates the effective time of the resource information represented by CARH.</t>
        </li>
        <li>
          <t>Length (16-bit): Length of the CARH.</t>
        </li>
        <li>
          <t>Timestamp (64-bit): Timestamp for perceiving resource information.</t>
        </li>
        <li>
          <t>CAI Type (8-bit): Computing-Aware Info Type (CAI Type) represents a type of computing resource and the order of magnitude corresponding to the specific value of that type of resource. This section corresponds one-to-one with the CAI Value.</t>
        </li>
        <li>
          <t>CAI Value (24-bit): Computing-Aware Info Value (CAI Value) represents the specific value of the resource identified by the CAI Type.</t>
        </li>
      </ul>
    </section>
    <section anchor="computing-aware-info-cai">
      <name>Computing-Aware Info (CAI)</name>
      <t>In order to comprehensively evaluate the computing power in the network, CARH needs to introduce a series of dynamic performance indicators to capture real-time changes in computing resources.</t>
      <t>These indicators need to cover key performance parameters of network devices during operation, such as CPU Utilization, CPU Frequency, CPU Cores, Memory Utilization, Memory Frequency, Storage Utilization, GPU Memory, GPU Utilization, etc.</t>
      <t>In CARH, use Computing-Aware Info (CAI) to carry these key performance parameters.</t>
      <t>Computing-Aware Info (CAI) consists of two parts: Computing-Aware Info Type (CAI Type) and Computing-Aware Info Value (CAI Value).</t>
      <t>Use the CAI Type field to represent the type of resource being carried, and use the CAI Value field to represent the numerical value and order of magnitude corresponding to the resource being carried.</t>
      <t>Here are some definitions of the CAI Type field.</t>
      <ul spacing="normal">
        <li>
          <t>0x01 - CPU Utilization: Indicates the percentage of time the CPU processor is executing tasks. The calculation formula is the used CPU time divided by the total CPU time.</t>
        </li>
        <li>
          <t>0x02 - CPU Frequency: Refers to the number of instructions executed by the CPU per second, usually in hertz (Hz).</t>
        </li>
        <li>
          <t>0x03 - CPU Cores: Represents the number of physical cores in the CPU processor. Multi-core processors can execute multiple tasks simultaneously.</t>
        </li>
        <li>
          <t>0x04 - Memory Utilization: Indicates the percentage of system memory in use. The calculation formula uses memory divided by total memory.</t>
        </li>
        <li>
          <t>0x05 - Memory Frequency: Refers to the clock speed of RAM, indicating the amount of data that the memory module can transfer per second.</t>
        </li>
        <li>
          <t>0x06 - Storage Utilization: Indicates the percentage of storage capacity being used in the storage system. The calculation formula uses storage divided by total storage capacity.</t>
        </li>
        <li>
          <t>0x07 - GPU Memory: Refers to the memory on the graphics processing unit (GPU) used to store data required for graphics and computing tasks.</t>
        </li>
        <li>
          <t>0x08 - GPU Utilization: Indicates the percentage of time the GPU processor is performing tasks. The calculation formula is the used GPU time divided by the total GPU time.</t>
        </li>
      </ul>
    </section>
    <section anchor="advanced-info">
      <name>Advanced Info</name>
      <t>Dynamic performance indicators can only serve as basic information transmitted in CARH. In fact, based on performance indicator information, some advanced performance indicators can be established according to specific network scenarios.
Advanced info is also a supplementary definition of CAI Type.</t>
      <section anchor="xf0-composite-performance-score-cps">
        <name>0xF0 - Composite Performance Score (CPS)</name>
        <t>From the perspective of computing power, a computing power weight allocation mechanism can be introduced to assign appropriate weights to different computing power factors.</t>
        <t>This mechanism gives appropriate weights to different computing power factors to more accurately reflect their relative importance when calculating comprehensive performance indicators.</t>
        <t>For example, in some scenarios, CPU utilization may be more critical, while memory usage may be more important in other scenarios. This can be customized by network administrators according to specific needs, or adjusted through CATS intelligent algorithms for Self-Adaptation.</t>
        <t>Therefore, a comprehensive scoring model can be proposed to take into account various computing power factors and generate a comprehensive score.</t>
        <t>This score can be a standardized value that reflects the overall computing power status of the system. The formulation of a comprehensive scoring model can combine Data Analysis and network topology features.</t>
      </section>
      <section anchor="xf1-network-quality-index-nqi">
        <name>0xF1 - Network Quality Index (NQI)</name>
        <t>From the perspective of network status, a network quality measurement mechanism can be introduced to evaluate network quality.</t>
        <t>Network Quality Index (NQI) takes into account several important performance indicators in the network, including latency, packet loss rate, bandwidth utilization, etc.</t>
        <t>The goal of NQI is to provide a single metric to measure the overall quality of the network, so that network administrators and system operators can more easily understand the performance of the network and take corresponding measures to optimize the network.</t>
        <t>The definition of NQI is based on the weighted average of a series of network performance indicators. Each performance indicator is assigned a weight, which reflects the relative importance of each indicator to network quality. Then, by multiplying the values of each indicator with its corresponding weight and adding all weighted values, a comprehensive score, namely NQI, is obtained.</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>TBD.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>
  </middle>
  <back>
    <?line 142?>

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

-->

</rfc>
