Internet-Draft | Task Segmentation Framework | December 2024 |
Li, et al. | Expires 23 June 2025 | [Page] |
This document proposes an extension to the Computing-Aware Traffic Steering (CATS) framework by introducing a task segmentation module. This extension enables the CATS framework to handle divisible computing requests by breaking them down into smaller computational units, referred to as "Task". The document focuses on two primary task segmentation modes: the distributed mode and the stepwise mode, providing detailed workflows for each.¶
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 23 June 2025.¶
Copyright (c) 2024 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.¶
With the growing demand for efficient and scalable network services, segmenting computational tasks for distributed processing has become increasingly important. This document extends the existing CATS framework by introducing a "Task Segmentation Module" (TSM), which collaborates with the CATS Service Metric Agent (C-SMA) and the CATS Network Metric Agent (C-NMA) to optimize task allocation and execution.¶
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.¶
This document makes use of the terms defined in [I-D.ietf-cats-framework]. In addition, the following terms are defined below:¶
A functional entity that is responsible for collecting service capabilities and status, and for reporting them to a CATS Path Selector (C-PS). (From [I-D.ietf-cats-framework])¶
A functional entity that is responsible for collecting network capabilities and status, and for reporting them to a C-PS. (From [I-D.ietf-cats-framework])¶
A functional entity that is responsible for determining which packets belong to a traffic flow for a particular service request. It is also responsible for forwarding such packets along a C-PS computed path that leads to the relevant service contact instance. (From [I-D.ietf-cats-framework])¶
In this document, a Task refers to a logical computational unit within a service request that can be processed independently. Tasks may represent simple computational steps or form part of a complex computational process. The granularity of a task is smaller than that of a "service" and represents specific operations executed within a service instance. For detailed task classifications, see Sections Section 4.1 and Section 4.2.¶
The Computing Power Brain (CPB) is responsible for coordinating the C-NMA and C-SMA to retrieve relevant data and determine the optimal task segmentation strategy.¶
The CATS Task Execution Agent (C-TEA) is responsible for receiving instructions from the CPB and carrying out the actual segmentation and distribution of tasks. During the task segmentation process, the C-TEA transforms logical tasks into actionable task units and interacts with the CATS Path Selector (C-PS) and the CATS Forwarder to ensure tasks are correctly delivered to the appropriate service sites.¶
The Task Segmentation Module (TSM), primarily composed of the CPB and C-TEA, is a functional component tasked with analyzing incoming requests and segmenting them into smaller task units based on their dependencies and independence. For further details, see Section 4.¶
To enhance the utilization of computing and network resources, this document extends the CATS framework by introducing the concept of task segmentation. Task segmentation involves breaking down received service requests into smaller computational units to enable more efficient distribution and processing across network and computing resources. Tasks can be categorized into two types based on their characteristics: divisible tasks and indivisible tasks.¶
These refer to computational requests that can be further broken down into multiple subtasks. Each subtask can either be processed Non-dependently or executed sequentially. Divisible tasks offer greater flexibility in allocation and processing, optimizing resource utilization.¶
These are computational requests that must be processed as a whole and cannot be broken into subtasks. These tasks are typically handled by a single service site and often involve low-complexity operations that require consistent processing.¶
Divisible tasks can be further divided into dependent tasks and Non-dependent tasks.¶
These tasks exhibit a defined sequence of execution and dependencies among subtasks. For example, the output of Task A serves as the input for Task B. Task allocation and resource scheduling must consider these dependencies to ensure tasks are processed in a specific order, meeting computational logic and data flow requirements.¶
These tasks can be divided into relatively autonomous atomic tasks, each of which can be completed Non-dependently without relying on the results of other tasks. Non-dependent tasks are suitable for parallel processing, significantly improving computational efficiency.¶
This section describes the process of task segmentation, as determined and executed by the CPB.¶
The CPB receives computational requests from clients.¶
Based on the characteristics and requirements of the request, the CPB determines whether the task is divisible.¶
If the task is divisible, the CPB further analyzes whether it involves task dependencies.If the task is indivisible, the request is allocated as a whole to an appropriate service instance for processing, as described in [I-D.ietf-cats-framework].¶
When task is divisible, dependent tasks are sequentially allocated and processed across service sites based on their dependencies. Non-dependent tasks are divided into multiple subtasks and distributed to different service sites for parallel processing. Specific segmentation details (e.g., segmentation ratio and the number of subtasks) are beyond the scope of this document.¶
Task segmentation significantly optimizes traffic steering and resource utilization within the CATS framework.¶
These are suitable for scenarios requiring sequential execution, such as data stream computing or complex pipeline processing, e.g., multi-step encoding and compression in video processing.¶
These are ideal for large-scale parallel computing, such as batch image processing or distributed data analysis tasks. By classifying and segmenting tasks, the CATS framework can dynamically adjust and optimize resource scheduling strategies to meet the performance requirements and service quality needs of various application scenarios.¶
Tasks serve as the fundamental units for service request allocation and computing resource scheduling. By segmenting requests into tasks, the CATS framework can optimize resource utilization and path selection in a more granular manner based on the current state of network and computing resources. The introduction of tasks enables the CATS framework to achieve the following:¶
Through task segmentation and distribution, the network can dynamically select the most suitable paths and service instances, thereby enhancing the utilization of both computing and network resources.¶
For divisible tasks, parallel processing can be leveraged to boost overall computational efficiency.¶
In the stepwise task mode, inter-task dependencies can be maintained to ensure the correct order of computation.¶
In the distributed mode, the task to be processed is intelligently segmented into Non-dependent subtasks and distributed across multiple service instances for parallel processing. This mode is suitable for tasks without dependencies.¶
As shown in Figure 1.The detailed workflow for distributed tasks is as follows:¶
The stepwise mode is applicable for tasks with interdependencies, where each subtask depends on the output of the previous subtask and must be routed sequentially between service sites.¶
As shown in Figure 2. The detailed workflow for stepwise tasks is as follows:¶