CN101075199B - Method for scheduling multiple CPU - Google Patents
Method for scheduling multiple CPU Download PDFInfo
- Publication number
- CN101075199B CN101075199B CN2006100208448A CN200610020844A CN101075199B CN 101075199 B CN101075199 B CN 101075199B CN 2006100208448 A CN2006100208448 A CN 2006100208448A CN 200610020844 A CN200610020844 A CN 200610020844A CN 101075199 B CN101075199 B CN 101075199B
- Authority
- CN
- China
- Prior art keywords
- vcpu
- task
- subclass
- cpu
- multiple cpu
- 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.)
- Expired - Fee Related
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
A method for dispatching multi-CPU includes dividing system task to be different subsets according to correlation between tasks, distributing different CPU into each task subset to for v CPU subset and task subset corresponding-combination then executing CPU dispatch according to different v CPU subset and task subset corresponding-combination.
Description
Technical field
The present invention relates to the data communication system field, relate in particular to the technology of scheduling multiple CPU in the data communication system.
Background technology
In the data communication products of many CPU that adopt the tight coupling shared drive or multi-core CPU formation, generally for distributing cpu resource, unit carries out task handling with vCPU (Virtual CPU, i.e. virtual cpu); The vCPU number greater than 4 system in, the static allocation mode is generally adopted in the distribution of vCPU, because the complicacy of data communications equipment practical application, data stream is sudden, the mode of static allocation vCPU can cause the segment processor resource free time, and the segment processor resource is too busy, thereby because the lack of uniformity of the utilization of resources causes system's actual efficiency not high.
Summary of the invention
The technical problem to be solved in the present invention is mode very flexible, the unbalanced shortcoming of the vCPU utilization of resources that overcomes simple employing static allocation vCPU Processing tasks, the invention provides a kind of in data communication system, the scheduling multiple CPU method of improved static allocation vCPU, the real work efficient of raising CPU.
The technical solution used in the present invention is: a kind of method of scheduling multiple CPU is provided, comprises the steps:
A, the software and hardware configuration environment current according to system determine that current active task and each task expend the weights of vCPU resource, are divided into different task subclass according to the correlativity between task with described current active task; System distributes different vCPU to each task subclass, formation<vCPU subclass, task subclass according to the weights that each task subclass expends the vCPU resource〉corresponding combination;
B, according to different<vCPU subclass, task subclass corresponding combination, and the system dynamics momentary load is implemented the scheduling of vCPU.
Further, among the above step a, the number of the task subclass of division is smaller or equal to the number of vCPU.
Further, among the above step b, the vCPU in each corresponding combination only handles the task in the task subclass of its correspondence.
Further, the vCPU number in the above vCPU subclass equals 1 at least.
Further, when the network configuration environmental change, system can repartition<the vCPU subclass, the task subclass〉corresponding combination.
Beneficial effect of the present invention: in the more employing tight coupling communication system of vCPU, the present invention can different network configuration environment and the variations of self-adaptation, realize the application of vCPU resource efficiently.
Embodiment
The present invention has realized in the multi-CPU system of data communications equipment, adopts the scheduling multiple CPU method of second-level dispatching, and embodiment is as follows:
Subsystem is promptly divided in first order scheduling.The software and hardware configuration environment current according to system determines that actual active task and each task expend the weights of cpu resource; Task division after will determining according to the correlativity between task becomes a plurality of subclass, and the number of subsets of task is smaller or equal to the vCPU number; The weights that expend according to each task subclass distribute vCPU, so just set up<the vCPU subclass task subclass〉corresponding combination; VCPU in vCPU subclass only handles the task subclass of its correspondence, even the free time is not handled other task subclass yet.Generally when changing, software and hardware configuration repartitions corresponding combination.
A kind of specific embodiment is: because there are a lot of constraint conditions in the distribution of task, in the practical operation of dividing subsystem, in order to simplify realization, can be according to the vCPU of system resource and number of tasks, preestablish several<the vCPU subclass, the task subclass〉splitting scheme of corresponding combination, change need readjust scheduling of resource the time in software and hardware configuration, can according to configuring condition selected one of them preset splitting scheme; Perhaps system is when configuration changes, and number of tasks that the system that recomputates is current and the weights that consume the vCPU resource are set up<the vCPU subclass task subclass dynamically〉the correspondence combination.Software and hardware configuration changes the following situation that refers to: the configuration generation important change of hot-swappable hardware interface module, the variation of hardware interface link connection status, software function module (or agreement) start and stop, software function module etc.Because IP kernel heart stack and most dynamic protocol task complexity and number of processes are few, can be placed in the task-set, generally distribute the vCPU that needs to support RTOS, can be placed in the task-set for handling frequent service message forwarding task; If used RTOS supports symmetrical many CPU, then only need determine that according to the quantity and the configuration of the dynamic protocol of activity the vCPU number of this task-set correspondence gets final product.For example:, then can distribute 1 vCPU to be used for the task subclass of IP kernel heart stack and most dynamic protocols if 4 vCPU are arranged; 3 vCPU are used for the task subclass that service message is transmitted.If 32 vCPU are arranged, then can distribute 1 vCPU to be used for the task subclass of IP kernel heart stack and most dynamic protocols; 1 vCPU is used for the packet filtering task subclass of CPU inherently safe (attack protection); 1-3 vCPU is used for Qos and message transmission (configuration according to Qos is determined) task subclass; Other 27-29 vCPU is used for service message and transmits the task subclass.
Second level scheduling promptly realizes the dynamic dispatching of vCPU in the subsystem: different<the vCPU subclass, and the task subclass 〉, generally can adopt different vCPU scheduling modes, common ground is to dispatch according to the system dynamics momentary load.For the task subclass of dynamic protocol,, general direct with the management and running algorithm of RTOS to process if distributed the vCPU that supports RTOS.For the system of vCPU more (greater than 4), the vCPU number of finishing the processing of service message task subclass is bigger, and promptly the service message task handling consumes the overwhelming majority of cpu resource, and it is a key that the vCPU scheduling of service message task subclass is handled.VCPU scheduling for the service message set of tasks preferred embodiment is: finish by the distribution of the message in task subclass management role, utilize the Hash function, stream property field (for example: SIP, DIP, PROTO, SPORT, DPORT etc.) according to service message calculates a hash value, be mapped to by (for example 256 buckets) in the less relatively stream type bucket, and then with each the bucket be mapped among the vCPU, finish that like this message is distributed among the vCPU, form many-to-one mapping relations.Write down statistical information in the stream type bucket: the packet counting N in the unit interval recently, the normalized form R=R+g (N-R) according to unit of account average discharge in the time wherein gets g=1/8, calculates each and discloses interior average discharge.Each vCPU also has two statistical values: message is counted weighted value N recently, average flow value R (also using the identical formula in front), and for dissimilar messages, since the processing cost difference of vCPU, the weights difference.It is regularly clear 0 that recently message is counted the N task that is scheduled, and recomputates average discharge before the zero clearing earlier, checks the vCPU load then, if vCPU load relative mistake is greater than adjusting threshold value, be base unit then, readjust the mapping relations of stream type bucket, thereby adjust the vCPU load to vCPU with the stream type bucket.
Claims (5)
1. the method for a scheduling multiple CPU is characterized in that, comprises the steps:
A. current according to system software and hardware configuration environment determines that current active task and each task expend the weights of vCPU resource, are divided into different task subclass according to the correlativity between task with described current active task; System distributes different vCPU to each task subclass, formation<vCPU subclass, task subclass according to the weights that each task subclass expends the vCPU resource〉corresponding combination;
B. according to different<vCPU subclass, task subclass〉corresponding combination, and the system dynamics momentary load is implemented the scheduling of vCPU.
2. according to the method for the described scheduling multiple CPU of claim 1, it is characterized in that: among the described step a, the number of the task subclass of division is smaller or equal to the number of vCPU.
3. according to the method for the described scheduling multiple CPU of claim 1, it is characterized in that: among the described step b, the vCPU in each corresponding combination only handles the task in the task subclass of its correspondence.
4. according to the method for any described scheduling multiple CPU of claim 1~3, it is characterized in that: the vCPU number in the described vCPU subclass equals 1 at least.
5. according to the method for any described scheduling multiple CPU of claim 1~3, it is characterized in that: when the network configuration environmental change, system can repartition<the vCPU subclass, the task subclass〉corresponding combination.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2006100208448A CN101075199B (en) | 2006-05-18 | 2006-05-18 | Method for scheduling multiple CPU |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2006100208448A CN101075199B (en) | 2006-05-18 | 2006-05-18 | Method for scheduling multiple CPU |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101075199A CN101075199A (en) | 2007-11-21 |
CN101075199B true CN101075199B (en) | 2010-11-24 |
Family
ID=38976264
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2006100208448A Expired - Fee Related CN101075199B (en) | 2006-05-18 | 2006-05-18 | Method for scheduling multiple CPU |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101075199B (en) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103248644B (en) * | 2012-02-08 | 2016-07-06 | 腾讯科技(深圳)有限公司 | The load-balancing method of a kind of plug-in unit upgrading Detection task and device |
CN102819460B (en) * | 2012-08-07 | 2015-05-20 | 清华大学 | Budget power guidance-based high-energy-efficiency GPU (Graphics Processing Unit) cluster system scheduling algorithm |
CN102929723B (en) * | 2012-11-06 | 2015-07-08 | 无锡江南计算技术研究所 | Method for dividing parallel program segment based on heterogeneous multi-core processor |
CN104252391B (en) * | 2013-06-28 | 2017-09-12 | 国际商业机器公司 | Method and apparatus for managing multiple operations in distributed computing system |
US20180198855A1 (en) * | 2014-11-24 | 2018-07-12 | Alibaba Group Holding Limited | Method and apparatus for scheduling calculation tasks among clusters |
CN107577517B (en) * | 2017-08-22 | 2020-05-19 | 华中科技大学 | NUMA memory architecture-oriented fine-grained vCPU scheduling method and system |
CN112214295B (en) * | 2020-09-23 | 2024-02-06 | 桂林理工大学 | A low-energy job scheduling method for multi-CPU/GPU heterogeneous server clusters |
CN116204288B (en) * | 2023-02-08 | 2024-02-27 | 北京四维远见信息技术有限公司 | Hybrid cloud data processing system and method |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1582428A (en) * | 2001-11-07 | 2005-02-16 | 国际商业机器公司 | Method and apparatus for dispatching tasks in a non-uniform memory access (NUMA) computer system |
-
2006
- 2006-05-18 CN CN2006100208448A patent/CN101075199B/en not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1582428A (en) * | 2001-11-07 | 2005-02-16 | 国际商业机器公司 | Method and apparatus for dispatching tasks in a non-uniform memory access (NUMA) computer system |
Non-Patent Citations (1)
Title |
---|
JP特开2006-59052 2006.03.02 |
Also Published As
Publication number | Publication date |
---|---|
CN101075199A (en) | 2007-11-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101075199B (en) | Method for scheduling multiple CPU | |
US8949410B2 (en) | Server load balancer scaling for virtual servers | |
CN101951411A (en) | Cloud scheduling system and method and multistage cloud scheduling system | |
CN110602156A (en) | Load balancing scheduling method and device | |
CN101741912A (en) | Method, network apparatus and distributed network system for processing computation task | |
CN102223419A (en) | Virtual resource dynamic feedback balanced allocation mechanism for network operation system | |
CN102508714A (en) | Green-computer-based virtual machine scheduling method for cloud computing | |
CN102611735A (en) | Load balancing method and system of application services | |
CN103957280B (en) | Connection allocation and scheduling method of sensor network in Internet of things | |
US9917777B2 (en) | Method and system for decentralized workload optimization in a data packet processing system using a multicore CPU | |
KR20110073344A (en) | System and Method for Energy Efficient Load Balancing in Server Clusters | |
CN105159736A (en) | Establishment method of SaaS software deployment scheme supporting performance analysis | |
CN108600355A (en) | A kind of mist computational load balance dispatching system and method | |
CN101984414A (en) | Method and device for scheduling central processing unit (CPU) resource | |
CN101398772B (en) | Network data interrupt treating method and device | |
CN106452966A (en) | Method for realizing multi-gateway management of OpenStack cloud desktop | |
CN107132903B (en) | Energy-saving management implementation method, device and network equipment | |
CN102609307A (en) | Multi-core multi-thread dual-operating system network equipment and control method thereof | |
Tighe et al. | A distributed approach to dynamic VM management | |
CN102147887A (en) | Enterprise electronic commerce information flow management system | |
CN106302249B (en) | A kind of Dynamic Bandwidth Allocation system and distribution method | |
Atiewi et al. | A power saver scheduling algorithm using DVFS and DNS techniques in cloud computing data centres | |
CN113822485B (en) | Power distribution network scheduling task optimization method and system | |
Naaz et al. | Load balancing algorithms for peer to peer and client server distributed environments | |
CN111601006B (en) | Method and device for allocating call seats based on call tasks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP02 | Change in the address of a patent holder |
Address after: No. 1, No. 288 building, 610041 floor, Maipu Sichuan province Chengdu Tianfu Avenue, 17 floor Patentee after: MAIPU COMMUNICATION TECHNOLOGY Co.,Ltd. Address before: 610041 Sichuan city of Chengdu province high tech Zone nine Hing Road No. 16 building, Maipu Patentee before: MAIPU COMMUNICATION TECHNOLOGY Co.,Ltd. |
|
CP02 | Change in the address of a patent holder | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20101124 |
|
CF01 | Termination of patent right due to non-payment of annual fee |