Internet-Draft | cats-req-service-segmentation | March 2025 |
Tran & Kim | Expires 26 September 2025 | [Page] |
This document discusses possible additional CATS requirements when considering service segmentation in related CATS use cases such as AR-VR and Distributed AI Training¶
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 26 September 2025.¶
Copyright (c) 2025 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 Training which are also key CATS use cases [draft-ietf-cats-usecases-requirements]. For example, according to [Ericssion-holographic-5g], an AR holographic communication service can be implemented as a pipeline of pre-processing, encoding/decoding and rendering subtasks. These subtasks can have multiple instances running over several edge computing sites. Meanwhile, federated learning model training service can be implemented in a hierarchical manner according to [hierfedml-ieee-parallel-distributed-system]. In this case, the federated learning global model aggregator service combines the local model training results from multiple worker model aggregators and computing devices. Different worker model aggregator and device combinations can affect the global model training performance. Hence, a desirable CATS system should consider these different subtask combinations in its design.¶
This document discusses the differences of applying CATS in this service segmenatation scenario compared with the normal CATS scenario where a service instance is not segmented. Based on the differences, possible additional CATS requirement are proposed and analyzed via examples of AR-VR and Distributed AI Training CATS use cases.¶
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 funtionality of the original service. The full functionalities of the original service is realized by aggregating the results from all of its divided service subtasks. Service subtasks can run in parallel or in sequence.¶
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.¶
In the normal CATS scenario:¶
In the Service Segmenatation CATS scenario:¶
To handle the differences mentioned above, this document proposes the following additional CATS Requirements:¶
Request AR hologram +--------+ | Client | +---|----+ | +-------|-------+ | Service*** | ***R3: Map request | Request | to decode + render | Segmentation | subtasks | Component | +-------|-------+ **R2: Route request to | *R1: Different subtask combination the determined | CATS cost (Decode + Render) subtask sequence | - Decode Site 1/3/4 & +-----|-----+------+ - Render Site 1/2/3 +-----------------------| CATS** |C-PS* |---------------------+ | Underlay** | Forwarder |------+ +-------+ | | Infrastructure +-----|-----+ |C-NMA* | | | | +-------+ | | +---------------+-----+---------+---------------+ | | 3ms 4ms 3ms 2ms | | nw delay nw delay nw delay nw delay | | | | | | | | | | | | | | | 2ms | 2ms | 3ms | | | | nw delay | nw delay | nw delay | | | | /-----------\ | /-----------\ | /-----------\ | | +-+-----|/----+---+----\|/----+---+----\|/----+---+----\|-----+--+ | CATS** | | CATS** | | CATS** | | CATS** | | Forwarder | | Forwarder | | Forwarder | | Forwarder | +-----|-----+ +-----|-----+ +-----|-----+ +-----|-----+ | | | | +-----|-----+ +-----|-----+ +-----|-----+ +-----|-----+ |+---------+| |+---------+| |+---------+| |+---------+| || Decode || || Render || || Decode || || Decode || |+---------+| |+---------+| |+---------+| |+---------+| +---+---+ | 3ms delay | | 3ms delay | | 5ms delay | | 8ms delay | |C-SMA* | | | | | | | | | +---+---+ |+---------+| | | |+---------+| | | | || Render || | | || Render || | | | |+---------+| | | |+---------+| | | | | 9ms delay | | | | 7ms delay | | | | +-----|-----+ +-----|-----+ +-----|-----+ +-----|-----+ | +---------------+---------------+---------------+-------------+ Service Service Service Service Site 1 Site 2 Site3 Site 4
Figure 1 discusses the additional CATS requirements in an AR hologram service use case referenced from [Ericssion-holographic-5g]. This example service is responsible for returning a processed 3D hologram upon receiving a request from an AR client (e.g. AR glass). The AR service is segmented into 2 subtasks: Decode and Render running in that respective sequence. These subtasks have multiple instances running in different service sites.¶
Considering applying CATS in this example scenario, the additional CATS requirements can be explained as follows:¶
R1: A CATS system should provide a method to distinguish different CATS candidate paths corresponding to different service subtask instance combinations¶
R2: A CATS system should provide a method to deliver the service request to the determined optimal service subtask instance combination in correct order and correct composition.¶
R3: A CATS system should provide a method to map the service request to corresponding segmented subtasks if the original service is not existed, only subtask instance endpoints are available.¶
Request FL model +--------+ | Client | +---|----+ | **R2: Different subtask combination **R1: Ask Global Aggregator | CATS cost (Global + Worker + Device) to use the determined | - Worker 1/2/1+2/3+4/3+4+5... combination +-----|-----+------+ - Device 1/2/1+2+3/4+5+... +-----------------------| CATS |C-PS**|---------------------+ | | Forwarder |------+ +-------+ | | Underlay +-----|-----+ |C-NMA**| | | Infrastructure | +-------+ | | +--------------+-----------------+ | | 3ms 4ms | | nw delay nw delay | | | | | +--------+-----|-----+--------------------+-----|-----+----------+ | CATS | | CATS | | Forwarder | | Forwarder | +-----|-----+ +-----|-----+ +-----|-----+ +-----|-----+ | Global | +-------+ | Global | | Aggregator| |C-SMA**| | Aggregator| | Instance 1| +-------+ | Instance 2| +-|------|--+ +-/----|----\ | | / | \ Different network delay between different Worker and Global Aggregators / \ / | \ +--------/-+ +-----\----+ +---------/+ +---|------+ +----\-----+ | Worker | | Worker | | Worker | | Worker | | Worker | |Aggregator| |Aggregator| |Aggregator| |Aggregator| |Aggregator| |Instance 1| |Instance 2| |Instance 3| |Instance 4| |Instance 5| | | | | | | | | | | |now serve:| |now serve:| |now serve:| |now serve:| |now serve:| |-3 models | |-2 models | |-3 models | |-1 model | |-2 models | |-5 devices| |-7 devices| |-4 devices| |-6 devices| |-8 devices| +-----|----+ +----|-----+ +----|-----+ +----|-----+ +----|-----+ | | | | | Different network delay between different devices and Worker Aggregators | | | | | +-----|------------|----------------|-------------|-------------|-----+ | Local Training Devices | | (Device 1, Device 2, ......., Device N) | | (Different computing capabilties) | +---------------------------------------------------------------------+
Figure Figure 2 discusses the additional CATS requirements in an Federated Learning Model Training service use case referenced from [hierfedml-ieee-parallel-distributed-system]. This example service is responsible for returning a trained federated learning model upon receiving a request from a client. The federated learning service is implemented in a hierarchical manner. The service endpoint for receiving client request is a Global federated learning Aggregator which can have multiple service instances. Upon receiving a trained model request, one or multiple Worker Aggregators and Local Training Devices are assigned to the Global Aggregator to train the model in a parallel manner. The number of Training Devices assigned for each Worker Aggregator is also varied. Each Worker Aggregator aggregates the local model parameters from its assigned Local Training devices and the Global Aggregator aggregates the parameters from its associated Worker Aggregators to create the global model for replying the client request.¶
Considering applying CATS in this example scenario, the additional CATS requirements can be explained as follows:¶
R1: A CATS system should provide a method to distinguish different CATS candidate paths corresponding to different service subtask instance combinations¶
R2: A CATS system should provide a method to deliver the service request to the determined optimal service subtask instance combination in correct order and correct composition.¶
R3: A CATS system should provide a method to map the service request to corresponding segmented subtasks if the original service is not existed, only subtask instance endpoints are available.¶