Information processing method, device, equipment and storage medium
Through multi-scheduling level design and scheduling configuration information, the problem of inflexible resource allocation in existing technologies is solved, efficient resource allocation and differentiated user experience in complex priority scenarios are achieved, resource utilization is improved and operation and maintenance costs are reduced.
Patent Information
- Application Number
- CN202510983255.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-07-17
- Publication Date
- 2025-09-19
- Estimated Expiration
- 2045-07-17
AI Technical Summary
The existing priority-based first-in-first-out queue scheduling scheme is too absolute in resource allocation and cannot adapt to complex priority scenarios, resulting in inflexible and inefficient resource allocation.
A multi-scheduling level design is adopted. The scheduler corresponds to resource groups of different computing power types. Each scheduling level corresponds to at least one request queue. The resource quota is determined by scheduling configuration information and level order to achieve differentiated resource allocation for different priorities and user types.
It enables flexible resource allocation in complex priority scenarios, meeting the needs of high-priority users while improving resource utilization and reducing operation and maintenance costs.
Smart Images

Figure CN120508396B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of computer technology, and in particular to an information processing method, apparatus, device, and storage medium. Background Art
[0002] Currently, to solve the queuing problem for users of different priorities, a common solution is prioritized first-in, first-out queue scheduling. This solution places requests at the end of the queue corresponding to their priority level. Resources are allocated based on priority, prioritizing higher-priority queues. Only when a higher-priority queue is free of requests are remaining resources allocated to the next-highest priority queue. However, this solution, which strictly allocates resources based on priority, is too absolute and unsuitable for resource allocation in complex priority scenarios. Summary of the Invention
[0003] The present disclosure provides an information processing method, apparatus, device, and storage medium to solve at least one problem in the related art. The technical solution of the present disclosure is as follows:
[0004] According to one aspect of an embodiment of the present disclosure, there is provided an information processing method, including:
[0005] Obtaining scheduling configuration information corresponding to at least one scheduler; different schedulers correspond to resource groups of different computing power types, and the scheduling configuration information is used to at least represent resource allocation parameters of multiple scheduling levels corresponding to each scheduler; each scheduling level corresponds to at least one request queue, different request queues correspond to user objects of different object types, and some request queues corresponding to the scheduling levels overlap;
[0006] Determining, based on the scheduling configuration information corresponding to each of the at least one scheduler and the hierarchical order of each of the scheduling levels, quota information corresponding to each of the scheduling levels in the current scheduling phase; the quota information includes a resource quota of the request queue and resource identification information of the corresponding resource group;
[0007] Based on the resource quota and the resource group corresponding to the resource identification information, the dequeue requests of each request queue in the current scheduling phase are processed.
[0008] In some embodiments, the scheduling configuration information includes level weight parameters corresponding to a plurality of scheduling levels, and intra-level weight parameters corresponding to each request queue in each of the scheduling levels;
[0009] The determining, based on the scheduling configuration information corresponding to each of the at least one scheduler and the hierarchical order of each of the scheduling levels, the quota information corresponding to each of the scheduling levels in the current scheduling phase includes:
[0010] Based on the level weight parameter corresponding to each of the at least one scheduler, the intra-level weight parameter and the level order of each of the scheduling levels, the quota information corresponding to each request queue in each of the scheduling levels in the current scheduling phase is determined.
[0011] In some embodiments, the current scheduling stage includes a first scheduling stage and a second scheduling stage; determining the quota information corresponding to each request queue in each scheduling level in the current scheduling stage based on the level weight parameter, the intra-level weight parameter, and the level order of each scheduling level corresponding to each of the at least one scheduler includes:
[0012] Obtaining the available resource quota of each scheduler in the current time window;
[0013] Determining, based on the level weight parameter and the corresponding available resource quota corresponding to each of the at least one schedulers, level quota information corresponding to each of the scheduling levels allocated in the first scheduling stage;
[0014] Determining, based on the intra-layer weight parameter corresponding to each of the at least one scheduler, the layer quota information corresponding to each of the scheduling layers, and the layer order of each of the scheduling layers, the quota information corresponding to each of the request queues in each of the scheduling layers allocated in the first scheduling phase;
[0015] If it is detected that there is remaining resource quota in the current time window, the remaining resource quota is allocated based on the hierarchical order of the multiple scheduling levels corresponding to each scheduler and the weight parameters within the layer, and the quota information corresponding to each request queue in each scheduling level allocated in the second scheduling stage is determined.
[0016] In some embodiments, determining the quota information corresponding to each request queue in each scheduling level allocated in the first scheduling stage based on the intra-level weight parameter corresponding to each of the at least one schedulers, the level quota information corresponding to each scheduling level, and the level order of each scheduling level includes:
[0017] Determining the reserved resource quota corresponding to each scheduling level;
[0018] Obtaining an updated level quota corresponding to each scheduling level based on a difference between the level quota information corresponding to each scheduling level and the reserved resource quota;
[0019] Based on the intra-layer weight parameters corresponding to each of the at least one scheduler and the updated layer quota corresponding to each of the scheduling layers, the quota information corresponding to each request queue in each of the scheduling layers allocated in the first scheduling stage is determined.
[0020] In some embodiments, after processing the dequeue requests of each of the request queues in the current scheduling phase, the method further includes:
[0021] If there is a remaining resource quota in the current time window corresponding to the current scheduling phase, the resource allocation operation of the next scheduling phase within the current time window is triggered, and the corresponding dequeue request is scheduled to the corresponding resource group;
[0022] If there is no remaining resource quota in the current time window corresponding to the current scheduling stage, wait until the next time window to perform resource allocation operations in the next time window and schedule the corresponding dequeue request to the corresponding resource group.
[0023] In some embodiments, the scheduling configuration information further includes window switch parameters;
[0024] When the window switch parameter of the current time window indicates off, in the second scheduling phase allocation corresponding to the current time window, no resource allocation operation is performed on the scheduling level indicated by the window switch parameter;
[0025] When the window switch parameter of the current time window indicates that it is on, in the second scheduling phase allocation corresponding to the current time window, a resource allocation operation is triggered for the scheduling level indicated by the window switch parameter.
[0026] In some embodiments, the intra-layer weight parameter is determined based on the queue weight parameter corresponding to each request queue in each scheduling level and the current accumulation amount of each corresponding request queue; the intra-layer weight parameter is directly proportional to the current accumulation amount of each corresponding request queue.
[0027] In some embodiments, the scheduling configuration information further includes a delay parameter, which is used to indicate a dequeue delay of a target request queue; different schedulers correspond to different target request queues and / or delay parameter values.
[0028] In some embodiments, the scheduling configuration table corresponding to the scheduling configuration information includes a first configuration table corresponding to the first scheduler and a second configuration table corresponding to the second scheduler, the priority of the first scheduler is higher than the priority of the second scheduler, and the computing power of the resource group corresponding to the first scheduler is greater than the computing power of the resource group corresponding to the second scheduler.
[0029] According to another aspect of an embodiment of the present disclosure, there is provided an information processing apparatus, including:
[0030] a configuration acquisition module configured to execute and acquire scheduling configuration information corresponding to at least one scheduler; different schedulers correspond to resource groups of different computing power types, and the scheduling configuration information is used to at least represent resource allocation parameters of multiple scheduling levels corresponding to each scheduler; each scheduling level corresponds to at least one request queue, different request queues correspond to user objects of different object types, and some request queues corresponding to the scheduling levels overlap;
[0031] a quota determination module configured to determine quota information corresponding to each of the scheduling levels in a current scheduling phase based on the scheduling configuration information corresponding to each of the at least one scheduler and the hierarchical order of each of the scheduling levels; the quota information including the resource quota of the request queue and the resource identification information of the corresponding resource group;
[0032] The request processing module is configured to execute processing of the dequeue requests of each request queue in the current scheduling phase based on the resource quota and the resource group corresponding to the resource identification information.
[0033] In some embodiments, the scheduling configuration information includes level weight parameters corresponding to multiple scheduling levels and intra-level weight parameters corresponding to each request queue in each scheduling level; the quota determination module includes:
[0034] The quota determination submodule is configured to determine the quota information corresponding to each request queue in each scheduling level of the current scheduling stage based on the level weight parameters corresponding to each of the at least one scheduler, the intra-level weight parameters and the level order of each scheduling level.
[0035] In some embodiments, the current scheduling phase includes a first scheduling phase and a second scheduling phase; the quota determination submodule includes:
[0036] An available quota obtaining unit, configured to obtain the available resource quota of each scheduler in the current time window;
[0037] a layer quota determining unit configured to determine layer quota information corresponding to each of the scheduling layers allocated in the first scheduling stage based on the layer weight parameter and the corresponding available resource quota corresponding to each of the at least one scheduler;
[0038] a first-stage quota determination unit configured to determine, based on the intra-layer weight parameter corresponding to each of the at least one scheduler, the layer quota information corresponding to each of the scheduling layers, and the layer order of each of the scheduling layers, quota information corresponding to each of the request queues in each of the scheduling layers allocated in the first scheduling stage;
[0039] The second-stage quota determination unit is configured to execute, if it is detected that there is a remaining resource quota in the current time window, resource allocation for the remaining resource quota based on the hierarchical order of the multiple scheduling levels corresponding to each of the schedulers and the weight parameters within the layer, and determine the quota information corresponding to each request queue in each of the scheduling levels allocated in the second scheduling stage.
[0040] In some embodiments, the first-stage quota determination unit is further configured to perform:
[0041] Determining the reserved resource quota corresponding to each scheduling level;
[0042] Obtaining an updated level quota corresponding to each scheduling level based on a difference between the level quota information corresponding to each scheduling level and the reserved resource quota;
[0043] Based on the intra-layer weight parameters corresponding to each of the at least one scheduler and the updated layer quota corresponding to each of the scheduling layers, the quota information corresponding to each request queue in each of the scheduling layers allocated in the first scheduling stage is determined.
[0044] In some embodiments, the apparatus further comprises:
[0045] The first processing module is configured to trigger resource allocation operations for the next scheduling phase within the current time window if there is a remaining resource quota in the current time window corresponding to the current scheduling phase, and schedule the corresponding dequeue request to the corresponding resource group;
[0046] The second processing module is configured to execute if there is no remaining resource quota in the current time window corresponding to the current scheduling stage, wait until the next time window to perform the resource allocation operation in the next time window, and schedule the corresponding dequeue request to the corresponding resource group.
[0047] In some embodiments, the scheduling configuration information further includes window switch parameters;
[0048] When the window switch parameter of the current time window indicates off, in the second scheduling phase allocation corresponding to the current time window, no resource allocation operation is performed on the scheduling level indicated by the window switch parameter;
[0049] When the window switch parameter of the current time window indicates that it is on, in the second scheduling phase allocation corresponding to the current time window, a resource allocation operation is triggered for the scheduling level indicated by the window switch parameter.
[0050] In some embodiments, the intra-layer weight parameter is determined based on the queue weight parameter corresponding to each request queue in each scheduling level and the current accumulation amount of each corresponding request queue; the intra-layer weight parameter is directly proportional to the current accumulation amount of each corresponding request queue.
[0051] In some embodiments, the scheduling configuration information further includes a delay parameter, which is used to indicate a dequeue delay of a target request queue; different schedulers correspond to different target request queues and / or delay parameter values.
[0052] In some embodiments, the scheduling configuration table corresponding to the scheduling configuration information includes a first configuration table corresponding to the first scheduler and a second configuration table corresponding to the second scheduler, the priority of the first scheduler is higher than the priority of the second scheduler, and the computing power of the resource group corresponding to the first scheduler is greater than the computing power of the resource group corresponding to the second scheduler.
[0053] According to another aspect of an embodiment of the present disclosure, a computer-readable storage medium is provided. When instructions in the computer-readable storage medium are executed by a processor of an electronic device, the electronic device can execute the information processing method described in any of the above embodiments.
[0054] According to another aspect of the present disclosure, an electronic device is provided, including:
[0055] processor;
[0056] a memory for storing instructions executable by the processor;
[0057] The processor is configured to execute the instructions to implement the information processing method as described in any of the above embodiments.
[0058] According to another aspect of an embodiment of the present disclosure, a computer program product is provided. The computer program product includes a computer program. When the computer program is executed by a processor, the information processing method provided in any one of the above embodiments is implemented.
[0059] The technical solutions provided by the embodiments of the present disclosure bring at least the following beneficial effects:
[0060] The embodiment of the present disclosure obtains the scheduling configuration information corresponding to at least one scheduler; different schedulers correspond to resource groups of different computing power types, and the scheduling configuration information is at least used to characterize the resource allocation parameters of multiple scheduling levels corresponding to each of the schedulers; each of the scheduling levels corresponds to at least one request queue, and the object types of user objects corresponding to different request queues are different, and the request queues corresponding to some of the scheduling levels overlap; based on the scheduling configuration information corresponding to the at least one scheduler and the hierarchical order of each of the scheduling levels, the quota information corresponding to each of the scheduling levels in the current scheduling stage is determined; the quota information includes the resource quota of the request queue and the resource identification information of the corresponding resource group; based on the resource quota and the resource group corresponding to the resource identification information, the dequeue request of each of the request queues in the current scheduling stage is processed. In this way, by adopting a multi-scheduling level design, different scheduling levels correspond to at least one request queue, and different request queues correspond to different types of user objects. The request queues corresponding to some scheduling levels overlap, so that the request queues in each scheduling level are not queues of a single priority, but can contain more diverse request queues. This not only solves the resource allocation of queues of different priorities, but also ensures resource sharing between queues of the same priority, which is suitable for resource allocation in complex priority scenarios. In addition, through the scheduling configuration information of at least one scheduler and the hierarchical order of each scheduling level, resources are allocated to the request queues of each scheduling level, which can give priority to user requests of high-priority user objects, for example, and can use multiple resource groups of different computing power types to process different request queues, differentiate the experience of users of different priorities, and enable user objects of different user types to be allocated preset computing power resources, thereby enjoying the preset queuing experience, while improving resource utilization and reducing operation and maintenance costs.
[0061] It is to be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the disclosure. BRIEF DESCRIPTION OF THE DRAWINGS
[0062] The accompanying drawings herein are incorporated into the specification and constitute a part of the present disclosure, illustrate embodiments consistent with the present disclosure, and together with the description are used to explain the principles of the present disclosure, and do not constitute an improper limitation to the present disclosure.
[0063] Figure 1 The figure is a flowchart of an information processing method according to an exemplary embodiment.
[0064] Figure 2 The figure is a process diagram of an information processing method according to an exemplary embodiment.
[0065] Figure 3The flowchart of another information processing method is shown according to an exemplary embodiment.
[0066] Figure 4 The flowchart of another information processing method is shown according to an exemplary embodiment.
[0067] Figure 5 The figure is a block diagram of an information processing device according to an exemplary embodiment.
[0068] Figure 6 It is a block diagram of an electronic device according to an exemplary embodiment. DETAILED DESCRIPTION
[0069] In order to enable ordinary persons in the art to better understand the technical solutions of the present disclosure, the technical solutions in the embodiments of the present disclosure will be clearly and completely described below with reference to the accompanying drawings.
[0070] It should be noted that the terms "first," "second," and the like in the specification and claims of the present disclosure and the above-mentioned drawings are used to distinguish similar objects and are not necessarily used to describe a specific order or precedence. It should be understood that the numbers used in this manner are interchangeable where appropriate so that the embodiments of the present disclosure described herein can be implemented in an order other than those illustrated or described herein. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with the present disclosure. Instead, they are merely examples of apparatus and methods consistent with certain aspects of the present disclosure as detailed in the appended claims.
[0071] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for display, data for analysis, etc.) involved in this disclosure are all information and data authorized by the user or fully authorized by all parties.
[0072] Figure 1 The figure is a flowchart of an information processing method according to an exemplary embodiment. Figure 2 It is a process diagram of an information processing method according to an exemplary embodiment. The information processing method can be applied to an electronic device, which can be a terminal, a server or a similar computing device. Take the electronic device as an example for explanation, wherein the server includes but is not limited to an independent server, or a server cluster or distributed system composed of multiple physical servers, or one or more cloud servers that provide basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, intermediate services, domain name services, security services, and big data and artificial intelligence platforms. Figure 1 and Figure 2As shown, the method includes the following steps.
[0073] In step S101, the scheduling configuration information corresponding to at least one scheduler is obtained; different schedulers correspond to resource groups of different computing power types, and the scheduling configuration information is at least used to characterize the resource allocation parameters of multiple scheduling levels corresponding to each of the schedulers; each of the scheduling levels corresponds to at least one request queue, and different request queues correspond to user objects of different object types, and some request queues corresponding to the scheduling levels overlap.
[0074] Among them, the scheduler can be a functional module located between the request queue and the resource group. The scheduler can schedule user requests in the request queue to the corresponding resource group so that the resource group performs corresponding processing on the corresponding user request. The user request may refer to a task processing request triggered by a user object. Exemplarily, the task processing request may include but is not limited to at least one of a video generation task, a video editing task, an image synthesis task, and a dialogue task. The resource group refers to a service resource used to process user requests. Exemplarily, the resource group may include neural network models of different computing power types, such as a large language model of a high computing power type, a large language model of a low computing power type, and the like.
[0075] In the disclosed embodiments, the scheduling configuration information corresponding to at least one scheduler can be obtained from the scheduling configuration table corresponding to each scheduler. Each scheduling configuration table can be configured with the scheduling level and scheduling configuration information corresponding to each scheduler. Different schedulers correspond to resource groups of different computing power types, and the schedulers and resource groups can have a one-to-one correspondence.
[0076] In some embodiments, the scheduling configuration table corresponding to the scheduling configuration information includes a first configuration table corresponding to the first scheduler and a second configuration table corresponding to the second scheduler, the priority of the first scheduler is higher than the priority of the second scheduler, and the computing power of the resource group corresponding to the first scheduler is greater than the computing power of the resource group corresponding to the second scheduler.
[0077] For example, assuming there are two schedulers, the scheduling configuration information for the first scheduler can be obtained from the first scheduling configuration table corresponding to the first scheduler. The scheduling configuration information for the second scheduler can be obtained from the second scheduling configuration table corresponding to the second scheduler. The computing power of the resource group corresponding to the first scheduler can be greater than that of the resource group corresponding to the second scheduler. Accordingly, the inference speed of the resource group corresponding to the first scheduler is greater than that of the resource group corresponding to the second scheduler. For example, the first scheduler corresponds to a resource group of high computing power (e.g., resource group of computing power type A), and the second scheduler corresponds to a resource group of low computing power (e.g., resource group of computing power type B). The priority of the first scheduler is higher than that of the second scheduler, meaning that the first scheduler takes precedence over the second scheduler in executing request scheduling operations. Because resource groups of different computing power types have different inference speeds and prioritize different request queues, setting up multiple configuration tables facilitates scheduling requests to resource groups of different computing power types according to different configuration tables.
[0078] The scheduling configuration information is at least used to characterize the resource allocation parameters of the multiple scheduling levels corresponding to each of the schedulers. Exemplarily, the scheduling configuration information may at least include the resource allocation weights corresponding to each scheduling level. The scheduling configuration table corresponding to the scheduler may include multiple scheduling levels. Each of the scheduling levels corresponds to at least one request queue. Specifically, each scheduling level may include queue information of at least one request queue. The queue information is at least used to reflect the object type of the user object in the request queue. Exemplarily, the object type may include but is not limited to at least one of B-side member users, domestic member users, foreign member users, and ordinary users. Different request queues correspond to different user objects of different object types. Exemplarily, request queue 1 may be the request queue for high-priority user 1, request queue 2 may be the request queue for high-priority user 2, request queue 5 may be the request queue for high-priority user 5, request queue 6 may be the request queue den for high-priority user 6, request queue a may be the request queue for ordinary user a, request queue b may be the request queue for ordinary user b, and so on. Generally, a user request for a user object will only be placed in one request queue based on the object type of the user object.
[0079] The request queues indicated by the multiple scheduling levels corresponding to different schedulers are different. The request queues corresponding to some of the scheduling levels overlap. For example, taking the first scheduler including three scheduling levels as an example, the request queues indicated by its scheduling level L0 may include: {request queue 1, request queue 2, request queue 3, request queue 4}; the request queues indicated by scheduling level L1 may include: {request queue 1, request queue 2, request queue 3, request queue 4, request queue 5, request queue 6}; the request queues indicated by scheduling level L2 may include: {request queue n, request queue n+1, request queue n+2}, etc. Obviously, for the first scheduler, the request queues indicated by its corresponding scheduling level L0 and the request queues indicated by scheduling level L1 both include {request queue 1, request queue 2, request queue 3, request queue 4}, that is, the request queues corresponding to scheduling level L0 and the request queues corresponding to scheduling level L1 overlap.
[0080] As another example, taking the second scheduler including three scheduling levels as an example, the request queues indicated by scheduling level L0 may include: {request queue 5, request queue 6}; the request queues indicated by scheduling level L1 may include: {request queue 1, request queue 2, request queue 3, request queue 4, request queue 5, request queue 6}; the request queues indicated by scheduling level L2 may include: {request queue n, request queue n+1, request queue n+2}, etc. Obviously, for the second scheduler, the request queues indicated by its corresponding scheduling level L0 and the request queues indicated by scheduling level L1 both include {request queue 5, request queue 6}, that is, the request queues corresponding to scheduling level L0 and scheduling level L1 also overlap.
[0081] In step S103, based on the scheduling configuration information corresponding to each of the at least one scheduler and the hierarchical order of each of the scheduling levels, the quota information corresponding to each of the scheduling levels in the current scheduling stage is determined; the quota information includes the resource quota of the request queue and the resource identification information of the corresponding resource group.
[0082] In the embodiment of the present disclosure, after obtaining the scheduling configuration information corresponding to at least one scheduler, for each scheduler, according to the hierarchical order of the scheduling levels corresponding to each scheduler, starting from the scheduling level with the highest priority, the quota information corresponding to each scheduling level in the current scheduling stage is determined according to the corresponding scheduling configuration information. The hierarchical order refers to the priority order of each scheduling level corresponding to each scheduler. For example, the priority of scheduling level L0 is greater than the priority of scheduling level L1 and is greater than the priority of scheduling level L2. In actual applications, continue as shown below. Figure 2As shown, for the first scheduler, its corresponding scheduling level L0 can be the request queue of high-priority users 1-4, scheduling level L1 can be the request queue of high-priority users 1-6, and scheduling level L2 can be the request queue of ordinary users ab. For the second scheduler, its corresponding scheduling level L0 can be the request queue of high-priority users 5 and 6, scheduling level L1 can be the request queue of high-priority users 1-6, and scheduling level L2 can be the request queue of ordinary users ab.
[0083] The current scheduling phase refers to the time period within the current time window during which the resource allocation mechanism is triggered. Quota information includes the resource quota of the request queue and the resource identification information of the corresponding resource group. The resource quota refers to the computing power quota of the service resources allocated to the request queue. The resource identification information is used to identify the computing power type of the resource group. For example, request queue 1 is allocated 100 computing power from resource group A. Request queue 5 is allocated 50 computing power from resource group B.
[0084] In some embodiments, the scheduling configuration information includes level weight parameters corresponding to multiple scheduling levels and intra-level weight parameters corresponding to each request queue in each scheduling level. The determining of the quota information corresponding to each scheduling level in the current scheduling phase based on the scheduling configuration information corresponding to each of the at least one scheduler and the level order of each scheduling level includes:
[0085] Based on the level weight parameter corresponding to each of the at least one scheduler, the intra-level weight parameter and the level order of each of the scheduling levels, the quota information corresponding to each request queue in each of the scheduling levels in the current scheduling phase is determined.
[0086] The layer weight parameter (MaxQuota) refers to the proportion of the maximum resource quota obtained by different scheduling layers. The layer weight parameters corresponding to different schedulers can be different. For example, continuing with the above example, for the first scheduler, the layer weight parameters corresponding to the L0 scheduling layer and the L1 scheduling layer are 0.2 and 0.8, respectively. For the second scheduler, the layer weight parameters corresponding to the L0 scheduling layer and the L1 scheduling layer are 0.9 and 0.1, respectively.
[0087] The intra-tier weight parameter refers to the proportion of the maximum resource quota allocated to each request queue at each scheduling tier. Within the same scheduling tier, the intra-tier weight parameters for different request queues can be the same or different. Different schedulers can also have different intra-tier weight parameters. Within the same scheduling tier, the sum of the intra-tier weight parameters for each request queue must be less than or equal to 1.
[0088] In some embodiments, the intra-layer weight parameter is determined based on the queue weight parameter corresponding to each request queue in each scheduling level and the current accumulation amount of each corresponding request queue; the intra-layer weight parameter is directly proportional to the current accumulation amount of each corresponding request queue.
[0089] In an embodiment of the present disclosure, the current backlog is used to reflect the number of requests in the request queue. The greater the number of requests, the larger the corresponding current backlog. The queue weight parameter (weight) is a queue-level parameter, which can be the weight of the backlog of the request queue. The queue weight parameters corresponding to different schedulers may also be different. Exemplarily, for the first scheduler, in its corresponding L0 mobilization level, the queue weight parameters corresponding to the four request queues are all 0.25; in its corresponding L1 mobilization level, the queue weight parameters corresponding to the four request queues are all 0.1, and the queue weight parameters corresponding to the two request queues are all 0.4. For the second scheduler, in its corresponding L1 mobilization level, the queue weight parameters corresponding to the two request queues are both 0.5; in its corresponding L1 mobilization level, the queue weight parameters corresponding to the four request queues are all 0.15, and the intra-layer weight parameters corresponding to the two request queues are both 0.2.
[0090] When allocating hierarchical quota information to specific request queues, the product of each queue's current backlog and its queue weight parameter is calculated. The calculated result is normalized for each request queue and used as the final intra-tier weight parameter for each request queue. Quota allocation is then based on this intra-tier weight parameter. The higher the current backlog of a request queue and the larger its queue weight parameter, the more resource quota it will receive within the scheduling hierarchy.
[0091] In this way, by introducing the current accumulation amount to adjust the weight parameters within the layer, the request queue with more accumulation amount can adaptively allocate more resources, balance resource allocation, and avoid excessive accumulation of requests in certain request queues.
[0092] In some embodiments, as Figure 3 As shown, the current scheduling stage includes a first scheduling stage and a second scheduling stage; the determining of the quota information corresponding to each request queue in each scheduling level in the current scheduling stage based on the level weight parameter corresponding to each of the at least one scheduler, the intra-level weight parameter, and the level order of each scheduling level includes:
[0093] In step S301, the available resource quota of the current time window of each scheduler is obtained.
[0094] Generally, the current resource throughput is measured by the computing power provided per minute. In the actual production process, the minute-level time window is too large. Therefore, the embodiment of the present disclosure considers dividing it into a second-level time window to avoid the problem of excessive instantaneous dequeue traffic and subsequent high-priority requests having to wait at least 1 minute to obtain resources.
[0095] In an embodiment of the present disclosure, the remaining resource quota of the resource group corresponding to each scheduler can be obtained through the resource manager, and based on the remaining resource quota, it is divided into multiple second-level time windows to calculate the available resource quota of the current time window of each scheduler. Specifically, for example, the computing power measurement time of 1 minute can be divided into 6 time windows, each time window is 10 seconds. If the current remaining resource quota of 1 minute is 600, the available resource quota of each time window is 100. In this way, by evenly dividing the computing power resources into each time window, resource waste can be avoided.
[0096] Furthermore, to increase the frequency of resource allocation triggering, multiple triggering time points can be set in each time window. The time period between two adjacent triggering time points is considered a current scheduling phase. This means that multiple current scheduling phases can be set in each time window, enabling multiple triggering of resource allocation. For example, the duration of the current scheduling phase can be any suitable value ranging from tens to hundreds of milliseconds.
[0097] In step S303, based on the level weight parameter and the corresponding available resource quota corresponding to each of the at least one scheduler, level quota information corresponding to each of the scheduling levels allocated in the first scheduling stage is determined.
[0098] In an embodiment of the present disclosure, the current scheduling stage is divided into a first scheduling stage and a second scheduling stage for resource allocation. In the first scheduling stage, the obtained available resource quota is allocated to each level, and the level weight parameter and the intra-level weight parameter are considered to perform resource allocation. Specifically, the level weight parameter corresponding to each scheduler is multiplied by the corresponding available resource quota, and the result of the multiplication of the two is determined as the level quota information corresponding to each scheduling level allocated in the first scheduling stage. The level quota information may include the level quota allocated to each scheduling level. For example, taking the available resource quota of the current time window as 100 as an example, for the first scheduler, the level weight parameters corresponding to its corresponding L0 scheduling level and L1 scheduling level are 0.2 and 0.8 respectively, then the maximum level quotas obtained by the L0 scheduling level and the L1 scheduling level are 20 and 80 respectively.
[0099] In step S305, based on the intra-layer weight parameters corresponding to each of the at least one scheduler, the hierarchical quota information corresponding to each of the scheduling levels, and the hierarchical order of each of the scheduling levels, the quota information corresponding to each request queue in each of the scheduling levels allocated in the first scheduling stage is determined.
[0100] In the embodiment of the present disclosure, according to the hierarchical order of the scheduling levels, starting from the scheduling level with the highest priority, the hierarchical quota information corresponding to the scheduling level is multiplied by the corresponding intra-layer weight parameter to determine the result of the multiplication of the two as the quota information corresponding to each request queue in the scheduling level, and at the same time, the request for obtaining the quota information in the scheduling level is dequeued. Similarly, the quota information corresponding to each request queue in the scheduling level with the second highest priority is determined, and at the same time, the request for obtaining the quota information in the scheduling level is dequeued. Each request can only be dequeued once, and the request that has been dequeued in the scheduling level with the highest priority does not need to be dequeued again in the same request queue with the second highest priority, so as to avoid waste of resources. And so on, until the resource allocation of the first scheduling stage is executed. Each dequeued request can carry at least a dequeue label and the resource type of the scheduled resource group.
[0101] In step S307, if it is detected that there is a remaining resource quota in the current time window, the remaining resource quota is allocated based on the hierarchical order of the multiple scheduling levels corresponding to each of the schedulers and the weight parameters within the layer, and the quota information corresponding to each request queue in each of the scheduling levels allocated in the second scheduling stage is determined.
[0102] In the embodiment of the present disclosure, after the execution of the first scheduling stage, some scheduling levels may not have consumed the maximum resource quota due to the small number of requests in the first scheduling stage, that is, there is a remaining resource quota in the current time window. The integrated remaining resource quota is allocated according to the hierarchical order of multiple scheduling levels and the weight parameters within the layer, and the quota information corresponding to each request queue in each of the scheduling levels allocated in the second scheduling stage is determined. At this time, the hierarchical weight parameters are no longer considered to avoid quota waste. If there is no remaining resource quota in the current time window after the execution of the first scheduling stage, the resource allocation of the second scheduling stage will not be executed, but the next time window will be waited for to obtain the available resource quota of the next time window before resource allocation.
[0103] In this way, by dividing the current scheduling stage into the first scheduling stage and the second scheduling stage, resource allocation is constrained by the hierarchical quota information in the first scheduling stage, and the entire remaining resource quota is used in the second scheduling stage, which not only ensures that requests of high-priority scheduling levels are dequeued and processed in a timely manner, thereby improving information processing efficiency, but also avoids starvation of request queues of scheduling levels of other priorities.
[0104] In some embodiments, as Figure 4 As shown, the determining, based on the intra-layer weight parameter corresponding to each of the at least one scheduler, the layer quota information corresponding to each of the scheduling layers, and the layer order of each of the scheduling layers, the quota information corresponding to each request queue in each of the scheduling layers allocated in the first scheduling stage includes:
[0105] In step S401, the reserved resource quota corresponding to each scheduling level is determined;
[0106] In step S403, based on the difference between the level quota information corresponding to each scheduling level and the reserved resource quota, an updated level quota corresponding to each scheduling level is obtained;
[0107] In step S405, based on the intra-layer weight parameters corresponding to each of the at least one scheduler and the updated level quota corresponding to each of the scheduling levels, the quota information corresponding to each request queue in each of the scheduling levels allocated in the first scheduling stage is determined.
[0108] In the embodiment of the present disclosure, in order to ensure that the requests of each scheduling level can be dequeued in time, the reserved resource quota corresponding to each scheduling level can be determined. The reserved resource quota is determined based on the request with the largest required computing power of the request queue of each scheduling level. The difference between the level quota information corresponding to each scheduling level and the reserved resource quota is calculated, and the difference is used as the updated level quota corresponding to each scheduling level. That is, the reserved resource quota is extracted from the level quota to be allocated in advance, and the updated level quota is allocated only according to the weight parameters within the layer, and the quota information corresponding to each request queue in each scheduling level allocated in the first scheduling stage is determined. In the resource allocation process of the first scheduling stage, for the request queue that is blocked by large requests, the reserved resource quota can be allocated to the request queue to ensure that some requests in the request queue can be dequeued smoothly.
[0109] In some embodiments, the scheduling configuration information also includes window switch parameters.
[0110] When the window switch parameter of the current time window indicates off, in the second scheduling phase allocation corresponding to the current time window, no resource allocation operation is performed on the scheduling level indicated by the window switch parameter;
[0111] When the window switch parameter of the current time window indicates that it is on, in the second scheduling phase allocation corresponding to the current time window, a resource allocation operation is triggered for the scheduling level indicated by the window switch parameter.
[0112] The window switch parameter (canUseRemain) is a level parameter, which indicates that within the limited time window, the scheduling level configured with the window switch parameter cannot obtain the corresponding resource quota in the second scheduling phase.
[0113] In an embodiment of the present disclosure, by adding a window switch parameter, the window switch parameter can be set on the level parameter of a scheduling level with a lower priority (for example, scheduling level L2). If the window switch parameter of the current time window indicates closed, that is, the window switch parameter is valid, in the second scheduling phase allocation corresponding to the current time window, the resource allocation operation is not performed on the scheduling level indicated by the window switch parameter. If the window switch parameter of the current time window indicates open, that is, the window switch parameter is invalid, in the second scheduling phase allocation corresponding to the current time window, the resource allocation operation is performed on the scheduling level indicated by the window switch parameter. Exemplarily, the window switch parameter can be set to invalid only in the last time window of each minute, and the corresponding scheduling level of this time window can trigger the resource allocation of the second scheduling phase. In another exemplary manner, the window switch parameter can be set to invalid in every other time window of each minute, and the corresponding scheduling level of this time window can trigger the resource allocation of the second scheduling phase. In this way, the time windows are graded by setting the window switch parameters, and the graded time window mechanism is used to regulate the resource allocation of the second scheduling stage of the corresponding low-priority scheduling level, so as to avoid the low-priority level from grabbing too many idle resources, reserve quotas for the high-priority scheduling level, and improve the resource allocation effect.
[0114] In some embodiments, the scheduling configuration information further includes a delay parameter, which is used to indicate a dequeue delay of a target request queue; different schedulers correspond to different target request queues and / or delay parameter values.
[0115] In the disclosed embodiment, the scheduling configuration information also includes a delay parameter (offset). The delay parameter (offset) is a queue parameter that indicates the dequeue delay of the target request queue, i.e., the offset time for delaying the dequeue of the target request queue. The delay parameter indicates that the resource quota is only effective for requests whose enqueue time is before the current time minus the delay parameter (i.e., the current time - the offset time). Different schedulers correspond to different target request queues and / or delay parameter values. The target request queue refers to the request queue to be delayed. The target request queue includes at least one of the multiple request queues corresponding to each scheduler. For example, for the first scheduler, its corresponding target request queues may include request queue 5 and request queue 6. If the offset for request queue 5 is set to 70 seconds, this means that request queue 5 must accumulate for 70 seconds before being dequeued by the first scheduler, giving request queue 5 the highest priority for dequeueing by the second scheduler. Similarly, for the second scheduler, its corresponding target request queues include request queues 1 through 4. If the offset for request queue 1 is 30 seconds, it means that request queue 1 needs to accumulate for 30 seconds before being dequeued by the second scheduler, giving request queue 1 priority for dequeuing by the first scheduler. By setting the delay parameter, the target request queues corresponding to different schedulers can be dequeued in their own scheduler, making it easier for them to be dequeued by the other scheduler and transferred to a resource group with a more appropriate computing power type, thereby improving resource utilization and efficiency.
[0116] In step S105 , the dequeue requests of the request queues in the current scheduling phase are processed based on the resource quota and the resource group corresponding to the resource identification information.
[0117] In the disclosed embodiment, considering that there are multiple underlying resource groups, the request queue is separated from the scheduler. Each resource group corresponds to a scheduler, and multiple schedulers are used to schedule the request queue. The scheduling configuration parameters of different schedulers are different. At the same time, because there is only one request queue, there will not be a situation where a user request is dequeued twice at the same time. After obtaining the coordination information, the user requests in the request queue can be dequeued using the corresponding resource quota in each resource group according to the order of the user requests in the request queue. After that, the resource group corresponding to the resource identification information can be called to enter the task processing for the corresponding dequeued request.
[0118] In some embodiments, after processing the dequeue requests of each of the request queues in the current scheduling phase, the method further includes:
[0119] If there is a remaining resource quota in the current time window corresponding to the current scheduling phase, the resource allocation operation of the next scheduling phase within the current time window is triggered, and the corresponding dequeue request is scheduled to the corresponding resource group;
[0120] If there is no remaining resource quota in the current time window corresponding to the current scheduling stage, wait until the next time window to perform resource allocation operations in the next time window and schedule the corresponding dequeue request to the corresponding resource group.
[0121] In an embodiment of the present disclosure, during the process of allocating resources for the current scheduling phase, a time snapshot can be taken of the request queue to shield new user requests received within the current scheduling phase. After the resource allocation for the current scheduling phase is executed, it can be unlocked to re-add new user requests to the corresponding request queue. After the dequeue requests of each of the request queues are processed, if there is a remaining resource quota in the current time window corresponding to the current scheduling phase, the resource allocation operation of the next scheduling phase within the current time window is triggered, and the corresponding dequeue request is scheduled to the corresponding resource group. If there is no remaining resource quota in the current time window corresponding to the current scheduling phase, wait until the next time window to obtain a new available resource quota in the next time window to perform the resource allocation operation, and schedule the corresponding dequeue request to the corresponding resource group.
[0122] To facilitate understanding of this solution, the inter-layer and intra-layer allocation processes of computing power resource quotas are described in detail below.
[0123] 1. Quota allocation process between tiers (you need to enter the number of quotas available in the current time window):
[0124] Step 1. Get the total quota number allQuota, that is, the quota number available in the current time window;
[0125] Step 2: If the maximum demand quota (maxQuota) is not equal to the minimum demand quota (minQuota), a reserve resource quota (reserveQuota) is reserved to prevent large requests from blocking the queue (the queue cannot obtain the required quota, resulting in inability to dequeue). The value of this reserve resource quota is equal to the maximum demand quota.
[0126] Step 3. Initialize the remaining allocatable quota number remainAllQuota, which is the number of quotas that can be obtained in the current time window;
[0127] Step 4. Determine each scheduling level one by one according to the priority of the scheduling level:
[0128] a. Verify that the maximum quota ratio of each scheduling level is less than or equal to 1.0;
[0129] b. Calculate the maximum quota levelMaxQuota that can be obtained at the current scheduling level: total quota * level weight parameter MaxQuota (for example, 0.2 for L0, 0.8 for L1, etc.);
[0130] c. Pre-allocate quota canGiveQuota to the level: Min (maximum allocatable quota for the level levelMaxQuota, remaining allocatable quota remainAllQuota);
[0131] d. Call the allocation process within the scheduling level to allocate each request queue within the level;
[0132] e. When the quota used by the request in the scheduling level is less than the pre-allocated quota canGiveQuota, there will be remaining resource quota;
[0133] f. Calculate the remaining allocatable quota, remainAllQuota: the difference between the original remaining quota, remainAllQuota, and the current tier's usage quota, useQuota. If the calculated result is 0, no quota is allocated to the next scheduling tier.
[0134] g. Second round of allocation: If there is still a remaining quota (remainAllQuota), it means that some tiers have fewer requests. At this time, each scheduling tier is evaluated one by one according to the tier priority. In this case, the maximum quota of each scheduling tier is no longer restricted, and allocation is made directly based on priority to avoid resource waste.
[0135] h. Satisfy all requests at each scheduling level. End when the remaining quota is 0 or all user requests at each scheduling level are dequeued.
[0136] 2. Intra-level allocation process (the priority of each request queue within the scheduling level is consistent):
[0137] Step 1. Verification;
[0138] Step 2. The number of quotas available at each scheduling level = the number of quotas allocated to that level (canGiveQuota);
[0139] Step 3. If the maximum demand quota (maxQuota) is not equal to the minimum demand quota (minQuota), a reserve resource quota (reserveQuota) is reserved to prevent large requests from blocking the queue (the queue cannot obtain the required quota, resulting in inability to dequeue). The value of this reserve resource quota is equal to the maximum demand quota.
[0140] Step 4. Apply the configured queue initial weight parameters to modify the current backlog of each request queue;
[0141] Step 5. Calculate the corrected stacking weight of each request queue, i.e., the intra-layer weight parameter (taking into account the minimum weight ratio of the queue);
[0142] Step 6. Ensure that each request queue reaches the minimum weight first, and then allocate quota;
[0143] Step 7. Ensure that the sum of the minimum weights minWeight of all request queues at the same scheduling level is less than 1.0;
[0144] Step 8. Allocate the quota allocated by the scheduling level to each queue according to the weight parameters within the level;
[0145] The allocation between the same levels is based on the carry principle.
[0146] Step 9. When the number of remaining requests in the queue is less than the allocated quota, the remaining resource quota remainQuota appears;
[0147] Step 10. Redistribute the remaining resource quota remainQuota to each request queue according to the weight;
[0148] Step 11. If there is still remaining resource quota, the fallback policy is triggered. The remaining quota (remainQuota) is consolidated to prevent requests with large quotas from being dequeued after the remaining quota is too small. Then, the remaining quota is allocated to each request queue in order of weight until the quota is fully allocated or all requests are dequeued.
[0149] Step 12. End.
[0150] The above embodiment adopts a multi-scheduling level design, in which different scheduling levels correspond to at least one request queue, and different request queues correspond to different object types of user objects. The request queues corresponding to some scheduling levels overlap, so that the request queues in each scheduling level are not queues of a single priority, but can contain more diverse request queues. This not only solves the resource allocation of queues of different priorities, but also ensures resource sharing between queues of the same priority, which is suitable for resource allocation in complex priority scenarios. In addition, through the scheduling configuration information of at least one scheduler and the hierarchical order of each scheduling level, resources are allocated to the request queues of each scheduling level, which can give priority to user requests of high-priority user objects, for example, and can use multiple resource groups of different computing power types to process different request queues, differentiate the experience of users of different priorities, and enable user objects of different user types to be allocated preset computing power resources, thereby enjoying the preset queuing experience, while improving resource utilization and reducing operation and maintenance costs.
[0151] Furthermore, by customizing scheduling configuration information, the user experience of users with different priorities can be differentiated. Requests of the same type should be dequeued fairly, ensuring first-in, first-out processing. Resource utilization is maximized, ensuring no idle resources are left unused. If resources in one queue are not fully utilized, they can be allocated to other queues. The system also offers a degree of adaptability. For example, when a queue is overloaded, it can adaptively allocate more resources to prevent excessive congestion. It also provides anti-starvation capabilities to prevent queues from starving. Multiple resource groups can be assigned to the same queue, and different resource groups have different allocation priorities for the same queue.
[0152] Furthermore, through a multi-level scheduling design, queue priorities are two-dimensionalized, solving the resource allocation problem for queues of different priorities while also ensuring resource sharing between queues of the same priority. A weighted allocation strategy based on the amount of backlog is used: When allocating within a hierarchy, the allocation weight is modified using the current amount of backlog, ensuring that more backlogs result in more resources allocated and faster backlog removal. Time windows are refined and graded, further constraining the allocation of idle resources. Delay parameters are used to simulate the degradation strategy in heterogeneous card scheduling scenarios, allowing queue requests to be correctly scheduled by the corresponding resource group.
[0153] In addition, the disclosed solution increases the resource acquisition rate of high-priority queues from 90% to 99.99%, and the queuing time of 99% of the high-priority queues is optimized from 20+ minutes to less than 2 minutes. In addition, when resources are insufficient, manual adjustment of parameters is supported to focus on protecting certain types of user requests. In addition, the disclosed solution implements heterogeneous resource group scheduling, where high-computing power card types give priority to high-priority queues, and low-computing power gives priority to medium-priority customers. The remaining computing power can be used in staggered manner. After staggered use, there are still resources left, which can be used by the lowest priority users.
[0154] Figure 5 FIG. 1 is a block diagram of an information processing device according to an exemplary embodiment. Figure 5 , the device comprises:
[0155] Configuration acquisition module 510 is configured to execute and acquire scheduling configuration information corresponding to at least one scheduler; different schedulers correspond to resource groups of different computing power types, and the scheduling configuration information is used to at least represent resource allocation parameters of multiple scheduling levels corresponding to each scheduler; each scheduling level corresponds to at least one request queue, and different request queues correspond to user objects of different object types, and some request queues corresponding to the scheduling levels overlap;
[0156] The quota determination module 520 is configured to determine quota information corresponding to each of the scheduling levels in the current scheduling phase based on the scheduling configuration information corresponding to each of the at least one scheduler and the hierarchical order of each of the scheduling levels; the quota information includes a resource quota of the request queue and resource identification information of the corresponding resource group;
[0157] The request processing module 530 is configured to execute processing of the dequeue requests of each request queue in the current scheduling phase based on the resource quota and the resource group corresponding to the resource identification information.
[0158] In some embodiments, the scheduling configuration information includes level weight parameters corresponding to multiple scheduling levels and intra-level weight parameters corresponding to each request queue in each scheduling level; the quota determination module includes:
[0159] The quota determination submodule is configured to determine the quota information corresponding to each request queue in each scheduling level of the current scheduling stage based on the level weight parameters corresponding to each of the at least one scheduler, the intra-level weight parameters and the level order of each scheduling level.
[0160] In some embodiments, the current scheduling phase includes a first scheduling phase and a second scheduling phase; the quota determination submodule includes:
[0161] An available quota obtaining unit, configured to obtain the available resource quota of each scheduler in the current time window;
[0162] a layer quota determining unit configured to determine layer quota information corresponding to each of the scheduling layers allocated in the first scheduling stage based on the layer weight parameter and the corresponding available resource quota corresponding to each of the at least one scheduler;
[0163] a first-stage quota determination unit configured to determine, based on the intra-layer weight parameter corresponding to each of the at least one scheduler, the layer quota information corresponding to each of the scheduling layers, and the layer order of each of the scheduling layers, quota information corresponding to each of the request queues in each of the scheduling layers allocated in the first scheduling stage;
[0164] The second-stage quota determination unit is configured to execute, if it is detected that there is a remaining resource quota in the current time window, resource allocation for the remaining resource quota based on the hierarchical order of the multiple scheduling levels corresponding to each of the schedulers and the weight parameters within the layer, and determine the quota information corresponding to each request queue in each of the scheduling levels allocated in the second scheduling stage.
[0165] In some embodiments, the first-stage quota determination unit is further configured to perform:
[0166] Determining the reserved resource quota corresponding to each scheduling level;
[0167] Obtaining an updated level quota corresponding to each scheduling level based on a difference between the level quota information corresponding to each scheduling level and the reserved resource quota;
[0168] Based on the intra-layer weight parameters corresponding to each of the at least one scheduler and the updated layer quota corresponding to each of the scheduling layers, the quota information corresponding to each request queue in each of the scheduling layers allocated in the first scheduling stage is determined.
[0169] In some embodiments, the apparatus further comprises:
[0170] The first processing module is configured to trigger resource allocation operations for the next scheduling phase within the current time window if there is a remaining resource quota in the current time window corresponding to the current scheduling phase, and schedule the corresponding dequeue request to the corresponding resource group;
[0171] The second processing module is configured to execute if there is no remaining resource quota in the current time window corresponding to the current scheduling stage, wait until the next time window to perform the resource allocation operation in the next time window, and schedule the corresponding dequeue request to the corresponding resource group.
[0172] In some embodiments, the scheduling configuration information further includes window switch parameters;
[0173] When the window switch parameter of the current time window indicates off, in the second scheduling phase allocation corresponding to the current time window, no resource allocation operation is performed on the scheduling level indicated by the window switch parameter;
[0174] When the window switch parameter of the current time window indicates that it is on, in the second scheduling phase allocation corresponding to the current time window, a resource allocation operation is triggered for the scheduling level indicated by the window switch parameter.
[0175] In some embodiments, the intra-layer weight parameter is determined based on the queue weight parameter corresponding to each request queue in each scheduling level and the current accumulation amount of each corresponding request queue; the intra-layer weight parameter is directly proportional to the current accumulation amount of each corresponding request queue.
[0176] In some embodiments, the scheduling configuration information further includes a delay parameter, which is used to indicate a dequeue delay of a target request queue; different schedulers correspond to different target request queues and / or delay parameter values.
[0177] In some embodiments, the scheduling configuration table corresponding to the scheduling configuration information includes a first configuration table corresponding to the first scheduler and a second configuration table corresponding to the second scheduler, the priority of the first scheduler is higher than the priority of the second scheduler, and the computing power of the resource group corresponding to the first scheduler is greater than the computing power of the resource group corresponding to the second scheduler.
[0178] It should be noted that, regarding the device in the above embodiment, the specific method and beneficial effects of each step have been described in detail in the embodiment of the aforementioned method, and will not be elaborated here.
[0179] Figure 6 FIG. 1 is a block diagram of an electronic device according to an exemplary embodiment. Figure 6 , the electronic device includes a processor; a memory for storing instructions executable by the processor; wherein, when the processor is configured to execute the instructions stored in the memory, the steps of any information processing method in the above embodiments are implemented.
[0180] The electronic device may be a terminal, a server or a similar computing device. For example, the electronic device is a server. Figure 6 This is a block diagram of an electronic device for an information processing method according to an exemplary embodiment. The electronic device 1200 may vary significantly depending on configuration or performance. It may include one or more central processing units (CPUs) 1210 (processor 1210 may include, but is not limited to, a microprocessor (MCU) or a programmable logic device (FPGA) processing device), a memory 1230 for storing data, and one or more storage media 1220 (e.g., one or more mass storage devices) for storing application programs 1223 or data 1222. The memory 1230 and storage media 1220 may be either transient or persistent storage. The program stored in the storage medium 1220 may include one or more modules, each of which may include a series of instruction operations within the electronic device. Furthermore, the CPU 1210 may be configured to communicate with the storage medium 1220 to execute the series of instruction operations stored in the storage medium 1220 on the electronic device 1200.
[0181] The electronic device 1200 may also include one or more power supplies 1260, one or more wired or wireless network interfaces 1250, one or more input and output interfaces 1240, and / or one or more operating systems 1221, such as Windows Server, Mac OS X, Unix, Linux, FreeBSD, etc.
[0182] The input / output interface 1240 can be used to receive or transmit data via a network. A specific example of the aforementioned network may include a wireless network provided by the communications provider of the electronic device 1200. In one embodiment, the input / output interface 1240 includes a network interface controller (NIC), which can be connected to other network devices via a base station to enable communication with the Internet. In an exemplary embodiment, the input / output interface 1240 may be a radio frequency (RF) module for wireless communication with the Internet.
[0183] It can be understood by those skilled in the art that Figure 6 The structure shown is only for illustration and does not limit the structure of the above electronic device. Figure 6 More or fewer components than shown, or with Figure 6 Different configurations shown.
[0184] In an exemplary embodiment, a computer-readable storage medium including instructions is also provided, such as a memory including instructions. The instructions can be executed by a processor of the electronic device 1200 to perform the above method. Alternatively, the computer-readable storage medium can be a ROM, a random access memory (RAM), a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device, etc.
[0185] In an exemplary embodiment, a computer storage medium is further provided. When instructions in the computer storage medium are executed by a processor of an electronic device, the electronic device is enabled to perform the steps of the method provided in any one of the above embodiments.
[0186] In an exemplary embodiment, a computer program product is also provided, comprising a computer program / instructions that, when executed by a processor, implements the method provided in any of the above-described embodiments. Optionally, the computer program is stored in a computer-readable storage medium. A processor of an electronic device reads the computer program from the computer-readable storage medium and executes the computer program, causing the electronic device to perform the method provided in any of the above-described embodiments.
[0187] Those skilled in the art will understand that all or part of the processes in the above-mentioned embodiment methods can be implemented by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to memory, storage, database or other media used in the embodiments provided in this application may include non-volatile and / or volatile memory. Non-volatile memory may include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM) or flash memory. Volatile memory may include random access memory (RAM) or external cache memory. By way of illustration and not limitation, RAM is available in many forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), Synchronous Link DRAM (SLDRAM), Rambus direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM), etc.
[0188] Other embodiments of the present disclosure will readily occur to those skilled in the art after considering the specification and practicing the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of the present disclosure that follow the general principles of the present disclosure and include common knowledge or customary techniques in the art not disclosed herein. The description and examples are to be considered as exemplary only, with the true scope and spirit of the present disclosure being indicated by the following claims.
[0189] It should be understood that the present disclosure is not limited to the exact structures that have been described above and shown in the drawings, and that various modifications and changes can be made without departing from the scope thereof. The scope of the present disclosure is limited only by the appended claims.
Claims
1. An information processing method, characterized in that: include: Obtaining scheduling configuration information corresponding to at least one scheduler; Different schedulers correspond to resource groups of different computing power types, and the scheduling configuration information is used to at least represent resource allocation parameters of multiple scheduling levels corresponding to each scheduler; each scheduling level corresponds to at least one request queue, and different request queues correspond to user objects of different object types, and some request queues corresponding to the scheduling levels overlap; Determining, based on the scheduling configuration information and the hierarchical order of each scheduling level, quota information corresponding to each scheduling level in the current scheduling phase; The quota information includes the resource quota of the request queue and the resource identification information of the corresponding resource group; Processing the dequeue requests of each of the request queues in the current scheduling phase based on the resource quota and the resource group corresponding to the resource identification information; The scheduling configuration information includes the hierarchical weight parameters corresponding to each of the schedulers and the intra-layer weight parameters corresponding to each request queue in each of the scheduling hierarchies. The current scheduling stage includes the first scheduling stage and the second scheduling stage. The quota information corresponding to each of the scheduling hierarchies for determining the current scheduling stage includes: Determining the level quota information corresponding to each scheduling level based on the level weight parameter and the available resource quota of the current time window of each scheduler; Determining, based on the intra-layer weight parameter, the layer quota information, and the layer order, quota information corresponding to each request queue in each of the scheduling layers allocated in the first scheduling stage; If it is detected that there is a remaining resource quota in the current time window, the remaining resource quota is allocated based on the hierarchical order and the weight parameters within the layer, and the quota information corresponding to each request queue in each scheduling layer allocated in the second scheduling stage is determined.
2. The method according to claim 1, characterized in that The determining of quota information corresponding to each request queue in each scheduling level allocated in the first scheduling stage includes: Determining the reserved resource quota corresponding to each scheduling level; Obtaining an updated level quota corresponding to each scheduling level based on a difference between the level quota information corresponding to each scheduling level and the reserved resource quota; Based on the intra-layer weight parameters corresponding to each of the at least one scheduler, the update layer quota corresponding to each of the scheduling layers, and the layer order of each of the scheduling layers, the quota information corresponding to each request queue in each of the scheduling layers allocated in the first scheduling stage is determined.
3. The method according to claim 1, characterized in that After processing the dequeue requests of each request queue in the current scheduling phase, the method further includes: If there is a remaining resource quota in the current time window corresponding to the current scheduling phase, the resource allocation operation of the next scheduling phase within the current time window is triggered, and the corresponding dequeue request is scheduled to the corresponding resource group; If there is no remaining resource quota in the current time window corresponding to the current scheduling stage, wait until the next time window to perform resource allocation operations in the next time window and schedule the corresponding dequeue request to the corresponding resource group.
4. The method according to any one of claims 1 to 3, characterized in that: The scheduling configuration information also includes window switch parameters; When the window switch parameter of the current time window indicates off, in the second scheduling phase allocation corresponding to the current time window, no resource allocation operation is performed on the scheduling level indicated by the window switch parameter; When the window switch parameter of the current time window indicates that it is on, in the second scheduling phase allocation corresponding to the current time window, a resource allocation operation is triggered for the scheduling level indicated by the window switch parameter.
5. The method according to any one of claims 1 to 3, characterized in that: The intra-layer weight parameter is determined based on the queue weight parameter corresponding to each request queue in each scheduling level and the current accumulation amount of each corresponding request queue; the intra-layer weight parameter is proportional to the current accumulation amount of each corresponding request queue.
6. The method according to any one of claims 1 to 3, characterized in that: The scheduling configuration information further includes a delay parameter, which is used to indicate a dequeue delay of a target request queue; different schedulers correspond to different target request queues and / or delay parameter values.
7. The method according to any one of claims 1 to 3, characterized in that: The scheduling configuration table corresponding to the scheduling configuration information includes a first configuration table corresponding to the first scheduler and a second configuration table corresponding to the second scheduler. The priority of the first scheduler is higher than the priority of the second scheduler, and the computing power of the resource group corresponding to the first scheduler is greater than the computing power of the resource group corresponding to the second scheduler.
8. An information processing device, characterized in that include: A configuration acquisition module is configured to execute and acquire scheduling configuration information corresponding to at least one scheduler; Different schedulers correspond to resource groups of different computing power types, and the scheduling configuration information is used to at least represent resource allocation parameters of multiple scheduling levels corresponding to each scheduler; each scheduling level corresponds to at least one request queue, and different request queues correspond to user objects of different object types, and some request queues corresponding to the scheduling levels overlap; a quota determination module configured to determine quota information corresponding to each of the scheduling levels in a current scheduling phase based on the scheduling configuration information and the hierarchical order of each of the scheduling levels; The quota information includes the resource quota of the request queue and the resource identification information of the corresponding resource group; a request processing module configured to execute processing of dequeue requests of each of the request queues in a current scheduling phase based on the resource quota and the resource group corresponding to the resource identification information; The scheduling configuration information includes the hierarchical weight parameters corresponding to each of the schedulers and the intra-layer weight parameters corresponding to each request queue in each of the scheduling hierarchies. The current scheduling stage includes the first scheduling stage and the second scheduling stage. The quota information corresponding to each of the scheduling hierarchies for determining the current scheduling stage includes: Determining the level quota information corresponding to each scheduling level based on the level weight parameter and the available resource quota of the current time window of each scheduler; Determining, based on the intra-layer weight parameter, the layer quota information, and the layer order, quota information corresponding to each request queue in each of the scheduling layers allocated in the first scheduling stage; If it is detected that there is a remaining resource quota in the current time window, the remaining resource quota is allocated based on the hierarchical order and the weight parameters within the layer, and the quota information corresponding to each request queue in each scheduling layer allocated in the second scheduling stage is determined.
9. An electronic device, characterized in that: include: processor; a memory for storing instructions executable by the processor; The processor is configured to execute the instructions to implement the information processing method according to any one of claims 1 to 7.
10. A computer-readable storage medium, characterized in that When the instructions in the computer-readable storage medium are executed by a processor of an electronic device, the electronic device is enabled to execute the information processing method according to any one of claims 1 to 7.
11. A computer program product, characterized in that The computer program product includes a computer program, and when the computer program is executed by a processor, the information processing method according to any one of claims 1 to 7 is implemented.
Citation Information
Patent Citations
Scheduling method, scheduler and flash memory device
CN119960935A
Machine learning training task communication scheduling method and device, equipment and storage medium
CN120256056A