CN105700941A - Three-dimensional scheduler model and scheduling algorithm thereof - Google Patents

Three-dimensional scheduler model and scheduling algorithm thereof Download PDF

Info

Publication number
CN105700941A
CN105700941A CN201511027081.5A CN201511027081A CN105700941A CN 105700941 A CN105700941 A CN 105700941A CN 201511027081 A CN201511027081 A CN 201511027081A CN 105700941 A CN105700941 A CN 105700941A
Authority
CN
China
Prior art keywords
task
time
job
model
core
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.)
Granted
Application number
CN201511027081.5A
Other languages
Chinese (zh)
Other versions
CN105700941B (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.)
Xian University of Technology
Xian Technological University
Original Assignee
Xian Technological 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 Xian Technological University filed Critical Xian Technological University
Priority to CN201511027081.5A priority Critical patent/CN105700941B/en
Publication of CN105700941A publication Critical patent/CN105700941A/en
Application granted granted Critical
Publication of CN105700941B publication Critical patent/CN105700941B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues

Abstract

The invention discloses a three-dimensional scheduler model and a scheduling algorithm thereof. According to the three-dimensional scheduler model and the scheduling algorithm, after the time certainty, safety and reliability of various types of real-time tasks are analyzed, various types of real-time task models are converted into a uniform three-dimensional hierarchical relationship model, then a scheduling strategy is adjusted according to the hierarchies of the tasks and finally the scheduling strategy is mapped into a two-dimensional space-time diagram corresponding to a core. The strategy not only considers the load balance to enhance the parallel execution efficiency of a plurality of cores, but also needs to satisfy the demands of real-timeliness, reliability and safety in the task execution process. Moreover, the model and the algorithm are used for researching a mechanism for synchronizing the shared resource of various real-time tasks so as to obtain a new shared resource management scheme, so that the occurrence of deadlock is decreased and the CPU hunger is prevented.

Description

Three-dimensional scheduler model and dispatching algorithm thereof
Technical field
The present invention relates to embedded system field, be specifically related to a kind of three-dimensional scheduler model and dispatching algorithm thereof。
Background technology
Since ARM companies in 2004 and Britain Camb have been proposed since first piece of embedded multi-core processes ARM11MPcore in the world, the feature such as chip multi-core processor CMP (ChipMulti-Processors) is little by volume, communication delay is low, design and proving period is short, high frequency, low-power consumption and low cost becomes the driving force that Embedded Application field is powerful soon。
At present, multinuclear has been widely applied in various equipment, but the development of software lags far behind the development of hardware, especially in embedded systems the scheduling of task and decomposition directly influence the normal use of systems soft ware, the current embedded OS supporting multinuclear is both for the real-time task of single type, simply consider the real-time task periodically performed, or simply consider real-time task aperiodic of disposable execution。There is presently no the research of real-time task for multiple mixed type。In this case multiple nucleus system, otherwise it is high to there is system availability, or can there is the problems such as security of system cannot ensure。Therefore when current multi core chip check figure rapidly increases, how improving software parallel efficiency as early as possible, speeding up to multinuclear calculating application in embedded systems is the most critical, urgent problems。This project is immediately following the hot issue of multinuclear Calculation and Study, the scheduling of polytype real-time task in research embedded system, decomposition and synchronization mechanism problem。This is possible not only to improve system effectiveness, accelerates multinuclear application in embedded systems, and is consistent with the needs of Present Domestic national defence, military development in science and technology。
But the raising of polycaryon processor performance mostlys come from the increase of on-chip processor check figure, the performance of its potential parallel performance will depend primarily upon the development of multinuclear software。And current embedded software is all based on greatly monokaryon system development, and all using the real-time task (such as periodic duty or aperiodic task) of single type as design philosophy, execution process is serial。The task type processed along with embedded system becomes increasingly complex, and adopts the software of original type, no matter in real-time, reliability, or all there is a lot of problem at secure context。Such as, in synchronization different types of real-time task same resource of application, uniqueness due to original system task scheduling approach, can cause having exceeded expeced time because of waiting by rule, the requirement of task real-time cannot be met, more cannot ensure completing of safety-critical task, thus reducing the reliability of system, the generation caused a serious accident, causes loss without redemption。So research raising software reliability and safety, effectively reduction software error probability of occurrence, the more advanced scheduling scheme of proposition and synchronization mechanism just become the focus of embedded software multinuclear Calculation and Study。
So, under embedded multi-core platform, polytype serial task how is made to be divided into parallel task and be mapped to the execution up of a limited number of core to improve systematic entirety energy;How to meet the demand of real-time, high reliability and high security when task executed in parallel, be all have problem to be solved。Such as in monokaryon system, it is a kind of common real-time task scheduling strategy that priority seizes scheduling, but in multiple nucleus system, low priority task can perform from high-priority task on different core simultaneously, it is more likely that causes that the task of low priority has first carried out and high-priority task fails to meet real-time demand。And once this situation occurs in mixing mission critical, then high reliability and high security all can not be protected。Secondly, for the race problem of shared resource。Monokaryon adopts lock mechanism that shared data are conducted interviews, once a thread achieves lock, then other threads have to wait for when carrying out latching operation, and under multicore architecture, owing to check figure increases, will cause between core the intensified competition to shared resource。If adopting a large amount of lock mechanism that shared resource is conducted interviews, being easy for causing deadlock and Priority Inversion phenomenon, also resulting in some CPU and be in starvation, thus being substantially reduced the efficiency that multi-core parallel concurrent performs。This will become the critical problem affecting the performance of multi-core parallel concurrent calculated performance and software extensions。Solving this problem, a kind of method is to reduce the access of shared data, and synchronization calculating is converted into the privately owned calculating of thread。This method expense cannot be avoided more greatly and still deadlock situation。Another kind of method is then use atomic operation " without lock (Lock-Free) programming "。But, difficulty and complexity without lock programming are very high again, and therefore the race problem to shared resource is another huge challenge that built-in system software faces。
In built-in field, real-time, reliability are the souls of whole system, and systems soft ware ensures the strong pillar of these characteristics just。In multinuclear and the embedded field combined, want the advantage giving full play to multinuclear, not only need to consider the details such as load balancing, synchronization mechanism, the prior security mechanism also simultaneously considering real-time, reliability and mission critical when scheduling。This is for the real time embedded system software of current serial scheduling, a huge challenge beyond doubt。Being in the middle of fierce discussion with regard to the research of the problems referred to above both at home and abroad at present, various methods emerge in an endless stream, but are both for greatly what single real-time task type carried out, a not unification, total solution complete, system。Therefore, for the feature of embedded multiple real-time task, work out a kind of scheduling model highly reliable, high safety and dispatching algorithm is imperative。
Real-Time Scheduling model under currently embedded formula multi-core platform, is primarily directed to separate real-time periodic tasks。Dispatching algorithm under this model has two big classes: overall scheduling algorithm and task divide dispatching algorithm。The advantage of overall scheduling algorithm is that core utilization rate is high, and shortcoming is to want to reach load balancing to carry out thread migration, and the expense migrated is very big。Task divides the advantage of dispatching algorithm and is able to reach load balancing, but makes core utilization rate relatively low。Which kind of then, adopt method to make to improve core utilization rate to reach again load balancing and just become the focal issue of industry research。For this, current researcher adopts two kinds of methods: a kind of method is to divide task to regard bin packing as, by adopting heuristic to set up various task to divide condition to improve core utilization rate。But how setting up task to divide condition, making core utilization rate reach optimum then becomes difficulties;Another kind is to divide task to combine with the overall situation, to reduce migration overhead。But how to combine and just can improve core utilization rate, not only make load balancing and expense but also urine become difficult point。
Current mixing mission critical dispatching algorithm has three major types: (1) is based on the method for scheduling task of priority。The method system availability is not high, and can not prevent crucial rank reversal development;(2) dispatching algorithm divided based on resource tasks。This algorithm implements comparatively laborious, and when meeting deadline of task and not losing, requires significantly high to core processing speed;(3) based on the dispatching algorithm of slack-aware, this algorithm requires the slack time of each task is repeatedly calculated, calculating process troublesome, time complexity height and zero-slack method can only dispatch a fraction of task-set。
In traditional real-time task scheduling process, the access of shared data is generally adopted lock mechanism, this mechanism may cause deadlock and Priority Inversions phenomenon by task。If applied in mixing critical system, it is also possible to crucial rank flop phenomenon can be caused。
The multinuclear task distribution studied and scheduling and the problem such as synchronization mechanism are that multinuclear calculates one of critically important problem of existing in embedded systems。Although some research both at home and abroad at present, but all without considering, reach ideal state。Owing to embedded system existing various real-time task, if any safety-critical task, there is mixing mission critical, have periodic duty also to have aperiodic task, fragmentary task is had also to have pipeline task, all these task to be likely to be concurrently present in same complication system。And current most research is both for one of which or two research carried out, not entirety are planned, is applied in comprehensive platform also without by unified for the dispatching method of these different types of real-time tasks。It addition, along with the increase of task type, the management sharing resource is also very thorny, because multinuclear can aggravate resource contention, polytype task feature differs, how to resolve resource distribution and synchronize also to need to carefully study。If these Resolving probiems is fine, so multinuclear efficiency in embedded systems will be greatly improved, this will greatly accelerate that the development in built-in field in the technical development of numerous real-time domain such as national defence, Aeronautics and Astronautics and is played huge impetus by China, and China is present and development in science and technology of future has important promoting technology effect。
Summary of the invention
For solving the problems referred to above, the invention provides a kind of three-dimensional scheduler model and dispatching algorithm thereof。
For achieving the above object, the technical scheme that the present invention takes is:
Three-dimensional scheduler model and dispatching algorithm thereof, three-dimensional scheduler model and dispatching algorithm thereof, it is characterized in that, three-dimensional scheduler model adopts three dimensional coordinate space (x, y, z), wherein x-axis represents the job of real-time periodic tasks and is finished the required time, and y-axis represents the job of the real-time periodic tasks time value starting to perform, and z-axis represents No. CPU that real-time periodic tasks is likely to be assigned to, specifically include Sporadic task model, PPTT model, mixing mission critical model。
Sporadic task model, PPTT model, mixing mission critical model are combined by most basic real-time periodic tasks model node, and this model has the feature that
A. each periodic duty is a tlv triple τi=(Φi, Ei, Di)。Wherein, ΦiIt is task due in, EiRepresent worst execution time WCET, DiRepresent deadline of task;
B. each periodic duty τiAll comprise a unlimited operation (job), and τikRepresent τiKth subjob。RikAnd dikRepresent τ respectivelyikThe absolute time issuing moment and kth subjob in limited time between;
c.U(τi)=Ei/DiRepresent τiThe utilization rate factor of task。Then for a periodic duty, the overall utilization of system isIf σ is that task maximum is up to utilization rate, σ=max{U (τi), it is clear that σ ∈ (0,1];
The dispatching algorithm of the load balancing that Sporadic task model adopts is:
The given set being made up of n periodic duty of Theorem A, τ={ τ1, τ2..., τn, wherein τi=(Ei, Di), utilizing the time limit to drive DD algorithm, to be the sufficient and necessary condition that can dispatch be
Σ i = 1 k U ( τ i ) = E 1 D 1 + E 2 D 2 + ... + E 3 D 3 ≤ 1 - - - ( 2 - 3 )
Periodic duty complementary for theorem B must be schedulable on same processor core, and the utilization rate of this processor core is 1。
Prove to set and there is k complementary periodic duty τ1=(Φ1, E1, D1), τ2=(Φ2, E2, D2) ..., τk=(Φk, Ek, Dk), then from definition 2-7So according to theorem 2-1, these tasks, on same processor core, are driven by the time limit dispatching algorithm of DD (DeadlineDriver) to be scheduling, must be satisfiable, and this processor core is constantly in execution state, therefore its utilization rate is 1。
Theorem C is located on a core and is assigned with k periodic duty, and this k periodic duty meets the assumed condition of proposition, if this k periodic duty processor core overall utilization is less than or equal to 1, then there will necessarily be a time period [0, T], wherein T is the least common multiple in k periodic duty time limit。If k task can be scheduled within this time period, then this k task necessarily can be scheduled in system。
Prove the least common multiple owing to T is k periodic duty time limit。If k task is in this time period [0, T] in can be scheduled, then [i*T afterwards, (i+1) * T] (i=1,2, LL, can be repeatedly carried out this dispatching method in time period n) etc., then this k periodic duty just can periodically circulate and be scheduled。BecauseSo by Theorem A it can be seen that must be scheduled within this time period。
Theorem D is for any one Sporadic task τ '=(Φ ', E ', D ') moment that wherein Φ ' is its arrival, E ' be its time quantum having to carry out, D ' is the time limit of this Sporadic task, make Δ=D '-Φ ', then the sufficient and necessary condition that this Sporadic task can be scheduled in Δ interval is Space (Δ) >=E '。
Prove first to demonstrate,prove sufficient condition: as Space (Δ) >=E ', illustrate, in Δ=D '-Φ ' interval, there is the time quantum E ' meeting this Sporadic tasks carrying, be therefore able to carry out complete before time limit D ', therefore can be scheduled。
Secondary card essential condition: if task to be finished in Δ=D '-Φ ' interval, then it is necessary to have vacant time quantum performs this Sporadic task and the free time unit in this intervalIt is greater than or equal to E ', therefore Space (Δ) >=E '。
S11, for input a periodic duty collection judge whether it is super full utilization rate system, if it is, export non-adjustable use;Otherwise, second step is performed;
S12, according to task utilization rate, task-set is divided into two big subclass high usage set SHWith poor efficiency set SL, whereinHere i, j are positive integer;
S13, from corresponding SHM-1 the task τ that in set, Selection utilization rate is the highest1, τ2...τM-1It is separately dispensed on M-1 core, then from SLSet selects and τ1, τ2...τM-1The set of tasks s of complementation or near-complementary (ε is minimum in selection)1, s2...sM-1Correspondingly it is separately dispensed in the middle of the queue of M-1 core;If SHTask in set is less than M-1, then at SLSet is found out complementary or near-complementary task groups be separately dispensed in the middle of remaining core;
S14, according to theorem B and theorem C it is known that use the DD dispatching algorithm of Theorem A the task in respective scheduling queue to be scheduling on M-1 core;
S15, M-1 the core residue calculated according to theorem D in Sporadic task τ '=(Φ ', E ', D ') extremely limits Δ during this period of time from due in it may utilize space S pacei(Δ), i=1,2 ..., M-1。If the execution time Space of this Sporadic taskiIt then can be assigned on i-th core by (Δ) >=E '。If all can not meet, then this task cannot be scheduled;
For M plane of the corresponding z-axis respectively of M core in this model, wherein M-1 plane has s1, s2...sM- 1M-1 set, the time started of execution of the job initiated by the duty cycle in each set and the end time of execution are respectively mapped in x-axis and the y-axis of three-dimensional scheduler model。Dash area is the execution phase of each job。If also having non-hatched area between two job, mean that the available space S pace of residuei(Δ), i=1,2 ..., M-1。Distribute to the job of Sporadic task。
PPTT model adopts processor predistribution algorithm, concretely comprises the following steps: the number assuming processor core is m, and processor predistribution algorithm can describe as follows:
S21, first n ST tree in task system is generated corresponding expander graphs respectively, and first operation in each expander graphs is put in ready queue, judge according to priority, select job assignment to m the core of m high priority to go perform, if number of jobs n is less than m, then n core is selected to perform;
S22, after a Job execution is complete, will clinodiagonal thereafter can the operation of executed in parallel put in ready queue, calculate when time performed by the operation of each task on pronucleusValue, ifThen show that this operation executed is complete, be now deleted in corresponding task expander graphs and ready queue。IfIllustrate that this operation is not carried out complete, then the timeslice changing this operation needs execution isAnd this operation be re-applied in ready queue wait dispatch together with other operations;
S23, each task recalculated in ready queue priority, choose m task be separately dispensed on m core run。If operation number n is less than m, then n core is selected to go to perform;
S24, repetition step S22, S23, until all of operation can be assigned to core and perform up;
Node for ST tree each in PPTT model will form m plane according to above-mentioned dispatching algorithm, be respectively mapped in m plane by the operation in task expander graphs according to dispatching sequence to hint obliquely at method and remain Starting Executing Time and the end time of each job are each mapped to x-axis and y-axis。
Mixing mission critical model, including job model, task model and system model, its algorithm adopted is as follows:
Theorem E assumes to be scheduling on same core, and when being left out the overheads such as context switching and interruption, certain scheduling scheme task-set for arriving in the same time, operation JiThe cycle that the successful sufficient and necessary condition that can be scheduled is this operation should be greater than or be equal to the execution time of having performed before it of task and the time value sum of this task needs execution。
Proving 1) necessity makes the execution sequence of certain operation set J be J1, J2, L, JnIf each tasks carrying complete moment is followed successively by a1, a2, L, anIf all tasks can meet the time limit, due to do not calculate overhead so above operation issue the moment be exactly below task start perform the moment。Therefore have
a1=r1+c1≤d1
a2=a1+c2=r1+c1+c2≤d2
a3=a2+c3=r1+c1+c2+c3≤d3
......
an=an-1+cn=r1+c1+c2+...+cn≤dn
dn=pn+rn
Because being arrive in the same time, therefore rn=r1, in conjunction with formula above, it is possible to obtain
r 1 + c 1 + c 2 + ... + c n ≤ r n + p n ⇒ Σ i = 1 n c i ≤ p n
Thus must demonstrate,prove。
2) perform the execution time sum of task if the cycle of each operation of adequacy both is greater than before it, then any one duty cycle more than this operation the execution time with its before the execution time sum of operation that performed, then have
p i ≥ c i + c i - 1 + c i - 2 + .... + c 1 ⇒ d i = r i + p i ≥ r i + c i + c i - 1 + c i - 2 + .... + c 1
This shows that the execution of any one task is all without overstepping the time limit, so can be scheduled。This theorem must be demonstrate,proved。
For the operation that non-concurrent arrives, it is determined that its condition whether can being scheduled is divided into two kinds of situations:
The first situation: when meeting ri< ai-1, i=2, L, n, time, have
a1=r1+c1≤d1=r1+p1
a2=a1+c2≤d2=r2+p2
......
an=an-1+cn=r1+c1+c2+...+cn≤dn=rn+pn
When meetingTime, can by successful dispatch。
The second situation: work as ri≥ai-1, i=2 ...., n, time, then
a1=r1+c1≤d1=r1+p1
a2=r2+c2≤d2=r2+p2
......
an=rn+cn≤dn=rn+pn
Work as ci≤piTime, can by successful dispatch。
Under S31, calculating different stage, the key factor of each job, carries out prioritization according to the size of key factor, and determines whether to dispatch on same core according to theorem E;
S32, check whether there is key rank convert, if had, calculate the key factor of each job according to inverted current level, determine new priority orders, and compared with the priority orders before converting, record the job that those priority postpone, and job order below when this job priority does not postpone;
S33, the job operation thereafter not postponed for priority dispatching sequence, judge whether these job can dispatch on same core according to theorem E。If it can, the release time according to these job performs window the earliest with the worst execution Time Calculation under each rank(forward time division function) and perform time window at the latest(reversed time segmentation function), and obtain their public window of idle time, utilizes public window of idle time to dispatch the job postponed, if it is not possible, then can only other allocation process device core;
S34, convert without crucial rank, or crucial rank convert after do not have priority to postpone job, then continue to perform according to this dispatching sequence。
Wherein, described theorem E is scheduling on same core for hypothesis, and when being left out the overheads such as context switching and interruption, certain scheduling scheme task-set for arriving in the same time, operation JiThe cycle that the successful sufficient and necessary condition that can be scheduled is this operation should be greater than or be equal to the execution time of having performed before it of task and the time value sum of this task needs execution。
Mixing mission critical model is for different system core values, if job can dispatch on same core, it is placed in approximately the same plane, otherwise it is placed in Different Plane, equally the Starting Executing Time of each job and end time are each mapped to x-axis and the y-axis of this plane。
After job in all of task model is mapped in threedimensional model, all of shadow region is moved down, and in the approximately the same plane that multiple planes are merged, vertical coordinate is expressed as No. CPU, abscissa is time value, then threedimensional model just can be converted into two dimensional surface execution figure, and all of execution sequence just can show in a two dimensional。As shown in Figure 3。
The method have the advantages that
After the time determinability of various types of real-time tasks, safety, reliability are analyzed, all kinds of real-time tasks models are converted to unified 3 D stereo hierarchical relationship model, level further according to task place is scheduling tactful adjustment, finally maps that to and checks in the two-dimension time-space figure answered。This strategy not only to consider that load balancing is to promote the executed in parallel efficiency of multinuclear but also to want real-time, reliability and the security requirement that can meet in tasks carrying process。Additionally, the shared source synchronous mechanism of various real-time tasks is also studied by this model and algorithm, work out a kind of new shared resource management scheme, to reduce the generation of deadlock and to prevent CPU hunger phenomenon。
Accompanying drawing explanation
Fig. 1 is the three-dimensional stereo model figure in embodiment of the present invention three-dimensional scheduler model and dispatching algorithm thereof。
Fig. 2 be in the embodiment of the present invention No. CPU be 4 execution time and the x-axis of job form shade covering method figure。
Fig. 3 is that in the embodiment of the present invention, threedimensional model is converted into two dimension execution sequence figure。
Fig. 4 is scheduler model design diagram in the embodiment of the present invention。
Fig. 5 is ST tree real-time periodic tasks expander graphs in the embodiment of the present invention。
Fig. 6 is system call main flow chart in the embodiment of the present invention。
Fig. 7 is the scheduling scheme sharing priority query in the embodiment of the present invention。
Fig. 8 is two layers of BloomFilter design in the embodiment of the present invention。
Fig. 9 is that in the embodiment of the present invention, algorithm performs overview flow chart。
Figure 10 is BloomFilter locking procedure in the embodiment of the present invention。
Detailed description of the invention
In order to make objects and advantages of the present invention clearly understand, below in conjunction with embodiment, the present invention is further elaborated。Should be appreciated that specific embodiment described herein is only in order to explain the present invention, is not intended to limit the present invention。
As shown in Figure 1, embodiments provide a kind of three-dimensional scheduler model and dispatching algorithm thereof, three-dimensional scheduler model and dispatching algorithm thereof, it is characterised in that three-dimensional scheduler model adopts three dimensional coordinate space (x, y, z), wherein x-axis represents the job of real-time periodic tasks and is finished the required time, and y-axis represents the job of the real-time periodic tasks time value starting to perform, z-axis represents No. CPU that real-time periodic tasks is likely to be assigned to, as shown in Figure 1。
The dispatching sequence that above-mentioned scheduling model three kinds different and dispatching algorithm are formed is hinted obliquely at and is scheduling for three-dimensional space model, method is as follows: the time starting to perform of each job in arranged dispatching sequence and the required time that is finished are respectively mapped to x-axis and the y-axis of the plane of z=1, then move to next z-plane if there is the part overlapped。And using the Starting Executing Time of same job and be finished required time and x-axis as planar shadow part。This part is shown to be the execution phase of this job。No. CPU is the Planar Mapping figure of 4 as shown in Figure 2。
Embodiment
Real-time periodic tasks model
Assume a system having M core (M > 1), and core is isomorphism。Below with n periodic duty τ={ τ1, τ2, LL, τnAnd k Sporadic task τ '={ τ '1, τ '2, LL, τ 'kThe scheduling problem seized on isomorphism polycaryon processor is that example is described。
Periodic duty has characteristics that
1) each task can with a tlv triple τi=(Φi, Ei, Di) represent。Wherein, ΦiIt is task due in, EiRepresent worst execution time WCET, DiExpression task is extremely limit。
2) between task being preemptible, and separate, being left out on same core task switches the expense brought, and some other resource such as variable and relief area etc. access expense。
3) each periodic duty τiAll comprise a unlimited operation job, and τikRepresent τiKth subjob。RikAnd dikRepresent τ respectivelyikIssue moment and kth subjob definitely dead in limited time between。
4)U(τi)=Ei/DiRepresent τiThe utilization rate factor of task。Then for a periodic duty, the overall utilization of system isIf σ is that task maximum is up to utilization rate, σ=max{U (τi), it is clear that σ ∈ (0,1]。
Assuming that any one Sporadic task priority is below periodic duty, and it is all a tlv triple τ 'i=(Φ 'i, E 'i, D 'i) wherein, Φ 'iIt is the moment arrived, E 'iRepresent the worst calculating time, D 'iRepresent corresponding dead limit。The definition instantaneous utilization rate of Sporadic task is U (τ 'i)=E 'i/D′i, U 'i∈ (0,1]。
Many nuclear models describe as follows: P={P1, P2LL, PMFor having the processor core collection of same treatment ability containing M;ηiFor i-th core PiUtilization rate, namely distribute to the overall utilization U of the task of this corei。Further, it is assumed that task scheduling is to carry out in preemptible mode, and in have no progeny can recover immediately perform。
Sporadic real-time period task scheduling device model, adopts a hub scheduler and edge processor nuclear model, namely has a core as special scheduler。All tasks will first arrive this hub scheduler, then passes through the edge processor core execution up that dispatching algorithm assigns it in system, as shown in Figure 4。And each edge processor core has the scheduling queue (DispatchQueues) of oneself。So, after it has performed current task, from its scheduling queue, just take out a task perform。After the scheduling queue of edge processor core is finished, it is informed about hub scheduler, hub scheduler can again according to algorithm by new to task distribute in the scheduling queue of this edge processor core, the scheduling queue of oneself is modified simultaneously。
PPTT model
In order to define PPTT model, first define the relation between node in DAG figure。
Definition 3-3 (execution sequence relation) is for node A and the B of any two different task in DAG figure, if A is present in forerunner's node set of B, then claims to have between A and B successively execution sequence relation, and namely A must perform before B starts。
Definition 3-4 (replication relation) is in DAG figure, any one has follow-up node (also referred to as fork node) A, it is assumed that the successor node of A has n, then can pass through to replicate A node n-1 time, form A1, A2..., An-1, A, this n node be corresponding n different successor node respectively, thus fork node can be eliminated。Now, this n node A is claimed1, A2..., An-1, between A, there is replication relation。
This node, for any one has node (also referred to as the join node) A of forerunner in DAG figure, if forerunner's node of A has m, then can be split as the node A differed by definition 3-5 (merging relation)1, A2..., AmForerunner's nodes corresponding different respectively。Now claim this m node A1, A2..., AmBetween there is merging relation。
Definition 3-6 (independence) if being absent from above-mentioned three kinds of relations between two nodes of A and B, then claims these two nodes separate。
3-7 is in STF in definition, is only between the node on same layer and has replication relation and merging relation。It is called the different ST trees with replication relation and the relation of merging to have and replicates incidence relation or merge the Dan Shu of incidence relation。
If definition k ST tree of 3-8 had not both merged incidence relation also without replicating incidence relation, then claim, between this k tree, there is separate relation。There is the node on the different ST trees of separate relation independent mutually。
Definition 3-9 parallel priority Task Tree PPTT model can represent with a two tuple PPTT=(STF, R)。Wherein STF is the set of ST;R is used for defining the relation existed between any two node in this ST, including execution sequence relation, replication relation, merges relation and separate relation。
Processor predistribution algorithm
Before carrying out processor predistribution, first by the operation according to periodic duty of the task node of each ST in STF modelFormal expansion, as shown in Figure 5。
As can be seen from Figure 5 dependence between task in this expander graphs, is absent from dependence between the task that in clinodiagonal, dotted line connects, and can executed in parallel when its forerunner is finished。The number assuming processor core is m, and processor predistribution algorithm can describe as follows:
The application supposes when carrying out processor predistribution algorithm, have ignored the expense owing to Task Duplication brings。When distributing core, the Dan Shu at the node task place with merging relation is assigned on same core as far as possible and performs, to reduce synchronous communication expense。Under processor check figure and number of tasks same case, processor carries out predistribution according to following principle:
(1) every ST tree in STF is separately dispensed into different core perform up。
(2) in order to reduce merging number of times successively, the node with merging relation is assigned on same core as far as possible and performs。
(3) it is scheduling according to preferential execution relation when scheduling。
System call main flow chart is as shown in Figure 6。
Mixing mission critical model
Including job model, task model and system model。
Job model
Crucial rank in mixing critical system has two layers of meaning: first, whole system this when different, be carved with a crucial rank;Second, when different when, each job also has a corresponding crucial rank。In the mixing critical system of a total k rank, a job can represent with 4 dimensional vectors: Ji=(rj, dj, xj, cj), wherein, rjRepresent the due in of this job, namely issue the moment;DjRepresent the dead limit of job, it is clear that dj> rj;Xj∈ 1,2 ..., k} refers to this job crucial rank at a time, when a certain determine when, its value also determines that;CjThen represent k dimensional vector a: cj={ cj(1), cj(2) ..., cj(k) }, it is used for representing that this job is in the worst execution time corresponding to each rank, it is assumed herein that cj(1)≤cj(2)≤...≤cj(k)。To each job in a set of tasks, it is to be ensured that the characteristic of real-time system, it is necessary to be finished before being extremely limited to, say, that the actual moment being finished is less than dead limit。
For the set with n job, must there is a corresponding actual execution time vector: (c1, c2..., cn), wherein cjRepresent the actual execution time of jth job。Specifically vectorial for this, the crucial rank of this system refer to such a smallest positive integral value l (l ∈ 1,2 ..., k})), it is ensured that for current each job of system, all have following relational expression to set up: cj≤cj(l), (j ∈ 1,2 ..., n})。Here, those system job that can find such a/value set is only studied。
Determination in conjunction with 4 dimension definitions of above-mentioned job and system core rank, it is seen that, if current system is in/crucial rank, then whole system in running, be in/rank or more than all job of/rank all must dead be carved in limited time before be finished。Namely first have to guarantee/rank or the execution more than/rank task, secondly consider the execution of the task less than/rank。
Task model
In the mixed distributed key task systems with k rank, each task (task) can represent with 3 dimensional vectors: Ti=(ci, pi, xi)。Wherein, ciThe same with job model, it is a k dimensional vector, is used for representing that this task is in the worst corresponding under each rank execution time, i.e. c respectivelyi={ ci(1), ci(2) ..., ci(k) };PiThen represent the execution cycle of this task, be also the double job shortest time interval being published;Xi(xi∈ 1,2 ..., k}) the same with job model, represent the rank residing for this task, when a certain determine when, its value also determines that。Equally, in task model, for ci, it is assumed that ci(1)≤ci(2)≤...≤ci(k)。
In mixed safety-critical task model, each task TiCan implying numerous job, these job are every piIndividual interval is issued and performs once。In this model, after each job issues, its issue moment riDetermining that, its dead limit gauge is decided to be when this job issues through piMoment afterwards, i.e. di=ri+pi。As for crucial rank, the crucial rank of this job is identical with the crucial rank of this task, is xi。The c of these jobiC with this taskiSame maintenance is consistent。Therefore, according to this 3 dimensional vector of task, just can determine all 4 dimensional vectors having issued job, and then determine the parameter of these job comprehensively, these job can be scheduling according to the dispatching algorithm hereinafter introduced。
System model
In the mixing distributed key task systems with k rank, if T={T1, T2..., TnRepresent the set of tasks in this system。Study cycle task system due to main herein, therefore hereinafter suppose this mixing distributed key task systems has n task: T in once circulationi=(ci, pi, xi), (i=1,2 ..., n), wherein, ciRepresent the worst execution time of this task;PiRepresent the execution cycle of this task;XiRepresent that this task mixes the crucial rank in distributed key task systems at this。If J={J1, J2..., JmRepresent the job set in this system, namely cycle operation process of this mixing distributed key task systems need to perform m job altogether。Each job is also denoted as Jj=(rj, dj, xj, cj), (1≤j≤n)。Wherein, rjRepresent the issue moment of this job;DjRepresent the dead limit of this job, it is possible to obtained by its issuing time and the worst execution Time Calculation;XjRepresent the crucial rank residing for this job, with its belonging to task current key rank keep consistent。CjBeing a k dimensional vector, represent this job worst execution time under different crucial ranks, its worst execution time of mission critical belonging to this job obtains。
The crucial dispatching algorithm design of mixing and realization
Definition 4-1 can start to perform the moment the earliest----refer to JiAllow to obtain the earliest the moment of idle processor core。
Definition 4-2 starts to perform the moment the latest------refers to JiDefinitely dead limit deduct its required the worst execution time performed obtained moment value, namely
Definition 4-3 performs window the latest------refers to JiPerform the moment from starting the latest, limit this period of time to perform window at the latest for it to definitely dead, namely
Definition 4-4 is finished moment O the earliesti------refers to JiThe moment can be performed the earliest plus the obtained value of its required maximum execution time, namely
Definition 4-5 performs window the earliest------refers to JiFrom allowing the execution moment to this period of time in moment that is finished the earliest the earliest, namely
The definition 4-6 free time can perform window------refers to if JiThe moment O that can be finished the earliestiLess than starting the latest to perform the momentBeing known as the free time so during this period of time can perform window, namely W i I = &lsqb; O i , S i l &rsqb; .
The definition relative criticality ρ of 4-7i------refers to a jobJiCrucial rank significance level relative to other job。WithRepresent。
Definition 4-8 key amount δi------refers to a jobJiThe crucial number having under k crucial rank。WithRepresent。
Definition 4-9 key factor------refers to a jobJiOnce execution under certain rank is measured relative to the one once performing residing crucial rank significance level and utilization rate of other tasks。WithRepresent, andWherein,For JiUtilization rate under k rank。
It is vertical coordinate by the dispatching algorithm of above-mentioned three kinds of models according to the job Late Start performed or earliest start time, job time be limited to abscissa, corresponding No. CPU is that the 3rd coordinate may map in the middle of the three-dimensional scheduling model of correspondence, and by moving down dash area and merging in the 2 d plane picture that different plane graphs just may map to CPU and timing node。
The global design of three-dimensional scheduling model concrete methods of realizing in real-time system scheduling process and synchronization mechanism
The application adopts lock and the free-lock mechanism combined to realize real-time periodic tasks scheduling in the process of implementation and synchronization。Concrete grammar is to adopt the BloomFilter based on lock judge the running status of selected job and adopt based on the Skip-list data structure realizing improving without lock algorithm, in order to deposit the job of task and the obstruction that will be scheduled。System design scheme is as shown in Figure 7。
In this scheme, the vertical tabulation of Skip-list is for different models, and meaning is different。As different types of periodic duty such as fixed cycle and indefinite period can be regarded as the vertical tabulation of the Skip-list of Sporadic task model, 2 grades of vertical tabulations of the Skip-list of PPTT task model can regard different ST trees as, and in mixing mission critical model, 2 grades of vertical tabulations of Skip-list can be regarded as different crucial ranks。When the character of certain periodic duty changes, in such as Sporadic model, fixed cycle task is converted into Sporadic periodic duty, in PPTT model, periodic duty is converted into the task another one ST tree from a ST tree, in mixing key model crucial rank by rudimentary be converted into high-level time, this task will be changed in different vertical tabulations, as upgraded to the chained list of high crucial rank level from the chained list of low crucial rank level。Node in Skip-list being increased to two kinds: one is periodic duty node, another kind is the job node that certain task is suspended。
When certain processor core occurring high-priority task seize low priority task, the low priority job being carrying out is suspended, the job being suspended converts character according to it and priority orders is put in the middle of Skip-list on corresponding position, and the access of all verification Skip-list adopts without lock algorithm。The second is the BloomFilter of query task state, the job sometime in order to inquire about certain periodic duty whether be in ready, perform, hang up, be finished four kinds of states。Just mixing mission critical model illustrates below:
For a system with k other n the mixing mission critical of critical level, adopt overall scheduling algorithm to be dispatched to by mission critical on m core and perform。In system integrated scheduling process, operate first with the establishment of Skip-list data structure, insertion etc., it would be desirable to n mixing mission critical of scheduling, according to different crucial ranks, be inserted in Skip-list data structure。Secondly, idle core selects the task that current key rank medium priority is the highest from Skip-list queue, or the job being suspended is ready to carry out。If the job hung up, first judge whether to have occurred and that and extremely limit loss, if it is delete this job, and select next task。Otherwise, being inquired about will being scheduled of task or job state in which by BloomFilter, if being not carried out state, then taking out execution;The job that in current key rank, next task is corresponding is otherwise selected to be ready to carry out from Skip-list。3rd, in running, if there being high crucial rank task (high-priority task) to be published, then seize the processor core processing low crucial rank (low priority task), other for low critical level job is inserted in Skip-list chained list, and is set as being not carried out state by job state corresponding in BloomFilter。Finally, different core can access Skip-list data structure simultaneously。
In the application, synchronized algorithm realizes according to following approach。On the basis based on global priority dispatching algorithm, priority query Skip-list is adopted without lock access method and BloomFilter status poll method, and in BloomFilter, the most key technology is the setting that figure place selects with hash function。The purpose that figure place selects is to make large-scale element be mapped in the figure place of little scope by hash function。Assuming that certain set has u element, BloomFilter has m position, it is necessary to defines corresponding hash function and makes this u element can some possible position in corresponding given range m。The selection of BloomFilter figure place in this chapter, and the selection of hash function, all relevant with task quantity in mixing critical system, and BloomFilter is improved to multiple structure。
In real-time system, the purpose of BloomFilter is used to have two:
First, judged by BloomFilter whether the job of certain task belongs to the scope of being scheduled, to avoid multiple core to perform identical job。
Second, judge current job state in which by BloomFilter: perform still to be not carried out, may determine that according to this state being accessed for job is abandoned or is performed。The BloomFilter improved is as shown in Figure 8。
Fig. 9 shows the scheduling flow of entirety。When multiple processor cores access Skip-list simultaneously, only one of which core can obtain the power of amendment of BloomFilter mode bit corresponding to hash function。When other processor cores know that this job performs, then can select next task。Owing to the insertion of Skip-list, deletion and amendment operation are all locked synchronization mechanism according to nothing, therefore can improve many verifications and share the parallel work-flow efficiency of priority query。
When starting to create Skip-list priority query, it is necessary to updating the issuing time of current task, after having created, can extract task from Skip-list, algorithm is as follows:
1) announced task or obstruction job in Skip-list are chosen;
2) judging this task by BloomFilter or block whether job is carrying out, if be carrying out, then from Skip-list Task-list, again choosing task node;
3) if task or obstruction job are not carried out, then continue judge this task or block whether job exceedes between dead prescribing a time limit, if it find that exceed between dead prescribing a time limit, then export this task or block the loss of job extremely in limited time between, the more issuing time of new task, task being issued again, just this job being deleted if blocking job。Return the first step in Skip-list Task-list, again choose task or block job;
4) issuing in Skip-list chained list, state is for being not carried out, and returns not less than the task between dead prescribing a time limit or obstruction job。
On BloomFilter, this task or obstruction job are designated off-duty。In whole scheduling process, BloomFilter is operated mainly there is following several aspect:
1) according to the job that task is corresponding, calculating two grades of hash functional values, BloomFilter determines hash function according to task quantity。When query State is the process read, parallel rdma read is not need locking mechanisms。
2) when this job can be dispatched, the calculating according to two grades of hash functional values, find corresponding position on BloomFilter, if 0, then need this position is locked and writes direct 1, then unlock。If this position has been 1, then it is shown to be this job and has been carried out, it is necessary to pick up a new job that can call。
3) when wanting job to complete, the calculating according to two grades of hash functional values, BloomFilter identifies as off-duty value 0;Then unlock。The flow process of BloomFilter fine granularity locking procedure is as shown in Figure 10。
Threedimensional model is after being analyzed the time determinability of various types of real-time tasks, safety, reliability, all kinds of real-time tasks models are converted to unified 3 D stereo hierarchical relationship model, level further according to task place is scheduling tactful adjustment, finally maps that to and checks in the two-dimension time-space figure answered。This strategy not only to consider that load balancing is to promote the executed in parallel efficiency of multinuclear but also to want real-time, reliability and the security requirement that can meet in tasks carrying process。Additionally, the shared source synchronous mechanism of various real-time tasks is also studied by this model and algorithm, work out a kind of new shared resource management scheme, to reduce the generation of deadlock and to prevent CPU hunger phenomenon。
The above is only the preferred embodiment of the present invention; it should be pointed out that, for those skilled in the art, under the premise without departing from the principles of the invention; can also making some improvements and modifications, these improvements and modifications also should be regarded as protection scope of the present invention。

Claims (2)

1. three-dimensional scheduler model and dispatching algorithm thereof, it is characterized in that, three-dimensional scheduler model employing three dimensional coordinate space (x, y, z), wherein x-axis represents the job of real-time periodic tasks and is finished the required time, y-axis represents the job of the real-time periodic tasks time value starting to perform, and z-axis represents No. CPU that real-time periodic tasks is likely to be assigned to, specifically includes Sporadic task model, PPTT model, mixing mission critical model
Sporadic task model, PPTT model, mixing mission critical model are combined by most basic real-time periodic tasks model node, and this model has the feature that
A. each periodic duty is a tlv triple τi=(Φi, Ei, Di)。Wherein, ΦiIt is task due in, EiRepresent worst execution time WCET, DiRepresent deadline of task;
B. each periodic duty τiAll comprise a unlimited operation (job), and τikRepresent τiKth subjob。RikAnd dikRepresent τ respectivelyikThe absolute time issuing moment and kth subjob in limited time between;
c.U(τi)=Ei/DiRepresent τiThe utilization rate factor of task。Then for a periodic duty, the overall utilization of system isIf σ is that task maximum is up to utilization rate, σ=max{U (τi), it is clear that σ ∈ (0,1];
The dispatching algorithm that Sporadic real-time periodic tasks model adopts is:
The given set being made up of n periodic duty of Theorem A, τ={ τ1, τ2..., τn, wherein τi=(Ei, Di), utilizing the time limit to drive DD algorithm, to be the sufficient and necessary condition that can dispatch be
&Sigma; i = 1 k U ( &tau; i ) = E 1 D 1 + E 2 D 2 + ... + E 3 D 3 &le; 1 ;
Periodic duty complementary for theorem B must be schedulable on same processor core, and the utilization rate of this processor core is 1;
Theorem C is located on a core and is assigned with k periodic duty, and this k periodic duty meets the assumed condition of proposition, if this k periodic duty processor core overall utilization is less than or equal to 1, then there will necessarily be a time period [0, T], wherein T is the least common multiple in k periodic duty time limit;If k task can be scheduled within this time period, then this k task necessarily can be scheduled in system;
S11, for input a periodic duty collection judge whether it is super full utilization rate system, if it is, export non-adjustable use;Otherwise, second step is performed;
S12, according to task utilization rate, task-set is divided into two big subclass high usage set SHWith poor efficiency set SL, wherein S H = { &tau; i | U ( &tau; i ) &GreaterEqual; 1 2 } ; S L = { &tau; i | U ( &tau; i ) < 1 2 } . Here i, j are positive integer;
S13, from corresponding SHM-1 the task τ that in set, Selection utilization rate is the highest1, τ2…τM-1It is separately dispensed on M-1 core, then from SLSet selects and τ1, τ2…τM-1The set of tasks s of complementation or near-complementary (ε is minimum in selection)1, s2…sM-1Correspondingly it is separately dispensed in the middle of the queue of M-1 core;If SHTask in set is less than M-1, then at SLSet is found out complementary or near-complementary task groups be separately dispensed in the middle of remaining core;
S14, according to theorem B and theorem C it is known that use the DD dispatching algorithm of Theorem A the task in respective scheduling queue to be scheduling on M-1 core;
S15, M-1 the core residue calculated according to theorem D in Sporadic task τ '=(Φ ', E ', D ') extremely limits Δ during this period of time from due in it may utilize space S pacei(Δ), i=1,2 ..., M-1。If the execution time Space of this Sporadic taskiIt then can be assigned on i-th core by (Δ) >=E '。If all can not meet, then this task cannot be scheduled;
PPTT model adopts processor predistribution algorithm, concretely comprises the following steps: the number assuming processor core is m, and processor predistribution algorithm can describe as follows:
S21, first n ST tree in task system is generated corresponding expander graphs respectively, and first operation in each expander graphs is put in ready queue, judge according to priority, select job assignment to m the core of m high priority to go perform, if number of jobs n is less than m, then n core is selected to perform;
S22, after a Job execution is complete, will clinodiagonal thereafter can the operation of executed in parallel put in ready queue, calculate when time performed by the operation of each task on pronucleusValue, ifThen show that this operation executed is complete, be now deleted in corresponding task expander graphs and ready queue。IfIllustrate that this operation is not carried out complete, then the timeslice changing this operation needs execution isAnd this operation be re-applied in ready queue wait dispatch together with other operations;
S23, each task recalculated in ready queue priority, choose m task be separately dispensed on m core run。If operation number n is less than m, then n core is selected to go to perform;
S24, repetition step S22, S23, until all of operation can be assigned to core and perform up;
Mixing mission critical model, including job model, task model and system model, its dispatching algorithm based on key factor adopted is as follows:
Under S31, calculating different stage, the key factor of each job, carries out prioritization according to the size of key factor, and determines whether to dispatch on same core according to theorem E;
S32, check whether there is key rank convert, if had, calculate the key factor of each job according to inverted current level, determine new priority orders, and compared with the priority orders before converting, record the job that those priority postpone, and job order below when this job priority does not postpone;
S33, the job operation thereafter not postponed for priority dispatching sequence, judge whether these job can dispatch on same core according to theorem E。If it can, the release time according to these job performs window W the earliest with the worst execution Time Calculation under each ranki e(forward time division function) and perform time window W at the latesti l(reversed time segmentation function), and obtain their public window of idle time, utilizes public window of idle time to dispatch the job postponed, if it is not possible, then can only other allocation process device core;
S34, convert without crucial rank, or crucial rank convert after do not have priority to postpone job, then continue to perform according to this dispatching sequence。
2. three-dimensional scheduler model according to claim 1 and dispatching algorithm thereof, it is characterized in that, the dispatching sequence that above-mentioned scheduling model three kinds different and dispatching algorithm are formed is hinted obliquely at and is scheduling for three-dimensional space model, method is as follows: the time starting to perform of each job in arranged dispatching sequence and the required time that is finished are respectively mapped to x-axis and the y-axis of the plane of z=1, next z-plane is then moved to if there is the part overlapped, and using the Starting Executing Time of same job and be finished required time and x-axis as planar shadow part, this part is shown to be the execution phase of this job;When being left out the overheads such as context switching and interruption, certain scheduling scheme task-set for arriving in the same time, operation JiThe cycle that the successful sufficient and necessary condition that can be scheduled is this operation should be greater than or be equal to the execution time of having performed before it of task and the time value sum of this task needs execution。It is exactly be not more than time of the maximum of the x-axis of this job dash area having the given time limit then to show that this job can be dispatched in time when corresponding in three-dimensional scheduling model。
CN201511027081.5A 2015-12-18 2015-12-18 The dispatching method of three-dimensional scheduler model Expired - Fee Related CN105700941B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201511027081.5A CN105700941B (en) 2015-12-18 2015-12-18 The dispatching method of three-dimensional scheduler model

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201511027081.5A CN105700941B (en) 2015-12-18 2015-12-18 The dispatching method of three-dimensional scheduler model

Publications (2)

Publication Number Publication Date
CN105700941A true CN105700941A (en) 2016-06-22
CN105700941B CN105700941B (en) 2019-04-05

Family

ID=56226849

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201511027081.5A Expired - Fee Related CN105700941B (en) 2015-12-18 2015-12-18 The dispatching method of three-dimensional scheduler model

Country Status (1)

Country Link
CN (1) CN105700941B (en)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107976918A (en) * 2016-10-24 2018-05-01 菜鸟智能物流控股有限公司 Task switching method and related device
CN109298920A (en) * 2018-08-28 2019-02-01 西安工业大学 Based on the quasi- mixing key task dispatching method for dividing thought
CN109298919A (en) * 2018-08-27 2019-02-01 西安工业大学 The multi-core dispatching method of soft real-time system towards high usage set of tasks
CN109471726A (en) * 2018-10-26 2019-03-15 国家电网有限公司 A kind of hardware resource distribution method and device
CN109753351A (en) * 2019-01-03 2019-05-14 阿里巴巴集团控股有限公司 A kind of Time-critical tasks processing method, device, equipment and medium
CN109918181A (en) * 2019-01-12 2019-06-21 西北工业大学 Mixing critical system task Schedulability Analysis method based on the worst response time
CN110162399A (en) * 2019-05-08 2019-08-23 哈尔滨工业大学 A kind of time determinability method towards multicore real-time system
CN110879746A (en) * 2019-11-11 2020-03-13 西北工业大学 High-safety key task scheduling method based on inter-core migration
CN111045799A (en) * 2019-11-11 2020-04-21 西北工业大学 Low-safety key task scheduling method based on recovery redistribution
CN113760552A (en) * 2021-09-08 2021-12-07 清华大学 Irrelevant heterogeneous multiprocessor and real-time scheduling method thereof
CN116430738A (en) * 2023-06-14 2023-07-14 北京理工大学 Self-adaptive dynamic scheduling method of hybrid key system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101013384A (en) * 2007-02-08 2007-08-08 浙江大学 Model-based method for analyzing schedulability of real-time system
CN103984595A (en) * 2014-05-16 2014-08-13 哈尔滨工程大学 Isomerous CMP (Chip Multi-Processor) static state task scheduling method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101013384A (en) * 2007-02-08 2007-08-08 浙江大学 Model-based method for analyzing schedulability of real-time system
CN103984595A (en) * 2014-05-16 2014-08-13 哈尔滨工程大学 Isomerous CMP (Chip Multi-Processor) static state task scheduling method

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
周本海,等: "多核处理平台上任务图模型的并行调度策略研究", 《小型微型计算机系统》 *
张磊: "基于并行优先级任务树的多核调度方法研究", 《黑龙江科技信息》 *
王高才,等: "基于随机模型的软实时系统的任务期望可调度性", 《控制理论与应用》 *
黄姝娟,等: "基于并行优先级任务树的多核调度方法研究", 《西北工业大学学报》 *

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107976918A (en) * 2016-10-24 2018-05-01 菜鸟智能物流控股有限公司 Task switching method and related device
CN107976918B (en) * 2016-10-24 2020-10-13 菜鸟智能物流控股有限公司 Task switching method and related device
CN109298919A (en) * 2018-08-27 2019-02-01 西安工业大学 The multi-core dispatching method of soft real-time system towards high usage set of tasks
CN109298919B (en) * 2018-08-27 2021-09-07 西安工业大学 Multi-core scheduling method of soft real-time system for high-utilization-rate task set
CN109298920A (en) * 2018-08-28 2019-02-01 西安工业大学 Based on the quasi- mixing key task dispatching method for dividing thought
CN109298920B (en) * 2018-08-28 2021-11-16 西安工业大学 Mixed key task scheduling method based on quasi-partition thought
CN109471726B (en) * 2018-10-26 2020-04-07 国家电网有限公司 Method and device for distributing hardware resources by using three-dimensional model
CN109471726A (en) * 2018-10-26 2019-03-15 国家电网有限公司 A kind of hardware resource distribution method and device
CN109753351A (en) * 2019-01-03 2019-05-14 阿里巴巴集团控股有限公司 A kind of Time-critical tasks processing method, device, equipment and medium
CN109753351B (en) * 2019-01-03 2023-09-01 创新先进技术有限公司 Time-limited task processing method, device, equipment and medium
CN109918181A (en) * 2019-01-12 2019-06-21 西北工业大学 Mixing critical system task Schedulability Analysis method based on the worst response time
CN110162399A (en) * 2019-05-08 2019-08-23 哈尔滨工业大学 A kind of time determinability method towards multicore real-time system
CN110162399B (en) * 2019-05-08 2023-05-09 哈尔滨工业大学 Time deterministic method for multi-core real-time system
CN110879746A (en) * 2019-11-11 2020-03-13 西北工业大学 High-safety key task scheduling method based on inter-core migration
CN111045799A (en) * 2019-11-11 2020-04-21 西北工业大学 Low-safety key task scheduling method based on recovery redistribution
CN111045799B (en) * 2019-11-11 2023-03-14 西北工业大学 Low-safety key task scheduling method based on recovery redistribution
CN113760552A (en) * 2021-09-08 2021-12-07 清华大学 Irrelevant heterogeneous multiprocessor and real-time scheduling method thereof
CN116430738A (en) * 2023-06-14 2023-07-14 北京理工大学 Self-adaptive dynamic scheduling method of hybrid key system
CN116430738B (en) * 2023-06-14 2023-08-15 北京理工大学 Self-adaptive dynamic scheduling method of hybrid key system

Also Published As

Publication number Publication date
CN105700941B (en) 2019-04-05

Similar Documents

Publication Publication Date Title
CN105700941A (en) Three-dimensional scheduler model and scheduling algorithm thereof
Koliousis et al. Saber: Window-based hybrid stream processing for heterogeneous architectures
Nykiel et al. MRShare: sharing across multiple queries in MapReduce
Jafer et al. Synchronization methods in parallel and distributed discrete-event simulation
CN102591759B (en) Clock precision parallel simulation system for on-chip multi-core processor
Van Tendeloo et al. PythonPDEVS: a distributed parallel DEVS simulator.
CN113205417B (en) Alliance chain oriented transaction parallel processing method and system
CN105045658A (en) Method for realizing dynamic dispatching distribution of task by multi-core embedded DSP (Data Structure Processor)
CN107463442B (en) Satellite-borne multi-core SoC task level load balancing parallel scheduling method
Han et al. Experimental evaluation and selection of data consistency mechanisms for hard real-time applications on multicore platforms
CN101286138A (en) Method for multithread sharing multi-core processor secondary buffer memory based on data classification
Augonnet et al. A hierarchical fast direct solver for distributed memory machines with manycore nodes
Henzinger et al. Scheduling large jobs by abstraction refinement
Singh et al. A non-database operations aware priority ceiling protocol for hard real-time database systems
Shrivastava et al. Supporting transaction predictability in replicated DRTDBS
Yang et al. Improved blocking time analysis and evaluation for the multiprocessor priority ceiling protocol
Liu et al. BSPCloud: A hybrid distributed-memory and shared-memory programming model
Li et al. DBEFT: a dependency-ratio bundling earliest finish time algorithm for heterogeneous computing
Yang et al. Study on static task scheduling based on heterogeneous multi-core processor
Liu et al. Lock-free scheduling of logical processes in parallel simulation
Dubey et al. Parallel Byzantine fault tolerance method for blockchain
Geng et al. A Task Scheduling Algorithm for Multi-Core-Cluster Systems.
Jiang et al. An optimized resource scheduling strategy for Hadoop speculative execution based on non-cooperative game schemes
Singh Communication Coroutines For Parallel Program Using DW26010 Many Core Processor
Guo et al. Parallel simulation of large-scale artificial society on CPU/GPU mixed architecture

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20190405

Termination date: 20201218

CF01 Termination of patent right due to non-payment of annual fee