CN103473120A - Acceleration-factor-based multi-core real-time system task partitioning method - Google Patents

Acceleration-factor-based multi-core real-time system task partitioning method Download PDF

Info

Publication number
CN103473120A
CN103473120A CN2012105729998A CN201210572999A CN103473120A CN 103473120 A CN103473120 A CN 103473120A CN 2012105729998 A CN2012105729998 A CN 2012105729998A CN 201210572999 A CN201210572999 A CN 201210572999A CN 103473120 A CN103473120 A CN 103473120A
Authority
CN
China
Prior art keywords
task
processor core
factor
algorithm
speedup
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
CN2012105729998A
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.)
Beihang University
Original Assignee
Beihang University
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 Beihang University filed Critical Beihang University
Priority to CN2012105729998A priority Critical patent/CN103473120A/en
Publication of CN103473120A publication Critical patent/CN103473120A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Multi Processors (AREA)

Abstract

The invention discloses an RM (rate monotonic) real-time task scheduling algorithm-based multi-core real-time task partitioning method, wherein a task acceleration effect is taken into account in the method. The influence of a mutual acceleration function of tasks in an execution process on the utilization rate of a CPU (central processing unit) is taken into account on the basis of a conventional task partitioning strategy, so that an available spring coefficient in a spring algorithm is found to compress task execution time to improve the RM schedulability of a task set. According to the method, the acceleration effect of the tasks is represented by an acceleration factor. The method comprises the following steps of improving a BF (best-fit) algorithm to obtain a BF-lambda algorithm by utilizing the acceleration factor; finishing partitioning the task set on a plurality of processor cores by utilizing the BF-lambda algorithm.

Description

A kind of multinuclear real-time system task division method based on speedup factor
Technical field
What the present invention relates to is a kind of task division method, for be the real-time system operated on multi-core platform, belong to real-time multinuclear/multicomputer system task scheduling field.
Background technology
Be accompanied by that aviation electronics, arrow are carried, onboard system in the evolution of synthesization computing technique to the raising of capability requirement, increasingly sophisticated with the embedded real time computation system of these System Dependents, need simultaneously treated number of tasks greatly to increase.In actual system design planning, a kind of method that meets this demand has been proposed at present, adopt polycaryon processor to substitute the performance that existing monokaryon/uniprocessor improves these hard real-time systems, but cause thereupon, some are basic and general issue is urgently to be resolved hurrily, one of them very important problem be exactly in existing system the real-time scheduling towards uniprocessor how to be mapped in the multiplied unit environment, and putting forward high performance correctness and the real-time of simultaneously guarantee calculating.
From the development of real-time system software, the Real-Time Scheduling model of comparative maturity is mostly for the monokaryon environment, as classical RMS, DMS, EDF, LST etc. at present.And, in the multiplied unit environment, the scheduling of task becomes more complicated, need to consider the correlative factors such as efficiency, justice, load balancing.Real-Time Scheduling research for multinuclear/multiprocessor has in the last few years also obtained paying attention to widely, and becomes one of hot issue of academic circles at present research.Multi-processor task scheduling mainly contains two kinds of methods at present: splitting scheme and global scheme.In overall scheduling scheme method, the appearance each time of real-time task is all carried out on different processors, only moves the same dispatching algorithm on all processors.Task can be preempted and can be in scheduling scheme is being divided in migration between different processors before not executing, and the institute of a task occurs and all carries out on same processor, and all task is divided into processor in advance by task allocation algorithms; Each processor can move different or identical uniprocessor task scheduling algorithm.But, for splitting scheme, the responsibility of scheduler is no longer as the scheduling of only executing the task in the past.Except according to some specific dispatching algorithm, processing unit being switched between different tasks, scheduler also must be finished the work and be collected the division on a plurality of processing units before task scheduling.
Spring algorithm: Buttazzo etc. utilize the principle of telescopic spring the task in set of tasks to be regarded as to the spring of series connection, and each task is controlled the change in its cycle by a parameter that is referred to as elasticity coefficient, thereby reach the purpose of regulating its utilization factor.
Summary of the invention
The present invention is directed to the multinuclear real-time system and provided a kind of task division method based on speedup factor.
Usually due to the resource-constrained of system, the competition of resource often occurs and shares in the inter-related task that runs on same computing system, and the execution of task is not separate completely.While carrying out on the processor group of same processor or shared Cache such as any two or more tasks, can, because the correlativity of data is brought influencing each other in various degree, can be referred to as " cohort effect " each other.It can be both to promote that this impact is embodied on execution speed, can be also to suppress, and this impact effect depends on characteristic and the dispatching algorithm of task itself.In some situation because data dependence between task is good, first carrying out of task just follow-up work required data call in high-speed cache, thereby reduced the number of times that Cache does not hit and replaces, make execution speed accelerate; Inhibition may be because data dependence between successively carrying out of task is poor, need to be continually when order is carried out to Cache capablely write back, replacement operation, thereby execution speed is reduced.Relatively traditional monokaryon/uniprocessor computing environment, the computing platform of multiplied unit has dirigibility more, can set of tasks be divided according to " cohort effect " of task, then independent scheduled for executing on each processor core.
Below related definition will be introduced and model is set forth.
The MAMORTS task model: in a real-time system multiprocessor multi-core platform, definition P={p1, p2, p3 ..., pm} (m > 1) is one and has m the processor chips set that structure is identical, forms the SMP structure.CPU interconnects by high-speed communication interface, and the communication overhead between processor is ignored.Single processor chips pi={q in set i1, q i2..., q in(n>1,1≤i≤n) set of forming for the isomorphism processor core, q ij(1≤i≤m, 1≤j≤n) is multithreading based on SMT or CMP framework/polycaryon processor core.
There is real-time task set Ψ={ Ψ in define system 1, Ψ 2..., Ψ k(k≤m*n), Ψ 1to Ψ kfor the subtask collection in Ψ, be assigned to different processor core q ijupper execution.At any one processor q ijon the subtask collection Ψ that moves t={ τ 1, τ 2, τ 3τ l(l>0,1≤t≤k), all meet following constraint condition:
(C1) all task requests are all periodically, have hard time limit requirement, must within the time limit limited, complete;
(C2) time limit of task requires the task of only limiting to complete before the next one request generation of this task;
(C3) between task, can not be independently, the request of each task can depend on having started of other task requests, can exist the memory access space that the set of tasks of common factor is arranged;
(C4) time of scheduling and task switching ignores;
(C5) between task be preemptible;
(C6) determine working time during each task isolated operation, be finger processor in without the interruption situation for the treatment of the time C of this task the working time of task here i; Consider subtask collection Ψ t={ τ 1, τ 2, τ 3τ lin task the speedup factor relation may be arranged between any two, now consider no longer one by one the accelerating effect of other all tasks for a certain particular task, but consider that this subtask collection does the as a whole accelerating effect for all tasks of this subset.That is to say, now this subtask collection Ψ tspeedup factor for each subtask collection, when speedup factor works, determine the working time of subtask collection, Σ i = 1 k c i ′ = Σ i = 1 k c i / λ t Determine;
In the spring model dispatching algorithm, elasticity coefficient is the key of utilization factor of setting the tasks, in fact this parameter has determined the controlled degree of task, but the unified quantization method of neither one is determined it, and the general available elasticity coefficient of even basic neither one can be utilized.In the present invention, speedup factor, as elasticity coefficient, proposes a kind of new task division method, by the cpu busy percentage of acceleration effect compression section task, improves overall schedulability.
Speedup factor λ: under the multinuclear computation model, consider influencing each other of task, task T iactual execution time by C ibe no longer constant, but can be subject to certain has correlativity task T with it jthe perhaps S set of task iimpact.Therefore, when considering task T idivision the time, if the task T that the existing scheduler task of certain core concentrates existence to have with it correlativity j, T iexecution can obtain acceleration, exist so-called speedup factor λ to make execution time C ishorten to
Figure BDA00002647171000031
thereby reduce the utilization factor U of final processor core i.Here in fact speedup factor λ has provided a kind of definition and computing method of concrete spring algorithm elasticity coefficient.Therefore, as allocating task T ito on certain processor core the time, thereby can consider that this acceleration effect improves schedulability based on spring algorithm.In practice, can obtain exactly the speedup factor between task in twos by simulation and test; But, after completing division, can not guarantee that the number of tasks of distributing on each processor core is no more than 2.For certain processor core, if its current task number will be can not determine new task T so more than two ithe speedup factor obtained due to the impact of other all tasks in this set, the method can't complete division.So the present invention has further provided the description for the whole acceleration effect of task-set.
The speedup factor of task-set: as previously mentioned, if in the method fully based on task speedup factor between any two carry out task division, so by a new task τ tadd processor core q to ijthe time, in order to consider τ tadd q ijoriginal subtask collection Ψ kimpact, need to consider one by one τ tto Ψ kin the speedup factor of each task, and the speedup factor between task can not guarantee in the situation that exist other tasks to disturb in set in twos, under the set of tasks environment
Figure BDA00002647171000032
still with measurement environment under λ tibe consistent.Therefore, the speedup factor that is based on task-set that reality adopts in the present invention
Figure BDA00002647171000033
according to the constraint condition of MAMORTS model, the speedup factor of any given subtask collection remains unchanged.Speedup factor based on task-set is convenient for task-set is carried out to the schedulability judgement, but, with respect to the difficulty when measuring of the speedup factor between task is larger in twos, needs to cover any one subset that Given task is concentrated.
The set that is 4 for a number of tasks, need all subtasks set of test as following table, a speedup factor of each task-set correspondence, as following table:
The subtask set Speedup factor
1}
2}
3}
4}
1,τ 2}
1,τ 3}
1,τ 4}
2,τ 3}
2,τ 4}
3,τ 4}
1,τ 2,τ 3}
1,τ 2,τ 4}
1,τ 3,τ 4}
2,τ 3,τ 4}
1,τ 2,τ 3,τ 4}
Table 1
In the MAMORTS task model, set of tasks Ψ t={ τ 1, τ 2, τ 3τ nwhole speedup factor
Figure BDA00002647171000041
as long as set of tasks is definite, T also determines, because the execution time of each task is determined; And, for definite task-set, under specific dispatching algorithm, the relative order of tasks carrying also can be determined, but its actual execution time being not equal to
Figure BDA00002647171000042
the theoretical execution time also is not equal to
Figure BDA00002647171000043
because the cycle difference of each task, the number of times of carrying out in the set time section is also different.Therefore, by the theoretical execution time T " and actual execution time T " ' that provides task-set integral body, speedup factor is revised, obtained
Figure BDA00002647171000044
in the method, T " being that the actual execution sequence under the RM algorithm carries out cumulative obtaining of theory time, T according to task " ' is to carry out test by the actual task collection at RM dispatching algorithm dispatching to draw.The λ occurred hereinafter tif do not do special instruction refer to revised speedup factor.Determine the speedup factor of all possible subtask collection of the task-set that a task quantity is n, need to carry out
Figure BDA00002647171000045
inferior different subtasks collection is carried out respectively to the measurement of speedup factor.So, the feasibility of the method in consideration engineering reality, the present invention increases a constraint to given division methods, that is:
On random processor core, assignable number of tasks is no more than certain restriction L, and when number of processor cores is k, total task quantity n must meet: n≤k*L (1)
Finally obtaining band affects the task-set speedup factor of distance L.
Band affects the task-set speedup factor of distance L: known in the description of the above-mentioned speedup factor based on task-set, and in order to obtain the speedup factor table based on task-set, before loading, task should carry out a large amount of task-set tests, and the number of times of test is O (2 n), and along with the expansion of task-set, the cost that the single test spends increasing (test of same subtask collection may need to consider different task order orders).In order to reduce the difficulty of test assignment collection speedup factor, can consider that setting one according to the principle of locality of program affects distance L, what this distance L was described is task quantity.
Concentrate the subtask that is M in task quantity:
(1) if M > L, run counter to constraint condition (1), think this task-set non-scheduling all on arbitrary processor core;
(2) if M≤L, the whole speedup factor of this subtask collection of consideration that can be complete, this is desired just.
In particular cases, if L=N, the speedup factor based on task-set that band affects distance L deteriorates to the speedup factor of not being with the task-set that affects distance.
Now, N=5, the form of speedup factor table during L=3 is as follows:
Table 2
The foundation of speedup factor table: this speedup factor table is the form of an one dimension, each subtask set Ψ ta corresponding speedup factor λ i.From the angle of function, this table can be expressed as function δ: Ψ t→ λ i, Ψ tfor set of tasks territory, λ ifor the speedup factor territory, function δ completes the mapping from given subtask collection to speedup factor, obtains the speedup factor of this subtask set.Ideally, the field of definition of δ should comprise set of tasks ψ={ τ 1, τ 2, τ 3τ nin all possible subset Ψ i, 1≤i≤2 n.When n is very large, too many for the test that subset is carried out one by one, and can take a large amount of storage spaces, so proposed to be with the speedup factor table that affects distance L, utilize L to limit to need the length of the subtask collection of test and storage, the subset that task quantity is greater than L is not tested.
BF-λ algorithm: this algorithm is the Best-Fit algorithm of having considered speedup factor λ, and purpose is to select the processor core j (1≤j≤k) of applicable current task in the middle of k processor core.Be task τ tin the time of distribution processor core, pay the utmost attention to those and both can meet Schedulable conditions:
(U<n (2 1/n-1)=L (n), (processor utilization that U is task-set ψ, n is task quantity in ψ) 1.
And the λ acceleration effect again significantly the processor core of (showing as the processor core utilization factor increment Delta U minimum that new task is brought) as the recipient of current task; If meet more than one of the processor core of this condition, so again according to the Best-Fit algorithm, therefrom select the recipient of the processor core of utilization factor maximum as this task.
This execution step of searching algorithm is:
Step 1: receive a task τ to be divided l, initialization target processor core numbering j=0, the quantity that the processor core Base Serial Number i=1(k of sequential search is processor core);
Step 2: obtain the current set of tasks Ψ distributed of processor core i i, Ψ itask quantity be m, calculation task set Ψ iutilization factor U at processor core i i.
Step 2.1: if i > k, all processor cores all travel through, and finish to search, and return to lookup result j;
Step 2.2: if m>L, according to constraint condition (1), can not be by task τ lbe assigned to current processor core, perform step 3; Otherwise, search the speedup factor table and obtain new set of tasks (Ψ i+ { τ l) speedup factor λ i, and calculating adds task τ lafter utilization factor
Figure BDA00002647171000061
calculate the utilization factor increment
Step 2.3: according to the decision condition of RM dispatching algorithm, 1. judge task-set (Ψ i+ { τ l) on processor core i, whether can dispatch: if non-scheduling performs step 3; Otherwise, finish to search, return to the numbering j of optimum processor core;
Step 2.4: carry out the utilization factor arbitration of core i and core j: if utilization factor increment Delta U i<Δ U j, the task recipient that set handling device core i is current the best, make j=i; Execution step 3; If utilization factor increment Delta U i=Δ U j, perform step 2.5;
Step 2.5: carry out Best-Fit, if U iu j, j=i; This step is to adopt greedy algorithm meeting in schedulable situation, makes the utilization factor of processor core high as far as possible;
Step 3:i=i+1, perform step 2.1, checks next processor core;
BF-λ division methods: this division methods is to consider the λ speedup factor and a kind of task division method of obtaining on the Best-Fit bin packing algorithm, and the core algorithm of the method is BF-λ algorithm.Simple declaration for this division methods:
In the computing environment with k processor core, the general assignment collection S={ τ that is n for task quantity 1, τ 2..., τ n, the method attempts to find a kind of suitable scheme that S is divided into to k subset: for each core i (1≤i≤k), the task subset of distribution is Ψ i, S={ Ψ is arranged 1, Ψ 2... Ψ i... Ψ k; If there is no so a kind of division, judge that task-set S does not meet the Schedulable conditions of the method.
The implementation step of the method is as follows:
Step 1: initialization, empty the set of tasks of each processor core, Ψ is set i=Φ, (1≤i≤k); Simultaneously, the S set of finishing the work by successively decrease DU sequence of utilization factor, for the τ of any two tasks in S pand τ q, (1≤p≤q≤n),, U is arranged p>=U q;
Step 2: from S, according to the non-order that increases of utilization factor, obtain a task τ l; Then carrying out BF-λ algorithm, is task τ lfind the processor core an of the best, establish it and be numbered j (1≤j≤k), j=BF-λ (τ is arranged l);
Step 3: if obtain j=0 in step 2, BF-λ algorithm is searched unsuccessfully, illustrates and does not now have to receive task τ lprocessor core, this time divides unsuccessfully end; Otherwise by τ lbe assigned to processor core j, upgrade the task subset Ψ of j jj+ { τ l, upgrade general assignment collection S=S-{ τ l;
Step 4: if S ≠ Φ also exists task to be divided in task-set S, perform step 2; Otherwise, output splitting scheme Ψ i(1≤i≤k), this time divide successfully, finishes.
The present invention, on the basis of RM algorithm, spring algorithm and Best-Fit bin packing algorithm, has proposed a kind of multinuclear real-time task division methods based on speedup factor, compares original task division method, has the following advantages and effect:
1) consider influencing each other in the tasks carrying process, described really task execution environment
Influencing each other between not consideration task of existing partition strategy, such as traditional bin packing algorithm is applicable to (Next-Fit) algorithm, is applicable to (First-Fit) algorithm at first next time, best (Best-Fit) fit algorithm etc. has only been considered the absolute attribute of task.But in reality due to resource contention with share influencing each other between causing of task and also can be used as the execution environment that parameter is described task more realistically.
2) can improve the RM schedulability of part set of tasks
Under the RMS model, the schedulability test condition of task-set is U<n (2 1/n-1)=L (n), (processor utilization that U is task-set ψ, n is task quantity in ψ).The calculating of utilization factor U does not consider that the execution time that the impact between task brings changes this spring-compressed effect.If consider this acceleration effect, the utilization factor U ' calculated has U '<U for some task-set, thereby improves the schedulability of task-set.
The accompanying drawing explanation
Accompanying drawing 1: be the multinuclear real-time task partition functionality module map based on speedup factor in the present invention
Accompanying drawing 2: the improvement Best-Fit algorithm flow chart that is based on speedup factor
Accompanying drawing 3: the process flow diagram that is the multinuclear real-time task division methods based on speedup factor in the present invention
Embodiment
In following concrete exemplifying embodiment, by reference to the accompanying drawings the present invention is described in further detail.
As shown in Figure 1, the multinuclear real-time task division methods based on speedup factor of the present invention's design is divided into 3 modules on function: divide control module 1, task choosing module 2, and the module 3 of carrying out the processor core selection according to BF-λ algorithm.Wherein, module 3 also comprises following functional module: search control module 31, speedup factor λ computing module 32, and processing unit utilization factor computing module 33, wherein, search control module 31 and receiving new task τ lthe traversal of rear control to processor core, speedup factor λ computing module 32 carries out searching of speedup factor table, obtains the speedup factor of task-set; Processor core utilization factor computing module 33 is according to the utilization factor of task-set and corresponding speedup factor calculation processing unit.
Divide the main initialization of each processing unit task-set and the traversal of initiating task S set be responsible for of control module 1.Each traversal all makes in S to reduce an element, until S becomes empty set or can not proceed and failure because certain task non-scheduling causes division methods before becoming empty set.If divide successfully, obtained being assigned to the set Ψ that the task subset of each core forms={ Ψ 1, Ψ 2..., Ψ k}=S.
The main fit module 1 of task choosing module 2 is responsible for selecting the next task of distributing of carrying out.The order of task can be random, can be also orderly (according to the utilization factor DU that successively decreases, execution time successively decrease DC etc.).This method adopts utilization factor sort descending DU, and task is each time chosen the task of all selecting utilization factor maximum in S set.
Processor core selection module 3 fit module 1 complete carries out the processor core selection to the task of appointment, and the algorithm of choosing is BF-λ algorithm.If there is suitable processor core, provide its numbering, be numbered 0 expression and do not have the processor core that can receive current task, now module 1 can be announced the division failure for S.
Number for element in the set of tasks S(S of k processor core is n) division, the multinuclear real-time task division methods based on speedup factor that the present invention proposes comprises following steps:
Step 1: initialization, empty the task-set of each processor core i (1≤i≤k), Ψ is set i=Φ; Simultaneously, the S set of finishing the work by successively decrease DU sequence of utilization factor, for the τ of any two tasks in S pand τ q, (1≤p≤q≤n),, U is arranged p>=U q;
Step 2: from S, according to the non-order that increases of utilization factor, obtain a task τ l; Then carrying out following steps according to BF-λ algorithm is task τ lfind the processor core j an of the best;
Step 2.1: initialization target processor core numbering j=0, and the initiated process device core of sequential search numbering i=1;
Step 2.2: obtain the current set of tasks Ψ distributed of processor core i i, Ψ itask quantity be m, calculation task set Ψ iutilization factor U at processor core i i.
Step 2.2.1: if i > k, all processor cores all travel through, and finish to search, and return to lookup result j; Otherwise, execution step 2.2.2;
Step 2.2.2: if m>L, according to constraint condition (1), can not be by task τ lbe assigned to current processor core, perform step 2.3; Otherwise, search the speedup factor table and obtain new set of tasks (Ψ i+ { τ l) speedup factor λ i, and calculating adds task τ lafter utilization factor
Figure BDA00002647171000091
calculate the utilization factor increment
Figure BDA00002647171000092
carry out next step;
Step 2.2.3: according to the decision condition of RM dispatching algorithm, 1. judge task-set (Ψ i+ { τ l) on core i, whether can dispatch: if non-scheduling performs step 2.3; Otherwise, finish to search, return to the numbering j of optimum processor core;
Step 2.2.4: carry out the utilization factor arbitration of core i and core j: if utilization factor increment Delta U i<Δ U j, the task recipient that set handling device core i is current the best, make j=i; Execution step 2.3; If utilization factor increment Delta U i=Δ U j, perform step 2.2.5;
Step 2.2.5: carry out the Best-Fit matching algorithm and selected: if U iu j, j=i; This step is to meet in schedulable situation, makes the utilization factor of processor core high as far as possible;
Step 2.3:i=i+1, continue to check next processor core, execution step 2.2.1;
Step 3: if j=0, BF-λ algorithm is searched unsuccessfully, illustrates and does not now have to receive task τ lprocessor core, this time divides unsuccessfully end; Otherwise, by τ lbe assigned to processor core j, upgrade the task subset Ψ of j jj+ { τ l, upgrade general assignment collection S=S-{ τ l;
Step 4: if S ≠ Φ performs step 2; Otherwise, output splitting scheme Ψ i(1≤i≤k), this time divide successfully, finishes.

Claims (4)

1. the use of the interactional speedup factor table of description task, it is characterized in that: the S set that is n for a task quantity, set up the corresponding relation from the subset to the speedup factor for arbitrary task subset, what this speedup factor was portrayed is due to resource contention and shared interactional degree or the correlativity caused between task.The division of the multinuclear real-time system task based on the task speedup factor is served in the foundation of this speedup factor table, decides the grouping relation of task in concrete partition process by the speedup factor of task.
2. the modified based on speedup factor preferably is applicable to (Best-Fit) algorithm---BF-λ algorithm, it is characterized in that, is implemented as follows step:
Step 1: receive a task τ to be divided l, initialization target processor core numbering j=0, the quantity that the processor core Base Serial Number i=1(k of sequential search is processor core);
Step 2: obtain the current set of tasks Ψ distributed of processor core i i, Ψ itask quantity be m, calculation task set Ψ iutilization factor U at processor core i i.
Step 2.1: if i > k, all processor cores all travel through, and finish to search, and return to lookup result j;
Step 2.2: search the speedup factor table and obtain new set of tasks (Ψ i+ { τ l) speedup factor λ i, and calculating adds task τ lafter utilization factor calculate the utilization factor increment
Figure FDA00002647170900012
Step 2.3: according to the decision condition judgement task-set (Ψ of RM dispatching algorithm i+ { τ l) on processor core i, whether can dispatch: if non-scheduling performs step 3; Otherwise, finish to search, return to the numbering j of optimum processor core;
Step 2.4: carry out the utilization factor arbitration of core i and core j: if utilization factor increment Delta U i<Δ U j, the task recipient that set handling device core i is current the best, make j=i; Execution step 3; If utilization factor increment Delta U i=Δ U j, perform step 2.5;
Step 2.5: carry out Best-Fit, if U iu j, j=i; This step is to adopt greedy algorithm meeting in schedulable situation, makes the utilization factor of processor core high as far as possible;
Step 3:i=i+1, perform step 2.1, checks next processor core.
3. the multinuclear real-time system task division method based on speedup factor, is characterized in that, is implemented as follows step:
Step 1: initialization, empty the set of tasks of each processor core, Ψ is set i=Φ, (1≤i≤k); Simultaneously, the S set of finishing the work by successively decrease DU sequence of utilization factor, for the τ of any two tasks in S pand τ q, (1≤p≤q≤n),, U is arranged p>=U q;
Step 2: from S, according to the non-order that increases of utilization factor, obtain a task τ l; Then carrying out BF-λ algorithm, is task τ lfind the processor core an of the best, establish it and be numbered j (1≤j≤k), j=BF-λ (τ is arranged l);
Step 3: if obtain j=0 in step 2, BF-λ algorithm is searched unsuccessfully, illustrates and does not now have to receive task τ lprocessor core, this time divides unsuccessfully end; Otherwise by τ lbe assigned to processor core j, upgrade the task subset Ψ of j jj+ { τ l, upgrade general assignment collection S=S-{ τ l;
Step 4: if S ≠ Φ also exists task to be divided in task-set S, perform step 2; Otherwise, output splitting scheme Ψ i(1≤i≤k), this time divide successfully, finishes.
4. the multinuclear real-time system task division method based on speedup factor according to claim 3, is characterized in that, in described step 2, is a certain task τ lcomplete being specially of processor core selection: be task τ lin the time of distribution processor core, pay the utmost attention to those and both can meet Schedulable conditions, and the λ acceleration effect again significantly the processor core of (showing as the processor core utilization factor increment Delta U minimum that new task is brought) as the recipient of current task; If meet more than one of the processor core of this condition, so again according to the Best-Fit algorithm, therefrom select the recipient of the processor core of utilization factor maximum as this task.
CN2012105729998A 2012-12-25 2012-12-25 Acceleration-factor-based multi-core real-time system task partitioning method Pending CN103473120A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2012105729998A CN103473120A (en) 2012-12-25 2012-12-25 Acceleration-factor-based multi-core real-time system task partitioning method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2012105729998A CN103473120A (en) 2012-12-25 2012-12-25 Acceleration-factor-based multi-core real-time system task partitioning method

Publications (1)

Publication Number Publication Date
CN103473120A true CN103473120A (en) 2013-12-25

Family

ID=49797989

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2012105729998A Pending CN103473120A (en) 2012-12-25 2012-12-25 Acceleration-factor-based multi-core real-time system task partitioning method

Country Status (1)

Country Link
CN (1) CN103473120A (en)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105700959A (en) * 2016-01-13 2016-06-22 南京邮电大学 Multi-core platform oriented multithreaded division and static balancing scheduling policy
CN108108237A (en) * 2017-12-27 2018-06-01 电子科技大学 A kind of periodic associated task heterogeneous polynuclear mapping scheduler method based on MILP
CN108153583A (en) * 2016-12-06 2018-06-12 阿里巴巴集团控股有限公司 Method for allocating tasks and device, real-time Computational frame system
CN109144720A (en) * 2018-07-13 2019-01-04 哈尔滨工程大学 A kind of multi-core processor task schedule selection method based on shared resource sensitivity
CN109581925A (en) * 2018-12-05 2019-04-05 北京和利时系统工程有限公司 A kind of task processing method and device, computer readable storage medium
CN109684087A (en) * 2018-12-17 2019-04-26 北京中科寒武纪科技有限公司 Operation method, device and Related product
CN109739638A (en) * 2018-12-06 2019-05-10 北京航空航天大学 A kind of EDF schedulability determination method and device based on deep learning
CN109766181A (en) * 2018-12-06 2019-05-17 北京航空航天大学 A kind of RMS schedulability determination method and device based on deep learning
CN110178119A (en) * 2018-08-02 2019-08-27 华为技术有限公司 The method, apparatus and storage system of processing business request
CN111240829A (en) * 2019-12-31 2020-06-05 潍柴动力股份有限公司 Multi-core task scheduling method and device based on time slices, storage medium and electronic equipment

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090307660A1 (en) * 2008-10-14 2009-12-10 Edss, Inc. Ticc-paradigm to build verified parallel software for multi-core chips
CN102325255A (en) * 2011-09-09 2012-01-18 深圳市融创天下科技股份有限公司 Multi-core CPU (central processing unit) video transcoding scheduling method and multi-core CPU video transcoding scheduling system
CN102508708A (en) * 2011-11-30 2012-06-20 湖南大学 Heterogeneous multi-core energy-saving task schedule method based on improved genetic algorithm
CN102681902A (en) * 2012-05-15 2012-09-19 浙江大学 Load balancing method based on task distribution of multicore system
US20120246650A1 (en) * 2009-09-21 2012-09-27 Bernd Mueller Method for processing information and activities in a control and/or regulating system with the aid of a multi-core processor

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090307660A1 (en) * 2008-10-14 2009-12-10 Edss, Inc. Ticc-paradigm to build verified parallel software for multi-core chips
US20120246650A1 (en) * 2009-09-21 2012-09-27 Bernd Mueller Method for processing information and activities in a control and/or regulating system with the aid of a multi-core processor
CN102325255A (en) * 2011-09-09 2012-01-18 深圳市融创天下科技股份有限公司 Multi-core CPU (central processing unit) video transcoding scheduling method and multi-core CPU video transcoding scheduling system
CN102508708A (en) * 2011-11-30 2012-06-20 湖南大学 Heterogeneous multi-core energy-saving task schedule method based on improved genetic algorithm
CN102681902A (en) * 2012-05-15 2012-09-19 浙江大学 Load balancing method based on task distribution of multicore system

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105700959A (en) * 2016-01-13 2016-06-22 南京邮电大学 Multi-core platform oriented multithreaded division and static balancing scheduling policy
CN105700959B (en) * 2016-01-13 2019-02-26 南京邮电大学 A kind of multithreading division and static equilibrium dispatching method towards multi-core platform
CN108153583A (en) * 2016-12-06 2018-06-12 阿里巴巴集团控股有限公司 Method for allocating tasks and device, real-time Computational frame system
CN108108237A (en) * 2017-12-27 2018-06-01 电子科技大学 A kind of periodic associated task heterogeneous polynuclear mapping scheduler method based on MILP
CN108108237B (en) * 2017-12-27 2021-09-28 电子科技大学 MILP-based heterogeneous multi-core mapping scheduling method for periodic associated tasks
CN109144720A (en) * 2018-07-13 2019-01-04 哈尔滨工程大学 A kind of multi-core processor task schedule selection method based on shared resource sensitivity
CN110178119A (en) * 2018-08-02 2019-08-27 华为技术有限公司 The method, apparatus and storage system of processing business request
CN110178119B (en) * 2018-08-02 2022-04-26 华为技术有限公司 Method, device and storage system for processing service request
CN109581925A (en) * 2018-12-05 2019-04-05 北京和利时系统工程有限公司 A kind of task processing method and device, computer readable storage medium
CN109739638A (en) * 2018-12-06 2019-05-10 北京航空航天大学 A kind of EDF schedulability determination method and device based on deep learning
CN109766181A (en) * 2018-12-06 2019-05-17 北京航空航天大学 A kind of RMS schedulability determination method and device based on deep learning
CN109684087A (en) * 2018-12-17 2019-04-26 北京中科寒武纪科技有限公司 Operation method, device and Related product
CN111240829A (en) * 2019-12-31 2020-06-05 潍柴动力股份有限公司 Multi-core task scheduling method and device based on time slices, storage medium and electronic equipment
CN111240829B (en) * 2019-12-31 2023-12-15 潍柴动力股份有限公司 Multi-core task scheduling method and device based on time slices, storage medium and electronic equipment

Similar Documents

Publication Publication Date Title
CN103473120A (en) Acceleration-factor-based multi-core real-time system task partitioning method
CN102792271B (en) Cross over many-core systems DYNAMIC DISTRIBUTION multidimensional working set
CN103729246B (en) Method and device for dispatching tasks
CN105653204B (en) A kind of distributed figure calculation method based on disk
US20140019987A1 (en) Scheduling map and reduce tasks for jobs execution according to performance goals
US20130290972A1 (en) Workload manager for mapreduce environments
CN107704069B (en) Spark energy-saving scheduling method based on energy consumption perception
CN105656973A (en) Distributed method and system for scheduling tasks in node group
CN107346264A (en) A kind of method, apparatus and server apparatus of virtual machine load balance scheduling
CN104281495A (en) Method for task scheduling of shared cache of multi-core processor
CN102708003A (en) Method for allocating resources under cloud platform
CN103425536A (en) Test resource management method oriented towards distributed system performance tests
CN102708009A (en) Method for sharing GPU (graphics processing unit) by multiple tasks based on CUDA (compute unified device architecture)
CN115168058A (en) Thread load balancing method, device, equipment and storage medium
CN108139929B (en) Task scheduling apparatus and method for scheduling a plurality of tasks
CN108733491B (en) Thermal sensing and low-energy-consumption task scheduling method for heterogeneous MPSoC system
US20210390405A1 (en) Microservice-based training systems in heterogeneous graphic processor unit (gpu) cluster and operating method thereof
CN114579284A (en) Task scheduling method and device
Gharajeh et al. Heuristic-based task-to-thread mapping in multi-core processors
Davidović et al. Parallel local search to schedule communicating tasks on identical processors
Banicescu et al. Addressing the stochastic nature of scientific computations via dynamic loop scheduling
CN103645948B (en) Dependency-based parallel computing method for intensive data
Kedad-Sidhoum et al. Scheduling independent tasks on multi-cores with gpu accelerators
Banicescu et al. Towards the robustness of dynamic loop scheduling on large-scale heterogeneous distributed systems
Goossens et al. Job partitioning strategies for multiprocessor scheduling of real-time periodic tasks with restricted migrations

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20131225