[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

CN101075199B - Method for scheduling multiple CPU - Google Patents

Method for scheduling multiple CPU Download PDF

Info

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
Application number
CN2006100208448A
Other languages
Chinese (zh)
Other versions
CN101075199A (en
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.)
Maipu Communication Technology Co Ltd
Original Assignee
Maipu Communication 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 Maipu Communication Technology Co Ltd filed Critical Maipu Communication Technology Co Ltd
Priority to CN2006100208448A priority Critical patent/CN101075199B/en
Publication of CN101075199A publication Critical patent/CN101075199A/en
Application granted granted Critical
Publication of CN101075199B publication Critical patent/CN101075199B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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

A kind of method of scheduling multiple CPU
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.
CN2006100208448A 2006-05-18 2006-05-18 Method for scheduling multiple CPU Expired - Fee Related CN101075199B (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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