Service memory processing method and device, electronic equipment and storage medium
By obtaining and analyzing the characteristic information of the business, calculating its sensitivity and determining the memory allocation plan, the problem of unreasonable allocation of services in the existing technology is solved, and efficient resource utilization and performance improvement are achieved.
Patent Information
- Application Number
- CN202411813960.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-10
- Publication Date
- 2025-05-09
AI Technical Summary
In the prior art, the unreasonable allocation of business memory leads to waste of resources and maintenance complexity, especially in multi-instance request processing and data sharing scenarios.
By obtaining the delay characteristic information, bandwidth characteristic information and shared characteristic information of the service, calculate its delay sensitivity, bandwidth sensitivity and shared sensitivity, and determine a reasonable memory allocation plan based on these sensitivity, and select allocate memory in the local memory of the host, CXL's local memory or CXL's shared memory.
It realizes reasonable allocation of business memory, improves performance, reduces resource waste, and simplifies business maintenance and operation.
Smart Images

Figure CN119960966A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of computer technology, specifically to technical fields such as business memory allocation, shared memory, and fast computing interconnection, and in particular to a business memory processing method, device, electronic device, and storage medium. Background Art
[0002] With the evolution of interconnection technology, Compute Express Link (CXL) is an open standard high-speed interconnection technology designed to connect central processing units (CPUs), memory and accelerators such as graphics processing units (GPUs) and field-programmable gate arrays (FPGAs). CXL technology enables efficient data sharing and collaboration between different computing resources by providing low-latency, high-bandwidth connections.
[0003] CXL technology has a significant impact on shared memory. First, CXL allows different computing resources to directly access shared memory, reducing the latency and bandwidth bottlenecks caused by traditional buses and protocols. Second, CXL supports a unified addressing mode for memory, allowing multi-processor systems to perform memory operations more efficiently, simplifying the programming model and system architecture. At the same time, CXL also provides memory consistency guarantees, allowing multiple computing units to safely and reliably access and modify shared memory data. Summary of the invention
[0004] The present disclosure provides a method, device, electronic device and storage medium for processing a business memory.
[0005] According to one aspect of the present disclosure, a method for processing a service memory is provided, comprising:
[0006] Obtaining delay characteristic information, bandwidth characteristic information, and sharing characteristic information of the service to which memory is to be allocated;
[0007] Obtaining delay sensitivity, bandwidth sensitivity and sharing sensitivity of the service in sequence based on the delay characteristic information, bandwidth characteristic information and sharing characteristic information of the service respectively;
[0008] Based on at least one of the delay sensitivity, bandwidth sensitivity and sharing sensitivity of the business, a memory allocation scheme for the business is determined, and the memory allocation scheme for the business identifies allocating memory for the business in at least one of the host's local memory, computing fast interconnect native memory, and computing fast interconnect shared memory; the host is a host where the business is deployed.
[0009] According to another aspect of the present disclosure, a device for processing a business memory is provided, comprising:
[0010] A feature acquisition module, used to acquire delay feature information, bandwidth feature information and sharing feature information of the service to be allocated memory;
[0011] A sensitivity acquisition module, used to sequentially acquire the delay sensitivity, bandwidth sensitivity and sharing sensitivity of the service based on the delay characteristic information, bandwidth characteristic information and sharing characteristic information of the service respectively;
[0012] A determination module is used to determine a memory allocation scheme for the business based on at least one of delay sensitivity, bandwidth sensitivity and sharing sensitivity of the business, wherein the memory allocation scheme for the business identifies allocating memory for the business in at least one of a host's local memory, a computing fast interconnect local memory and a computing fast interconnect shared memory; the host is a host where the business is deployed.
[0013] According to another aspect of the present disclosure, there is provided an electronic device, comprising:
[0014] at least one processor; and
[0015] a memory communicatively connected to the at least one processor; wherein,
[0016] The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the method of any possible implementation manner and the aspects described above.
[0017] According to yet another aspect of the present disclosure, a non-transitory computer-readable storage medium storing computer instructions is provided, wherein the computer instructions are used to cause the computer to execute the method of the above-mentioned aspect and any possible implementation manner.
[0018] According to yet another aspect of the present disclosure, a computer program product is provided, including a computer program, wherein when the computer program is executed by a processor, the computer program implements the above-mentioned aspects and any possible implementation method.
[0019] According to the technology disclosed in the present invention, reasonable and effective memory can be allocated to the business.
[0020] It should be understood that the content described in this section is not intended to identify the key or important features of the embodiments of the present disclosure, nor is it intended to limit the scope of the present disclosure. Other features of the present disclosure will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS
[0021] The accompanying drawings are used to better understand the present solution and do not constitute a limitation of the present disclosure.
[0022] Figure 1 is a schematic diagram of an application scenario of CXL provided by the present disclosure;
[0023] Figure 2 is a schematic diagram according to a first embodiment of the present disclosure;
[0024] Figure 3 is a schematic diagram according to a second embodiment of the present disclosure;
[0025] Figure 4 is a schematic diagram according to a third embodiment of the present disclosure;
[0026] Figure 5 is a schematic diagram according to a fourth embodiment of the present disclosure;
[0027] Figure 6 The block diagram is a block diagram of an electronic device for implementing the method of the embodiment of the present disclosure. DETAILED DESCRIPTION
[0028] The following is a description of exemplary embodiments of the present disclosure in conjunction with the accompanying drawings, including various details of the embodiments of the present disclosure to facilitate understanding, which should be considered as merely exemplary. Therefore, it should be recognized by those of ordinary skill in the art that various changes and modifications may be made to the embodiments described herein without departing from the scope and spirit of the present disclosure. Similarly, for the sake of clarity and conciseness, descriptions of well-known functions and structures are omitted in the following description.
[0029] Obviously, the described embodiments are only part of the embodiments of the present disclosure, but not all of them. Based on the embodiments of the present disclosure, all other embodiments obtained by ordinary technicians in the field without creative work are within the scope of protection of the present disclosure.
[0030] It should be noted that the terminal devices involved in the embodiments of the present disclosure may include but are not limited to mobile phones, personal digital assistants (PDAs), wireless handheld devices, tablet computers and other smart devices; display devices may include but are not limited to personal computers, televisions and other devices with display functions.
[0031] In addition, the term "and / or" in this article is only a description of the association relationship between the associated objects, indicating that there can be three relationships. For example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone. In addition, the character " / " in this article generally indicates that the associated objects before and after are in an "or" relationship.
[0032] Figure 1 is a schematic diagram of an application scenario of CXL provided by the present disclosure. Figure 1 As shown in FIG. 1 , H1, H2, H3, ..., Hn are n hosts that can access the CXL memory through the CXL switch. Figure 1 As shown, for each host H1, H2, H3, ..., Hn, a local memory is set inside it, which can also be called the local memory of the host, that is, it refers to the local memory set in the host. Since the local memory is set locally on the host, it has the advantages of low latency, high bandwidth, and privacy, i.e., no sharing.
[0033] In actual applications, in CXL memory, a memory block can be fixedly allocated to a specified host, such as Figure 1 As shown in the figure, H1, H2, H3, and Hn in the CXL memory are all fixed memories allocated to the corresponding host, referred to as CXL local memory, that is, the memory set for each host in the CXL memory. Because the access path is extended when the service accesses the CXL memory, but the access bandwidth is increased. Therefore, compared with the local memory of the host, the local memory of CXL will extend the latency and increase the bandwidth. At the same time, it can be accessed by the corresponding host alone, has a certain degree of privacy, and does not support sharing. At the same time, Figure 1 As shown in the figure, in the CXL memory, some memory blocks such as Shared can also be set as shared memory for all hosts to share, referred to as CXL shared memory, which refers to the memory set in the CXL memory that can be shared by all hosts. All hosts can access the CXL shared memory in the CXL memory. Similarly, CXL shared memory will also delay latency, increase bandwidth, and can also be accessed by all hosts, with sharing and no privacy.
[0034] based on Figure 1 From the architecture shown, it can be seen that for any service on a host, based on the specific characteristics and requirements of the service, the host's local memory, CXL's local memory, or CXL's shared memory can be allocated to the service, or in some scenarios, two of the above three types of memory can be allocated to the service.
[0035] In the prior art, in various business scenarios such as recommendation, advertising, and search, there is a common situation: the same data is used to process multiple instance requests. Different instances are on different machines, and the same data will occupy the memory resources of multiple machines, resulting in resource waste. Even on the same machine, due to reasons such as the complexity of business maintenance, the same data will be maintained in multiple parts and provided to multiple instances. Therefore, the business memory allocation of the prior art is very unreasonable, which will lead to various problems such as resource waste and complex maintenance.
[0036] The present invention is based on the problems of the prior art. Figure 1 In the architecture shown, parameters such as service latency, bandwidth, and sharing are comprehensively considered to seek a more reasonable memory allocation solution for the service to achieve the best cost and performance.
[0037] Figure 2 is a schematic diagram according to the first embodiment of the present disclosure; Figure 2 As shown, this embodiment provides a method for processing business memory, which may specifically include the following steps:
[0038] S201, obtaining delay characteristic information, bandwidth characteristic information, and sharing characteristic information of the service to be allocated memory;
[0039] The method for processing business memory in this embodiment may specifically be a device for determining business memory allocation, which may be an electronic entity or a software-integrated application capable of processing business memory, such as determining a business memory allocation plan.
[0040] The delay characteristic information, bandwidth characteristic information, and sharing characteristic information of the service of this embodiment may be obtained based on service hardware design, service evaluation, multiple rounds of actual testing of the service, or model prediction.
[0041] S202, respectively based on the delay characteristic information, bandwidth characteristic information and sharing characteristic information of the service, sequentially obtaining the delay sensitivity, bandwidth sensitivity and sharing sensitivity of the service;
[0042] S203. Determine a memory allocation scheme for the business based on at least one of the delay sensitivity, bandwidth sensitivity, and sharing sensitivity of the business, wherein the memory allocation scheme for the business identifies allocating memory for the business in at least one of the host's local memory, CXL's native memory, and CXL's shared memory.
[0043] The host in this embodiment is a host for service deployment.
[0044] In this embodiment, based on the delay characteristic information, bandwidth characteristic information and sharing characteristic information of the service, the delay sensitivity, bandwidth sensitivity and sharing sensitivity of the service can be obtained in turn, and then the delay sensitivity, bandwidth sensitivity and sharing sensitivity of the service can be comprehensively considered to determine the memory allocation scheme of the service, so as to allocate a reasonable memory for the service. Specifically, appropriate memory can be allocated to the service in the local memory of the host, the local memory of CXL and the shared memory of CXL.
[0045] For example, when allocating memory for the service, memory can be allocated for the service from the host's local memory, CXL's native memory, and CXL's shared memory based on the service's delay sensitivity, bandwidth sensitivity, or sharing sensitivity, or by referring to any two or all of the service's delay sensitivity, bandwidth sensitivity, and sharing sensitivity.
[0046] Specifically, when allocating memory to the service, only the local memory of the host, the native memory of CXL, or the shared memory of CXL may be allocated to the service. Alternatively, both the local memory of the host, the native memory of CXL, and the shared memory of CXL may be allocated to the service. For example, if a certain service is delay-insensitive but bandwidth-sensitive, the local memory of the host and the native memory of CXL may be allocated to the service at the same time. In actual applications, there may be other service allocation schemes, which will not be described one by one here. In short, no matter how the allocation is performed, it is possible to allocate memory to the service in at least one of the local memory of the host, the native memory of CXL, and the shared memory of CXL based on at least one of the delay sensitivity, bandwidth sensitivity, and sharing sensitivity of the service. The service in this embodiment may be a service in scenarios such as recommendation, advertising, and search.
[0047] The service memory processing method of this embodiment can allocate reasonable and effective memory to the service by obtaining the delay sensitivity, bandwidth sensitivity and sharing sensitivity of the service, and further determining the memory allocation scheme of the service based on at least one of the delay sensitivity, bandwidth sensitivity and sharing sensitivity of the service. Since the memory allocation scheme of this embodiment comprehensively considers at least one of the delay sensitivity, bandwidth sensitivity and sharing sensitivity of the service, it can effectively ensure the performance of the service, and the memory allocation is reasonable, which is convenient for service access and can also effectively reduce resource waste.
[0048] Figure 3 is a schematic diagram according to the second embodiment of the present disclosure; Figure 2 Based on the technical solutions of the embodiments shown in the figure, the technical solutions of the present disclosure are further described in more detail. Figure 3 As shown, this embodiment provides a method for processing business memory, which may specifically include the following steps:
[0049] S301, obtaining the attention level of the service delay indicator, the ratio of the service local memory delay / CXL memory delay, and the service hotspot information;
[0050] In this embodiment, the attention level of the delay indicator of the service is a feature related to the service, and the feature can identify the degree of attention the service party pays to the delay of the service. To a certain extent, the higher the service party's attention level to the delay of the service, the lower the service party's tolerance to the delay of the service, and the more it hopes that the service will not be delayed. This feature can be configured by the service party, and when used, it can be obtained from the configuration information.
[0051] The ratio of the local memory latency of the business to the CXL memory latency. This feature is a machine hardware attribute and has nothing to do with the business. This feature can be obtained by using actual measured data and performing multiple rounds of testing.
[0052] The hotspot information of a business is a feature related to the business. For example, the hotspot information of a business can be monitored using the perf tool. The value of the feature can be in the form of a percentage.
[0053] In this step, the delay characteristic information of the service obtained includes the attention of the service delay index, the ratio of the service local memory delay / CXL memory delay, and the hot spot information of the service as an example. In practical applications, the delay characteristic information of the service may only include any one or any two of the attention of the service delay index, the ratio of the service local memory delay / CXL memory delay, and the hot spot information of the service. However, in practical applications, the more features the delay characteristic information of the service obtained includes, the more comprehensively it can characterize the delay performance of the service, and the more accurate the delay sensitivity of the service obtained subsequently.
[0054] Therefore, the delay characteristic information of the service obtained by adopting this step is very rich and comprehensive, and can comprehensively characterize the delay performance of the service.
[0055] S302, based on the attention of the service delay indicator, the ratio of the service local memory delay / CXL memory delay, and the hot spot information of the service, a preset delay sensitivity calculation rule or a pre-trained delay sensitivity calculation model is used to obtain the delay sensitivity of the service;
[0056] For example, in this embodiment, taking the attention of the service delay indicator, the ratio of the service local memory delay / CXL memory delay, and the service hotspot information as an example, the service delay sensitivity can be calculated using the following formula:
[0057] Delay sensitivity of the service = delay sensitivity coefficient * attention level of delay indicator of the service * (ratio of local memory delay of the service / CXL memory delay) * hot spot information of the service; the delay sensitivity coefficient can be pre-configured based on experience and / or demand, and is not limited here.
[0058] Optionally, the delay sensitivity of the service may also be calculated using the following formula:
[0059] Delay sensitivity of the business = coefficient 1 * attention level of the delay indicator of the business + coefficient 2 * (ratio of local memory delay of the business / CXL memory delay) + coefficient 3 * hot spot information of the business; wherein coefficient 1, coefficient 2 and coefficient 3 can be pre-configured based on experience and / or demand, and are not limited here.
[0060] Further optionally, in this embodiment, a delay sensitivity calculation model can also be pre-trained. When used, the attention level of the service's delay indicator, the ratio of the service's local memory delay / CXL memory delay, and the service's hotspot information are input into the delay sensitivity calculation model. The model can predict and output the delay sensitivity of the service.
[0061] In actual applications, the delay sensitivity of the business can also be calculated by configuring other functions, such as business delay sensitivity = func (coefficient combination, attention to the delay indicator of the business, ratio of local memory delay of the business / CXL memory delay, hot spot information of the business), which will not be described in detail here.
[0062] In the process of calculating the delay sensitivity of the service, the more reference information is used, the more accurate the delay sensitivity value of the service is. In this embodiment, the delay sensitivity of the service is obtained by comprehensively referring to the attention of the delay index of the service, the ratio of the local memory delay / CXL memory delay of the service, and all characteristic information in the hot spot information of the service, so that the delay sensitivity of the service can be accurately and efficiently obtained.
[0063] S303, obtaining the attention level of the throughput indicator of the service and the memory access bandwidth bottleneck of the service;
[0064] The degree of attention paid to the throughput indicator of a business is a feature related to the business. This feature can identify the degree of attention paid by the business party to the throughput of the business. To a certain extent, the higher the degree of attention paid by the business party to the throughput indicator of the business, the higher the throughput expected by the business party. This feature can be configured by the business party and can be obtained from the configuration information when used.
[0065] The memory access bandwidth bottleneck of a business is also a feature related to the business. For example, it can be obtained through monitoring using a top-down microarchitecture analysis (TMA) analysis tool. The value of this feature can also be in the form of a percentage.
[0066] In this step, the bandwidth characteristic information of the service obtained includes both the attention of the service throughput index and the memory access bandwidth bottleneck of the service. In actual applications, the bandwidth characteristic information of the service may only include the attention of the service throughput index or the memory access bandwidth bottleneck of the service. However, in actual applications, the more features the bandwidth characteristic information of the service obtained includes, the more comprehensive it can characterize the bandwidth performance of the service, and the more accurate the bandwidth sensitivity of the service obtained subsequently.
[0067] Therefore, the bandwidth characteristic information of the service obtained through this step is very rich and comprehensive, and can comprehensively characterize the bandwidth performance of the service.
[0068] S304, based on the degree of attention of the throughput indicator of the service and the memory access bandwidth bottleneck of the service, a preset bandwidth sensitivity calculation rule or a pre-trained bandwidth sensitivity calculation model is used to obtain the bandwidth sensitivity of the service;
[0069] Similar to the calculation method of the service delay sensitivity, taking the case where the bandwidth characteristic information of the service includes both the attention of the service throughput indicator and the service memory access bandwidth bottleneck, the bandwidth sensitivity of the service can be calculated using the following formula:
[0070] Bandwidth sensitivity of a service = bandwidth sensitivity coefficient * the degree of attention paid to the throughput indicator of the service * the memory access bandwidth bottleneck of the service; the bandwidth sensitivity coefficient can be pre-configured based on experience and / or demand and is not limited here.
[0071] Optionally, the bandwidth sensitivity of the service may also be calculated using the following formula:
[0072] Bandwidth sensitivity of a service = coefficient 4*the degree of attention paid to the throughput indicator of the service+coefficient 5*the memory access bandwidth bottleneck of the service; coefficients 4 and 5 can be pre-configured based on experience and / or demand and are not limited here.
[0073] Further optionally, in this embodiment, the bandwidth sensitivity calculation model can also be pre-trained. When used, the attention level of the service throughput indicator and the memory access bandwidth bottleneck of the service are input into the bandwidth sensitivity calculation model. The model can predict and output the bandwidth sensitivity of the service.
[0074] In practical applications, the delay sensitivity of the service can also be calculated by configuring other functions, such as the bandwidth sensitivity of the service = func (coefficient combination, the attention of the service throughput indicator, the memory access bandwidth bottleneck of the service), which will not be described in detail here.
[0075] In the process of calculating the bandwidth sensitivity of the service, the more reference information is used, the more accurate the value of the bandwidth sensitivity of the service is. In this embodiment, the bandwidth sensitivity of the service is obtained by comprehensively referring to the attention of the throughput index of the service and the memory access bandwidth bottleneck of the service, so that the bandwidth sensitivity of the service can be accurately and efficiently obtained.
[0076] S305, obtaining the ratio of the local memory delay of the host corresponding to the service to the CXL shared memory delay, the number of shared instances of the service, the sharing type of the data corresponding to the service, the update timeliness of the shared data version of the service, and the sharing reliability requirement;
[0077] The ratio of the local memory latency of the host corresponding to the business to the CXL shared memory latency. The larger the ratio, the greater the latency difference. The more severe the performance degradation caused by CXL shared memory, the more local memory is needed. This feature belongs to the machine hardware attribute and has nothing to do with the business. For example, the feature value can be obtained by collecting measured data.
[0078] The number of shared instances of a business indicates how many application instances the business has for sharing. The more shared instances there are, the greater the probability that the business's data will be shared and stored in the CXL memory. This feature is business-related and can usually be pre-configured by the business party. When using it, you can obtain it from the configuration information.
[0079] The sharing type of data corresponding to the business can be identified by the ratio of read / write operations of the data corresponding to the business. If the write operation is large, the sharing possibility is lower. More write operations bring high maintenance costs of shared memory, which is not conducive to performance. This feature is also a business-related feature, which can be pre-configured by the business party or obtained through statistics of business monitoring tools.
[0080] The update time limit of the shared data version of the business refers to the time required for the shared data of the business to be updated to a new version. Some tasks need to complete the version update within a specified time, such as 5 seconds. Generally, the old version will not be abandoned immediately during the update, but will wait until all tasks using this version are completed. Then the old version must complete all task executions within 5 seconds. Since there was only one instance using the data originally, and now multiple instances share the data, it may take longer than before to complete all tasks using the old version of the data, resulting in a longer update time limit, which is also a key reason affecting whether sharing is feasible. This feature is also a business-related feature that can be pre-configured by the business party or can also be obtained through statistics from business monitoring tools.
[0081] Sharing reliability requirements indicate whether multiple programs need to be affected if shared memory data is wrong. This feature can be expressed as a numerical value. For example, the larger the value, the higher the reliability requirement. More copies need to be maintained when sharing data. This feature is also a business-related feature. It can be pre-configured by the business party or obtained through statistics from business monitoring tools.
[0082] In this step, the shared characteristic information of the service obtained includes the ratio of the local memory delay of the host to the shared memory delay of CXL, the number of shared instances of the service, the sharing type of the data corresponding to the service, the update time of the shared data version of the service, and all the characteristics in the shared reliability requirements. In actual applications, the shared characteristic information of the service may include only any one, any two, or some of the above multiple characteristics. However, in actual applications, the more characteristics the shared characteristic information of the service obtained includes, the more comprehensively it can characterize the shared performance of the service, and the more accurate the shared sensitivity of the service obtained later.
[0083] Therefore, the shared feature information of the service obtained through this step is very rich and comprehensive, and can comprehensively characterize the shared performance of the service.
[0084] S306, based on the ratio of the local memory delay of the host corresponding to the service to the CXL shared memory delay, the number of shared instances of the service, the sharing type of data corresponding to the service, the update timeliness of the shared data version of the service, and the sharing reliability requirement, a preset sharing sensitivity calculation rule or a pre-trained sharing sensitivity calculation model is used to obtain the sharing sensitivity of the service;
[0085] The calculation method of the shared sensitivity of the service is exactly the same as the calculation method of the delay sensitivity of the service and the bandwidth sensitivity of the service. For details, please refer to the records of the above embodiments and will not be repeated here. Through the above method, the shared sensitivity of the service is obtained by comprehensively referring to the ratio of the local memory delay of the host corresponding to the service / the CXL shared memory delay, the number of shared instances of the service, the sharing type of the data corresponding to the service, the update time of the shared data version of the service, and all the characteristic information in the shared reliability requirements, and the shared sensitivity of the service can also be accurately and efficiently obtained.
[0086] S307, determining a memory allocation scheme for the service based on the delay sensitivity, bandwidth sensitivity, and sharing sensitivity of the service and referring to a preconfigured sensitivity priority policy;
[0087] It should be noted that the memory allocation scheme of the service is determined based on at least one of the delay sensitivity, bandwidth sensitivity and sharing sensitivity of the service. For example, multiple allocation schemes may be included:
[0088] The first type is based on the delay sensitivity and bandwidth sensitivity of the service. When it is determined that the service is delay sensitive but bandwidth insensitive, the local memory of the host is allocated to the service.
[0089] In this embodiment, three types of memory are available for allocation: the host's local memory, CXL's native memory, and CXL's shared memory, each with its own characteristics. For example, the host's local memory has the characteristics of low latency and non-sharing, the CXL's native memory has the characteristics of high bandwidth and non-sharing, and the CXL's shared memory has the characteristics of high bandwidth and sharing.
[0090] In this embodiment, the characteristics of various types of memory, as well as the delay sensitivity, bandwidth sensitivity, and sharing sensitivity requirements of the business can be referred to to determine the reasonable memory configuration for each business, which can effectively avoid resource waste while meeting the performance of the business.
[0091] In specific implementation, a preset delay sensitivity threshold and a preset bandwidth sensitivity threshold may be pre-set. If the delay sensitivity of the service is greater than or equal to the preset delay sensitivity threshold, the service is determined to be delay sensitive; otherwise, the service is determined to be delay insensitive.
[0092] If the bandwidth sensitivity of the service is greater than or equal to a preset bandwidth sensitivity threshold, it is determined that the service bandwidth is sensitive; otherwise, it is determined that the service bandwidth is insensitive.
[0093] The second method is to allocate the local memory of the host and the local memory of the CXL to the service based on the delay sensitivity and bandwidth sensitivity of the service, when it is determined that the service is delay-insensitive but bandwidth-sensitive;
[0094] The third type is that if the business requires non-shared memory, based on the delay sensitivity and bandwidth sensitivity of the business, if it is determined that the business is not sensitive to delay and bandwidth, the local memory of CXL is allocated to the business;
[0095] In this embodiment, the service party may pre-configure whether the memory of the service supports sharing.
[0096] Fourth, if the business requires memory sharing, based on the business's delay sensitivity, bandwidth sensitivity, and sharing sensitivity, determine if the business is delay-insensitive, bandwidth-insensitive, and sharing-sensitive, and allocate CXL shared memory to the business;
[0097] Fifth, if the business requires memory sharing, based on the business's delay sensitivity, bandwidth sensitivity, and sharing sensitivity, determine that the business is delay-insensitive, bandwidth-insensitive, and sharing-insensitive, and when it is determined that the host's local memory is allocated to the business.
[0098] The above five situations are only some of the situations in which the memory allocation scheme of the service is determined based on at least one of the delay sensitivity, bandwidth sensitivity and sharing sensitivity of the service. In actual applications, there may be other ways to determine the memory allocated to the service. For example, if the service satisfies both delay sensitivity and bandwidth sensitivity, then the memory allocation scheme of the service can be determined with reference to one of them. Based on this, in this embodiment, the memory allocation scheme of the service can be determined based on at least one of the delay sensitivity, bandwidth sensitivity and sharing sensitivity of the service, and with reference to the preconfigured sensitivity priority strategy.
[0099] For example, the sensitivity priority policy can define that delay sensitivity has the highest priority, bandwidth sensitivity has the second highest priority, and shared sensitivity has the lowest priority. Alternatively, bandwidth sensitivity can be defined as the highest priority, delay sensitivity has the second highest priority, and shared sensitivity has the lowest priority.
[0100] For example, the preset sensitivity priority policy is used below to define that delay sensitivity has the highest priority, bandwidth sensitivity has the second highest priority, and shared sensitivity has the lowest priority. When step S307 is specifically implemented, the following steps may be included:
[0101] (1) Based on the preset sensitivity priority strategy, first detect whether the service is delay sensitive according to the delay sensitivity of the service and the preset delay sensitivity threshold; if so, execute step (2); otherwise, execute step (3);
[0102] If the delay sensitivity of the service is greater than or equal to the preset delay sensitivity threshold, the service is determined to be delay sensitive; otherwise, if the delay sensitivity of the service is less than the preset delay sensitivity threshold, the service is determined to be delay insensitive.
[0103] (2) Determine the local memory of the host to be allocated for the business; end;
[0104] (3) Based on the preset sensitivity priority strategy, detect whether the service is bandwidth sensitive according to the bandwidth sensitivity of the service and the preset bandwidth sensitivity threshold; if so, execute step (4); otherwise, execute step (5);
[0105] Specifically, if the bandwidth sensitivity of the service is greater than or equal to a preset bandwidth sensitivity threshold, the service is determined to be bandwidth sensitive; otherwise, if the bandwidth sensitivity of the service is less than the preset bandwidth sensitivity threshold, the service is determined to be bandwidth insensitive.
[0106] (4) Determine the local memory of the host and the local memory of CXL to be allocated for the business; end;
[0107] (5) Obtain the memory sharing information of the business configured by the business party; execute step (6);
[0108] (6) Check whether the business memory is shared in the memory sharing information of the business configured by the business party; if not, execute step (7); if shared, execute step (8);
[0109] (7) Determine the local memory of CXL allocated for the business; end;
[0110] (8) Based on the preset sensitivity priority strategy, according to the shared sensitivity of the service and the preset shared sensitivity threshold, detect whether the service is shared sensitive; if so, execute step (9); otherwise, execute step (10);
[0111] If the sharing sensitivity of the service is greater than or equal to the preset sharing sensitivity threshold, the service is determined to be sharing sensitive; otherwise, if the delay sensitivity of the service is less than the preset sharing sensitivity threshold, the service is determined to be sharing insensitive.
[0112] In this embodiment, detecting whether the business is sharing sensitive can also be understood as detecting whether the business memory can use the shared memory of CXL; if the business is sharing sensitive, determining that the business memory can use the shared memory of CXL; otherwise, if the business is not sharing sensitive, determining that the business memory cannot use the shared memory of CXL.
[0113] (9) Determine the allocation of CXL shared memory for the business; end;
[0114] (10) Determine the local memory of the host to be allocated for the business; end.
[0115] Further optionally, if the preset sensitivity priority policy limits bandwidth sensitivity to the highest priority, delay sensitivity to the second highest priority, and shared sensitivity to the lowest priority, for example, when step S307 is specifically implemented, the following steps may be included:
[0116] (a), based on a preset sensitivity priority strategy, first detect whether the service is bandwidth sensitive according to the bandwidth sensitivity of the service and a preset bandwidth sensitivity threshold; if so, execute step (b); otherwise, execute step (c);
[0117] (b) Determine the local memory of the host and the local memory of CXL to be allocated for the business; end;
[0118] (c) based on a preset sensitivity priority strategy, detecting whether the service is delay sensitive according to the delay sensitivity of the service and a preset delay sensitivity threshold; if so, executing step (d); otherwise executing step (e);
[0119] (d) Determine the local memory of the host to be allocated for the business; end;
[0120] (e) Obtain the memory sharing information of the business configured by the business party; execute step (f);
[0121] (f) detecting whether the memory of the business is shared in the memory sharing information of the business configured by the business party; if not, executing step (g); if shared, executing step (h);
[0122] (g) Determine the local memory of CXL allocated for the business; end;
[0123] (h), based on a preset sensitivity priority strategy, first detect whether the service is shared sensitive according to the shared sensitivity of the service and the preset shared sensitivity threshold; if so, execute step (i); otherwise, execute step (j);
[0124] (i) Determine to allocate CXL shared memory for the business; end;
[0125] (j) Determine the local memory of the host to be allocated for the business; end.
[0126] For the specific implementation method, please refer to the above steps (1)-(10), which will not be repeated here.
[0127] In practical applications, the preset sensitivity priority strategy can also limit the shared sensitivity priority band to be the highest, the wide sensitivity priority band to be the second, and the delay sensitivity priority band to be the lowest, or the shared sensitivity priority band to be the highest, the delay sensitivity priority band to be the second, and the wide sensitivity priority band to be the lowest, etc. The order of the steps in the above embodiments can be adjusted accordingly, and no further details will be given here.
[0128] Regardless of which of the above methods is used, the memory allocation scheme for the service can be reasonably and effectively determined based on at least one of the service's delay sensitivity, bandwidth sensitivity, and sharing sensitivity; further, in order to further and more effectively allocate memory to the service, the pre-configured sensitivity priority strategy can also be referred to, so that the memory allocation scheme for the determined service is more reasonable and efficient. Moreover, the memory allocation scheme allocated to the service in the above method comprehensively considers the service's delay sensitivity, bandwidth sensitivity, and sharing sensitivity, and can effectively guarantee the performance of the service without causing waste of resources.
[0129] S308. Allocate memory for the service based on the determined memory allocation solution.
[0130] Specifically, the memory for the service may be allocated using a File Access Memory File System (FAMFS) interface, or a self-developed Application Programming Interface (API) or driver, and the data of the service in the memory may also be managed subsequently.
[0131] The service memory processing method of this embodiment can efficiently and accurately calculate the delay sensitivity, bandwidth sensitivity and sharing sensitivity of the service by adopting a preset shared sensitivity calculation rule or a pre-trained sensitivity calculation model.
[0132] Furthermore, in this embodiment, based on at least one of the delay sensitivity, bandwidth sensitivity and sharing sensitivity of the service, and with reference to a preconfigured sensitivity priority strategy, a memory allocation scheme for the service can be determined more accurately and effectively.
[0133] Moreover, in this embodiment, the delay sensitivity, bandwidth sensitivity and sharing sensitivity of the service are comprehensively considered, which can effectively guarantee the performance of the service after the memory is allocated, and at the same time can effectively guarantee the rationality of the allocated memory, effectively reduce the resource cost of the service use, and effectively avoid waste of resources.
[0134] Figure 4 is a schematic diagram according to the third embodiment of the present disclosure; Figure 4 As shown, this embodiment provides a service memory processing device 400, including:
[0135] The feature acquisition module 401 is used to acquire the delay feature information, bandwidth feature information and sharing feature information of the service to be allocated memory;
[0136] A sensitivity acquisition module 402, configured to sequentially acquire delay sensitivity, bandwidth sensitivity and sharing sensitivity of a service based on the delay characteristic information, bandwidth characteristic information and sharing characteristic information of the service respectively;
[0137] A determination module 403 is used to determine a memory allocation scheme for the business based on at least one of delay sensitivity, bandwidth sensitivity, and sharing sensitivity of the business, wherein the memory allocation scheme for the business identifies allocating memory for the business in at least one of a host's local memory, a computing fast interconnect local memory, and a computing fast interconnect shared memory; the host is a host on which the business is deployed.
[0138] The business memory processing device 400 of this embodiment realizes the implementation principle and technical effect of business memory processing by adopting the above modules, which is the same as that of the above related method embodiments. For details, please refer to the records of the above related method embodiments, which will not be repeated here.
[0139] Figure 5 is a schematic diagram according to the fourth embodiment of the present disclosure; the service memory processing device 500 of this embodiment, in the above Figure 4 Based on the technical solutions of the embodiments shown in the figure, the technical solutions of the present disclosure are further described in more detail. Figure 5As shown, the business memory processing device 500 of this embodiment includes the above Figure 4 The modules with the same name and function are shown as follows: feature acquisition module 501 , sensitivity acquisition module 502 and determination module 503 .
[0140] In this embodiment, the feature acquisition module 501 is used to:
[0141] Obtain at least one of the attention level of the delay indicator of the business, the ratio of the local memory delay / computing fast interconnect memory delay of the business, and the hot spot information of the business.
[0142] Further optionally, in one embodiment of the present disclosure, the feature acquisition module 501 is used to:
[0143] At least one of the attention level of the throughput indicator of the service and the memory access bandwidth information of the service is obtained.
[0144] Further optionally, in one embodiment of the present disclosure, the feature acquisition module 501 is used to:
[0145] Obtain at least one of the ratio of the local memory delay of the host corresponding to the business to the computing fast interconnect shared memory delay, the number of shared instances of the business, the sharing type of data corresponding to the business, the shared data version update time of the business, and the sharing reliability requirement.
[0146] Further optionally, in one embodiment of the present disclosure, the sensitivity acquisition module 502 is used to:
[0147] Based on the delay characteristic information of the service, a preset delay sensitivity calculation rule or a pre-trained delay sensitivity calculation model is used to obtain the delay sensitivity of the service;
[0148] Based on the bandwidth characteristic information of the service, a preset bandwidth sensitivity calculation rule or a pre-trained bandwidth sensitivity calculation model is used to obtain the bandwidth sensitivity of the service;
[0149] Based on the shared feature information of the service, a preset shared sensitivity calculation rule or a pre-trained shared sensitivity calculation model is adopted to obtain the shared sensitivity of the service.
[0150] Further optionally, in one embodiment of the present disclosure, the determining module 503 is configured to:
[0151] Based on the delay sensitivity and bandwidth sensitivity of the service, when it is determined that the service is delay sensitive but bandwidth insensitive, it is determined to allocate the local memory of the host to the service.
[0152] Further optionally, in one embodiment of the present disclosure, the determining module 503 is configured to:
[0153] Based on the delay sensitivity and bandwidth sensitivity of the service, when it is determined that the service is delay-insensitive but bandwidth-sensitive, it is determined to allocate the local memory of the host and the local memory of the computing fast interconnect to the service.
[0154] Further optionally, if Figure 5 As shown, in one embodiment of the present disclosure, the service memory processing device 500 further includes: a detection module 504, which is used to:
[0155] When detecting and determining that the delay sensitivity of the service is greater than or equal to a preset delay sensitivity threshold and the bandwidth sensitivity of the service is less than a preset bandwidth sensitivity threshold, determining that the service is delay sensitive and bandwidth insensitive;
[0156] When it is detected and determined that the delay sensitivity of the service is less than a preset delay sensitivity threshold and the bandwidth sensitivity of the service is greater than or equal to a preset bandwidth sensitivity threshold, it is determined that the service is delay-insensitive and bandwidth-sensitive.
[0157] Further optionally, in one embodiment of the present disclosure, the determining module 503 is configured to:
[0158] If the service requires non-sharing of memory, based on the delay sensitivity and bandwidth sensitivity of the service, if it is determined that the service is delay-insensitive and bandwidth-insensitive, it is determined that the local memory of the computing fast interconnect is allocated to the service.
[0159] Further optionally, in one embodiment of the present disclosure, the determining module 503 is configured to:
[0160] If the service requires memory sharing, based on the delay sensitivity, bandwidth sensitivity and sharing sensitivity of the service, it is determined that the service is delay-insensitive and bandwidth-insensitive. If the service is sharing-sensitive, it is determined that a fast-interconnected shared memory is allocated to the service.
[0161] Further optionally, in one embodiment of the present disclosure, the determining module 503 is configured to:
[0162] If the service requires memory sharing, based on the delay sensitivity, bandwidth sensitivity and sharing sensitivity of the service, it is determined that the service is delay-insensitive and bandwidth-insensitive. If the service is sharing-insensitive, it is determined that the local memory of the host is allocated to the service.
[0163] Further optionally, in one embodiment of the present disclosure, the determining module 503 is configured to:
[0164] Based on at least one of the delay sensitivity, bandwidth sensitivity and sharing sensitivity of the service, and with reference to the preconfigured sensitivity priority strategy, determine to allocate the local memory of the host to the service. The service memory processing device 500 of this embodiment, by adopting the above modules to realize the implementation principle and technical effect of the service memory processing, is the same as the above related method embodiments, and the details can be referred to the records of the above related method embodiments, which will not be repeated here.
[0165] In the technical solution disclosed herein, the acquisition, storage and application of user personal information involved are in compliance with the provisions of relevant laws and regulations and do not violate public order and good morals.
[0166] According to an embodiment of the present disclosure, the present disclosure also provides an electronic device, a readable storage medium and a computer program product.
[0167] Figure 6 A schematic block diagram of an example electronic device 600 that can be used to implement an embodiment of the present disclosure is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processing, cellular phones, smart phones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present disclosure described and / or required herein.
[0168] like Figure 6 As shown, the device 600 includes a computing unit 601, which can perform various appropriate actions and processes according to a computer program stored in a read-only memory (ROM) 602 or a computer program loaded from a storage unit 608 into a random access memory (RAM) 603. In the RAM 603, various programs and data required for the operation of the device 600 can also be stored. The computing unit 601, the ROM 602, and the RAM 603 are connected to each other via a bus 604. An input / output (I / O) interface 605 is also connected to the bus 604.
[0169] A number of components in the device 600 are connected to the I / O interface 605, including: an input unit 606, such as a keyboard, a mouse, etc.; an output unit 607, such as various types of displays, speakers, etc.; a storage unit 608, such as a disk, an optical disk, etc.; and a communication unit 609, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 609 allows the device 600 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks.
[0170] The computing unit 601 may be a variety of general and / or special processing components with processing and computing capabilities. Some examples of the computing unit 601 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various dedicated artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, digital signal processors (DSPs), and any appropriate processors, controllers, microcontrollers, etc. The computing unit 601 performs the various methods and processes described above, such as the above-mentioned methods of the present disclosure. For example, in some embodiments, the above-mentioned methods of the present disclosure may be implemented as a computer software program, which is tangibly contained in a machine-readable medium, such as a storage unit 608. In some embodiments, part or all of the computer program may be loaded and / or installed on the device 600 via ROM 602 and / or communication unit 609. When the computer program is loaded into RAM 603 and executed by the computing unit 601, one or more steps of the above-mentioned methods of the present disclosure described above may be performed. Alternatively, in other embodiments, the computing unit 601 may be configured to perform the above-mentioned methods of the present disclosure in any other appropriate manner (e.g., by means of firmware).
[0171] Various implementations of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), complex programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various implementations can include: being implemented in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which can be a special purpose or general purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.
[0172] The program code for implementing the method of the present disclosure may be written in any combination of one or more programming languages. These program codes may be provided to a processor or controller of a general-purpose computer, a special-purpose computer, or other programmable data processing device, so that the program code, when executed by the processor or controller, enables the functions / operations specified in the flow chart and / or block diagram to be implemented. The program code may be executed entirely on the machine, partially on the machine, partially on the machine and partially on a remote machine as a stand-alone software package, or entirely on a remote machine or server.
[0173] In the context of the present disclosure, a machine-readable medium may be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, device, or equipment. A machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or equipment, or any suitable combination of the foregoing. A more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
[0174] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user can provide input to the computer. Other types of devices can also be used to provide interaction with the user; for example, the feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including acoustic input, voice input, or tactile input).
[0175] The systems and techniques described herein may be implemented in a computing system that includes back-end components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes front-end components (e.g., a user computer with a graphical user interface or a web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such back-end components, middleware components, or front-end components. The components of the system may be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: a local area network (LAN), a wide area network (WAN), and the Internet.
[0176] A computer system may include a client and a server. The client and the server are generally remote from each other and usually interact through a communication network. The relationship of client and server is generated by computer programs running on respective computers and having a client-server relationship with each other. The server may be a cloud server, a server of a distributed system, or a server combined with a blockchain.
[0177] It should be understood that the various forms of processes shown above can be used to reorder, add or delete steps. For example, the steps recorded in this disclosure can be executed in parallel, sequentially or in different orders, as long as the desired results of the technical solutions disclosed in this disclosure can be achieved, and this document does not limit this.
[0178] The above specific implementations do not constitute a limitation on the protection scope of the present disclosure. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions can be made according to design requirements and other factors. Any modification, equivalent substitution and improvement made within the spirit and principle of the present disclosure shall be included in the protection scope of the present disclosure.
Claims
1. A method for processing business memory, comprising: Obtaining delay characteristic information, bandwidth characteristic information, and sharing characteristic information of the service to which memory is to be allocated; Obtaining delay sensitivity, bandwidth sensitivity and sharing sensitivity of the service in sequence based on the delay characteristic information, bandwidth characteristic information and sharing characteristic information of the service respectively; Based on at least one of the delay sensitivity, bandwidth sensitivity and sharing sensitivity of the business, a memory allocation scheme for the business is determined, and the memory allocation scheme for the business identifies allocating memory for the business in at least one of the host's local memory, computing fast interconnect native memory, and computing fast interconnect shared memory; the host is a host where the business is deployed.
2. The method according to claim 1, wherein: Obtain the latency characteristics of the service to which memory is to be allocated, including: Obtain at least one of the attention level of the delay indicator of the business, the ratio of the local memory delay / computing fast interconnect memory delay of the business, and the hot spot information of the business.
3. The method according to claim 1, wherein: Obtain bandwidth characteristic information of the service to which memory is to be allocated, including: At least one of the attention level of the throughput indicator of the service and the memory access bandwidth information of the service is obtained.
4. The method according to claim 1, wherein: Get the shared feature information of the business to be allocated memory, including: Obtain at least one of the ratio of the local memory delay of the host corresponding to the business to the computing fast interconnect shared memory delay, the number of shared instances of the business, the sharing type of data corresponding to the business, the shared data version update time of the business, and the sharing reliability requirement.
5. The method according to claim 1, wherein: Obtaining delay sensitivity, bandwidth sensitivity, and sharing sensitivity of the service in sequence based on the delay characteristic information, bandwidth characteristic information, and sharing characteristic information of the service respectively, including: Based on the delay characteristic information of the service, a preset delay sensitivity calculation rule or a pre-trained delay sensitivity calculation model is used to obtain the delay sensitivity of the service; Based on the bandwidth characteristic information of the service, a preset bandwidth sensitivity calculation rule or a pre-trained bandwidth sensitivity calculation model is used to obtain the bandwidth sensitivity of the service; Based on the shared feature information of the service, a preset shared sensitivity calculation rule or a pre-trained shared sensitivity calculation model is adopted to obtain the shared sensitivity of the service.
6. The method according to any one of claims 1 to 5, wherein: Determining a memory allocation scheme for the service based on at least one of delay sensitivity, bandwidth sensitivity, and sharing sensitivity of the service includes: Based on the delay sensitivity and bandwidth sensitivity of the service, when it is determined that the service is delay sensitive but bandwidth insensitive, it is determined to allocate the local memory of the host to the service.
7. The method according to any one of claims 1 to 5, wherein: Determining a memory allocation scheme for the service based on at least one of delay sensitivity, bandwidth sensitivity, and sharing sensitivity of the service includes: Based on the delay sensitivity and bandwidth sensitivity of the service, when it is determined that the service is delay-insensitive but bandwidth-sensitive, it is determined to allocate the local memory of the host and the local memory of the computing fast interconnect to the service.
8. The method according to claim 7, wherein: The method comprises: When detecting and determining that the delay sensitivity of the service is greater than or equal to a preset delay sensitivity threshold and the bandwidth sensitivity of the service is less than a preset bandwidth sensitivity threshold, determining that the service is delay sensitive and bandwidth insensitive; When it is detected and determined that the delay sensitivity of the service is less than a preset delay sensitivity threshold and the bandwidth sensitivity of the service is greater than or equal to a preset bandwidth sensitivity threshold, it is determined that the service is delay-insensitive and bandwidth-sensitive.
9. The method according to any one of claims 1 to 5, wherein: Determining a memory allocation scheme for the service based on at least one of delay sensitivity, bandwidth sensitivity, and sharing sensitivity of the service includes: If the service requires non-sharing of memory, based on the delay sensitivity and bandwidth sensitivity of the service, if it is determined that the service is delay-insensitive and bandwidth-insensitive, it is determined that the local memory of the computing fast interconnect is allocated to the service.
10. The method according to any one of claims 1 to 5, wherein: Determining a memory allocation scheme for the service based on at least one of delay sensitivity, bandwidth sensitivity, and sharing sensitivity of the service includes: If the service requires memory sharing, based on the delay sensitivity, bandwidth sensitivity and sharing sensitivity of the service, it is determined that the service is delay-insensitive and bandwidth-insensitive. If the service is sharing-sensitive, it is determined that a fast-interconnected shared memory is allocated to the service.
11. The method according to any one of claims 1 to 5, wherein: Determining a memory allocation scheme for the service based on at least one of delay sensitivity, bandwidth sensitivity, and sharing sensitivity of the service includes: If the service requires memory sharing, based on the delay sensitivity, bandwidth sensitivity and sharing sensitivity of the service, it is determined that the service is delay-insensitive and bandwidth-insensitive. If the service is sharing-insensitive, it is determined that the local memory of the host is allocated to the service.
12. The method according to any one of claims 1 to 5, wherein: Determining a memory allocation scheme for the service based on at least one of delay sensitivity, bandwidth sensitivity, and sharing sensitivity of the service includes: Based on at least one of the delay sensitivity, bandwidth sensitivity and sharing sensitivity of the service, and with reference to a preconfigured sensitivity priority policy, determine to allocate the local memory of the host to the service.
13. A processing device for a business memory, comprising: A feature acquisition module, used to acquire delay feature information, bandwidth feature information and sharing feature information of the service to be allocated memory; A sensitivity acquisition module, used to sequentially acquire the delay sensitivity, bandwidth sensitivity and sharing sensitivity of the service based on the delay characteristic information, bandwidth characteristic information and sharing characteristic information of the service respectively; A determination module is used to determine a memory allocation scheme for the business based on at least one of delay sensitivity, bandwidth sensitivity and sharing sensitivity of the business, wherein the memory allocation scheme for the business identifies allocating memory for the business in at least one of a host's local memory, a computing fast interconnect local memory and a computing fast interconnect shared memory; the host is a host where the business is deployed.
14. The device according to claim 13, wherein: The feature acquisition module is used to: Obtain at least one of the attention level of the delay indicator of the business, the ratio of the local memory delay / computing fast interconnect memory delay of the business, and the hot spot information of the business.
15. The device according to claim 13, wherein: The feature acquisition module is used to: At least one of the attention level of the throughput indicator of the service and the memory access bandwidth information of the service is obtained.
16. The device according to claim 13, wherein: The feature acquisition module is used to: Obtain at least one of the ratio of the local memory delay of the host corresponding to the business to the computing fast interconnect shared memory delay, the number of shared instances of the business, the sharing type of data corresponding to the business, the shared data version update time of the business, and the sharing reliability requirement.
17. The device according to claim 13, wherein: The sensitivity acquisition module is used to: Based on the delay characteristic information of the service, a preset delay sensitivity calculation rule or a pre-trained delay sensitivity calculation model is used to obtain the delay sensitivity of the service; Based on the bandwidth characteristic information of the service, a preset bandwidth sensitivity calculation rule or a pre-trained bandwidth sensitivity calculation model is used to obtain the bandwidth sensitivity of the service; Based on the shared feature information of the service, a preset shared sensitivity calculation rule or a pre-trained shared sensitivity calculation model is adopted to obtain the shared sensitivity of the service.
18. The device according to any one of claims 13 to 17, wherein: The determining module is used to: Based on the delay sensitivity and bandwidth sensitivity of the service, when it is determined that the service is delay sensitive but bandwidth insensitive, it is determined to allocate the local memory of the host to the service.
19. The device according to any one of claims 13 to 17, wherein: The determining module is used to: Based on the delay sensitivity and bandwidth sensitivity of the service, when it is determined that the service is delay-insensitive but bandwidth-sensitive, it is determined to allocate the local memory of the host and the local memory of the computing fast interconnect to the service.
20. The device according to claim 19, wherein The device further comprises: a detection module, configured to: When detecting and determining that the delay sensitivity of the service is greater than or equal to a preset delay sensitivity threshold and the bandwidth sensitivity of the service is less than a preset bandwidth sensitivity threshold, determining that the service is delay sensitive and bandwidth insensitive; When it is detected and determined that the delay sensitivity of the service is less than a preset delay sensitivity threshold and the bandwidth sensitivity of the service is greater than or equal to a preset bandwidth sensitivity threshold, it is determined that the service is delay-insensitive and bandwidth-sensitive.
21. The device according to any one of claims 13 to 17, wherein: The determining module is used to: If the service requires non-sharing of memory, based on the delay sensitivity and bandwidth sensitivity of the service, if it is determined that the service is delay-insensitive and bandwidth-insensitive, it is determined that the local memory of the computing fast interconnect is allocated to the service.
22. The device according to any one of claims 13 to 17, wherein: The determining module is used to: If the service requires memory sharing, based on the delay sensitivity, bandwidth sensitivity and sharing sensitivity of the service, it is determined that the service is delay-insensitive and bandwidth-insensitive. If the service is sharing-sensitive, it is determined that a fast-interconnected shared memory is allocated to the service.
23. The device according to any one of claims 13 to 17, wherein: The determining module is used to: If the service requires memory sharing, based on the delay sensitivity, bandwidth sensitivity and sharing sensitivity of the service, it is determined that the service is delay-insensitive and bandwidth-insensitive. If the service is sharing-insensitive, it is determined that the local memory of the host is allocated to the service.
24. The device according to any one of claims 13 to 17, wherein: The determining module is used to: Based on at least one of the delay sensitivity, bandwidth sensitivity and sharing sensitivity of the service, and with reference to a preconfigured sensitivity priority policy, determine to allocate the local memory of the host to the service.
25. An electronic device comprising: at least one processor; as well as a memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the method according to any one of claims 1 to 12.
26. A non-transitory computer-readable storage medium storing computer instructions, wherein: The computer instructions are used to cause the computer to execute the method according to any one of claims 1-12.
27. A computer program product comprising a computer program, which, when executed by a processor, implements the method according to any one of claims 1 to 12.
Citation Information
Cited By
Memory scheduling method and device, electronic equipment and storage medium
CN121680722A