Method and system for implementing elastic control plane in server-aware computing scenarios
By splitting the control plane into stateless functions and designing a dynamic scaling strategy, the problem of low scalability of the control plane in server-unaware computing scenarios is solved, and rapid response and improved stability under high concurrent loads are achieved.
Patent Information
- Application Number
- CN202411176696.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-26
- Publication Date
- 2025-09-19
- Estimated Expiration
- 2044-08-26
AI Technical Summary
The control plane in the existing technology has poor elasticity and cannot meet the delay and resource requirements under different loads, resulting in low scalability of the control plane in server-unaware computing scenarios.
The server-unaware computing control plane is split into stateless control functions. A functionalized control plane based on stateless functions and dynamic partitioning strategies is designed. The scaling engine is used to monitor the load and perform automatic scaling. Resource views are allocated through converged hashing to reduce decision conflicts.
It achieves dynamic expansion and contraction of the control plane, improves the system's response speed and stability in high-concurrency scenarios, reduces resource overhead, meets the latency and resource requirements under different loads, and improves the system's elasticity and scalability.
Smart Images

Figure CN119356841B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of cloud computing, and in particular to a method and system for implementing an elastic control plane for server-aware computing scenarios. Background Art
[0002] In recent years, server-aware computing has become an increasingly popular cloud computing development paradigm due to its advantages, including high-level abstraction of resources and programming, pay-as-you-go billing, and dynamic capacity expansion. In server-aware computing systems, the control plane is responsible for maintaining the state of the entire cluster and selecting specific functions to execute user requests. For example, the existing invention patent application document, "A Separate Memory Management Method for Server-Aware Computing," with publication number CN117519953A, includes the following: A platform user sends a request, which is placed in a task queue for scheduling; a task scheduler determines the execution order and available local memory size of each task based on current cluster resource information and feature information of each task in the task queue, and assigns a worker node to each task; the feature information represents a function of how the task's execution time varies with local memory; a worker node executes the assigned task, and if the memory used by the task exceeds the corresponding available local memory size, it accesses a remote memory pool to execute the task; the remote memory pool is a cluster of machines that provides memory resources; and a worker node monitor monitors the task execution status of each worker node. Like the aforementioned non-aware computing platforms in the prior art, the current mainstream server-aware computing platforms mostly use a centralized control plane, and each control plane component needs to communicate frequently to complete state synchronization. In this process, due to the limited computing resources of the centralized components, there is a throughput ceiling, which cannot meet the throughput requirements under high load. At the same time, multiple control plane components rely on central storage for state synchronization, and frequent database reads and writes will result in non-negligible communication overhead. For example, under the current platform, the centralized scheduler can only schedule less than 200 function instances per second. The communication delay caused by centralized communication can account for 90% of the total delay of a single request service. This causes the total delay of the request service to exceed 100ms, violating the service level objective (SLO). Therefore, how to solve the problem of low control plane scalability caused by the communication and computing bottlenecks of the current platform control plane is an important challenge in the field of server-aware computing.
[0003] Existing work has proposed optimization solutions for the centralized control plane, employing direct connections between components and distributed control components to reduce control plane overhead. For example, the existing invention patent application, "Server-Aware Computing Scheduling Method for Resource-Decoupled Data Centers," with publication number CN116302404A, includes: determining the corresponding task type based on a received task request RPC; determining the allocation ratio corresponding to the task type based on the task type; and assigning tasks of the task type to compute nodes or storage nodes for execution with corresponding probabilities based on the allocation ratio. This technology reduces control plane overhead in two ways, thereby improving control plane throughput. First, it uses direct communication between components to avoid expensive database read and write operations, thereby reducing communication overhead. Second, it uses multiple distributed components to replace the original centralized control component to process requests in parallel, thereby improving control component throughput. However, this technology still has some limitations: first, bottleneck transfer occurs, and throughput bottlenecks still exist when faced with bursty loads. In real-world server-aware computing production environments, high load bursts are inevitable. Secondly, it remains a static control plane, requiring platform developers to estimate load and statically configure control plane resources. This can lead to resource idleness and resource shortages in the face of fluctuating loads. Therefore, while current work has made some improvements, it still fails to fully address the control plane scalability issues in server-agnostic computing.
[0004] The existing invention patent application document with publication number CN116126488A is "A server-unaware computing adaptive resource scheduling method, system and computer equipment". The existing method includes: obtaining workload log data of the server-unaware computing function, obtaining characteristic indicator analysis of the workload log data, determining the threshold range θ of the function according to the characteristic indicator, determining the type of function, and selecting a corresponding scheduling strategy according to the threshold range θ of the function. The server-unaware computing adaptive resource scheduling method, system and computer equipment provided in this application analyze the workload in the actual generation environment, and set thresholds through a multi-target threshold mechanism based on multiple characteristic indicators, so that it can automatically select its appropriate resource scheduling mechanism under different threshold conditions, thereby realizing fine-grained resource management of server-unaware computing.
[0005] The existing public literature, "Function Scheduling Based on Spatiotemporal Characteristics in Server-Agnostic Computing Scenarios," analyzes the function scheduling problem in server-agnostic computing scenarios and identifies three factors that affect function completion time: queuing time, startup time, and execution time. Based on this analysis, a mathematical model is proposed to formally model the function scheduling problem in server-agnostic computing scenarios. Secondly, a server-agnostic computing scheduling algorithm, FuncSched, based on spatiotemporal characteristics of functions is proposed. This algorithm considers function execution time and function startup time in the temporal dimension and function resource usage in the spatial dimension.
[0006] Existing public literature fully considers workload-related characteristic indicators when designing scheduling strategies, striving to maximize resource utilization and minimize function execution time. However, the control plane architecture in the aforementioned existing literature ignores the problem of high workload volatility. When faced with high-concurrency requests that exceed the estimated load, the existing control plane architecture can easily become a bottleneck in the system, causing request timeouts and the system to fail to achieve the expected service quality goals. When dealing with extremely fluctuating loads, the performance of the control plane architecture will significantly decrease when the existing scheduling strategy handles extreme fluctuating loads, which in turn affects the reliability and response speed of the entire system. This is because the traditional control plane architecture did not fully consider its scalability when it was first designed. As the number of requests surges, the number of concurrent tasks that the system needs to handle also increases accordingly. The control plane architecture with fixed resource configuration finds it difficult to quickly adapt to such changes.
[0007] In summary, the existing technology has the technical problem of poor control plane elasticity and inability to meet the delay and resource requirements under different loads, resulting in low scalability of the control plane in server-unaware computing scenarios. Summary of the Invention
[0008] The technical problem to be solved by the present invention is: how to solve the technical problem in the existing technology that the control plane has poor elasticity and cannot meet the delay and resource requirements under different loads, resulting in low scalability of the control plane in the server-unaware computing scenario.
[0009] The present invention solves the above technical problems by adopting the following technical solutions: A method for implementing an elastic control plane for server-unaware computing scenarios includes:
[0010] S1. Functionalize the server-agnostic computing control plane. This involves splitting the server-agnostic computing control plane into stateless control functions to enable automatic scaling of the server-agnostic computing control plane. As shown in Table 1, the control plane's functionality is split into three independent modules: the dispatcher, scheduler, and cluster manager, ensuring independent scaling to achieve their respective functions.
[0011]
[0012] In the underlying functional control plane, stateless control functions are used to perform user interaction operations and execute request distribution operations of the server-unaware computing control plane to perform instance scheduling. The server-unaware computing control plane includes: a top-level control plane and an underlying functional control plane;
[0013] S2. Based on the stateless functions and dynamic partitioning strategy in the server-unaware computing control plane, a functional control plane is collaboratively designed.
[0014] S3. Design a control plane scaling strategy. Based on the rendezvous hash, design a control component resource view allocation strategy to handle differential demands when the load fluctuates, balance decision speed and decision quality, and divide resource views for control instances corresponding to different stateless control functions.
[0015] This paper proposes an elastic control plane technology for server-aware computing scenarios, supporting automatic scaling of the control plane to meet user throughput needs. By splitting the control plane into stateless functions, this technology enables dynamic scaling of the control plane, improving its elasticity and meeting latency and resource requirements under varying loads. This addresses the issue of low control plane scalability in server-aware computing scenarios.
[0016] In a more specific technical solution, in S1, the top-level control plane includes: gateway, top-level controller and global state storage.
[0017] In a more specific technical solution, the gateway is used as the front-end API endpoint, and the gateway is used to accept external function requests. By calling the request distribution function, the execution function of the external function request is determined, and the external function request is forwarded to the execution function.
[0018] In a more specific technical solution, a top-level controller is used to coordinate the calling relationship between control function instances, and to divide resource views correspondingly for instances of the underlying functional control plane.
[0019] Compared with existing work, the present invention proposes a functionalized server-aware computing control plane, which realizes automatic scaling of the control plane by splitting the control plane into stateless functions.
[0020] The present invention utilizes the top-level controller to coordinate the calling relationship between control function instances and divides the resource view for the bottom-level functional control plane instance to reduce the probability of decision conflicts.
[0021] In more specific technical solutions, S3 includes:
[0022] S31. Use a preset scaling engine to monitor the load of each stateless control function. When the load exceeds a preset load threshold, use the scaling engine to trigger the scaling process and call a preset scheduling function to select a deployment location for the control instance of the stateless control function.
[0023] S32, performing a cold start operation;
[0024] S33: performing an adding operation on the functionalized control plane to adjust the throughput parameters of the functionalized control plane;
[0025] S34. When a decision conflict or failure occurs, the resource view is dynamically divided into different control instances to avoid instance decision conflicts of no less than two stateless control functions.
[0026] The present invention realizes a functionalized control plane based on the collaborative design of stateless functions and dynamic partitioning strategies in server-unaware computing, and further designs a control plane expansion and contraction strategy and a control component resource view allocation strategy based on convergent hashing.
[0027] In a more specific technical solution, S31 also includes:
[0028] S311. When the functionalized control plane is expanded, obtaining and using request latency as a scaling indicator to perceive load tilt information of the functionalized control plane;
[0029] S312: When the request delay of the stateless control function is greater than or equal to a preset delay threshold, use the scaling engine to offload redundant tasks to an idle control instance;
[0030] S313. If there is no idle stateless control function, the expansion process is triggered by the expansion engine, the scheduling function is called to expand the capacity to obtain a new control function, and the task is offloaded to the new control function;
[0031] S314: When the request delay is less than the preset delay threshold, the scaling engine is used to trigger the scaling process, and the top-level controller is used to select the stateless control function with the least tasks to perform the locking operation;
[0032] S315. When the current task is completed, the resource control authority is released, the current new control function is deleted, and the scaling down operation on the functionalized control plane is completed.
[0033] The present invention uses a scaling engine to monitor the load of each control function. When the load is high, it triggers the scaling process and calls the scheduling function to select a deployment location for the control function instance. After the cold start is completed, a functionalized control plane is added to improve the throughput of the control plane.
[0034] In a more specific technical solution, S32 also includes:
[0035] S321. When the functionalized control plane is expanded, when the expansion process is triggered, the stateless control function is preferentially scheduled using the preset scheduling function instance in the control instance to obtain the scheduling result;
[0036] S322: The scheduling function instance synchronizes the scheduling result to the corresponding working node to perform a cold start operation;
[0037] S323. Register with the top-level controller using the new control function to obtain a resource view.
[0038] S324. When the top-level controller monitors the registration action of the new control instance, it calculates the resource view allocated to the new control instance, notifies the component holding the resource view, performs a view release operation, and transfers the resource view to the new control instance through a view reallocation operation.
[0039] S325: When the view reallocation operation is completed, the top-level controller is notified through the service discovery mechanism to monitor the new instance addresses of the remaining components that generate the new control instance change.
[0040] In a more specific technical solution, S34 includes:
[0041] S341. During the dynamic partitioning and detection operations of the functionalized control plane, each control instance of the stateless control function preferentially selects applicable resources in the local resource view.
[0042] S342: If the control instance in the current stateless control function does not have applicable resources, the stateless control function requests the other stateless control functions at the same level to select applicable resources.
[0043] In a more specific technical solution, during the detection operation of S341, a detection cache mechanism is used to record detection feedback and probes, and mark resource restriction information of both parties in the detection operation to establish a control function resource cache table.
[0044] The present invention can establish a control function resource cache table in limited detection, skip instances that cannot meet the requirements in the cache, avoid redundant detection processes, and greatly improve the detection success rate.
[0045] In a more specific technical solution, the elastic control plane implementation system for server-aware computing scenarios includes:
[0046] The plane functionalization and instance scheduling module is used to functionalize the server-unaware computing control plane and split the server-unaware computing control plane into stateless control functions to perform automatic scaling actions on the server-unaware computing control plane. In the underlying functionalized control plane, the stateless control functions are used to perform user interaction operations and execute request distribution operations on the server-unaware computing control plane to perform instance scheduling. The server-unaware computing control plane includes: a top-level control plane and a bottom-level functionalized control plane.
[0047] The functionalized plane design module is used to collaboratively design a functionalized control plane based on the stateless functions and dynamic partitioning strategy in the server-unaware computing control plane. The functionalized plane design module is connected to the plane functionalization and instance scheduling module.
[0048] The resource view partitioning module is used to design the control plane expansion and contraction strategy. Based on the converged hash, the control component resource view allocation strategy is designed to handle different demands when the load fluctuates, and to balance the decision speed and decision quality. The resource view is divided for the control instances corresponding to different stateless control functions. The resource view partitioning module is connected to the functional plane design module.
[0049] Compared with the prior art, the present invention has the following advantages:
[0050] This paper proposes an elastic control plane technology for server-aware computing scenarios, supporting automatic scaling of the control plane to meet user throughput needs. By splitting the control plane into stateless functions, this technology enables dynamic scaling of the control plane, improving its elasticity and meeting latency and resource requirements under varying loads. This addresses the issue of low control plane scalability in server-aware computing scenarios.
[0051] The present invention utilizes the top-level controller to coordinate the calling relationship between control function instances and divides the resource view for the bottom-level functional control plane instance to reduce the probability of decision conflicts.
[0052] The present invention realizes a functionalized control plane based on the collaborative design of stateless functions and dynamic partitioning strategies in server-unaware computing, and further designs a control plane expansion and contraction strategy and a control component resource view allocation strategy based on convergent hashing.
[0053] The present invention uses a scaling engine to monitor the load of each control function. When the load is high, it triggers the scaling process and calls the scheduling function to select a deployment location for the control function instance. After the cold start is completed, a functionalized control plane is added to improve the throughput of the control plane.
[0054] The present invention can establish a control function resource cache table in limited detection, skip instances that cannot meet the requirements in the cache, avoid redundant detection processes, and greatly improve the detection success rate.
[0055] In order to solve the problem that the control plane architecture with fixed resource configuration has difficulty in quickly adapting to the surge in the number of concurrent tasks due to the lack of sufficient consideration of scalability, this application proposes a new control plane architecture design, with special attention to scalability under fluctuating loads. By reconstructing the control plane architecture into a serverless computing function, the system can flexibly adjust resource configuration according to real-time load conditions to achieve automatic expansion and contraction. This architecture not only improves the response speed and stability of the system in high-concurrency scenarios, but also effectively avoids the degradation of service quality due to insufficient resources. Compared with the traditional control plane architecture, this serverless computing function design can better adapt to the changing load requirements in modern computing environments and provide higher elasticity and scalability. Whether facing sudden large-scale requests or daily stable loads, the new architecture can operate efficiently to ensure that the system continues to provide high-quality services. This innovation will significantly improve the performance of the scheduling system under various load conditions and provide a solid technical foundation for future applications.
[0056] The present invention solves the technical problems in the prior art of poor control plane elasticity, inability to meet delay and resource requirements under different loads, and low scalability of the control plane in server-unaware computing scenarios. BRIEF DESCRIPTION OF THE DRAWINGS
[0057] Figure 1 This is a schematic diagram of the basic steps of a method for implementing an elastic control plane in a server-aware computing scenario according to embodiment 1 of the present invention;
[0058] Figure 2 This is a schematic diagram of the system architecture for implementing an elastic control plane in a server-aware computing scenario according to Example 1 of the present invention;
[0059] Figure 3 This is a schematic diagram of the resource view allocation strategy principle of the control component of the converged hash embodiment 1 of the present invention;
[0060] Figure 4 This is a schematic diagram of dynamic partitioning and detection of the control plane in Example 1 of the present invention;
[0061] Figure 5 This is a schematic diagram of data flow processing during the control plane expansion process of Example 1 of the present invention;
[0062] Figure 6 This is a schematic diagram of the control plane scheduling process in Example 1 of the present invention;
[0063] Figure 7 Schematic diagram showing comparison of throughput and latency in Example 1 of the present invention;
[0064] Figure 8 This is a schematic diagram of the scalability of Example 1 of the present invention;
[0065] Figure 9 This is a schematic diagram of resource usage under fluctuating load in Example 1 of the present invention. DETAILED DESCRIPTION
[0066] To make the objectives, technical solutions, and advantages of the embodiments of the present invention more clear, the technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. All other embodiments obtained by ordinary technicians in this field based on the embodiments of the present invention without making any creative efforts shall fall within the scope of protection of the present invention.
[0067] Example 1
[0068] like Figure 1 As shown, the method for implementing an elastic control plane for server-unaware computing scenarios provided by the present invention includes the following basic steps:
[0069] S1. Functionalize the server-aware computing control plane and split it into stateless functions to achieve automatic scaling of the control plane.
[0070] In this embodiment, in order to make up for the shortcomings of existing solutions and achieve the goal of reducing control plane overhead, an elastic control plane technology for server-unaware computing scenarios is proposed, which splits the existing server-unaware computing control plane into stateless functions to achieve dynamic scaling of the control plane, which can significantly reduce the overhead of communication between components and control plane decision-making, and effectively reduce resource overhead in low-load scenarios.
[0071] like Figure 2 As shown, in this embodiment, the control plane includes: a top-level control plane and a bottom-level functionalized control plane. In this embodiment, the top-level control plane includes but is not limited to: a gateway, a top-level controller, and a global state store.
[0072] In this embodiment, the gateway serves as the front-end API endpoint. It accepts external function requests, determines the function to execute by calling the request dispatch function, and forwards the request to the function. The top-level controller coordinates the calling relationships between control function instances and partitions resource views for the underlying functionalized control plane instances to reduce the probability of decision conflicts.
[0073] S2. The present invention collaboratively designs and implements a functionalized control plane based on the stateless function and dynamic partitioning strategy in server-unaware computing.
[0074] In this embodiment, the underlying functionalized control plane includes: the stateless control function split from the original control plane, which is responsible for interacting with users and implementing the request distribution, instance scheduling and other functions of the original control plane.
[0075] S3. Design control plane scaling strategies and control component resource view allocation strategies based on convergence hashing.
[0076] In this embodiment, the scaling engine monitors the load of each control function. When the load is high, it triggers the scaling process and calls the scheduling function to select a deployment location for the control function instance. After the cold start is completed, the functionalized control plane is added to improve the throughput of the control plane.
[0077] like Figure 3 As shown, in this embodiment, when the control plane is expanded, the system will calculate a hash value by splicing the new instance (such as the scheduler instance) with the resources to be allocated, and sort them with other instances. Resources will be allocated to the instance with the highest hash value. The converged hash can evenly distribute data, ensure load balancing among the control plane instances, and improve resource utilization. Its design only requires the redistribution of a small amount of data when the number of nodes changes, significantly reducing the overhead of data migration and improving the stability and performance of the control plane when expanding and contracting.
[0078] In this embodiment, in response to decision conflicts and failures, resource views are dynamically divided into different control function instances to avoid decision conflicts among multiple control function instances.
[0079] like Figure 4 As shown in the figure, during the dynamic partitioning and detection operation of the control plane, each control function instance has a different resource view and gives priority to selecting resources that meet the conditions in the local resource view; if no resources that meet the conditions can be found, the control function will ask the control function at the same level whether it can complete the task; when the load is low, a single control function has a larger resource view, high scheduling quality, and a higher detection success rate; when the load is high, there are more control function instances, and multiple control function instances make decisions together, which greatly improves the throughput speed of the control plane.
[0080] The aforementioned method meets different requirements under fluctuating loads and achieves a trade-off between decision speed and decision quality.
[0081] In this embodiment, a probe cache mechanism is introduced to improve the detection speed of control functions. By recording probe feedback and probes, marking the resource limitations of both the probe and the probe, a control function resource cache table can be established during limited detection. Instances that cannot be met in the cache are skipped, avoiding redundant detection processes and significantly improving the detection success rate.
[0082] In the control plane expansion operation of this embodiment, request delay is used as the expansion and contraction indicator, which can effectively perceive situations such as control plane load inclination; when the control function processing delay exceeds the threshold, the expansion and contraction engine will offload redundant tasks to idle control instances; if there is no idle control function, the expansion and contraction engine will trigger the expansion process, call the scheduling function to expand a new control function, and offload the task to the new control function; when the delay is less than the specified threshold, the expansion and contraction engine will trigger the contraction process, and the top-level controller will select the control function with the least tasks to lock it, wait for the current task to be completed, release the resource control right, delete the control function, and complete the contraction of the control plane.
[0083] like Figure 5 As shown, in the expansion process of the control plane in this embodiment, when the load of a control function instance is too high, triggering the expansion process, the scheduling of the control function is completed by the existing scheduling function instance with the highest priority, the same as the user function; after the scheduling is completed, the scheduling instance directly synchronizes the scheduling result to the corresponding working node for cold start; after the startup is completed, the control function will actively register with the top-level controller to obtain its resource view; after listening to the registration of the new control instance, the top-level controller will calculate the resource view allocated to the new instance, and notify the component holding the corresponding view to release the view and transfer it to the new control instance; after completing the view reallocation, the top-level controller will notify other components that listen to changes in this type of control instance of the address of the new instance through the service discovery mechanism.
[0084] Compared with existing work, the present invention can increase the maximum throughput of the control plane to 89,935 requests per second and reduce resource overhead by more than 87%. The present invention can increase the throughput by more than 8.6 times under the same service level objective (SLO). The present invention proposes to split the control plane into stateless functions to achieve dynamic expansion and contraction of the control plane when facing fluctuating loads, which not only greatly improves the throughput of the control plane, but also greatly reduces the overhead of the control plane. Under the same load, the present invention can reduce the overhead by 87% compared to existing work.
[0085] For the control plane scheduling process, see Figure 6 After receiving the request, the control plane queries for available function instances. If an instance is available, the request is forwarded to the available function instance (hot call). If no instance is available, the expansion process is triggered, and the scheduling request is forwarded to the scheduler, which selects an available node to start the function instance. The cluster manager synchronizes the instance status and node status to the distributor and scheduler respectively. Finally, the distributor distributes the request to the new instance.
[0086] Experimental setup:
[0087] Since this application focuses on the scheduling overhead of the control plane, it uses 210 containers to simulate nodes instead of launching real function instances. For a comparison of throughput and latency, see Figure 7 ; For extensibility, see Figure 8 ; For resource usage under fluctuating loads, see Figure 9 .
[0088] index:
[0089] 1.99th percentile scheduling delay: The time from when the gateway receives the request to when the scheduling is completed is the scheduling delay.
[0090] 2. Throughput: The number of instances scheduled per second
[0091] Comparison system:
[0092] 1. OpenFaaS: Centralized Scheduling Architecture
[0093] 1. Ray: Bottom-up Scheduling Architecture
[0094] 2. Atoll: Two-tier scheduling architecture
[0095] 3. Sparrow: Fully Distributed Scheduling Architecture
[0096] In summary, this paper proposes an elastic control plane technology for server-aware computing scenarios, supporting automatic scaling of the control plane to meet user throughput needs. By splitting the control plane into stateless functions, this paper achieves dynamic scaling of the control plane, thereby improving its elasticity and meeting latency and resource requirements under varying loads. This addresses the issue of low control plane scalability in server-aware computing scenarios.
[0097] The present invention utilizes the top-level controller to coordinate the calling relationship between control function instances and divides the resource view for the bottom-level functional control plane instance to reduce the probability of decision conflicts.
[0098] The present invention realizes a functionalized control plane based on the collaborative design of stateless functions and dynamic partitioning strategies in server-unaware computing, and further designs a control plane expansion and contraction strategy and a control component resource view allocation strategy based on convergent hashing.
[0099] The present invention uses a scaling engine to monitor the load of each control function. When the load is high, it triggers the scaling process and calls the scheduling function to select a deployment location for the control function instance. After the cold start is completed, a functionalized control plane is added to improve the throughput of the control plane.
[0100] The present invention can establish a control function resource cache table in limited detection, skip instances that cannot meet the requirements in the cache, avoid redundant detection processes, and greatly improve the detection success rate.
[0101] The present invention solves the technical problems in the prior art of poor control plane elasticity, inability to meet delay and resource requirements under different loads, and low scalability of the control plane in server-unaware computing scenarios.
[0102] The above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit the same. Although the present invention has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the various embodiments of the present invention.
Claims
1. A method for implementing an elastic control plane in a server-aware computing scenario, characterized in that: The method comprises: S1. Functionalize the server-unaware computing control plane and split the server-unaware computing control plane into stateless control functions to perform automatic scaling of the server-unaware computing control plane. In the underlying functionalized control plane, use the stateless control functions to perform user interaction operations and execute request distribution operations of the server-unaware computing control plane to perform instance scheduling. The server-unaware computing control plane includes: a top-level control plane and a bottom-level functionalized control plane. S2. Based on the stateless function and dynamic partitioning strategy in the server-unaware computing control plane, collaboratively design a functionalized control plane; S3. Design a control plane scaling strategy. Based on the converged hash, design a control component resource view allocation strategy to handle differential demands when the load fluctuates, balance decision speed and decision quality, and divide resource views for control instances corresponding to different stateless control functions.
2. The method for implementing a flexible control plane in a server-aware computing scenario according to claim 1, characterized in that: In S1, the top-level control plane includes: a gateway, a top-level controller, and a global state storage.
3. The method for implementing a flexible control plane in a server-aware computing scenario according to claim 2, wherein: The gateway is used as the front-end API endpoint, and the gateway is used to accept external function requests. By calling the request distribution function, the execution function of the external function request is determined, and the external function request is forwarded to the execution function.
4. The method for implementing a flexible control plane in a server-aware computing scenario according to claim 2, wherein: The top-level controller is used to coordinate the calling relationship between the control function instances, and the resource views are divided accordingly for the instances of the bottom-level functional control plane.
5. The method for implementing a flexible control plane in a server-aware computing scenario according to claim 1, wherein: The S3 includes: S31. Using a preset scaling engine to monitor the load of each stateless control function, when the load is greater than a preset load threshold, using the scaling engine to trigger a scaling process and calling a preset scheduling function to select a deployment location for the control instance of the stateless control function; S32, performing a cold start operation; S33: performing an adding operation on the functionalized control plane to adjust a throughput parameter of the functionalized control plane; S34. When a decision conflict or failure occurs, the resource view is dynamically divided into different control instances to avoid instance decision conflicts of no less than two stateless control functions.
6. The method for implementing a flexible control plane in a server-aware computing scenario according to claim 5, characterized in that: The S31 further includes: S311: When the functionalized control plane is expanded, obtaining and using request latency as a scaling indicator to perceive load tilt information of the functionalized control plane; S312: When the request delay of the stateless control function is greater than or equal to a preset delay threshold, use the scaling engine to offload redundant tasks to the idle control instance; S313: If there is no idle stateless control function, the expansion process is triggered by the expansion engine, the scheduling function is called to expand the capacity to obtain a new control function, and the task is offloaded to the new control function; S314: When the request delay is less than the preset delay threshold, trigger the scaling process using the scaling engine, and select the stateless control function with the least tasks using the top-level controller to perform a locking operation; S315. When the current task is completed, the resource control authority is released, the current new control function is deleted, and the scaling down operation on the functionalized control plane is completed.
7. The method for implementing a flexible control plane in a server-aware computing scenario according to claim 5, wherein: The S32 further includes: S321: When the functionalized control plane is expanded, when the expansion process is triggered, preferentially use the preset scheduling function instance in the control instance to schedule the stateless control function and obtain a scheduling result; S322: Enable the scheduling function instance to synchronize the scheduling result to the corresponding working node to perform the cold start operation; S323: Register with the top-level controller using the new control function to obtain the resource view; S324. When the top-level controller monitors the registration action of the new control instance, it calculates the resource view allocated to the new control instance, notifies the component holding the resource view, performs a view release operation, and transfers the resource view to the new control instance through a view reallocation operation; S325: When the view reallocation operation is completed, the top-level controller is notified through a service discovery mechanism to monitor new instance addresses of the remaining components that generate the new control instance change.
8. The method for implementing a flexible control plane in a server-aware computing scenario according to claim 5, wherein: The S34 includes: S341: During the dynamic partitioning and detection operations of the functionalized control plane, the control instance of each stateless control function preferentially selects applicable resources in the local resource view; S342: If the control instance in the current stateless control function does not have the applicable resource, the stateless control function requests the other stateless control functions at the same level to select the applicable resource.
9. The method for implementing a flexible control plane in a server-aware computing scenario according to claim 8, characterized in that: During the detection operation of S341, a detection cache mechanism is used to record detection feedback and probes, and to mark resource restriction information of both parties in the detection operation, so as to establish a control function resource cache table.
10. A flexible control plane implementation system for server-aware computing scenarios, characterized by: The system comprises: A plane functionalization and instance scheduling module is used to functionalize the server-unaware computing control plane, split the server-unaware computing control plane into stateless control functions, so as to perform automatic scaling actions of the server-unaware computing control plane, and use the stateless control functions in the bottom functionalized control plane to perform user interaction operations and execute request distribution operations of the server-unaware computing control plane to perform instance scheduling, wherein the server-unaware computing control plane includes: a top-level control plane and a bottom-level functionalized control plane; A functionalized plane design module, configured to collaboratively design a functionalized control plane based on the stateless functions and dynamic partitioning strategy in the server-unaware computing control plane, wherein the functionalized plane design module is connected to the plane functionalization and instance scheduling module; The resource view partitioning module is used to design the control plane expansion and contraction strategy. Based on the converged hash, the control component resource view allocation strategy is designed to handle different demands when the load fluctuates, and to balance the decision speed and decision quality. The resource view is divided for the control instances corresponding to different stateless control functions. The resource view partitioning module is connected to the functional plane design module.
Citation Information
Patent Citations
Server perception-free computing self-adaptive resource scheduling method and system and computer equipment
CN116126488A
Server perception-free computing scheduling method for resource decoupling data center
CN116302404A
Separated memory management method for non-perceptual computation of server
CN117519953A
SDN load balancing method based on fuzzy logic
CN109995864A
Server perception-free computing workflow arrangement method for resource efficiency optimization
CN116401055A