CN118152092A - Operating system process scheduling method and device, electronic equipment and storage medium - Google Patents

Operating system process scheduling method and device, electronic equipment and storage medium Download PDF

Info

Publication number
CN118152092A
CN118152092A CN202410232134.XA CN202410232134A CN118152092A CN 118152092 A CN118152092 A CN 118152092A CN 202410232134 A CN202410232134 A CN 202410232134A CN 118152092 A CN118152092 A CN 118152092A
Authority
CN
China
Prior art keywords
priority
subgroup
computing units
operating system
load
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202410232134.XA
Other languages
Chinese (zh)
Inventor
戴纯兴
党荣泉
路廷文
许鑫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Metabrain Intelligent Technology Co Ltd
Original Assignee
Suzhou Metabrain Intelligent Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Suzhou Metabrain Intelligent Technology Co Ltd filed Critical Suzhou Metabrain Intelligent Technology Co Ltd
Priority to CN202410232134.XA priority Critical patent/CN118152092A/en
Publication of CN118152092A publication Critical patent/CN118152092A/en
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

The application provides a method, a device, electronic equipment and a storage medium for scheduling an operating system process, which relate to the technical field of computers and comprise the following steps: determining a plurality of computing units corresponding to an operating system; dividing the plurality of computing units into a plurality of different priority subgroups; based on the priority of each business process in the operating system, distributing each business process to a computing unit in a corresponding priority subgroup for processing; the number of computing units of each priority subgroup is adjusted based on the load of the processing business process of each priority subgroup. The method and the device provided by the application have the advantages that the resource utilization rate of the operating system is improved, the system performance and the response speed of the operating system are improved, and the energy consumption of the operating system is reduced.

Description

Operating system process scheduling method and device, electronic equipment and storage medium
Technical Field
The present application relates to the field of computer technologies, and in particular, to a method and apparatus for scheduling an operating system process, an electronic device, and a storage medium.
Background
With the continuous development of various computing scenarios such as cloud computing, big data processing, edge computing and the like, the process scheduling technology will also face new challenges and opportunities. The requirements of different computing scenarios on process scheduling are not consistent. In cloud computing, process scheduling needs to deal with more complex resource allocation and task scheduling problems so as to realize more efficient and more stable system operation; in big data processing, process scheduling needs to process massive data and complex computing tasks to realize faster and more accurate data processing and analysis; in edge computing, process scheduling requires handling of large amounts of data and scheduling problems of computing tasks on edge devices to achieve faster, lower latency data processing and analysis.
Related technology divides the process into a high priority process and a low priority process, realizes the priority execution of the high priority process, and delays the execution of the low priority process. However, the process scheduling method still has the conditions that the high-priority process and the low-priority process run on the same processor to compete for computing resources, and the low-priority process interferes with the execution of the high-priority process, so that the utilization rate of computing resources of an operating system is lower, the system performance is lower, and the energy consumption is higher.
Therefore, how to schedule each process in the operating system, and improve the resource utilization rate and system performance of the operating system is a technical problem to be solved in the industry.
Disclosure of Invention
The application provides a method, a device, electronic equipment and a storage medium for scheduling processes of an operating system, which are used for solving the technical problems of scheduling each process in the operating system and improving the resource utilization rate and the system performance of the operating system.
The application provides an operating system process scheduling method, which comprises the following steps:
Determining a plurality of computing units corresponding to an operating system;
dividing the plurality of computing units into a plurality of different priority subgroups;
Based on the priority of each business process in the operating system, distributing each business process to a computing unit in a corresponding priority subgroup for processing;
The number of computing units of each priority subgroup is adjusted based on the load of the processing business process of each priority subgroup.
In some embodiments, the dividing the plurality of computing units into a plurality of different priority subgroups comprises:
dividing the plurality of computing units into an online group and an offline group;
Determining the computing unit allocation weights of the priority subgroups;
Based on the computing units assigned weights, each computing unit in the online group is divided into a plurality of different priority subgroups.
In some embodiments, the adjusting the number of computing units of each priority subgroup based on the load of the service process processed by each priority subgroup includes:
And adjusting the number of the computing units of each priority subgroup in the online group and/or the number of the computing units of the offline group based on the load of the business process processed by each priority subgroup.
In some embodiments, the adjusting the number of computing units of each priority subgroup in the online group and/or the number of computing units of the offline group based on the load of each priority subgroup in processing the service process includes:
monitoring the load of the computing units in each priority subgroup, and determining the current load of each priority subgroup;
And selecting a preset number of computing units from any priority subgroup to be distributed to the offline group under the condition that the current load of any priority subgroup is smaller than a first preset load threshold.
In some embodiments, the adjusting the number of computing units of each priority subgroup in the online group and/or the number of computing units of the offline group based on the load of each priority subgroup in processing the service process includes:
monitoring the load of the computing units in each priority subgroup, and determining the current load of each priority subgroup;
Determining the number of calculation units of the offline group under the condition that the current load of any priority subgroup is larger than a second preset load threshold;
selecting a preset number of computing units from the offline group to be distributed to any priority subgroup under the condition that the number of computing units of the offline group is greater than zero;
under the condition that the number of the calculation units of the offline group is zero, determining a candidate priority subgroup corresponding to any priority subgroup based on the priority of each priority subgroup;
selecting a preset number of computing units from the candidate priority subgroups and distributing the computing units to any priority subgroup;
wherein the priority of the candidate priority subgroup is lower than the priority of any one of the priority subgroups.
In some embodiments, the adjusting the number of computing units of each priority subgroup in the online group and/or the number of computing units of the offline group based on the load of each priority subgroup in processing the service process includes:
Determining the load of the highest priority subgroup processing service process;
Determining the number of schedulable computing units in the rest priority subgroups under the condition that the load of the service process processed by the highest priority subgroup is larger than a third preset load threshold;
And stopping scheduling the business processes corresponding to the rest priorities under the condition that the number of schedulable computing units in the rest priority subgroups and the number of computing units of the offline group are zero.
In some embodiments, the assigning each business process to a computing unit in a corresponding priority subgroup for processing includes:
Determining service processes corresponding to the priority subgroups and computing units in the priority subgroups;
distributing the business processes corresponding to each priority subgroup to the computing units in each priority subgroup based on a preset scheduling strategy;
The preset scheduling strategy comprises a stopping scheduling strategy, a deadline scheduling strategy, a real-time scheduling strategy, a full fairness scheduling strategy and an idle scheduling strategy; the priority of the stopping scheduling strategy is greater than the priority of the deadline scheduling strategy; the priority of the deadline scheduling strategy is greater than that of the real-time scheduling strategy; the priority of the real-time scheduling strategy is greater than the priority of the full fairness scheduling strategy; the priority of the full fairness scheduling policy is greater than the priority of the idle scheduling policy.
The application provides an operating system process scheduling device, which comprises:
the determining module is used for determining a plurality of computing units corresponding to the operating system;
an allocation module for dividing the plurality of computing units into a plurality of different priority subgroups;
the processing module is used for distributing each business process to the computing units in the corresponding priority subgroups for processing based on the priority of each business process in the operating system;
And the adjusting module is used for adjusting the number of the computing units of each priority subgroup based on the load of the service process processed by each priority subgroup.
The application provides an electronic device, which comprises a memory, a processor and a computer program stored in the memory and capable of running on the processor, wherein the processor realizes the operating system process scheduling method when executing the program.
The present application provides a non-transitory computer readable storage medium having stored thereon a computer program which, when executed by a processor, implements the operating system process scheduling method.
The application provides a method, a device, electronic equipment and a storage medium for scheduling an operating system process, which are used for determining a plurality of computing units corresponding to an operating system; dividing the plurality of computing units into a plurality of different priority subgroups; based on the priority of each business process in the operating system, distributing each business process to a computing unit in a corresponding priority subgroup for processing; based on the load of each priority subgroup processing service process, the number of computing units of each priority subgroup is adjusted; the computing units corresponding to the operating system are divided into different priorities, so that the priorities of the computing units are matched with the priorities of the business processes, the resource isolation of the business processes with different priorities is realized, and the business processes with any priority can not cause interference to the business processes with other priorities; the number of the computing units of each priority subgroup is dynamically adjusted according to the load of each priority subgroup, the resource requirements of the business processes are matched with the resource supply of the computing units, reasonable scheduling of the processes in the operating system is realized, the resource utilization rate of the operating system is improved, and the system performance and response speed of the operating system are improved. In addition, the plurality of computing units are divided into an online group and an offline group, so that the online computing units are scheduled, the offline computing units are avoided being scheduled, the running number of the computing units is reduced, and the energy consumption of an operating system is reduced.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the application and together with the description, serve to explain the principles of the application.
In order to more clearly illustrate the application or the technical solutions of the prior art, the drawings used in the description of the embodiments or the prior art will be briefly described, and it is obvious that the drawings in the description below are some embodiments of the application, and other drawings can be obtained according to these drawings without inventive effort for a person skilled in the art.
FIG. 1 is a flow chart of a method for scheduling operating system processes provided by the present application;
FIG. 2 is a schematic grouping of computing units provided by the present application;
FIG. 3 is a schematic diagram of an operating system according to the present application;
FIG. 4 is a schematic diagram of a scheduling of an operating system provided by the present application;
FIG. 5 is a schematic diagram of an operating system according to the present application;
FIG. 6 is a schematic diagram of an operating system process scheduler according to the present application;
Fig. 7 is a schematic structural diagram of an electronic device provided by the present application.
Detailed Description
In order that those skilled in the art will better understand the present application, a technical solution in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings in which it is apparent that the described embodiments are only some embodiments of the present application, not all embodiments. All other embodiments, which can be made by those skilled in the art based on the embodiments of the present application without making any inventive effort, shall fall within the scope of the present application.
It should be noted that the terms "first," "second," and the like herein are used for distinguishing between similar objects and not necessarily for describing a particular sequential or chronological order. It is to be understood that the data so used may be interchanged where appropriate such that the embodiments of the application described herein may be implemented in sequences other than those illustrated or otherwise described herein. Furthermore, the terms "comprises," "comprising," and "having," and any variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, system, article, or apparatus that comprises a list of steps or elements is not necessarily limited to those steps or elements expressly listed but may include other steps or elements not expressly listed or inherent to such process, method, article, or apparatus.
Fig. 1 is a flow chart of the operating system process scheduling method provided by the present application, and as shown in fig. 1, the method includes steps 110, 120, 130 and 140.
Step 110, determining a plurality of computing units corresponding to the operating system.
Specifically, an execution body of the operating system process scheduling method provided by the embodiment of the application is an operating system process scheduling device. The apparatus may be implemented in software, such as a process scheduler running in an operating system; devices that perform the operating system process scheduling methods, such as mobile terminals, tablet computers, desktop computers, or servers, may also be used.
An Operating System (OS) is System software that manages computer hardware and software resources, providing a user with a computer System interactive interface. An operating system is one of the most basic software in a computer system, which is responsible for managing and allocating the various resources (e.g., processors, memory, storage, devices, etc.) of the computer, and providing an interface between a user and the computer system so that the user can conveniently use the computer to accomplish various tasks. A Processor (Processor) is a core component in a computer system that is responsible for executing instructions, performing data processing, and controlling the operation of the various computer hardware devices. The processor in a computer is commonly referred to as a central processing unit (Central Processing Unit, CPU).
The computing units may be cores (cores) in the processor, each of which may independently execute instructions and perform data processing. The multi-core processor integrates a plurality of cores on the same processor chip, so that the processor can simultaneously execute a plurality of tasks, and the performance and the efficiency of the system are improved. For example, the processor may be an advanced microprocessor (ADVANCED RISC MACHINES, ARM) that includes a plurality of cores, each core being a computational unit.
The operating system is responsible for scheduling the various processes running on the processor. At this time, the core in the processor is a computing unit corresponding to the operating system.
Step 120, dividing the plurality of computing units into a plurality of different priority subgroups.
In particular, in a computer system, priority is a mechanism used to specify the order in which tasks, processes, or threads are executed. By setting different priorities, it can be determined which tasks, processes, or threads should get processor resources first, and how to allocate system resources (including processor resources, memory resources, network resources, etc.). The number of priorities may be determined as desired and may include, for example, high priority, medium priority, low priority, and the like.
A business process refers to a program or task associated with a particular business for performing a particular business logic or function. The business processes are typically divided into a plurality of priorities based on the priority order of the business processes. In the embodiment of the application, a plurality of computing units corresponding to the operating system can be divided into a plurality of subgroups with different priorities, so that the subgroups with different priorities process business processes with different priorities. For example, the computing units corresponding to the operating system may be divided into a high priority subgroup, a medium priority subgroup, and a low priority subgroup.
And 130, distributing each business process to the computing units in the corresponding priority subgroup for processing based on the priority of each business process in the operating system.
Specifically, according to the priorities of the service processes, the service processes are distributed to the computing units in the corresponding priority subgroups for processing, so that the priorities of the service processes are in one-to-one correspondence with the priorities corresponding to the priority subgroups. For example, a high priority business process may be assigned to a computing unit in a high priority subgroup for processing, a medium priority business process may be assigned to a computing unit in a medium priority subgroup for processing, and a low priority business process may be assigned to a computing unit in a low priority subgroup for processing.
For the business process of any priority, the business process can be only allocated to the computing units in the corresponding priority subgroup for processing, so that the interference of resource preemption and the like caused by processing of the business processes of other priorities is avoided.
And 140, adjusting the number of the computing units of each priority subgroup based on the load of the service process processed by each priority subgroup.
In particular, the load of each priority subgroup handling traffic process may be monitored. The load of each priority subgroup is determined by the load of each computing unit in each priority subgroup.
If the load of processing the business process of any priority subgroup is higher, the number of the computing units in the priority subgroup is smaller, and the resource requirement of the business process of the corresponding priority cannot be met, so that the number of the computing units in the priority subgroup can be increased. If the load of processing the business process of any priority subgroup is lower, the number of the computing units in the priority subgroup is larger, and the resource requirement of the business process of the corresponding priority is exceeded, so that the number of the computing units in the priority subgroup can be reduced.
The operating system process scheduling method provided by the embodiment of the application determines a plurality of computing units corresponding to an operating system; dividing the plurality of computing units into a plurality of different priority subgroups; based on the priority of each business process in the operating system, distributing each business process to a computing unit in a corresponding priority subgroup for processing; based on the load of each priority subgroup processing service process, the number of computing units of each priority subgroup is adjusted; the computing units corresponding to the operating system are divided into different priorities, so that the priorities of the computing units are matched with the priorities of the business processes, the resource isolation of the business processes with different priorities is realized, and the business processes with any priority can not cause interference to the business processes with other priorities; the number of the computing units of each priority subgroup is dynamically adjusted according to the load of each priority subgroup, the resource requirements of the business processes are matched with the resource supply of the computing units, reasonable scheduling of the processes in the operating system is realized, the resource utilization rate of the operating system is improved, and the system performance and response speed of the operating system are improved.
It should be noted that each embodiment of the present application may be freely combined, exchanged in order, or separately executed, and does not need to rely on or rely on a fixed execution sequence.
In some embodiments, dividing the plurality of computing units into a plurality of different priority subgroups includes:
Dividing a plurality of computing units into an online group and an offline group;
Determining the computing unit allocation weights of the priority subgroups;
Based on the computing units assigned weights, each computing unit in the online group is divided into a plurality of different priority subgroups.
In particular, the operational state of the computing unit may include online and offline. On-line means that the computing unit is in an available state and can be scheduled by an operating system; offline refers to the computing unit being in an unavailable state and not being schedulable by the operating system. The plurality of computing units may be divided into an on-line group and an off-line group according to the operation states of the respective computing units.
The calculation unit allocation weight refers to the allocation proportion size of the calculation unit of each priority subgroup. The greater the computing unit allocation weight, the more computing units the corresponding priority subgroup is allocated to; the smaller the computation unit allocation weight, the fewer computation units the corresponding priority subgroup is allocated. Individual computing units in the online group may be divided into a plurality of different priority subgroups based on the computing unit assigned weights.
FIG. 2 is a block diagram of computing units provided by the present application, as shown in FIG. 2, the computing units in the operating system may be divided into an on-line group (schedulable group) and an off-line group (non-schedulable group). Wherein the online groups can be further divided into high priority subgroups, medium priority subgroups and low priority subgroups.
In the initial state of the operating system, only medium priority in the operating system may be set. All computing units are in a medium priority schedulable range. All business processes are also running in the schedulable range of medium priority. Each priority subgroup has preset weight, whether to adjust, load proportion, actual weight and other parameters.
The preset weight refers to a weight preset value assigned by the calculation unit. In the above case, the preset weight of the medium priority subgroup is 100%, which means that all the computing units belong to the medium priority subgroup. The preset weights for the high priority subgroups and the low priority subgroups are zero. The preset weights for the high priority subgroup and the low priority subgroup may also be set such that the sum of the preset weights for all priority subgroups is 100%. The preset weights for the medium priority subgroups are 100% minus the preset weights for the high priority subgroups and the preset weights for the low priority subgroups. Whether or not adjustment refers to whether or not the number of computing units in the priority subgroup can be adjusted. Only medium priority subgroups are unadjustable by default; the remaining priority subgroups are set by the administrator, and once the high priority subgroup is set to be adjustable, the low priority subgroup automatically becomes adjustable, and the low priority subgroup is set to a value that is adjustable without affecting the high priority subgroup. The load ratio refers to the load carried by the priority subgroup. When the load of the priority subgroup reaches the load proportion, the weight of the priority subgroup can be adjusted. The actual weight means that the calculation unit assigns an actual value of the weight.
Grouping of computing units may be accomplished through a configuration file. The configuration file is used for storing the number of the priority subgroups and parameters such as preset weight, adjustment or not, load proportion, actual weight and the like of each priority subgroup. The administrator can generate configuration files in the operating system through preset configuration, custom configuration, automatic system configuration and other modes. The operating system may also maintain optimal configuration as required by the administrator.
For example, the administrator sets the weights of the tasks of the high priority subset and the computing units that execute the high priority tasks. The setting method can be set temporarily or permanently, the temporary setting is not stored in the configuration file, and the temporary setting is lost after restarting. The monitoring device sets the dispatching range of the computing units of the high-priority subgroup according to the computing unit weight, and the dispatching device dispatches the tasks with high priority to the high-priority subgroup. The method of setting the medium priority subgroup and the low priority subgroup (which may not be set) is the same as this.
After the administrator is set, the operating system enters an observation operation stage. The monitoring program monitors the load conditions of different subgroups, and dynamically adjusts/does not adjust the weight of the computing units running different levels of tasks according to the system configuration. Whether or not the dynamic adjustment is based on the administrator's configuration, if the administrator believes that it is currently in the optimal operating configuration, the monitor is not able to make the dynamic adjustment. When the manager allows dynamic adjustment, the monitoring program can monitor the loads of the subgroups with different priorities respectively, if the load with high priority is too high, the computing unit weight is increased, otherwise, the computing unit weight is reduced. But cannot be less than the set minimum weight. And under the condition that the monitoring program monitors that the load of each priority is lower, resetting the schedulable range of the current subgroup according to the configuration. Setting is performed according to a preset proportion during setting. If the current load is lower than the preset proportion, the middle priority subgroup is reduced, and the computing unit is put into the non-schedulable group.
In the actual running process, the load of the computing units of each priority subgroup can be monitored, the number of the computing units of each priority subgroup can be dynamically adjusted according to the monitoring result, and meanwhile, information such as a debugging log, an alarm log and the like is generated.
Specific adjustment principles may include: preferentially acquiring or putting the computing unit from the offline group; if the offline group has no calculation unit, the high-priority subgroup can acquire the calculation unit from the middle/low-priority subgroup, and the middle-priority subgroup can acquire the calculation unit from the low-priority subgroup; when there are no available computing units, the medium priority subgroup and the low priority subgroup may be merged; in extreme cases, the high-priority subgroup is always in a high-load state, and the computing unit cannot be acquired any more, and at this time, the low-priority subgroup task is alarmed and no longer scheduled; the high priority subgroup may not be, if there is a minimum of one computational unit; the low priority subgroup may not be present. If the load of the medium priority subgroup is high, the medium priority subgroup and the low priority subgroup may be merged; medium priority subgroups must be available; the drop line group may be absent.
According to the operating system process scheduling method provided by the embodiment of the application, the plurality of computing units are divided into the online group and the offline group, and each computing unit in the online group is divided into the plurality of subgroups with different priorities, so that the online computing units are scheduled, the offline computing units are avoided being scheduled, the running number of the computing units is reduced, and the energy consumption of an operating system is reduced.
In the above embodiment, the system does not have any configuration file in the initial state of the operating system. The scheduling algorithm defaults to only a medium priority subgroup, where all computing units are in medium priority, and the scheduling algorithm manages the processes of the subgroup using a full fair scheduling algorithm (Completely Fair Scheduler, CFS). The preset weight of the medium priority is 100%, the actual weight is 100%, whether the load ratio is 0 is adjusted to be no. The non-schedulable groups are empty and the high priority and low priority subgroups are empty. If the administrator does not make the adjustment, the operation is continued according to the strategy. The scheduler in the operating system executes in the order of stop scheduling policy, deadline scheduling policy, real-time scheduling policy, full fairness scheduling policy and idle scheduling policy.
The administrator sets high-priority tasks, and sets preset weights of the high priorities, and whether the high-priority tasks are adjusted or not, and the load proportion is set. The monitoring program obtains the computing unit from the non-schedulable group to the high-priority subgroup, and if the non-schedulable group has no computing unit, the monitoring program obtains the computing unit from the middle/low-priority subgroup to the high-priority subgroup until the load requirement is met. The high priority processes are scheduled to the high priority sub-group. The monitor monitors the load of the high priority subgroup and dynamically schedules according to the configuration.
The administrator sets low-priority tasks, and sets preset weights of low priorities, and whether the low-priority tasks are adjusted or not, and the load proportion is set. The monitoring program obtains the computing unit from the non-schedulable group to the high-priority subgroup, and if the non-schedulable group has no computing unit, the monitoring program obtains the computing unit from the middle-priority subgroup to the low-priority subgroup until the load requirement is met.
The manager modifies the high priority subgroup to be non-adjustable, the monitoring program no longer monitors the high priority load, and the preset weight is equal to the actual weight.
The administrator modifies the subgroup of the medium priorities to be non-adjustable, the monitoring program decides whether to monitor the medium priorities according to whether the high priorities are adjustable, if so, the medium priorities are monitored, and if not, the medium priorities are not monitored any more.
The administrator modifies the subgroup with low priority to be non-adjustable, and the monitoring program decides whether to monitor the low priority according to whether the high priority and the medium priority can be adjusted, and the method is the same as the medium priority.
When the system is started, the scheduling of the process is started after the initialization of the high-medium-low priority subgroups is completed according to the configuration.
Scheduling among the processes in each priority adopts a CFS algorithm for scheduling. Computing units of the non-schedulable group may be taken off-line.
In some embodiments, adjusting the number of computing units of each priority subgroup based on the load of the traffic process handled by each priority subgroup comprises:
And adjusting the number of the computing units of each priority subgroup in the online group and/or the number of the computing units of the offline group based on the load of the service process processed by each priority subgroup.
In particular, the load of each priority subgroup handling traffic process may be monitored. If the load of the service process is higher for each priority subgroup, the number of computing units for each priority subgroup may be increased accordingly, e.g. computing units in the offline group may be scheduled into each priority subgroup or computing units of the low priority subgroup may be scheduled into the high priority subgroup. If the load of the service process processed by each priority subgroup is low, the number of computing units of each priority subgroup can be correspondingly reduced, for example, the computing units of each priority subgroup can be scheduled into the offline group.
According to the operating system process scheduling method provided by the embodiment of the application, the number of the computing units is dynamically adjusted according to the load of processing the business processes of each priority subgroup, the number of the computing units of each priority subgroup is dynamically adjusted, the resource requirements of the business processes are matched with the resource supply of the computing units, the reasonable scheduling of the processes in the operating system is realized, and the resource utilization rate of the operating system is improved; the number of the calculation units of the offline group is dynamically adjusted, so that the running number of the calculation units is reduced, and the energy consumption of an operating system is reduced.
In some embodiments, adjusting the number of computing units of each priority subgroup in the online group and/or the number of computing units of the offline group based on the load of each priority subgroup in processing the business process includes:
monitoring the load of the computing units in each priority subgroup, and determining the current load of each priority subgroup;
And selecting a preset number of computing units in any priority subgroup to be distributed to the offline group under the condition that the current load of any priority subgroup is smaller than a first preset load threshold.
Specifically, the load of each computing unit in each priority subgroup may be monitored, and the current load of each priority subgroup may be determined according to the load of each computing unit in each priority subgroup. For example, the load of each computing unit may be determined according to the ratio of the time length of each computing unit in the process processing state in the unit time length to the unit time length, and the average value of the loads of each computing unit in the same priority subgroup at the current time is determined as the current load of the priority subgroup.
The load of each computing unit can also be determined by adopting the length of the process task queue processed by each computing unit, or according to the ratio of the actual working time to the total running time.
The first preset load threshold is used for limiting the low-load operation condition of the priority subgroup, and can be set according to requirements. For example, the first preset load threshold may be 30%.
If the current load of any priority subgroup is smaller than the first preset load threshold, the number of the computing units in the priority subgroup is larger, and the resource requirement of the business process of the corresponding priority is exceeded, so that the number of the computing units in the priority subgroup can be reduced. For example, a preset number of computing units are selected in the priority subgroup, and are distributed to the offline groups after being offline.
The preset number can be set as needed. For example, one computing unit may be selected for adjustment in each run-time period until the current load of the priority subgroup changes to be greater than or equal to the first preset load threshold.
According to the operating system process scheduling method provided by the embodiment of the application, under the condition that the current load of any priority subgroup is smaller than the first preset load threshold value, the preset number of computing units are selected and distributed to the offline group, so that the number of the computing units of each priority subgroup and the offline group is dynamically adjusted, the running number of the computing units is reduced, and the energy consumption of an operating system is reduced.
In some embodiments, adjusting the number of computing units of each priority subgroup in the online group and/or the number of computing units of the offline group based on the load of each priority subgroup in processing the business process includes:
monitoring the load of the computing units in each priority subgroup, and determining the current load of each priority subgroup;
determining the number of calculation units of the offline group under the condition that the current load of any priority subgroup is larger than a second preset load threshold;
under the condition that the number of the calculation units of the offline group is larger than zero, selecting a preset number of calculation units in the offline group to be distributed to any priority subgroup;
Under the condition that the number of calculation units of the offline group is zero, determining a candidate priority subgroup corresponding to any priority subgroup based on the priorities of all priority subgroups;
selecting a preset number of computing units from the candidate priority subgroups and distributing the computing units to any priority subgroup;
Wherein the priority of the candidate priority subgroup is lower than the priority of any one of the priority subgroups.
Specifically, the second preset load threshold is used to define the high load operation condition of the priority subgroup, and may be set as required.
If the current load of any priority subgroup is greater than the second preset load threshold, the number of computing units in the priority subgroup is smaller, and the resource requirement of the business process of the corresponding priority cannot be met, so that the number of computing units in the priority subgroup can be increased. When adding the calculation units, the calculation units in the offline group are prioritized.
The number of computing units that learn the offline group can be queried. If the number of the calculation units of the offline group is greater than zero, the condition that the idle calculation units exist in the offline group is indicated, and the preset number of calculation units can be selected to be allocated to the priority subgroup.
If the number of computation units of the down-line group is zero, it is indicated that there are no free computation units in the down-line group, at which time computation units need to be selected from a lower priority subgroup to be assigned to that priority subgroup. A candidate priority subgroup with a lower priority is determined based on the priorities of the respective priority subgroups. A predetermined number of computing units are selected from among the candidate priority subgroups and assigned to the priority subgroup.
According to the operating system process scheduling method provided by the embodiment of the application, the number of the computing units is dynamically adjusted according to the load of processing the service processes of each priority subgroup, the computing units are selected from the offline group in priority, the influence on the operation of the service processes of the rest priority subgroups is avoided, when no schedulable computing units exist in the offline group, the computing units of the low priority subgroup are distributed to the high priority subgroup, the processing of the service processes of the high priority is preferentially ensured, and the system performance of the operating system is improved.
In some embodiments, adjusting the number of computing units of each priority subgroup in the online group and/or the number of computing units of the offline group based on the load of each priority subgroup in processing the business process includes:
Determining the load of the highest priority subgroup processing service process;
determining the number of schedulable computing units in the rest priority subgroups under the condition that the load of the service process processed by the highest priority subgroup is larger than a third preset load threshold;
And stopping scheduling the business processes corresponding to the rest priorities under the condition that the number of schedulable computing units in the rest priority subgroups and the number of computing units in the downlink group are zero.
In particular, the load of the highest priority subgroup in processing the traffic process may be monitored while the number of computing units of each priority subgroup is adjusted. The third preset load threshold is used for limiting the extremely high load operation conditions of the highest priority subgroup, and can be set according to requirements.
If the load of the service process processed by the subgroup with the highest priority is larger than the third preset load threshold, the subgroup with the highest priority operates under the extremely high load operation condition, and the number of the calculation units needs to be increased.
The set number of computing units of each priority sub-group may be determined based on the assigned weights of the computing units of each priority sub-group and the number of computing units of the online group. The actual number of computing units for each priority subgroup is then obtained. And determining the number of schedulable computing units in the rest priority subgroups according to the difference value between the set number and the actual number of the computing units in each priority subgroup. For example, if the actual number is greater than the set number, the difference between the actual number and the set number is the number of schedulable computing units; if the actual number is less than or equal to the set number, the number of schedulable computing units is zero.
If the number of schedulable computing units in the rest priority subgroups and the number of computing units in the downlink group are zero, which means that there are no schedulable computing units, the service processes corresponding to the rest priorities can be stopped from being scheduled, that is, the service processes with lower priorities are not processed any more. Such that the load of the lower priority subgroup is reduced, thereby increasing the schedulable computing units.
According to the operating system process scheduling method provided by the embodiment of the application, when the subgroup with the highest priority operates under the extremely high load operation condition, the scheduling of the business processes corresponding to the rest low priorities is stopped, the addition of the schedulable calculation unit can be realized, and the system performance of the operating system is improved.
In some embodiments, assigning each business process to a computing unit in a corresponding priority subgroup for processing comprises:
Determining service processes corresponding to the priority subgroups and computing units in the priority subgroups;
distributing the business processes corresponding to each priority subgroup to the computing units in each priority subgroup based on a preset scheduling strategy;
The preset scheduling strategy comprises a stopping scheduling strategy, a deadline scheduling strategy, a real-time scheduling strategy, a full fairness scheduling strategy and an idle scheduling strategy; the priority of the stopping scheduling policy is greater than the priority of the deadline scheduling policy; the priority of the deadline scheduling policy is greater than the priority of the real-time scheduling policy; the priority of the real-time scheduling strategy is higher than that of the full fairness scheduling strategy; the priority of the full-fair scheduling policy is greater than the priority of the idle scheduling policy.
Specifically, within each priority subgroup, the service processes may be allocated according to a preset scheduling policy. The preset scheduling policies include a Stop scheduling policy (Stop Scheduler), a deadline scheduling policy (Deadline Scheduler), a real-time scheduling policy (Realtime Scheduler), a full-fair scheduling policy (Completely Fair Scheduler), and an Idle scheduling policy (Idle Scheduler).
When the preset scheduling policies are adopted, the priorities of the preset scheduling policies can be determined. Wherein the priority of the stop scheduling policy is greater than the priority of the deadline scheduling policy; the priority of the deadline scheduling policy is greater than the priority of the real-time scheduling policy; the priority of the real-time scheduling strategy is higher than that of the full fairness scheduling strategy; the priority of the full-fair scheduling policy is greater than the priority of the idle scheduling policy.
According to the operating system process scheduling method provided by the embodiment of the application, the business processes corresponding to each priority subgroup are distributed by adopting a plurality of preset scheduling strategies, so that the system performance of the operating system is improved.
FIG. 3 is a schematic diagram of an operating system according to the present application, and as shown in FIG. 3, the operating modes of the operating system may include a user mode and a kernel mode. In a user mode, the operating system operates a user mode tool module, a log alarming module and a monitoring module; in the kernel mode, the operating system runs a scheduling module and a priority classification module.
The user mode tool module is used mainly to set parameters of the high/medium/low priority subgroups. The log alarm module is mainly used for debugging and alarming under special conditions. The monitoring module mainly monitors the load condition of each priority subgroup and sets the range and the scheduling information of each priority subgroup according to the load condition. The scheduling module mainly performs process scheduling in each priority subgroup.
FIG. 4 is a schematic diagram of the scheduling of the operating system according to the present application, and as shown in FIG. 4, the scheduling of the operating system is mainly implemented by a scheduling module. The scheduling module can realize process scheduling under the current operating system process scheduling framework.
After initialization, the scheduling module receives a scheduling instruction or initialized settings, firstly sets a scheduling range of a computing unit for different priority subgroups, and secondly schedules a business process to a corresponding priority subgroup according to priority, and schedules the process on the different priority subgroups.
From the structure point of view, the scheduling module can further comprise an initialization sub-module, a setting sub-module (setting different priority scheduling ranges), an intra-group scheduling sub-module (scheduling the service to a designated priority sub-group according to the priority), and an inter-group scheduling sub-module (scheduling on the different priority sub-group).
The initialization submodule is used for setting the priority range of the computing unit according to the configuration file, the priority of the currently running service and the like.
The setting submodule mainly realizes the process scheduling class. The class can be fused to an operating system process scheduling framework to complete main process scheduling. The method mainly realizes the process scheduling on different priorities, and schedules the service to three different parts on the designated priority according to the service priority.
The inter-group scheduling submodule realizes the function of dynamically adjusting the scheduling ranges of different priorities according to the instructions. Setting the computing units from the low priority or non-schedulable groups to the specified subgroups; or to schedule the computing units to non-schedulable groups. And if the scheduling cannot be completed, the alarm processing is performed.
The intra-group scheduling sub-module is used for scheduling the business processes to the designated sub-group according to the priority, and mainly is used for setting the processes to the designated scheduling range according to the priority when the processes are created, the processes are awakened (input and output events are completed, a timer expires, signals arrive, locks, inter-process communication and a scheduler are actively set), the computing units migrate and the like. When the scheduling range of different priorities changes, the step of reassigning the business process according to the priorities is triggered.
Scheduling the process runs on different priorities, mainly performing the process scheduling operation on the computing unit, can complete the related tasks by means of the CFS scheduler.
The user mode tool module is mainly used for setting/acquiring the scheduling ranges of different priorities under the current operating system.
Fig. 5 is a schematic diagram of log record of an operating system provided by the present application, as shown in fig. 5, after the operating system is initialized, a monitoring module is mainly used for monitoring loads with different priorities, and issuing an instruction for modifying a scheduling range to a scheduler according to preset weights. And the scheduler judges the threshold value and/or issues the instruction to realize task allocation of subgroups with different priorities. While recording this information in a log.
The log alarm module is mainly used for debugging and alarming, and storing logs in the aspects of scheduling range setting, dynamic modification and the like.
The operating system provided by the embodiment of the application divides the scheduling scope of the subgroups with different priorities, realizes the hierarchical execution of the tasks with high, medium and low priorities, ensures that the tasks with medium and low priorities cannot influence the scheduling of the tasks with high priority, can ensure that the tasks with high priority cannot be influenced by the scheduling of the tasks with low priority, can realize the simultaneous operation of different priorities, and improves the resource utilization rate.
The apparatus provided by the embodiments of the present application will be described below, and the apparatus described below and the method described above may be referred to correspondingly.
FIG. 6 is a schematic diagram of an operating system process scheduling apparatus according to the present application, as shown in FIG. 6, where the apparatus includes:
a determining module 610, configured to determine a plurality of computing units corresponding to an operating system;
An allocation module 620 for dividing the plurality of computing units into a plurality of different priority subgroups;
the processing module 630 is configured to allocate each service process to a computing unit in a corresponding priority subgroup for processing based on the priority of each service process in the operating system;
an adjustment module 640, configured to adjust the number of computing units of each priority subgroup based on the load of the service process handled by each priority subgroup.
The operating system process scheduling device provided by the embodiment of the application determines a plurality of computing units corresponding to an operating system; dividing the plurality of computing units into a plurality of different priority subgroups; based on the priority of each business process in the operating system, distributing each business process to a computing unit in a corresponding priority subgroup for processing; based on the load of each priority subgroup processing service process, the number of computing units of each priority subgroup is adjusted; the computing units corresponding to the operating system are divided into different priorities, so that the priorities of the computing units are matched with the priorities of the business processes, the resource isolation of the business processes with different priorities is realized, and the business processes with any priority can not cause interference to the business processes with other priorities; the number of the computing units of each priority subgroup is dynamically adjusted according to the load of each priority subgroup, the resource requirements of the business processes are matched with the resource supply of the computing units, reasonable scheduling of the processes in the operating system is realized, the resource utilization rate of the operating system is improved, and the system performance and response speed of the operating system are improved.
In some embodiments, the allocation module is to:
Dividing a plurality of computing units into an online group and an offline group;
Determining the computing unit allocation weights of the priority subgroups;
Based on the computing units assigned weights, each computing unit in the online group is divided into a plurality of different priority subgroups.
In some embodiments, the adjustment module is to:
And adjusting the number of the computing units of each priority subgroup in the online group and/or the number of the computing units of the offline group based on the load of the service process processed by each priority subgroup.
In some embodiments, the adjustment module is specifically configured to:
monitoring the load of the computing units in each priority subgroup, and determining the current load of each priority subgroup;
And selecting a preset number of computing units in any priority subgroup to be distributed to the offline group under the condition that the current load of any priority subgroup is smaller than a first preset load threshold.
In some embodiments, the adjustment module is specifically configured to:
monitoring the load of the computing units in each priority subgroup, and determining the current load of each priority subgroup;
determining the number of calculation units of the offline group under the condition that the current load of any priority subgroup is larger than a second preset load threshold;
under the condition that the number of the calculation units of the offline group is larger than zero, selecting a preset number of calculation units in the offline group to be distributed to any priority subgroup;
Under the condition that the number of calculation units of the offline group is zero, determining a candidate priority subgroup corresponding to any priority subgroup based on the priorities of all priority subgroups;
selecting a preset number of computing units from the candidate priority subgroups and distributing the computing units to any priority subgroup;
Wherein the priority of the candidate priority subgroup is lower than the priority of any one of the priority subgroups.
In some embodiments, the adjustment module is specifically configured to:
Determining the load of the highest priority subgroup processing service process;
determining the number of schedulable computing units in the rest priority subgroups under the condition that the load of the service process processed by the highest priority subgroup is larger than a third preset load threshold;
And stopping scheduling the business processes corresponding to the rest priorities under the condition that the number of schedulable computing units in the rest priority subgroups and the number of computing units in the downlink group are zero.
In some embodiments, the processing module is specifically configured to:
Determining service processes corresponding to the priority subgroups and computing units in the priority subgroups;
distributing the business processes corresponding to each priority subgroup to the computing units in each priority subgroup based on a preset scheduling strategy;
The preset scheduling strategy comprises a stopping scheduling strategy, a deadline scheduling strategy, a real-time scheduling strategy, a full fairness scheduling strategy and an idle scheduling strategy; the priority of the stopping scheduling policy is greater than the priority of the deadline scheduling policy; the priority of the deadline scheduling policy is greater than the priority of the real-time scheduling policy; the priority of the real-time scheduling strategy is higher than that of the full fairness scheduling strategy; the priority of the full-fair scheduling policy is greater than the priority of the idle scheduling policy.
Fig. 7 is a schematic structural diagram of an electronic device according to the present application, and as shown in fig. 7, the electronic device may include: processor (Processor) 710, communication interface (Communications Interface) 720, memory (Memory) 730, and communication bus (Communications Bus) 740, wherein Processor 710, communication interface 720, memory 730 complete communication with each other through communication bus 740. Processor 710 may invoke logic commands in memory 730 to perform the methods described in the embodiments above, such as:
Determining a plurality of computing units corresponding to an operating system; dividing the plurality of computing units into a plurality of different priority subgroups; based on the priority of each business process in the operating system, distributing each business process to a computing unit in a corresponding priority subgroup for processing; the number of computing units of each priority subgroup is adjusted based on the load of the processing business process of each priority subgroup.
In addition, the logic commands in the memory described above may be implemented in the form of software functional units and may be stored in a computer readable storage medium when sold or used as a stand alone product. Based on this understanding, the technical solution of the present application may be embodied essentially or in a part contributing to the prior art or in the form of a software product stored in a storage medium, comprising several commands for causing a computer device (which may be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the method according to the embodiments of the present application. And the aforementioned storage medium includes: a usb disk, a removable hard disk, a Read-Only Memory (ROM), a random access Memory (RAM, random Access Memory), a magnetic disk, or an optical disk, or other various media capable of storing program codes.
The processor in the electronic device provided by the embodiment of the application can call the logic instruction in the memory to realize the method, and the specific implementation mode is consistent with the implementation mode of the method, and the same beneficial effects can be achieved, and the detailed description is omitted here.
The embodiments of the present application also provide a computer-readable storage medium having stored thereon a computer program which, when executed by a processor, is implemented to perform the methods provided by the above embodiments.
The specific embodiment is consistent with the foregoing method embodiment, and the same beneficial effects can be achieved, and will not be described herein.
The embodiments of the present application provide a computer program product comprising a computer program which, when executed by a processor, implements a method as described above.
The apparatus embodiments described above are merely illustrative, wherein the elements illustrated as separate elements may or may not be physically separate, and the elements shown as elements may or may not be physical elements, may be located in one place, or may be distributed over a plurality of network elements. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of this embodiment. Those of ordinary skill in the art will understand and implement the present invention without undue burden.
From the above description of the embodiments, it will be apparent to those skilled in the art that the embodiments may be implemented by means of software plus necessary general hardware platforms, or of course may be implemented by means of hardware. Based on this understanding, the foregoing technical solution may be embodied essentially or in a part contributing to the prior art in the form of a software product, which may be stored in a computer readable storage medium, such as ROM/RAM, a magnetic disk, an optical disk, etc., including several instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) to execute the method described in the respective embodiments or some parts of the embodiments.
Finally, it should be noted that: the above embodiments are only for illustrating the technical solution of the present application, and are not limiting; although the application has been described in detail with reference to the foregoing embodiments, it will be understood by those of ordinary skill in the art that: the technical scheme described in the foregoing embodiments can be modified or some technical features thereof can be replaced by equivalents; such modifications and substitutions do not depart from the spirit and scope of the technical solutions of the embodiments of the present application.

Claims (10)

1. An operating system process scheduling method, comprising:
Determining a plurality of computing units corresponding to an operating system;
dividing the plurality of computing units into a plurality of different priority subgroups;
Based on the priority of each business process in the operating system, distributing each business process to a computing unit in a corresponding priority subgroup for processing;
The number of computing units of each priority subgroup is adjusted based on the load of the processing business process of each priority subgroup.
2. The operating system process scheduling method of claim 1, wherein said dividing said plurality of computing units into a plurality of different priority subgroups comprises:
dividing the plurality of computing units into an online group and an offline group;
Determining the computing unit allocation weights of the priority subgroups;
Based on the computing units assigned weights, each computing unit in the online group is divided into a plurality of different priority subgroups.
3. The operating system process scheduling method according to claim 2, wherein the adjusting the number of computing units of each priority sub-group based on the load of each priority sub-group processing service process comprises:
And adjusting the number of the computing units of each priority subgroup in the online group and/or the number of the computing units of the offline group based on the load of the business process processed by each priority subgroup.
4. The operating system process scheduling method according to claim 3, wherein the adjusting the number of computing units of each priority subgroup in the online group and/or the number of computing units of the offline group based on the load of each priority subgroup in processing the service process comprises:
monitoring the load of the computing units in each priority subgroup, and determining the current load of each priority subgroup;
And selecting a preset number of computing units from any priority subgroup to be distributed to the offline group under the condition that the current load of any priority subgroup is smaller than a first preset load threshold.
5. The operating system process scheduling method according to claim 3, wherein the adjusting the number of computing units of each priority subgroup in the online group and/or the number of computing units of the offline group based on the load of each priority subgroup in processing the service process comprises:
monitoring the load of the computing units in each priority subgroup, and determining the current load of each priority subgroup;
Determining the number of calculation units of the offline group under the condition that the current load of any priority subgroup is larger than a second preset load threshold;
selecting a preset number of computing units from the offline group to be distributed to any priority subgroup under the condition that the number of computing units of the offline group is greater than zero;
under the condition that the number of the calculation units of the offline group is zero, determining a candidate priority subgroup corresponding to any priority subgroup based on the priority of each priority subgroup;
selecting a preset number of computing units from the candidate priority subgroups and distributing the computing units to any priority subgroup;
wherein the priority of the candidate priority subgroup is lower than the priority of any one of the priority subgroups.
6. The operating system process scheduling method according to claim 3, wherein the adjusting the number of computing units of each priority subgroup in the online group and/or the number of computing units of the offline group based on the load of each priority subgroup in processing the service process comprises:
Determining the load of the highest priority subgroup processing service process;
Determining the number of schedulable computing units in the rest priority subgroups under the condition that the load of the service process processed by the highest priority subgroup is larger than a third preset load threshold;
And stopping scheduling the business processes corresponding to the rest priorities under the condition that the number of schedulable computing units in the rest priority subgroups and the number of computing units of the offline group are zero.
7. The operating system process scheduling method according to any one of claims 1 to 6, wherein the assigning each business process to a computing unit in a corresponding priority subgroup for processing comprises:
Determining service processes corresponding to the priority subgroups and computing units in the priority subgroups;
distributing the business processes corresponding to each priority subgroup to the computing units in each priority subgroup based on a preset scheduling strategy;
The preset scheduling strategy comprises a stopping scheduling strategy, a deadline scheduling strategy, a real-time scheduling strategy, a full fairness scheduling strategy and an idle scheduling strategy; the priority of the stopping scheduling strategy is greater than the priority of the deadline scheduling strategy; the priority of the deadline scheduling strategy is greater than that of the real-time scheduling strategy; the priority of the real-time scheduling strategy is greater than the priority of the full fairness scheduling strategy; the priority of the full fairness scheduling policy is greater than the priority of the idle scheduling policy.
8. An operating system process scheduling apparatus, comprising:
the determining module is used for determining a plurality of computing units corresponding to the operating system;
an allocation module for dividing the plurality of computing units into a plurality of different priority subgroups;
the processing module is used for distributing each business process to the computing units in the corresponding priority subgroups for processing based on the priority of each business process in the operating system;
And the adjusting module is used for adjusting the number of the computing units of each priority subgroup based on the load of the service process processed by each priority subgroup.
9. An electronic device comprising a memory, a processor and a computer program stored on the memory and executable on the processor, wherein the processor implements the operating system process scheduling method of any one of claims 1 to 7 when the program is executed by the processor.
10. A non-transitory computer readable storage medium having stored thereon a computer program, wherein the computer program when executed by a processor implements the operating system process scheduling method of any one of claims 1 to 7.
CN202410232134.XA 2024-02-29 2024-02-29 Operating system process scheduling method and device, electronic equipment and storage medium Pending CN118152092A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410232134.XA CN118152092A (en) 2024-02-29 2024-02-29 Operating system process scheduling method and device, electronic equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410232134.XA CN118152092A (en) 2024-02-29 2024-02-29 Operating system process scheduling method and device, electronic equipment and storage medium

Publications (1)

Publication Number Publication Date
CN118152092A true CN118152092A (en) 2024-06-07

Family

ID=91284533

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410232134.XA Pending CN118152092A (en) 2024-02-29 2024-02-29 Operating system process scheduling method and device, electronic equipment and storage medium

Country Status (1)

Country Link
CN (1) CN118152092A (en)

Similar Documents

Publication Publication Date Title
Hui et al. Improved strategies for dynamic load balancing
US10754706B1 (en) Task scheduling for multiprocessor systems
Rajguru et al. A comparative performance analysis of load balancing algorithms in distributed system using qualitative parameters
CN101488098B (en) Multi-core computing resource management system based on virtual computing technology
KR101953906B1 (en) Apparatus for scheduling task
Rao et al. DynaQoS: Model-free self-tuning fuzzy control of virtualized resources for QoS provisioning
CN111767134A (en) Multitask dynamic resource scheduling method
Struhár et al. React: Enabling real-time container orchestration
US20050120104A1 (en) CPU usage regulation
CN109564528B (en) System and method for computing resource allocation in distributed computing
WO2022068697A1 (en) Task scheduling method and apparatus
Abeni et al. Constant bandwidth server revisited
CN109739634A (en) A kind of atomic task execution method and device
CN115391031A (en) Load balancing scheduling method and computing equipment
CN111597044A (en) Task scheduling method and device, storage medium and electronic equipment
CN114579284A (en) Task scheduling method and device
EP3916554B1 (en) A throughput-optimized, quality-of-service aware power capping system
CN111930516B (en) Load balancing method and related device
Chiang et al. DynamoML: Dynamic Resource Management Operators for Machine Learning Workloads.
CN112948113A (en) Cluster resource management scheduling method, device, equipment and readable storage medium
CN109189581B (en) Job scheduling method and device
CN118152092A (en) Operating system process scheduling method and device, electronic equipment and storage medium
WO2022151951A1 (en) Task scheduling method and management system
CN114661415A (en) Scheduling method and computer system
CN111580937B (en) Automatic virtual machine scheduling method for Feiteng multi-core/many-core hybrid cluster

Legal Events

Date Code Title Description
PB01 Publication
SE01 Entry into force of request for substantive examination