| Internet-Draft | cats-req-service-segmentation | October 2026 |
| Bui, et al. | Expires 16 April 2027 | [Page] |
This document discusses possible additional CATS requirements when considering service segmentation in related CATS use cases such as AR-VR and Distributed AI Inference¶
This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.¶
Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.¶
Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."¶
This Internet-Draft will expire on 16 April 2027.¶
Copyright (c) 2026 IETF Trust and the persons identified as the document authors. All rights reserved.¶
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License.¶
Service segmentation is a service deployment option that splits the service into smaller subtasks which can be executed in parallel or in sequence before the subtasks execution results are aggregated to serve the service request [draft-li-cats-task-segmentation-framework]. It is an interesting service deployment option that is widely considered to improve the performance of several services such as AR-VR or Distributed AI Inference which are also key CATS use cases [draft-ietf-cats-usecases-requirements].¶
For example, a recent 3GPP Technical Report on 6G use cases and services [TR-22870-3GPP] describes an XR rendering service that can be implemented as a sequential pipeline of subtasks, including a render engine, engine adaptation, and rendering acceleration. In contrast, an example of parallel service segmentation is parallel Machine Learning (ML) model partitioning for inference [SplitPlace], [Gillis]. Specifically, a ML model layer can be divided into multiple smaller partitions, which are executed in parallel. ML model inference, described as Distributed AI Inference in Section 4.6.1 of [draft-ietf-cats-usecases-requirements], can also be segmented by inference phase or by model role. In prefill-decode (PD) disaggregation, the prefilling and decoding phases of an autoregressive model, such as a Large Language Model (LLM), are executed in sequence by different service instances [DistServe] [Splitwise]. In speculative decoding, a small draft model and a large target model exchange proposals and verification results iteratively until the response is complete [Leviathan] [Chen]. In all these segmentation cases, subtask may have multiple instances which are deployed across different computing sites.¶
This document analyzes these CATS service segmentation use case examples to discuss the impact of service segmentation deployment method on CATS system design.¶
This document re-uses the CATS component terminologies which has been defined in [draft-ietf-cats-framework]. Additional definitions related to service segmentation are:¶
Service subtask: An offering that performs only a partial functionality of the original service. The complete functionality of the original service is achieved by aggregating the results of all its divided service subtasks. Subtask result aggregation may be performed either in parallel or sequentially.¶
Service subtask instance: When a service is segmented into multiple service subtasks, each service subtask might have multiple instances that performs the same partial functionality of the original service.¶
Iterative subtask execution: An execution of a segmented service in which two service subtasks exchange intermediate results repeatedly before a result is returned to the client. The number of exchanges depends on the processed data and is not known when the service subtask instances are selected.¶
Remote service subtask: A service subtask whose instance is located outside the CATS domain, at a location that is not selected by the CATS system. The network path between a service site in the CATS domain and a remote service subtask can nevertheless be measured.¶
In addition to service subtasks that each perform a part of the functionality of the original service, this document also considers service subtasks that cooperate to produce the result of the original service. An example is the draft model in speculative decoding (Section 4.3), which proposes results that another service subtask verifies.¶
XR Rendering request
+--------+
| Client |
+---|----+
|
+-------|-------+
| AR-VR(XR) |
| App Platform |
+-------|-------+
| Supposed Optimal combination:
| RE Site 1, EA Site 3, RA site 4
|
| Forwards packet in ORDER:
| Site 1 -> 3 -> 4
+-----|-----+------+
+-----------------------| CATS** |C-PS |---------------------+
| Underlay | Forwarder |------+ +-------+ |
| Infrastructure +-----|-----+ |C-NMA | |
| | +-------+ |
| +---------------+-----+---------+---------------+ |
| Various network latency between different links |
| | | | | |
| | /-----------\ | /-----------\ | /-----------\ | |
+-+-----|/----+---+----\|/----+---+----\|/----+---+----\|-----+--+
| CATS | | CATS | | CATS | | CATS |
| Forwarder | | Forwarder | | Forwarder | | Forwarder |
+-----|-----+ +-----|-----+ +-----|-----+ +-----|-----+
| | | |
+-----|------+ +----|------+ +----|-------+ +---|--------+
|+----------+| |+---------+| |+----------+| |+----------+|
|| Render || || Render || || Engine || || Render ||
|| Engine || || Engine || ||Adaptation|| ||Accelerate||
|+----------+| |+---------+| |+----------+| |+----------+| +---+---+
| Optimal | | | | Optimal | | Optimal | |C-SMA* |
| | | | | | | | +---+---+
|+----------+| | | |+----------+| | | |
|| Engine || | | || Render || | | |
||Adaptation|| | | ||Accelerate|| | | |
|+----------+| | | |+----------+| | | |
| | | | | | | | |
+-----|------+ +-----|-----+ +-----|------+ +-----|------+ |
+----------------+---------------+----------------+-------------+
Service Service Service Service
Site 1 Site 2 Site 3 Site 4
Figure 1 illustrates how a CATS system should perform optimal traffic steering for an XR rendering service deployed as a sequential pipeline of subtasks, including the render engine, engine adaptation, and rendering acceleration. This example is derived from the corresponding use case in [TR-22870-3GPP]. To return the rendered XR object to the client, the XR rendering request must be processed sequentially in the specified order by the three rendering subtasks.¶
Distributed AI Inference is one of the CATS use cases (Section 4.6.1 of [draft-ietf-cats-usecases-requirements]). A single ML model inference service can be segmented along different dimensions, which lead to different kinds of subtask execution. This section considers three of them: segmentation by model structure, in which the model is partitioned into slices that are executed in parallel (Section 4.1); segmentation by inference phase, in which the prefilling and decoding phases of an autoregressive model are executed in sequence at different service sites (Section 4.2); and segmentation by model role, in which a draft model and a target model cooperate iteratively (Section 4.3).¶
In all three examples, the client sends an ML inference request to the ML application platform, which forwards it via its attached CATS Forwarder. The C-PS selects the service subtask instances as described below, and the result is returned to the client via the platform.¶
+-----+ +----------+
+-----+ | | +-------+ | |
|Input|---> |Layer|--| Layer |--| Layer | Original ML Model
| | | 1 | | 2 (L2)| | 3 (L3) |
+-----+ |(L1) | +-------+ +----------+
+-----+
+-----+ +----------+
+-----+ |Split| +-------+ | |
|Input|---> | L1 |--|SplitL2|--| Split L3 | ML Model Slice 1
| |\ +-----+ +-------+ +----------+
+-----+ \
Split \ +-----+
> |Split| +-------+ +----------+
| L1 |--|SplitL2|--| Split L3 | ML Model Slice 2
+-----+ +-------+ +----------+
ML Inference request
+--------+
| Client |
+---|----+
|
+-------|-------+
*Merges output from| ML | *Divides input corresponding
Slice 1 and 2 | App Platform | to Slice 1, 2 input sizes
before responding +-------|-------+
to Client |
|
| Supposed Optimal combination:
| Slice 1 Site 1, Slice 2 Site 3
|
| Forwards packet in PARALLEL:
| Site 1 & 3
+-----|-----+------+
+-----------------------| CATS** |C-PS |---------------------+
| Underlay | Forwarder |------+ +-------+ |
| Infrastructure +-----|-----+ |C-NMA | |
| | +-------+ |
| +---------------+-----+---------+---------------+ |
| Various network latency between different links |
| | | | | |
| | /-----------\ | /-----------\ | /-----------\ | |
+-+-----|/----+---+----\|/----+---+----\|/----+---+----\|-----+--+
| CATS | | CATS | | CATS | | CATS |
| Forwarder | | Forwarder | | Forwarder | | Forwarder |
+-----|-----+ +-----|-----+ +-----|-----+ +-----|-----+
| | | |
+-----|------+ +----|------+ +----|-------+ +---|--------+
|+----------+| |+---------+| |+----------+| |+----------+|
|| Model || || Model || || Model || || Model ||
|| Slice1 || || Slice 1 || || Slice 2 || || Slice 2 ||
|+----------+| |+---------+| |+----------+| |+----------+| +---+---+
| Optimal | | | | Optimal | | | |C-SMA* |
| | | | | | | | +---+---+
| | | | | | | | |
+-----|------+ +-----|-----+ +-----|------+ +-----|------+ |
+----------------+---------------+----------------+-------------+
Service Service Service Service
Site 1 Site 2 Site 3 Site 4
Figure 3 illustrates how a CATS system can perform optimal traffic steering for a machine learning (ML) inference service deployed as a parallel pipeline of subtasks, where each subtask corresponds to a vertically partitioned slice of the original ML model. Based on the ML model splitting use cases described in [SplitPlace] and [Gillis], Figure 2 shows how an ML model can be vertically partitioned into slices that are executed in parallel to reduce inference response time. The input inference data from the client should be partitioned according to the input dimensions expected by each model slice. These slices then process their respective inputs in parallel, and the resulting outputs are merged to produce the final inference result, which is returned to the client.¶
ML inference request
+--------+
| Client |
+--------+
|
+---------------+
| ML |
| App Platform |
+---------------+
|
| Supposed optimal combination:
| Prefill Site 1, Decode Site 3
|
+-----------+------+
+------------------------| CATS | C-PS |------------------+
| Underlay | Forwarder |------+ +-------+ |
| Infrastructure +-----------+ | C-NMA | |
| | +-------+ |
| | |
| +---------------+-------+-------+---------------+ |
+------+---------------+---------------+---------------+-------+
| | | |
+-----------+ +-----------+ +-----------+ +-----------+
| CATS | | CATS | | CATS | | CATS |
| Forwarder | | Forwarder | | Forwarder | | Forwarder |
+-----------+ +-----------+ +-----------+ +-----------+
| | | |
+-----------+ +-----------+ +-----------+ +-----------+
|+---------+| |+---------+| |+---------+| |+---------+|
|| Prefill || || Prefill || || Decode || || Decode ||
|+---------+| |+---------+| |+---------+| |+---------+|
| Optimal | | | | Optimal | | |
+-----------+ +-----------+ +-----------+ +-----------+
Service Service Service Service
Site 1 Site 2 Site 3 Site 4
Compute- Compute- Memory- Memory-
advantaged advantaged advantaged advantaged
Figure 4 illustrates how a CATS system can perform optimal traffic steering for an inference service of an autoregressive ML model, such as an LLM, deployed with prefill-decode (PD) disaggregation. Prefilling is compute-intensive, since the whole prompt is processed in one step, while decoding is memory-intensive, since the intermediate state of the inference (the KV cache) is held and read for every generated token [DistServe] [Splitwise]. Executing the two phases at different service sites, for example a compute-advantaged site for prefilling and a memory-advantaged site for decoding, allows each phase to be placed where the corresponding resource is available, so that the service is segmented into a prefill subtask followed by a decode subtask.¶
ML inference request
+--------+
| Client |
+--------+
|
+---------------+
| ML |
| App Platform |
+---------------+
|
| Supposed optimal instance:
| Draft model at Site 2
|
+-----------+------+
+------------------------| CATS | C-PS |------------------+
| Underlay | Forwarder |------+ +-------+ |
| Infrastructure +-----------+ | C-NMA | |
| | +-------+ |
| | |
| +---------------+---------------+ |
+--------------+---------------+---------------+---------------+
| | |
+-----------+ +-----------+ +-----------+
| CATS | | CATS | | CATS |
| Forwarder | | Forwarder | | Forwarder |
+-----------+ +-----------+ +-----------+
| | |
+-----------+ +-----------+ +-----------+
| Site 1 | | Site 2 | | Site 3 |
|+---------+| |+---------+| |+---------+|
|| Draft || || Draft || || Draft ||
|| Model || || Model || || Model ||
|+---------+| |+---------+| |+---------+|
| | | Optimal | | |
+-----------+ +-----------+ +-----------+
^ |
| | proposals (draft -> target)
| | verdicts (target -> draft)
CATS domain | | repeated once per iteration
- - - - - - - - - - - - - - -|-|- - - - - - - - - - - - - - -
| v
+---------------+
| Target Model |
+---------------+
Remote Site (outside the CATS domain)
Figure 5 illustrates how a CATS system can perform optimal traffic steering for an inference service of an autoregressive ML model, such as an LLM, that uses speculative decoding. A small draft model proposes a number of candidate tokens in sequence. A large target model verifies all of them in a single step, accepts the longest valid prefix, and provides the token at the first rejected position [Leviathan] [Chen]. The result is the same as the result the target model would produce alone, and the draft model reduces the number of sequential steps of the target model. The draft model is small enough to be instantiated at edge service sites in the CATS domain, whereas the target model requires a well-provisioned site. In this example, the target model is located at a remote site outside the CATS domain, and is therefore a remote service subtask whose placement is out of the scope of the CATS system. The two service subtasks exchange a proposal and a verification result once per iteration, and the number of iterations of a request depends on the generated content: a response of a few hundred tokens may require tens to hundreds of iterations.¶
In the normal CATS scenario:¶
In the Service Segmentation CATS scenario:¶
The following table summarizes how the examples of this document are segmented and what each adds to the CATS system design.¶
| Example | Segmented by | Subtask execution | Traffic between subtasks | Added consideration |
|---|---|---|---|---|
| XR rendering (Section 3) | Rendering stage | Sequential | Forwarded in order | Ordered steering |
| Vertical partitioning (Section 4.1) | Model structure | Parallel | Split and merged | Input partitioning |
| PD disaggregation (Section 4.2) | Inference phase | Sequential | Large, once per request | Subtask-specific metrics, inter-site bandwidth |
| Speculative decoding (Section 4.3) | Model role | Iterative | Repeated, may leave the CATS domain | Remote subtask, iteration weighting |
As AR/VR and Distributed AI Inference are among the CATS-supported use cases listed in [draft-ietf-cats-usecases-requirements], the CATS system should also fully support scenarios where service segmentation is applied to these use cases.¶
This section outlines five CATS system design considerations that are not yet addressed in existing CATS WG documents, including the Problem and Requirement document ([draft-ietf-cats-usecases-requirements]), the Framework document ([draft-ietf-cats-framework]), and the Metric Definition document ([draft-ietf-cats-usecases-requirements]):¶
- Traffic Steering Objective:¶
- Traffic Steering Mechanism:¶
- CATS Metrics Aggregation:¶
One possible realization of such metric aggregation is Service Pipeline Metrics.¶
Service Pipeline Metrics
+------+
| M3 |
+------+
|
-----------------------------------------
| |
+-------------+ +-------------+
L2: | M2-A | | M2-X |
| (Subtask A) | ( ... ) | (Subtask X) |
+-------------+ +-------------+
| |
------------------- -------------------
| | | |
+------+ +------+ +------+ +------+
L1: | M1-A | (...) | M1-A | | M1-X | (...) | M1-X |
+------+ +------+ +------+ +------+
| | | |
----------- ----------- ----------- -----------
| | | | | | | | | | | |
L0: M0 (...) M0 M0 (...) M0 M0 (...) M0 M0 (...) M0
The model organizes CATS-related measurements into multiple levels of abstraction. Level 0 (L0) metrics capture primitive measurements (e.g., resource, traffic, or system observations). Level 1 (L1) metrics are derived from L0 metrics to represent service-relevant aspects at a finer granularity. Level 2 (L2) metrics summarize the overall capability or suitability of each subtask (or subtask instance) by aggregating its L1 metrics. Finally, a pipeline-level metric (denoted as M3) is computed by aggregating the L2 metrics across all subtasks in a candidate pipeline, yielding a single score that can be used to compare candidate pipelines.¶
- Metrics toward Remote Service Subtasks:¶
- Subtask-specific Affinity and Service Continuity:¶