Server energy efficiency optimization system and method based on heterogeneous computing and storage medium

By using orchestration agents to decompose and adapt sub-services in heterogeneous computing servers, the energy efficiency of heterogeneous computing is optimized, redundant overhead is reduced, and energy efficiency is improved.

CN121879548APending Publication Date: 2026-04-17SHENZHEN GOLDEN MILLIMETER TECHNOLOGY CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
SHENZHEN GOLDEN MILLIMETER TECHNOLOGY CO LTD
Filing Date
2025-07-25
Publication Date
2026-04-17

AI Technical Summary

Technical Problem

The energy consumption problem of heterogeneous computing servers is becoming increasingly prominent, and traditional solutions are difficult to optimize the energy efficiency of multi-type processors working together.

Method used

By orchestrating intelligent agents, the target service is broken down into sub-services, and computing tools are adapted one by one from heterogeneous computing tools. Sub-service computing is executed in a semi-asynchronous manner, and the results are finally merged to optimize energy efficiency.

Benefits of technology

It reduces computational and processing redundancy overhead and improves the energy efficiency of heterogeneous computing servers.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121879548A_ABST
    Figure CN121879548A_ABST
Patent Text Reader

Abstract

The invention provides a server energy efficiency optimization system and method based on heterogeneous computing and a storage medium, belongs to the technical field of data processing, and is used for optimizing the energy efficiency of a server of heterogeneous computing through computing with a computing tool as granularity. The method comprises the following steps: an orchestration agent obtains description information from a consumption entity, wherein the description information is used for describing a consumption entity request to obtain a target service; the orchestration agent splits the target service into N sub-services and determines N calculation tools of which the calculation types are matched with the N sub-services one by one from the M calculation tools, and N is an integer larger than 2 and smaller than or equal to M; the orchestration agent calls N calculation tools to execute calculation of the N sub-services, and results of the N sub-services are obtained; and the orchestration agent combines the results of the N sub-services into the result of the target service, and returns the result of the target service to the consumption entity.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application is a divisional application of the invention application filed on July 25, 2025, with Chinese application number 202511033463.2 and entitled "Server Energy Efficiency Optimization Method, Terminal Equipment and System Based on Heterogeneous Computing". Technical Field

[0002] This application relates to the field of data processing technology, and in particular to a server energy efficiency optimization system, method and storage medium based on heterogeneous computing. Background Technology

[0003] With the rapid development of fields such as artificial intelligence, big data analytics, and scientific computing, traditional single-architecture servers face challenges in computing power and energy efficiency. Heterogeneous computing servers have emerged to address this issue. Their core idea is to integrate multiple types of processors to fully leverage the strengths of different computing units and achieve efficient collaborative task processing. For example, the central processing unit (CPU) handles logic control and general-purpose computing, the graphics processing unit (GPU) processes large-scale data in parallel, field-programmable gate arrays (FPGAs) provide low-latency customized computing, and artificial intelligence (AI) accelerators are optimized for scenarios such as deep learning. This hybrid architecture overcomes the limitations of traditional homogeneous computing and has become a core infrastructure for high-performance computing and data centers.

[0004] However, with the explosive growth in computing power demand, the energy consumption problem of heterogeneous computing servers has become increasingly prominent. In traditional data center energy consumption, computing unit power consumption accounts for more than 40%, while the collaborative work of multiple types of processors in heterogeneous architectures needs to solve the energy efficiency wall problem. For example, GPU clusters can consume thousands of watts during AI training, FPGA static power consumption and dynamic load fluctuations are significant, and the energy consumption of data transfer between CPUs and accelerators even exceeds that of the computing itself.

[0005] Therefore, new solutions are needed to further optimize the energy efficiency of servers for heterogeneous computing. Summary of the Invention

[0006] This application provides a server energy efficiency optimization system, method, and storage medium based on heterogeneous computing, which optimizes the energy efficiency of heterogeneous computing servers through computation at the granularity of computing tools.

[0007] To achieve the above objectives, this application adopts the following technical solution: In a first aspect, embodiments of this application provide a server energy efficiency optimization method based on heterogeneous computing. This method is applied to a server system based on heterogeneous computing. The system includes an orchestration agent and M heterogeneous computing tools, where M is an integer greater than 3. Different computing tools among the M tools provide different types of service computations. The method includes: the orchestration agent obtaining description information from a consumer entity, the description information describing the consumer entity's request to obtain a target service; the orchestration agent decomposing the target service into N sub-services, and determining N computing tools from the M computing tools whose computation types are matched one-to-one with the N sub-services, where N is an integer greater than 2 and less than or equal to M; the orchestration agent calling the N computing tools to execute the computations of the N sub-services, obtaining the results of the N sub-services; and the orchestration agent merging the results of the N sub-services into the result of the target service, and returning the result of the target service to the consumer entity.

[0008] Optionally, the orchestration agent decomposes the target service into N sub-services and determines N computing tools from M computing tools whose computing types are adapted to each of the N sub-services. This includes: the orchestration agent determining the intent corresponding to the description information and determining the N sub-services based on the intent; and the orchestration agent determining N computing tools whose computing types are adapted to each of the N sub-services based on the service computing types supported by each of the M computing tools.

[0009] Optionally, the orchestration agent determines the intent corresponding to the description information and determines N sub-services based on the intent, including: the orchestration agent analyzes the description information to obtain N initial intent information; the orchestration agent matches the N initial intent information with an intent template library to obtain N target intent information in the intent template library that corresponds one-to-one with the N initial intent information, each of the N target intent information being a description of a corresponding sub-service among the N sub-services; the orchestration agent determines N sub-services based on the N target intent information.

[0010] Optionally, the orchestration agent calls N computing tools to perform calculations on N sub-services and obtains the results of N sub-services. This includes: the orchestration agent calls N computing tools in a semi-asynchronous manner according to the order of the N sub-services to perform calculations on the N sub-services and obtains the results of the N sub-services.

[0011] Optionally, the orchestration agent, following the sequential order of the N sub-services, uses a semi-asynchronous approach to call N computing tools to execute the calculations of the N sub-services, obtaining the results of the N sub-services. This includes: the orchestration agent orchestrating the N sub-services to obtain their sequential order, and planning the start and completion times of each of the N sub-services; for the i-th sub-service among the N sub-services, where i is an integer from 1 to N-2: at the start time of the i-th sub-service, the orchestration agent calls the i-th computing tool among the N computing tools to execute its calculations, and instructs the N computing tools accordingly. The completion time of the i-th sub-service, and the result of the i-th sub-service returned by the i-th computing tool at the completion time of the i-th sub-service; wherein, the i-th computing tool is a computing tool that supports the computing type required to provide the i-th sub-service; for the (i+1)-th sub-service among the N sub-services: the orchestration agent starts the i+1-th sub-service, calls the (i+1)-th computing tool among the N computing tools to execute the calculation of the (i+1)-th computing tool, indicates the completion time of the (i+1)-th sub-service to the N computing tools, and receives the result of the i+1-th sub-service at the completion time of the (i+1)-th sub-service. The computational tool returns the result of the (i+1)th sub-service; where the start time of the (i+1)th sub-service is the midpoint between the start time and the completion time of the i-th sub-service, the completion time is the time point after the completion time of the i-th sub-service, and the (i+1)th computational tool is a computational tool that supports the type of computation required to provide the (i+1)th sub-service; for the (i+2)th sub-service among the N sub-services: the orchestration agent, at the start time of the (i+2)th sub-service, calls the (i+2)th computational tool among the N computational tools to execute the (i+2)th computation. The tool performs calculations and instructs N calculation tools on the completion time of the (i+2)th sub-service, and receives the result of the (i+2)th sub-service returned by the (i+2)th calculation tool at the completion time of the (i+2)th sub-service; where the start time of the (i+2)th sub-service is the completion time of the ith sub-service, the completion time of the (i+2)th sub-service is a point in time after the completion time of the (i+1)th sub-service, and the (i+2)th calculation tool is a calculation tool that supports the type of calculation required to provide the (i+2)th sub-service; then, this process continues until i+2=N, and the orchestration agent obtains the results of N sub-services.

[0012] Optionally, the results of the N sub-services are all ciphertext, totaling N ciphertexts. The method further includes: orchestrating an agent to perform decryption security protection on the N ciphertexts, and the plaintext results of the N sub-services.

[0013] Optionally, the orchestration agent performs security protection on N ciphertexts, and the plaintext results of each of the N sub-services include: for the first ciphertext among the N ciphertexts, the first ciphertext comes from the first computing tool among the N computing tools. The first computing tool performs the following operations: the first computing tool uses its root key to deduce its session key, and uses the session key and the freshness parameter generated by the first computing tool to perform security protection on the plaintext result of the first sub-service among the N sub-services, obtaining the first ciphertext; and also uses the key information in the plaintext result of the first sub-service to deduce the root key of the first computing tool, obtaining the intermediate key of the first computing tool. The first computation tool sends the first ciphertext and the freshness parameter generated by the first computation tool to the orchestration agent, sends the freshness parameter generated by the first computation tool to the second computation tool among N computation tools, and sends the intermediate key of the first computation tool to the third computation tool among N computation tools; accordingly, the orchestration agent uses the session key of the first computation tool and the first ciphertext with the freshness parameter generated by the first computation tool to perform desecurity protection, and the plaintext results of the first sub-services; for the second ciphertext among the N ciphertexts, the second ciphertext comes from the second computation tool among the N computation tools, and the second computation tool performs the following operation: the second computation tool uses the second computation tool The first computation tool uses the root key of the first computation tool to deduce the session key of the second computation tool. The second computation tool then uses its root key and the freshness parameter generated by the first computation tool to secure the plaintext result of the second sub-service out of N sub-services, obtaining the second ciphertext. Using key information from the plaintext result of the second sub-service, the second computation tool's root key is also deduced, resulting in its intermediate key. The second computation tool sends the second ciphertext to the orchestration agent and its intermediate key to the fourth computation tool out of the N computation tools. Correspondingly, the orchestration agent uses the session key of the second computation tool and the freshness parameter generated by the first computation tool to obtain the second ciphertext. The plaintext results of the second sub-service are protected by the decryption process. For the third ciphertext among the N ciphertexts, which originates from the third computing tool among the N computing tools, the third computing tool performs the following operations: It uses its own root key and the root key to deduce its own session key, and uses the session key and the freshness parameter generated by the third computing tool to protect the plaintext results of the third sub-service among the N sub-services, thus obtaining the third ciphertext. It also uses key information from the plaintext results of the third sub-service to deduce the root key of the third computing tool, thus obtaining the intermediate key of the third computing tool.The third computation tool sends the third ciphertext and the freshness parameter generated by the third computation tool to the orchestration agent, sends the freshness parameter generated by the third computation tool to the fourth computation tool among the N computation tools, and sends the intermediate key of the third computation tool to the fifth computation tool among the N computation tools; accordingly, the orchestration agent uses the session key of the third computation tool and the third ciphertext with the freshness parameter generated by the third computation tool to de-secure the third sub-service's plaintext result; then, and so on.

[0014] Optionally, the orchestration agent merges the results of N sub-services into the result of the target service and returns the result of the target service to the consumer entity, including: the orchestration agent performs natural language merging on the plaintext results of the N sub-services to obtain the result of the target service; the orchestration agent returns the result of the target service to the consumer entity through a secure connection.

[0015] Secondly, embodiments of this application provide a terminal device, which includes a memory and a processor. The memory stores computer programs, and the processor is used to execute the method described in the first aspect by running the computer programs.

[0016] Thirdly, embodiments of this application provide a server system based on heterogeneous computing. This system includes an orchestration agent and M heterogeneous computing tools, where M is an integer greater than 3. Different computing tools among the M tools provide different types of service computations. The system is configured as follows: the orchestration agent obtains description information from a consumer entity, which describes the consumer entity's request to obtain a target service; the orchestration agent decomposes the target service into N sub-services and determines N computing tools from the M tools whose computation types are matched one-to-one with the N sub-services, where N is an integer greater than 2 and less than or equal to M; the orchestration agent calls the N computing tools to execute the computations of the N sub-services, obtaining the results of the N sub-services; the orchestration agent merges the results of the N sub-services into the result of the target service and returns the result of the target service to the consumer entity.

[0017] It should be understood that the specific implementation of this system can be referred to the relevant introduction of the method described in the first aspect above, and will not be repeated here.

[0018] Fourthly, embodiments of this application provide a computer-readable storage medium storing program code, which, when executed by the computer, performs the method described in the first aspect.

[0019] In summary, the above methods, terminal devices, and systems have the following technical effects: After the orchestration agent obtains the description information from the consumer entity, it can decompose the target service described in the description information into N sub-services. It then selects N computing tools from M computing tools, each with a computing type that is compatible with one of the N sub-services. Each computing tool is used to execute one of the sub-services it is compatible with (or supports). Thus, the orchestration agent can call the N computing tools to execute the computations of the N sub-services, obtain the results of the N sub-services, merge the results of the N sub-services into the result of the target service, and return the result of the target service to the consumer entity. It can be seen that because the execution method adapts at a finer granular level at the software level, each computing tool can efficiently complete the sub-service it is good at, avoiding (or reducing) redundant overhead (such as computational overhead, processing overhead, etc.) generated during the execution of sub-services. This can further optimize the energy efficiency of heterogeneous computing servers. Attached Figure Description

[0020] Figure 1 A schematic diagram of the architecture of a server system based on heterogeneous computing provided for an embodiment of this application; Figure 2 A flowchart illustrating a server energy efficiency optimization method based on heterogeneous computing, provided for embodiments of this application; Figure 3 This is a schematic diagram illustrating an application scenario of the method provided in the embodiments of this application; Figure 4 This is a schematic diagram of the structure of a terminal device provided in an embodiment of this application. Detailed Implementation

[0021] In this embodiment of the invention, "instruction" can include direct and indirect instructions, as well as explicit and implicit instructions. The information indicated by a certain piece of information is called the information to be instructed. In specific implementation, there are many ways to instruct the information to be instructed, such as, but not limited to, directly instructing the information to be instructed, such as the information to be instructed itself or its index. It can also indirectly instruct the information to be instructed by instructing other information, where there is a correlation between the other information and the information to be instructed. It can also instruct only a part of the information to be instructed, while the other parts are known or pre-agreed upon. For example, the instruction of specific information can be achieved by using a pre-agreed (e.g., protocol-defined) arrangement of various pieces of information, thereby reducing instruction overhead to some extent. Simultaneously, common parts of various pieces of information can be identified and uniformly indicated to reduce the instruction overhead caused by individually indicating the same information.

[0022] Furthermore, the specific indication method can also be any existing indication method, such as, but not limited to, the above-mentioned indication methods and their various combinations. Specific details of various indication methods can be found in existing technologies, and will not be elaborated upon here. As described above, for example, when multiple pieces of information of the same type need to be indicated, the indication methods for different pieces of information may differ. In specific implementation, the required indication method can be selected according to specific needs. This embodiment of the invention does not limit the selected indication method; therefore, the indication methods involved in this embodiment of the invention should be understood to cover various methods that enable the party to be indicated to obtain the information to be indicated.

[0023] It should be understood that the information to be indicated can be sent as a whole or divided into multiple sub-information messages sent separately, and the sending period and / or timing of these sub-information messages can be the same or different. The specific sending method is not limited in this embodiment of the invention. The sending period and / or timing of these sub-information messages can be predefined, for example, according to a protocol, or configured by the sending device by sending configuration information to the receiving device.

[0024] "Predefined" or "pre-configured" can be achieved by pre-saving corresponding codes, tables, or other means that can be used to indicate relevant information in the device. This embodiment of the invention does not limit the specific implementation method. "Saving" can refer to saving in one or more memories. These memories can be separate installations or integrated into the encoder, decoder, processor, or electronic device. Alternatively, some memories can be separately installed, while others are integrated into the decoder, processor, or electronic device. The type of memory can be any form of storage medium, and this embodiment of the invention does not limit this.

[0025] In the embodiments of this invention, "protocol" may refer to a protocol family in the field of communication, a standard protocol with a similar protocol family frame structure, or a related protocol applied to a reliable access method system for future Internet of Things devices. The embodiments of this invention do not specifically limit this.

[0026] In this embodiment of the invention, descriptions such as "when," "under the circumstances," "if," and "if" all refer to the device making corresponding processing under certain objective circumstances, and are not limited to a specific time. They do not require the device to make a judgment action during implementation, nor do they imply any other limitations.

[0027] In the description of the embodiments of the present invention, unless otherwise stated, " / " indicates that the objects before and after are in an "or" relationship. For example, A / B can represent A or B. "And / or" in the embodiments of the present invention is merely a description of the relationship between the related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, and B alone, where A and B can be singular or plural. Furthermore, in the description of the embodiments of the present invention, unless otherwise stated, "multiple" refers to two or more. "At least one of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items. For example, at least one of a, b, or c can represent: a, b, c, ab, ac, bc, or abc, where a, b, and c can be single or multiple. Additionally, to facilitate a clear description of the technical solutions of the embodiments of the present invention, the terms "first" and "second" are used in the embodiments of the present invention to distinguish identical or similar items with essentially the same function and effect. Those skilled in the art will understand that the terms "first," "second," etc., do not limit the quantity or order of execution, and that "first," "second," etc., are not necessarily different. Furthermore, in the embodiments of this invention, words such as "exemplary" or "for example" are used to indicate that something is being described as an example, illustration, or description. Any embodiment or design scheme described as "exemplary" or "for example" in the embodiments of this invention should not be construed as being more preferred or advantageous than other embodiments or design schemes. Specifically, the use of words such as "exemplary" or "for example" is intended to present the relevant concepts in a concrete manner for ease of understanding.

[0028] The network architecture and business scenarios described in the embodiments of this invention are for the purpose of more clearly illustrating the technical solutions of the embodiments of this invention, and do not constitute a limitation on the technical solutions provided by the embodiments of this invention. As those skilled in the art will know, with the evolution of network architecture and the emergence of new business scenarios, the technical solutions provided by the embodiments of this invention are also applicable to similar technical problems.

[0029] The technical solutions in this application will now be described with reference to the accompanying drawings.

[0030] Please see Figure 1 This application provides a server system based on heterogeneous computing. The server system based on heterogeneous computing may include an orchestration agent and M heterogeneous computing tools, where M is an integer greater than 3.

[0031] The orchestration agent is the central hub for task execution driven by a large model. Through a closed-loop process of task reception → task decomposition → tool scheduling → result synthesis, it transforms complex requirements into a chain of executable actions. Its core comprises: a perception layer (Input / Output), a cognitive layer (LLM Core), a planning layer (Orchestration Engine), and an execution layer (Tool Layer). The perception layer has a unified interface compatible with multimodal input (text / speech / image). The cognitive layer, a large model, acts as the "brain" to interpret the task generation intent. The planning layer is used for task planning, and the execution layer is used for tool invocation.

[0032] Computational tools are used to perform specific tasks (or provide service computation). Among the M computational tools, different computational tools provide different types of service computation. For example, computational tool 1 provides image parsing service computation, computational tool 2 provides image generation service computation, computational tool 3 provides code building service computation, computational tool 4 provides table editing and generation service computation, and so on. They will not be listed one by one. This applies to any tools involved in an AI Agent and the services they provide.

[0033] For this system, it can be configured as follows: an orchestration agent obtains description information from a consumer entity, which describes the consumer entity's request for a target service; the orchestration agent decomposes the target service into N sub-services, and determines N computing tools from M computing tools whose computing types are matched one-to-one with the N sub-services, where N is an integer greater than 2 and less than or equal to M; the orchestration agent calls the N computing tools to execute the calculations of the N sub-services, obtaining the results of the N sub-services; the orchestration agent merges the results of the N sub-services into the result of the target service, and returns the result of the target service to the consumer entity. For specific technical logic, please refer to the relevant descriptions in the following method embodiments.

[0034] Please see Figure 2 This application provides a server energy efficiency optimization method based on heterogeneous computing. This method is applied to the aforementioned server system based on heterogeneous computing, and the process is as follows: S201, the orchestration agent obtains descriptive information from the consumer entity.

[0035] A consumer entity can be understood as a user's application.

[0036] The description information is used to describe the consumer entity's request for the target service. The description information can be text in natural language. The transmission of the description information may or may not be protected by security; there are no specific restrictions.

[0037] S202, the orchestration agent decomposes the target service into N sub-services, and determines N computing tools from M computing tools that are matched one-to-one with the computing type of each of the N sub-services, where N is an integer greater than 2 and less than or equal to M.

[0038] For example, an orchestration agent determines the intent corresponding to the descriptive information and identifies N sub-services based on that intent. This intent can be determined by analyzing the descriptive information. Specifically, the orchestration agent can analyze the descriptive information (e.g., using an LL model) to obtain N initial intent information. This can be understood as the user's N intents, or as the N intents implicitly / explicitly expressed by the descriptive information. Then, the orchestration agent can match the N initial intent information with an intent template library to obtain N target intent information that corresponds one-to-one with the N initial intent information. Each of the N target intent information is a description of one of the N sub-services. Thus, the orchestration agent determines the N sub-services based on the N target intent information, i.e., the N sub-services that correspond one-to-one with the N target intent information.

[0039] Then, the orchestration agent determines N computing tools whose computing types are matched one-to-one with the N sub-services, based on the service computing types supported by each of the M computing tools. The service computing types supported by each of the M computing tools can be understood as the capabilities of each of the M computing tools. These capabilities can be pre-configured in the orchestration agent, or dynamically registered to the orchestration agent by the M computing tools (e.g., during updates or periodically).

[0040] S203, the orchestration agent calls N computing tools to perform calculations for N sub-services and obtains the results of N sub-services.

[0041] An orchestration agent can call N computing tools in a semi-asynchronous manner to execute the calculations of N sub-services according to the order of N sub-services, and obtain the results of N sub-services, so as to achieve a balance between processing efficiency and energy efficiency optimization.

[0042] For example, an orchestration agent orchestrates N sub-services to determine their order and plans their respective start and finish times. The orchestration agent can logically arrange the N sub-services according to their types; for example, it prioritizes sub-services that need to be completed first. Furthermore, it considers the individual completion times of each sub-service to achieve a semi-asynchronous execution order. The semi-asynchronous execution of N computing tools according to the start and finish times of each sub-service achieves this. Semi-asynchronous execution means that the execution time periods of two adjacent sub-services partially overlap, while the execution time periods of two sub-services separated by one sub-service are consecutive, meaning the finish time of the previous sub-service is the start time of the next. The timing logic of semi-asynchronous execution will be explained in detail below.

[0043] It should be understood that the i-th sub-service in N sub-services refers to the i-th sub-service executed in sequence. The same applies to the (i+1)-th and (i+2)-th sub-services below, which will not be elaborated here.

[0044] For example, such as Figure 3 The diagram shown illustrates an application scenario of the method provided in this embodiment. For the i-th sub-service among N sub-services, where i is an integer from 1 to N-2: The orchestration agent invokes the i-th computing tool among N computing tools to perform the computation of the i-th computing tool at the start time of the i-th sub-service (e.g., t1), and indicates the completion time of the i-th sub-service to the N computing tools (e.g., t2). At the completion time of the i-th sub-service, it receives the result of the i-th sub-service returned by the i-th computing tool. The i-th computing tool is a computing tool that supports the type of computation required to provide the i-th sub-service.

[0045] For the (i+1)th sub-service among N sub-services: The orchestration agent starts the (i+1)th sub-service at time t3, calls the (i+1)th computing tool among N computing tools to execute its computation, indicates the completion time of the (i+1)th sub-service to the N computing tools (e.g., t4), and receives the result of the (i+1)th sub-service returned by the (i+1)th computing tool at the completion time of the (i+1)th sub-service. Here, the start time of the (i+1)th sub-service is the midpoint between the start time and the completion time of the (i)th sub-service, such as t3 being between t2 and t1; the completion time of the (i+1)th sub-service is the time point after the completion time of the (i)th sub-service; and the (i+1)th computing tool is a computing tool that supports the computational type required to provide the (i+1)th sub-service. For the (i+2)th sub-service among N sub-services: The orchestration agent starts the (i+2)th sub-service at time t2, calls the (i+2)th computing tool among N computing tools to execute its computation, indicates the completion time of the (i+2)th sub-service to the N computing tools (e.g., t5), and receives the result of the (i+2)th sub-service returned by the (i+2)th computing tool at the completion time of the (i+2)th sub-service. Here, the start time of the (i+2)th sub-service is the completion time of the (i)th sub-service, such as t2 in both cases, the completion time of the (i+2)th sub-service is the time point after the completion time of the (i+1)th sub-service, and the (i+2)th computing tool is a computing tool that supports the type of computation required to provide the (i+2)th sub-service.

[0046] Then, this process continues until i+2=N, at which point the orchestration agent obtains the results of N sub-services.

[0047] It should be understood that the embodiments of this application also provide a security design. In this case, the results of N sub-services are all ciphertext, with a total of N ciphertexts. Therefore, the orchestration agent performs decryption security protection on the N ciphertexts, and the plaintext results of the N sub-services are described in detail below.

[0048] For the first ciphertext out of N ciphertexts, which comes from the first calculation tool out of N calculation tools, the first calculation tool performs the following operation: The first computation tool can use its root key (a key pre-set by both the first computation and orchestration agent, and not transmitted outwards) to deduce its session key. For example, using the root key as input, a key derivation algorithm is used to compute the input parameters, resulting in the session key. Then, the first computation tool uses its session key and a freshness parameter (such as a random number or random array) to securely protect the plaintext result of the first sub-service out of N sub-services, obtaining the first ciphertext. Alternatively, the plaintext result of the first sub-service out of N sub-services and the freshness parameter generated by the first computation tool can be used as input, and the session key is used to encrypt and protect the integrity of this input, resulting in the first ciphertext. Furthermore, the first computing tool also uses key information from the plaintext result of the first sub-service (this is the advantage of semi-asynchronous operation, which allows the result to be used to deduce the key; for example, the key information could be characters at preset positions in the plaintext result, such as characters at positions 8-12, which are known to both the first computing tool and the orchestration agent) to deduce the root key of the first computing tool and obtain the intermediate key of the first computing tool.

[0049] Therefore, the first computational tool can send the first ciphertext and the freshness parameter generated by the first computational tool to the orchestration agent, send the freshness parameter generated by the first computational tool to the second of the N computational tools, and send the intermediate key of the first computational tool to the third of the N computational tools. In this way, the second computational tool can use the freshness parameter generated by the first computational tool without having to generate it itself, thus reducing overhead. The third computational tool then needs to use the intermediate key of the first computational tool to perform key deduction, achieving iterative key deduction and improved security. For example, since the deduction of the intermediate key requires not only the root key but also key information from the plaintext result, if any one of these is not stolen, an attacker cannot decipher the subsequent deduced keys, thus achieving better security. Furthermore, since each plaintext result is different, and its key information is also different, the intermediate key is also different, thus achieving randomness in the intermediate key, further enhancing security. Accordingly, the orchestration agent uses the session key of the first computation tool (which the orchestration agent derives in the same way as the first computation tool) and the freshness parameter of the first computation tool to perform decryption security protection, such as decryption and integrity verification, and the plaintext results of the first sub-services.

[0050] For the second ciphertext out of N ciphertexts, and this second ciphertext comes from the second calculation tool out of N calculation tools, the second calculation tool performs the following operation: The second computation tool can use the root key of the first computation tool to deduce the session key of the second computation tool (the principle is similar to that of the first computation tool, which can be referred to for understanding). The second computation tool uses the root key of the second computation tool and the freshness parameter generated by the first computation tool to securely protect the plaintext result of the second sub-service among N sub-services, and obtain the second ciphertext (the principle is similar to that of the first computation tool, which can be referred to for understanding). It also uses the key information in the plaintext result of the second sub-service to deduce the root key of the second computation tool, and obtain the intermediate key of the second computation tool (the principle is similar to that of the first computation tool, which can be referred to for understanding).

[0051] Therefore, the second computation tool can send the second ciphertext to the orchestration agent, and its intermediate key to the fourth of the N computation tools. Correspondingly, the orchestration agent uses the second computation tool's session key (derived by the orchestration agent in the same manner as the second computation tool) and the freshness parameter of the second ciphertext generated by the first computation tool for decryption security protection, such as decryption and integrity verification, and the plaintext results of each of the second sub-services.

[0052] For the third ciphertext out of N ciphertexts, which comes from the third calculation tool out of N calculation tools, the third calculation tool performs the following operation: The third computation tool uses its root key and the root key of the third computation tool to deduce its session key (the principle is similar to that of the first computation tool, which can be used for reference and understanding). It then uses the session key and the freshness parameter generated by the third computation tool to securely protect the plaintext result of the third sub-service out of N sub-services, obtaining the third ciphertext (the principle is similar to that of the first computation tool, which can be used for reference and understanding). Finally, it uses key information from the plaintext result of the third sub-service to deduce the root key of the third computation tool, obtaining the intermediate key of the third computation tool (the principle is similar to that of the first computation tool, which can be used for reference and understanding). Therefore, the third computation tool sends the third ciphertext and the freshness parameter generated by the third computation tool to the orchestration agent, sends the freshness parameter generated by the third computation tool to the fourth computation tool among the N computation tools, and sends the intermediate key of the third computation tool to the fifth computation tool among the N computation tools; accordingly, the orchestration agent uses the session key of the third computation tool (derived by the orchestration agent in the same way as the second computation tool) and the third ciphertext with the freshness parameter generated by the third computation tool to perform de-security protection, such as decryption and integrity verification, and the plaintext results of the third sub-service; then, and so on.

[0053] S204, the orchestration agent merges the results of N sub-services into the result of the target service and returns the result of the target service to the consumer entity.

[0054] For example, the orchestration agent performs natural language merging on the plaintext results of N sub-services, such as filling text into a generated table or inserting images into text, to obtain the result of the target service. The orchestration agent then returns the result of the target service to the consumer entity via a secure connection.

[0055] In summary, after the orchestration agent obtains the description information from the consumer entity, it can decompose the target service described in the description information into N sub-services. It then selects N computing tools from M computing tools, each with a computational type that is compatible with one of the N sub-services. Each computing tool is used to execute one sub-service it is compatible with (or supports). Thus, the orchestration agent can call the N computing tools to execute the computations of the N sub-services, obtain the results of the N sub-services, merge the results of the N sub-services into the result of the target service, and return the result of the target service to the consumer entity. It can be seen that because the execution method adapts at a finer granular level at the software level, each computing tool can efficiently complete the sub-service it excels at, avoiding (or reducing) redundant overhead (such as computational overhead, processing overhead, etc.) generated during the execution of sub-services. This can further optimize the energy efficiency of heterogeneous computing servers.

[0056] Figure 4 This is a schematic diagram of a terminal device provided in an embodiment of this application. The following is in conjunction with… Figure 4 A detailed introduction to each component of the terminal device 500 is provided below: The processor 501 is the control center of the terminal device 500. It can be a single processor or a collective term for multiple processing elements. For example, the processor 501 can be one or more central processing units (CPUs), application-specific integrated circuits (ASICs), or one or more integrated circuits configured to implement the embodiments of this application, such as one or more digital signal processors (DSPs), or one or more field-programmable gate arrays (FPGAs).

[0057] Optionally, the processor 501 can perform various functions of the terminal device 500, as described above, by running or executing software programs stored in the memory 502 and by calling data stored in the memory 502. Figure 2 The functions in the method shown.

[0058] In a specific implementation, as one example, the processor 501 may include one or more CPUs, for example... Figure 4 CPU0 and CPU1 are shown in the diagram.

[0059] In a specific implementation, as one example, the terminal device 500 may also include multiple processors. Each of these processors may be a single-core processor (single-CPU) or a multi-core processor (multi-CPU). Here, a processor may refer to one or more devices, circuits, and / or processing cores used to process data (e.g., computer program instructions).

[0060] The memory 502 is used to store the software program that executes the solution of this application, and is controlled by the processor 501 to execute it. The specific implementation method can be referred to the above method embodiment, and will not be repeated here.

[0061] Optionally, memory 502 may be read-only memory (ROM) or other types of static storage devices capable of storing static information and instructions, such as random access memory (RAM) or... Other types of dynamic storage devices capable of storing information and instructions may also be electrically erasable programmable read-only memory (EEPROM), compact disc read-only memory (CD-ROM) or other optical disc storage, optical disc storage (including compressed optical discs, laser discs, optical discs, universal optical discs, Blu-ray discs, etc.), magnetic disk storage media, or other magnetic storage devices, or any other medium capable of carrying or storing desired program code in the form of instructions or data structures and accessible by a computer, but not limited thereto. Memory 502 may be integrated with processor 501 or exist independently, and may also be used with terminal device 500. Interface circuit ( Figure 4 (Not shown in the image) is coupled to processor 501, and this embodiment does not specifically limit this.

[0062] Transceiver 503 is used for communication with other devices. For example, in a multi-beam positioning device as a terminal, transceiver 503 can be used to communicate with network devices or with another terminal.

[0063] Alternatively, transceiver 503 may include a receiver and a transmitter. Figure 4 (Not shown separately). The receiver is used to implement the receiving function, and the transmitter is used to implement the transmitting function.

[0064] Optionally, the transceiver 503 can be integrated with the processor 501, or it can exist independently and be connected via the interface circuit of the terminal device 500. Figure 4(Not shown in the image) is coupled to processor 501, and this embodiment does not specifically limit this.

[0065] It should be noted that, Figure 4 The structure of the terminal device 500 shown does not constitute a limitation on the device. The actual terminal device 500 may include more or fewer components than shown, or combine certain components, or have different component arrangements.

[0066] Furthermore, the technical effects based on the terminal device 500 can be referred to the technical effects of the methods in the above method embodiments, and will not be repeated here.

[0067] It should be understood that the processor in the embodiments of this application can be a central processing unit (CPU), or it can be other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor can be a microprocessor or any conventional processor, etc.

[0068] It should also be understood that the memory in the embodiments of this application can be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory. The non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. The volatile memory can be random access memory (RAM), which is used as an external cache. By way of example, but not limitation, many forms of random access memory (RAM) are available, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate synchronous DRAM (DDR SDRAM), enhanced synchronous DRAM (ESDRAM), synchronous linked DRAM (SLDRAM), and direct rambus RAM (DR RAM).

[0069] The above are merely specific embodiments of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.

Claims

1. A server energy efficiency optimization method based on heterogeneous computing, characterized in that, The method is applied to a heterogeneous computing-based server system, which includes an orchestration agent and M heterogeneous computing tools, where M is an integer greater than 3. Different computing tools among the M tools provide different types of service computing. The method includes: The orchestration agent obtains description information from the consumer entity, which describes the consumer entity's request to obtain the target service. The orchestration agent decomposes the target service into N sub-services, and determines N computing tools whose computing types are matched one-to-one with the N sub-services from the M computing tools, where N is an integer greater than 2 and less than or equal to M; The orchestration agent invokes the N computing tools to perform calculations on the N sub-services and obtains the results of the N sub-services; The orchestration agent merges the results of the N sub-services into the result of the target service, and returns the result of the target service to the consumer entity.

2. The method according to claim 1, characterized in that, The orchestration agent decomposes the target service into N sub-services, and determines N computing tools from the M computing tools whose computing types are adapted to each of the N sub-services, including: The orchestration agent determines the intent corresponding to the description information, and determines the N sub-services based on the intent; The orchestration agent determines N computing tools whose computing types are matched one-to-one with the N sub-services, based on the service computing types supported by each of the M computing tools.

3. The method according to claim 2, characterized in that, The orchestration agent determines the intent corresponding to the description information, and determines the N sub-services based on the intent, including: The orchestration agent analyzes the description information to obtain N initial intent information; The orchestration agent matches the N initial intent information with the intent template library to obtain N target intent information in the intent template library that correspond one-to-one with the N initial intent information. Each of the N target intent information is a description of a corresponding sub-service among the N sub-services. The orchestration agent determines the N sub-services based on the N target intent information.

4. The method according to any one of claims 1 to 3, characterized in that, The orchestration agent invokes the N computing tools to execute the calculations of the N sub-services, obtaining the results of the N sub-services, including: The orchestration agent calls the N computing tools in a semi-asynchronous manner according to the order of the N sub-services to execute the calculations of the N sub-services and obtain the results of the N sub-services.

5. The method of claim 4, wherein, The orchestration agent, following the sequential order of the N sub-services, invokes the N computing tools in a semi-asynchronous manner to execute the calculations of the N sub-services, obtaining the results of the N sub-services, including: The orchestration agent orchestrates the N sub-services to obtain the order of the N sub-services, and plans the start time and completion time of each of the N sub-services. For the i-th sub-service among the N sub-services, where i is an integer from 1 to N-2: The orchestration agent, at the start time of the i-th sub-service, invokes the i-th computing tool among the N computing tools to execute the calculations of the i-th computing tool, indicates the completion time of the i-th sub-service to the N computing tools, and receives the result of the i-th sub-service returned by the i-th computing tool at the completion time of the i-th sub-service; wherein, the i-th computing tool is a computing tool that supports the computing type required to provide the i-th sub-service; For the (i+1)th sub-service among the N sub-services: The orchestration agent, at the start time of the (i+1)th sub-service, invokes the (i+1)th computing tool among the N computing tools to execute the calculations of the (i+1)th computing tool, and indicates the completion time of the (i+1)th sub-service to the N computing tools. At the completion time of the (i+1)th sub-service, it receives the result of the (i+1)th sub-service returned by the (i+1)th computing tool. The start time of the (i+1)th sub-service is the midpoint between the start time and the completion time of the (i)th sub-service, the completion time of the (i+1)th sub-service is a point in time after the completion time of the (i)th sub-service, and the (i+1)th computing tool is a computing tool that supports the computing type required to provide the (i+1)th sub-service. For the (i+2)th sub-service among the N sub-services: The orchestration agent, at the start time of the (i+2)th sub-service, invokes the (i+2)th computing tool among the N computing tools to execute the calculations of the (i+2)th computing tool, and indicates the completion time of the (i+2)th sub-service to the N computing tools, and receives the result of the (i+2)th sub-service returned by the (i+2)th computing tool at the completion time of the (i+2)th sub-service; wherein, the start time of the (i+2)th sub-service is the completion time of the ith sub-service, the completion time of the (i+2)th sub-service is a point in time after the completion time of the (i+1)th sub-service, and the (i+2)th computing tool is a computing tool that supports the computing type required to provide the (i+2)th sub-service; Then, this process continues until i+2=N, at which point the orchestration agent obtains the results of the N sub-services.

6. The method of claim 5, wherein, The results of the N sub-services are all encrypted, totaling N encrypted texts. The method further includes: The orchestration agent performs decryption security protection on the N ciphertexts, and the N sub-services each provide their own plaintext results.

7. The method of claim 6, wherein, The orchestration agent performs decryption security protection on the N ciphertexts, and the plaintext results of each of the N sub-services include: For the first ciphertext among the N ciphertexts, where the first ciphertext comes from the first calculation tool among the N calculation tools, the first calculation tool performs the following operation: The first computing tool uses its root key to deduce its session key, and uses the session key and the freshness parameter generated by the first computing tool to securely protect the plaintext result of the first sub-service among the N sub-services, obtaining the first ciphertext. It also uses key information in the plaintext result of the first sub-service to deduce the root key of the first computing tool, obtaining the intermediate key of the first computing tool. The first computing tool sends the first ciphertext and the freshness parameter generated by the first computing tool to the orchestration agent, sends the freshness parameter generated by the first computing tool to the second computing tool among the N computing tools, and sends the intermediate key of the first computing tool to the third computing tool among the N computing tools; Accordingly, the orchestration agent uses the session key of the first computing tool and the freshness parameter generated by the first computing tool to de-secure the first ciphertext, and the plaintext results of the first sub-services; For the second ciphertext among the N ciphertexts, where the second ciphertext comes from the second calculation tool among the N calculation tools, the second calculation tool performs the following operation: The second computing tool uses its root key to deduce its session key, and uses its root key and the freshness parameter generated by the first computing tool to securely protect the plaintext result of the second sub-service among the N sub-services, obtaining the second ciphertext. It also uses key information from the plaintext result of the second sub-service to deduce the root key of the second computing tool, obtaining the intermediate key of the second computing tool. The second computing tool sends the second ciphertext to the orchestration agent, and sends the intermediate key of the second computing tool to the fourth computing tool among the N computing tools; Accordingly, the orchestration agent uses the session key of the second computing tool and the freshness parameter generated by the first computing tool to de-secure the second ciphertext, and the plaintext results of each of the second sub-services; For the third ciphertext among the N ciphertexts, where the third ciphertext comes from the third calculation tool among the N calculation tools, the third calculation tool performs the following operation: The third computing tool uses its root key and the root key of the third computing tool to deduce its session key, and uses the session key of the third computing tool and the freshness parameter generated by the third computing tool to securely protect the plaintext result of the third sub-service among the N sub-services, obtaining the third ciphertext. It also uses key information in the plaintext result of the third sub-service to deduce the root key of the third computing tool, obtaining the intermediate key of the third computing tool. The third computing tool sends the third ciphertext and the freshness parameter generated by the third computing tool to the orchestration agent, sends the freshness parameter generated by the third computing tool to the fourth computing tool among the N computing tools, and sends the intermediate key of the third computing tool to the fifth computing tool among the N computing tools; Accordingly, the orchestration agent uses the session key of the third computing tool and the freshness parameter generated by the third computing tool to de-secure the third ciphertext, and the plaintext results of each of the third sub-services; Then, and so on.

8. The method of claim 6, wherein, The orchestration agent merges the results of the N sub-services into the result of the target service, and returns the result of the target service to the consumer entity, including: The orchestration agent performs natural language merging on the plaintext results of the N sub-services to obtain the result of the target service; The orchestration agent returns the result of the target service to the consumer entity via a secure connection.

9. A heterogeneous computing based server system, characterized by, The server system includes an orchestration agent and M heterogeneous computing tools, where M is an integer greater than 3. Different computing tools provide different types of service computing. The server system is configured as follows: The orchestration agent obtains description information from the consumer entity, which describes the consumer entity's request to obtain the target service. The orchestration agent decomposes the target service into N sub-services, and determines N computing tools whose computing types are matched one-to-one with the N sub-services from the M computing tools, where N is an integer greater than 2 and less than or equal to M; The orchestration agent invokes the N computing tools to perform calculations on the N sub-services and obtains the results of the N sub-services; The orchestration agent merges the results of the N sub-services into the result of the target service, and returns the result of the target service to the consumer entity.

10. A computer-readable storage medium, characterized in that, The storage medium stores program code, which, when executed by the computer, performs the method as described in any one of claims 1-8.