Semi-Clairvoyant Scheduling for Jobs with Multiple Criticalities
Abstract
This paper considers scheduling jobs semi-clairvoyantly in mixed-criticality systems. In the semi-clairvoyant model, unlike the non-clairvoyant model, we know the WCET mode of the job at job arrival. Prior work has only considered this model for dual criticality jobs. We consider this problem for an arbitrary number of criticalities. We prove that there exist semi-clairvoyant schedulers that guarantee schedulability with speedup for systems with criticality levels. In addition, we prove that this bound is tight by providing a job set construction that requires this speed for any semi-clairvoyant scheduler. Finally we provide a linear programming formulation that optimally schedules the semi-clairvoyant system of jobs. The number of variables and constraints is polynomial in the number of jobs, but exponential in the number of criticalities.
Keywords and phrases:
mixed-criticality, semi-clairvoyance, schedulers, linear programmingFunding:
Kunal Agrawal: NSF CCF-2106699, CCF-2107280, PPoSS-2216971.Copyright and License:
2012 ACM Subject Classification:
Computer systems organization Real-time systems ; Software and its engineering Real-time schedulability ; Computer systems organization Embedded and cyber-physical systems ; Mathematics of computing Linear programming ; Theory of computation Scheduling algorithmsEditor:
Angeliki KritikakouSeries and Publisher:
Leibniz International Proceedings in Informatics, Schloss Dagstuhl – Leibniz-Zentrum für Informatik
1 Introduction
The idea of mixed-criticality(MC) scheduling was introduced several years ago [23] to improve the performance and utilization of systems in the presence of timing unpredictability. While real-time schedulers rely on worst case execution time (WCET) estimates to achieve safety and predictability, these estimates are often extremely pessimistic. Mixed-criticality models allow the specification of multiple WCET parameters, one for each criticality level, which allows a finer granularity of information to be provided to the scheduler.
In this model, each job is assigned a static criticality level, which indicates the importance of the job. In particular, each job has a static criticality level between and as well as WCETs such that . If any job ’s actual work exceeds its th WCET estimate , but does not exceed its th criticality WCET estimate , then we say that the job’s runtime mode is . If the highest runtime mode of any job is , then the system criticality is said to be . In this case, jobs with static criticality smaller than need not execute, but all deadlines for jobs with static criticality or greater must meet their deadlines.
In the standard mixed-criticality model, the actual execution time of the job is revealed when the job finishes executing – the only way to know if a job will exceed -th criticality WCET is to execute it until it has exceeded this quantity or completed; in other words, the job’s execution criticality is revealed as the job executes. More recently, researchers have considered a slightly different model, called semi-clairvoyant mixed-criticality model [2] . In this model, the job’s runtime mode is revealed on arrival. This definition makes sense if the execution time depends on input parameters which may be known at arrival or if the job has several possible implementations one of which is chosen at arrival.
Agrawal et al [2] introduced this model and primarily considered it for 2 criticality levels. They showed a tight speedup bound of . They also provided a linear programming based algorithm to check for semi-clairvoyant schedulability and show that this algorithm is optimal – if any semi-clairvoyant scheduler guarantees schedulability to a system of jobs, then so can this scheduler. Semi-clairvoyance and its variants have since been considered extensively [10] in the literature. However, theoretical work on semi-clairvoyance seems restricted to 2 criticality levels. In this paper, we completely generalize these results to more than two criticality levels.
-
1.
In Section 3, we show that given jobs with distinct criticalities, no semi-clairvoyant scheduler can guarantee a speedup of less than – this reduces to for two criticality levels.
-
2.
In Section 4, we show that there exist semi-clairvoyant schedulers which can achieve this speedup bound – in other words, the speedup bound of is tight.
-
3.
In Section 5, we provide linear programming formulation which allows us to check the schedulability of semi-clairvoyant job systems exactly. It is important to note that this LP-based scheduling algorithm is an optimal semi-clairvoyant algorithm (not just speedup optimal). In other words, given system of jobs, if any semi-clairvoyant scheduler can schedule this system, then this LP-based algorithm can also schedule it. If it does not find a solution, then we know that the system is not schedulable.
These results starkly indicate the advantage of semi-clairvoyance in mixed-criticality scheduling over the traditional model of non-clairvoyance. There are no tight speedup bounds known for non-clairvoyant systems; and all known bounds scale approximately linearly or slightly sublinearly with the number of criticality levels. On the other hand, semi-clairvoyant systems can be optimally scheduled and require speedup of less than for arbitrary criticality levels.
2 Preliminaries
Mixed-Criticality Jobs.
A problem instance consists of jobs where every has the following parameters: (1) denotes the static criticality or importance of the job. (2) denotes the arrival time of the job. (3) denotes the deadline of the job. (4) denotes the worst case execution times (WCETs) of the job for the different modes.111We use and interchangeably as appropriate – similarly for other parameters. Each job in is released at time , has deadline and executes for some duration . If the , then the runtime mode of is . We say the system criticality is the highest runtime mode of any job.
Correctness criteria.
A scheduling algorithm is said to schedule correctly iff the following condition is true. All jobs with static criticality at or above the highest system criticality ever reached must meet their deadlines. In particular, if the system criticality is at some time, but is never , then all jobs with static criticality must meet their deadlines. For instance, if no jobs exceed their , then all jobs must meet their deadlines. If some job exceeds and no job has , then all jobs with (static) criticality or above must meet their deadlines, but no guarantees are needed for jobs with static criticality smaller than .
Clairvoyant Schedulability.
Clairvoyant Scheduler is an idealization in MC system that it can know all the exact execution time before the arrival of any jobs. A clairvoyant scheduler can ignore all jobs with static criticality lower than (where is the highest execution criticality of any job) and run all other jobs using EDF. As a well-known result in EDF, a job set is schedulable iff for all intervals , the total work of jobs with arrival time and deadline is at most . For mixed criticality systems, this means that for all criticality levels and all intervals , the following holds: Say is the set of jobs with criticality level at least with arrival time and deadline . The sum of for all is at most .
Clairvoyant schedulers are generally used to characterize the performance of other schedulers. In particular, speedup factor is the typical metric that is used to compare different MC scheduling algorithms. Formally, an algorithm A has speedup factor , if, given any instance that is schedulable on a unit-speed processor by optimal clairvoyant algorithm, A can schedule the same instance on a speed- processor.
Non-clairvoyant Schedulability.
Most work for scheduling MC systems is done under the non-clairvoyance assumption where values for jobs becomes known as the jobs execute. That is, we do not know the exact runtime mode for a job until the job finishes executing. Non-clairvoyant schedulability is known to be NP-complete for both jobs and tasks even for dual criticality systems [1].
Semi-clairvoyant schedulability.
In this paper, we study semi-clairvoyant scheduling for MC systems. A semi-clairvoyant scheduler knows the job’s static parameters (its release time, deadline, static criticality, and worst case execution time for all criticality modes) in advance. However, unlike the clairvoyant scheduler, it does not know the job’s actual execution time and therefore, the job’s or the system’s runtime mode in advance. When a job arrives at time , its runtime mode is revealed to the scheduler, but the scheduler still does not know its exact execution time . Formally, it knows a mode such that .
Therefore, if a job arrives with runtime mode at time and the system criticality is smaller than at this time , then a semi-clairvoyant scheduler can immediately increase the system criticality to . An instant at which an online MC system changes (increases) it system mode is called a mode switch time. At this time, the MC scheduler immediately stop executing all jobs with static criticality since the correctness condition no longer requires that it finish these jobs. We denote the time instance for a mode switch to runtime mode as . We know that .
Difference between semi-clairvoyance and non-clairvoyance.
For non-clairvoyant schedulers, a mode switch occurs and the system criticality increases to when some job executes for more than time since this is the time when the scheduler discovers that runtime mode of this job. Therefore, the mode switch can happen at any time during the schedule. In contrast, mode switches always occur at arrival times for semi-clairvoyant schedulers since the runtime mode of a job is known at arrival. This difference shows up in complexity results. For dual-criticality jobs, semi-clairvoyant schedulability can be checked in polynomial time by using a linear program while non-clairvoyant schedulability is NP-Hard. In addition, the speedup bounds are also different; for dual-criticality jobs, semi-clairvoyant jobs need a speedup of relative to clairvoyant schedulability while non-clairvoyant systems require a speedup of about .
3 Lower Bound
In this section, we will show that given a feasible set of semi-clairvoyant jobs with criticality levels, no online algorithm can guarantee schedulability with speedup smaller than . We will argue this by creating a set of jobs which are schedulable by a clairvoyant scheduler, but needs speed to schedule online by any semi-clairvoyant scheduler.
The set of jobs are shown in Table 1. We can divide these jobs into two groups. The first jobs are called initial jobs – they all arrive at time . Here are the characteristics of these initial jobs: job has deadline , static criticality , and work (at all criticality levels) (Except the first job whose work at criticality level 1 is just 1). The second set of jobs, namely , are the later jobs. These are more interesting. Job has arrival time , deadline and static criticality . Each of these jobs has work at all criticality levels except at its highest criticality level – that is job has and .
| Jobs | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| - | - | - | - | - | ||||||
| - | - | - | - | |||||||
| - | - | - | ||||||||
| 0 | - | |||||||||
| - | - | - | - | |||||||
| - | - | - | ||||||||
| - | ||||||||||
First, we argue that this set of jobs is schedulable by a clairvoyant scheduler.
Lemma 1.
The set of jobs shown in Table 1 can be scheduled by a clairvoyant scheduler.
Proof.
The clairvoyant scheduler knows the criticality level of the system. Therefore, we just have to argue that the total work that the optimal scheduler has to do before every deadline is feasible. Note that the system criticality is determined by the execution time of the later jobs since we can assume that the initial jobs always arrive at criticality level . Intuitively, the system of jobs is designed so that at any system criticality , only one of the later jobs takes up any execution time and its work is equal to the work of the lower criticality jobs that need not execute. More concretely, the clairvoyant scheduler works as follows:
-
1.
If the system remains at criticality level – that is, – then the scheduler has to execute only the initial jobs. Now consider any set of jobs – the deadlines of these jobs are all before and the collective work of these jobs is also . Therefore, the clairvoyant scheduler can complete this work in time using EDF. Concretely, the system executes job in the interval .
-
2.
if the system remains at criticality level , it can drop the first job. In addition, , but . Therefore, it can execute and by time and then follow the same schedule outlined above, scheduling in the interval .
-
3.
More generally, if the system is at criticality level , for , then it need never execute jobs as well as jobs . In this case , but . Therefore, the clairvoyant scheduler can execute job by time . At this time job arrives and can be executed by time . The remaining schedule remains the same as above.
Lemma 2.
No semi-clairvoyant scheduler with speed less than can schedule this system of jobs under all arrival conditions.
Proof.
Say this set of jobs is executed by a semi-clairvoyant scheduler on a processor of speed . The initial criticality of the system is 1. Now we consider each interval and for every from 0 to :
-
Over the interval , the first jobs arrive. must receive 1 unit of execution (otherwise it will miss its deadline). The remaining unit of execution could be used to execute any other initial jobs.
-
Over the interval , arrives. with static criticality (and work increasing the criticality level of the system to . Both and both have a deadline of ; therefore, the semi-clairvoyant scheduler must complete units of work (belonging to ) by time .
-
At time , job arrives with static criticality and work . Again, the system criticality rises to at this time, but both criticality jobs must be completed by time since that is their deadline. Therefore, the semi-clairvoyant scheduler must complete at least units of work by time .
-
More generally, at time , the system criticality increases to due to the arrival of job with its runtime mode at the level . But by this time, all the jobs with lower criticality have already finished executing since they all have earlier deadlines.
Therefore, over the entire interval, up to time , the total work that is executed is the sum of the work of all initial jobs as well as the maximum work of the later jobs. The total work of the initial jobs is . In addition, the later jobs always arrive at their highest criticality level; therefore, the total work due to the later jobs is . Therefore, the semi-clairvoyant scheduler must do the total work of in time . This means the speedup required is at least .
4 Upper Bound
We will now show that there exist semi-clairvoyant schedulers which provide the speedup bound of . For the purposes of this proof, we assume that we have a job set which is schedulable by a clairvoyant algorithm OPT on a processor of speed . We will define a theoretical semi-clairvoyant scheduler and prove that it can schedule any such job set on a processor of speed . Since we already showed that there exist instances for which no semi-clairvoyant scheduler can provide a better speedup bound, we can conclude that this bound is tight.
While the scheduler we use in this section does not work when the speedup is , in the next section, we will provide a linear programming based semi-clairvoyant algorithm which is an optimal semi-clairvoyant scheduler for any instance and therefore also provides the stated speedup bound.
Proof Intuition
Let us first understand the high-level intuition and overview of how this proof will proceed. The details are in subsequent subsections.
-
1.
We will first define a scheduling algorithm called EDF-Zeno – nominally, this algorithm pretends that a processor of speed is split into processors (called lanes) with where the first lane has speed , the second , and so on; therefore, collectively, these lanes have speed . Each of these processors run EDF, but (potentially) on different subsets of jobs. This scheduler also uses “flow control” in order to ensure that low criticality jobs do not get too much processing at the cost of higher criticality jobs.
-
2.
We also apply a transformation called zipping on the job set. In particular, given a set of jobs , we transform them into a different set of jobs, say , and prove that proving the speedup bound on this transformed set of jobs will prove it for the original set of jobs.
-
3.
We now get into the nitty-gritty of the proof. We assume for contradiction that EDF-Zeno cannot correctly schedule some instance and identify the first deadline miss, say for job and assume that this happens when the system is in some system criticality .
-
4.
We identify the busy period preceding this deadline miss for all individual lanes. The definition of the busy period is somewhat complicated due to two reasons (1) each lane schedules different subsets of jobs; and (2) the scheduler on each lane is not quite pure-EDF due to flow control.
-
5.
We then identify a subset of “bottleneck” jobs – these are the jobs that can potentially prevent our job from completing by its deadline. We then prove that if this set of bottleneck jobs is schedulable, then the original set of jobs is also schedulable. Therefore, we can restrict our attention to just this set of jobs.
-
6.
This allows us to bound the interference that our job can experience during the busy period. However, this interference calculation is also complicated due to several factors: (1) some jobs may interfere in some lanes but not others; (2) the flow control mechanism allows us to bound some of the interference; and (3) lower criticality jobs sometimes stop interfering after mode switches.
-
7.
After considering all these factors, we are able to bound the interference on the job and show that the interference is strictly smaller than the total execution capacity of the busy period. This gives us a contradiction due to the definition of the busy period.
Definition of EDF-Zeno
For this proof, we will use a relatively unnatural scheduling algorithm which is designed purely to make the proof tractable. We will assume that this scheduler always runs (semi-clairvoyantly) on a machine with speed . EDF-Zeno has two aspects: division into lanes and flow control. We will define both here.
Definition 3 (EDF-Zeno’s Lane Policy).
For a machine with speedup, EDF-Zeno divides it into lanes, where lane has speed – lane has speed and subsequent speeds decrease geometrically by a factor of .222In a sense, these lanes are time-sharing the processor and dividing up the speed of the processor among themselves.
A job with criticality is only eligible to run on lanes through . In other words, all jobs are eligible to run on , but only jobs with criticality level and above can run on , and so on. Within each lane EDF-Zeno uses EDF to run jobs that are eligible to run on this lane.333If a job is simultaneously running on multiple lanes, then it is equivalent to running the job at the speed that is the sum of those lanes’ speed.
Here’s the intuition for this policy: Recall that if we only had a 2-criticality system, then the speed of is enough. Therefore, EDF-Zeno allows the jobs of the lowest two criticalities to essentially only use a machine with speed . In general, if we collectively consider the jobs of the lowest criticalities, they are only using a machine of speed .
EDF-Zeno has another policy to restrict the execution of “current” criticality jobs. In particular, after the mode switch to criticality level , jobs of criticality level become the lowest criticality jobs. However, they are still allowed to use the first lanes. Therefore, if a lot of criticality work arrives after this mode switch, it can overuse the machine and prevent higher criticality jobs from running. Therefore, we restrict the execution provided to these jobs using the a flow control policy.
Definition 4 (EDF-Zeno flow control).
Say that the mode switch to criticality level happens at time . Consider the set of all jobs which have static criticality level and they arrived after time . At any time , the total work done by EDF-Zeno on jobs in set is at most .
We make a quick observation about the impact of flow control on various lanes:
Observation 5.
Say, at time , a set of jobs of criticality level are being flow-controlled. At time , these jobs can run at speed at most 1. Therefore, if one of these jobs is the earliest deadline job, it can still run on lane 1. Therefore, lane 1 still follows EDF on jobs which are still in the system. However, flow-controlled jobs cannot run on any other lane.
Zipping the Job Set
In order to simplify the proof, we will apply a transformation to the job set – this transformation guarantees that each job has at most two “interesting” criticality levels.
Definition 6 (Zipped problem set).
Given a set of jobs , consider each job with static criticality and work estimates . In , jobs, (with the same release time and deadline as ), are created as follows: For , if , job has (static) criticality level and , and ; if , is skipped. Finally, has (static) criticality level and , and .
Essentially, we create jobs such that their execution times for most of the criticality levels are . For example, if we are given a job with static criticality such that its execution times at levels was , then we would have jobs: (1) with static criticality and work estimate at criticality levels and as and respectively; (2) with static criticality 3 and estimate respectively; and (3) static criticality with estimates respectively. This transformation simplifies the reasoning in the proof. We will now prove that this transformation is valid.
Lemma 7.
If is feasible, then is also feasible (on the processor of the same speed).
Proof.
As a stronger conclusion, we prove the equivalence in feasibility. That is, OPT can either schedule both job sets or neither. Consider any single criticality level . The total work of if it arrives in criticality level is equal to the work of ’s collectively in criticality level by construction. Since they all share release times and deadlines, the total load within any interval remains the same for every criticality level. Since the feasibility of clairvoyant schedulers depends only on the workload within each time interval and at every criticality level, feasibility of the two systems is equivalent.
We now consider semi-clairvoyant schedulability. This is less straightforward since semi-clairvoyant schedulability depends on the actual scheduler.
Lemma 8.
If some semi-clairvoyant scheduler can schedule , then an optimal semi-clairvoyant scheduler can also schedule (on the processor of the same speed). Therefore, if EDF-Zeno can schedule , then the optimal semi-clairvoyant scheduler can schedule .
Proof.
Say that some semi-clairvoyant schedule, , can correctly schedule . We can now simulate the execution of – call this scheduler . Say job is released in runtime mode when executing and therefore, has execution requirement . Therefore, in all s will also be released on mode which indicates the following: (1) if or , then in , has work and other don’t have any work; (2) otherwise, has work and has work . Therefore, the total work is the same. Therefore, any time the scheduler runs , runs one of the corresponding jobs. Therefore, both schedulers do exactly the same amount of work on for all . Therefore if meets all the relevant deadlines, then so does .
Note that the above lemma doesn’t say anything about EDF-Zeno; in particular, we have not argued that if EDF-Zeno can schedule then it can also schedule . As we will argue later, this is sufficient for us to prove the speedup bound we need.444Alternatively, we can also transform arbitrary into and just run EDF-Zenoon the corresponding . As we will prove that EDF-Zenocan schedule , this transformation means that is schedulable. The zipped problem set has the following property which will be helpful for our purposes.
Observation 9.
In , a job with static criticality is released in runtime mode either or .
For the rest of this section, we will treat as , our job set under consideration.
Busy Period
We are now ready to define some terms to prove the following theorem:
Theorem 10.
A feasible zipped problem with criticality levels is schedulable by EDF-Zeno with lanes.
Note that the behavior of a semi-clairvoyant scheduler depends on the timing of mode switches – that is, as jobs arrive in different criticality levels, the scheduler responds accordingly. Assume for contradiction that there is some runtime behavior for which EDF-Zeno misses a deadline – and say is the first job in this runtime behavior which misses its deadline. Let the arrival time of be , the deadline of be , and the static criticality of is . Also, assume the system is at system criticality at time . We know that .
We can now ignore the behavior of the system after the time .
Therefore, the system has gone through a series of mode switches at times . We can ignore all mode switches after .
We now define the interesting period of execution, namely the busy period before . Intuitively, the busy period contains jobs which interfered with the execution of job – this sort of busy period analysis is common in real-time systems. However, in this proof, this definition is somewhat involved since (1) the busy period can be different for each lane since different subsets of jobs are eligible to run in each lane; and (2) flow control causes scheduling anomalies which make the definition complicated.
Definition 11 (Busy period).
Say is the set of jobs with deadline and are the remaining jobs. For each lane , we look backward from , and find the latest time instance that is not running (i.e., running or idle). Let this time instance be . The busy period for lane is the interval . For lane , the definition is a bit more complicated. We go backwards from and find the latest instance when either lane is not running , or some was scheduled on some other lane while were eligible for lane 1 (this only happens when job running on lane 1 is subject to flow control on other lanes) (see Observation 5).
Note that must exist, because time always fits the conditions. We can now observe some structural properties of these busy periods.
Observation 12.
Only jobs with deadline are executed on a lane within its busy period.
Moreover, the starting points of each busy period are nicely ordered:
Lemma 13.
.
Proof.
We only need to prove for any , . Assume for contradiction that . At any time in interval , lane is working on some job in (Definition 11). But this job is also eligible to run on lane (Definition 3), and it is not subject to flow control (since it is running on lane ); therefore, lane cannot be idle or working on since it uses EDF. Hence a contradiction.
Now we are ready to reduce the set of jobs that we must consider – nominally, these are jobs that execute within the busy period and therefore interfere with . However, again, the definition is somewhat complex due to the various lanes and due to flow control.
Definition 14 (Bottleneck Jobs).
We will define bottleneck jobs for each criticality level . A job belongs to if (1) its static criticality level ; and (2) it has a deadline ; and (3) it has not completed by time . In addition, we will truncate both the interval and the work of some of these jobs. If a bottleneck job arrived before (the start of the busy period of lane 1), then its release time is modified to . In addition, if this job completed some execution say before , then its execution requirement is reduced by this quantity . Call the (sub)set of bottleneck jobs that were truncated . After truncation, we have the property that all bottleneck jobs have arrival time and deadlines .
A quick observation is that . Precisely, are the jobs that possibly interfere with on lane . When we refer to bottleneck jobs without , we mean . We now show that the truncated jobs are a limited set of jobs.
Lemma 15.
A bottleneck job with criticality is truncated if all three conditions hold: (1) – i.e., the busy period for lane 1 starts during system’s criticality ; (2) jobs of lane were subject to flow control immediately before ; and (3) .
Proof.
Say is the moment right before . At time , has arrived, but not completed. Since lane 1 does pure EDF, it is neither idle nor executing a job in . Therefore, was defined due to the second condition of Definition 11 – that some lane was subject to flow control. Say this lane was ; which implies that . Since is executing, . Therefore, is eligible to execute on lane ; but it doesn’t. Therefore, must be subject to flow control and . Finally, since the system is already in criticality level at time , lanes through have the same set of jobs that are eligible to run on them after this time. In addition, this is the last instant in time where is defined due to flow control. Therefore, due to Definition 11 and Lemma 13, we have .
We are now ready to prove that we can safely restrict our attention to bottleneck jobs only for the purposes of analysis.
Lemma 16.
If the original set of jobs was feasible, then (constructed) bottleneck jobs are also feasible. That is, if OPT could schedule the original set, it can schedule the bottleneck set . In addition, EDF-Zeno still misses the deadline if only the jobs in are released.
Proof.
Say is OPT’s schedule on the original set of jobs and is OPT’s schedule on the bottleneck jobs. Removal of jobs obviously doesn’t impact feasibility. Now consider the truncated jobs. From Lemma 15, we know that jobs are only truncated when subject to flow control and all truncated jobs belong to the same criticality, say . Therefore, these jobs have done (collectively) work at time (that’s why they were flow controlled). Since they were all released after time , cannot do more than work on these jobs by time . has at least as much work to do on these jobs as ; therefore, if can schedule them, then so can .
We now show that if EDF-Zeno misses the deadline for in the original set of jobs, then it also misses it for the bottleneck jobs. Say is the original schedule and is the schedule for bottleneck jobs. First we note that we can safely ignore jobs in since they do not interfere with jobs in on any of the lanes.
Now, if we just look at , all jobs that are not completed before time are included in the bottleneck jobs (either fully or in a truncated form). Therefore, within interval and are responsible for the same set of jobs. Also note that jobs are truncated according to their execution in ; therefore, truncated jobs have exactly the same remaining work and the same deadline in and . Therefore, the schedules for and are identical.
From now, we will implicitly assume that we are just running EDF-Zeno on bottleneck jobs. We first prove a structural property that relates the mode switches with the busy period.
Lemma 17.
For any , if , we have .
Proof.
Proof by contradiction. If , consider the time instance just before – we know that no job in with criticality level at least is available; otherwise lane would run it. However, since , there must be a job in running on lane 1 at time and this job has criticality at least (because the system is in criticality , the lower jobs are dropped). It is either eligible for lane (an immediate contradiction), or it triggers the flow control so that it cannot run on lane . In the second case, since lane is not running , also matches the condition of Definition 14, which means , which also leads to a contradiction.
We now observe another structural property which relates the mode switch times and the busy period. In particular, we need only focus on the worst case for the purposes of our bound and the following lemma implies that is the worst case. That is, the busy period for lane starts before the mode switch to criticality level . Intuitively, this is easy to see – if , we functionally only have criticalities since no (static) criticality level 1 job is part of . Therefore, the problem becomes easier.
Lemma 18.
We can assume that without loss of generality.
Proof.
Say, for contradiction, that . Let . Now does not have a job with criticality since all those jobs were already dropped at time . Create a new problem instance , which is basically , but transforms everyone’s criticality levels so that criticality in acts as criticality in . OPT can still schedule ; however for EDF-Zeno, each job in can use fewer lanes than it could when this job was in . Hence, no job finishes before the corresponding job in . Therefore, if is at least as hard as ; more precisely, if is schedulable, then so is . has the property that .
Defining Interference
We now are able to specifically measure the interference experienced by on each processing lane in terms of these job sets . We will define several such parameters. In our proof, these are called utilities since they measure partial work of jobs actually completed by EDF-Zeno on specific lanes during the busy period instead of the entire work of the job.
Definition 19 (Utilities ).
Consider a schedule of EDF-Zeno on a set of bottleneck jobs . Consider any for . We first define the partial utility as the total work done by EDF-Zeno within the busy period on some job (formally, ) with static criticality and runtime criticality (mode) . The utility is defined as , and .
Note that for all , we have since we are only considering (Observation 9). Consider a job in but with static criticality . This job must have arrived and completed within the interval (Definition 14). Therefore, we treat it (functionally) as a criticality job for the purposes of utilities. We can make the following observation:
Observation 20.
When collecting partial utilities , each partial utility is counted exactly once to . Meanwhile for , all trivially count to (and results in because before there are no jobs with runtime mode ). Therefore, all the partial utilities are counted exactly once.
Another important note: One might think that the sum of all the utilities is equal to the sum of the work of all the bottleneck jobs during our execution . However, it turns out that the sum of utilities might be smaller due to three factors:
-
Some jobs may remain incomplete due to a mode switches – therefore, the total work done by EDF-Zeno is smaller than the work of the job.
-
More importantly, some jobs may be in (or more generally, some jobs are in , but not in subsequent lanes) even though its static criticality is greater than . This means that this job arrived after time but completed before , and lane 2 subsequently experienced an idle instant (or worked on ). Therefore, some of this job’s work is included in the busy period of lane and therefore appears in the utilities , but any work done by lane 2 doesn’t is not included in any of the utilities.
-
Finally, recall that belongs to , so the completed part of shows up in the utilities. But, since we assume (for contradiction) that misses its deadline, therefore, it has some remaining work when we get to time . Lets call this uncompleted work .
Bounding the utilities
We will now provide bounds on these utilities which will allow us to reach a contradiction. The following two lemma generates inequalities due to the different values of .
Lemma 21.
For ,
Proof.
Suppose the system is in criticality at time . We know that the clairvoyant algorithm which runs in system criticality can finish all relevant jobs in . Lets call this algorithm . Since never runs any jobs with criticality level , these jobs have arrival time and deadline (Definition 14 and Lemma 13). Therefore, the total work of these jobs must be at most to make feasible – this is the RHS of the statement.
Now, lets count up the total work of these jobs. First, consider a job with static criticality . This job never switched to mode. Since it is a zipped job, it arrived in mode . Therefore, the total work of these jobs collectively is at least since EDF-Zeno did this much work on these jobs. This is Part 1 on the LHS, excluding the first term where . Now, consider jobs with criticality level . Some of these jobs may arrived in mode (if they arrived before ) and some in mode . Therefore, the work of these jobs is at least . In addition, if or releases in runtime mode 1, then the total work of these all these jobs also includes since is part of this set and it has work undone at the deadline. This is Part 2 of the LHS (the second term has an If, since we over count when ). Summing them all up in the LHS gives us a lower bound on the total work of jobs that must be scheduled by OPT in criticality level . Since RHS is an upper bound, we get the inequality.
Lemma 22.
For ,
Proof.
Consider EDF-Zeno for jobs with criticality in the various sets . Each of these jobs arrives either in runtime criticality 1 or . Therefore, the total utility (execution given to these jobs collectively by EDF-Zeno) is . All these jobs will be dropped at . Therefore, the total work EDF-Zeno does on these jobs is no more than the possible execution time on the various lanes. The total available execution time is: on lane 1; on lane 2, and so on. (Note that due to Lemmas 17, 18, we can assume that , so these intervals always exist). This means .
On the other hand, recall that the system is in criticality at time . For , consider . This is the work done by EDF-Zeno on jobs released with static criticality and runtime mode . Therefore, these jobs must be in set and must be released after .
Due to the flow control policy of EDF-Zeno (Definition 4), we know that for , and . Also, for , .
Multiplying the second inequality by , and adding them to the first inequality gives us the lemma.
Proof.
We first define some weights that we will multiply to these inequalities in order to get appropriate coefficients. In particular, we define and for all , . As an illustration, if ’s static criticality is , then , , , and .
Considering Lemmas 21 and 22, we have a total of inequalities. For clarity, we put these in Table 2 where the first rows are for Lemma 21 and the subsequent rows are for Lemma 22. We also divide the LHS into two parts as marked in the corresponding lemmas: Part 1 corresponds to the work included in and Part 2 corresponds to the work included in . We multiply each row by weights as shown in the table and add them together.
| Weight | LHS(Part 1) | LHS(Part 2) | RHS |
|---|---|---|---|
These coefficients have the following properties (which can be proved through induction):
Using these properties, we first show that the coefficients of each term that appears on the LHS is once add up all the inequalities. For Part 1, check for : it appears in the first rows and last rows. (For instance, appears in the first row and the last rows. Therefore, the coefficients of each is . For , these s have the same coefficient as , so the total is still 1.
Part 2 is a bit more involved. We use induction to show that after adding all the rows, the coefficient of each term is . The base case is (the coefficient of is ). We now show that the difference between the coefficients of and is .
-
1.
Row only has , with weight ;
-
2.
Row only has , with weight ;
-
3.
Row has , with weight .
-
4.
In other rows, the coefficient of and are the same.
Therefore, the difference between the coefficient of and is:
Now consider (which was not included in the table). If , then job appears in runtime mode ; therefore, its coefficient is ; otherwise, it is released in runtime mode and its coefficient is . Therefore, in the worst case, it has a coefficient of .
For RHS, check for . appears at the -th row and the last rows (with coefficient ). The total coefficient is:
Finally, check , the coefficient is
Collecting them altogether, the sum of these inequalities results in:
Since misses its deadline, , so we have
The LHS is all the work of that was done by EDF-Zeno within the busy period and the RHS is the total execution capacity of the busy period. Therefore, by definition of the busy period, the work done cannot be smaller than the capacity of the processor. Hence a contradiction.
We have now shown that EDF-Zeno provides the optimal speedup bound. However, it is important to note that it is not an optimal scheduler for individual instances. For instance, even if a particular set of jobs is semi-clairvoyantly schedulable on speed 1.1 processors, EDF-Zeno will still (potentially) need speed speed processor to schedule it. Alternatively, one can say that, on a speed 1 processor, EDF-Zeno only guarantees schedulability to job sets which are feasible on speed processor. In the next section, we provide a scheduler which is instance optimal.
5 Scheduling Multi-Criticality Semi-Clairvoyant Jobs Optimally
This section provides a linear programming formulation for checking the schedulability for a system of semi-clairvoyant jobs with criticality levels. Solving the linear program also provides a scheduling algorithm that can then be implemented at runtime as the jobs arrive. This scheduler provides a quantitatively different guarantee relative to EDF-Zeno. Given a particular set of jobs, if the linear program fails to provide a schedule, then no semi-clairvoyant scheduler can schedule this set of jobs under all possible runtime conditions (sequence of mode switches).
5.1 Semi-Clairvoyant Scheduling using LP
Basic Ideas and Notation
We will use a linear program to check if the system of such jobs is schedulable. Since we have jobs, we have key instances on the timeline which represent the arrival times and deadlines of these jobs555For simplicity in exposition and without loss of generality, we assume that all these instances are unique., dividing the timeline into intervals. We will sort these key instances and represent them as . For each of these intervals, we will compute how much execution should be done by jobs with each static criticality given the history of criticality switches so far. In particular, the linear program uses the following notation:
-
The variables for the linear program are : Amount of criticality work done from to . is the time instant system criticality increased to (Note that ). The parameters can be a set of any size between and and must all take values smaller than since a mode switch after time cannot impact the execution time given to any criticality level up to time .666For example, denotes the execution time allocated to the jobs with static criticality up to time . As another example, denotes the amount of time spent on jobs with static criticality between time and assuming the system criticality increased to (and implicitly to ) at time . These are the quantities the linear program will compute.
-
Key instances : obtained by sorting the release time and deadline of all the jobs. Assume that .
-
: the set of jobs with static criticality with arrival time and deadline . These are the jobs with static criticality that must be executed between time and
-
: sum of criticality work over .
Note that the variables compute the entire schedule for semi-clairvoyant scheduler under all possible mode-switch conditions and prefixes. There are approximately of these variables since can take values each and takes values. One can store these in a lookup table to be used for runtime scheduling.
LP Constraints
The basic idea behind the linear program is simple. We will consider all pairs such that and consider the interval between and . For all possible mode switch conditions, we want to ensure that we can allocate enough time to work for jobs of each static criticality level. In other words, we want to ensure that for all jobs that arrive at or after time and have a deadline at or before can get “sufficient execution time” to satisfy the correctness condition. Note that not all of these jobs may meet their deadlines since the scheduler may abandon some of these jobs due to mode switches. These variables represent the reserved time for each static criticality level within each interval.
Consider an instant when some job with static criticality might arrive. We will consider two cases.
Case 1.
We first consider the simple case where . In this case, Inequality 1 represents the fact that all jobs must be able to meet their deadlines – it simply checks that we reserve enough time for each criticality level to complete the work that must be done within that interval. Inequality 2 represents the fact that we cannot execute more work than has arrived so far for any static criticality level. Finally, Inequality 3 represents the fact that the total execution within any interval cannot exceed the total time in that interval.
for :
| (1) |
| (2) |
| (3) |
Case 2.
Now consider the case where . This is the crucial inequality since this is the only one that is worried about changes in the system criticalities. Say is between 2 transition time and . Now, we must ensure that all deadlines between and are met. Inequality 4 checks this. The first term on the LHS represents the amount of time allocated to the jobs with static criticality between time and given the history of criticality switches up to . The term represents the amount of time allocated to the jobs with static criticality between and and the last term represents the amount of time allocated to the jobs with static criticality between and . Therefore, collectively, the LHS represents the amount of time allocated to the jobs with static criticality between and . The RHS represents the total amount of work that must be done for these jobs. The first term, represents the jobs that arrive between time and – these jobs arrive with ; so we consider for these jobs. The second term, represents the jobs that arrived between time and – these jobs arrive at . The last term represents the jobs that arrive between time and .
| (4) | ||||
The final inequality just checks that these variable values are well-formed since we cannot do more work until time than we do until time .
| (5) |
Without worrying about the actual asymptotic, it should be clear that the number of constraints is polynomial in and exponential in .
Runtime scheduling
Let be the solution of our LP. In particular, the set of solution looks like this: .
Consider an arbitrary criticality . During runtime, let say that the system at time is currently in criticality mode. Then the mode switch time is known. We reserve time for criticality work in the interval (Jobs with the same criticality level are scheduled by EDF).
5.2 Proof of Correctness
We now prove that this linear program is correct. That is, a system of jobs is semi-clairvoyantly schedulable iff the the linear program is feasible.
Direction 1: LP solution can be used to schedule jobs
We first consider the case when the linear program has a solution and computes the values. We must argue that the computed values of are enough to schedule all jobs correctly under any sequence of mode switches.
We first make an observation – without loss of generality, we will assume that the actual execution time of the job is always maximum for a given criticality level since that is the worst case for any semi-clairvoyant scheduler. We can formally state this as follows:
Observation 23.
When a job arrives with runtime , then it always have requires execution time. We assume this since this is the worst case for semi-clairvoyant schedulers.
We now show that if linear program has a solution, then every reserved interval is busy.
Lemma 24.
Say the linear program computes a solution and that some mode switches have occurred at times . Now consider any time . is exactly the amount of criticality work done in assuming Observation 23 holds.
Proof.
Consider an arbitrary criticality level and any combination of mode switch that occur at or before time .
We want to use induction to show that is exactly the amount of criticality work done in .
Base case.
, this is true since both reserved time and work available are 0.
Induction step.
Consider any and say is the time of the last mode switch at or before time . We assume that, - is the amount of work executed in . We want to show that is exactly the amount of criticality work done in .
Since the maximum amount of work arrives in every interval (Observation 23), the right hand side of (2) represents the total work criticality work that must be done before time under these mode switches. Subtracting on both sides of (2), we get:
| (6) |
By induction hypothesis on every small interval between , we know that: is exactly the amount of work completed in . Similarly, by induction hypothesis, if we consider any interval between , is the amount of work with static criticality completed in .
Therefore, the right hand side of (6) represents the total leftover work with static criticality that is must be done within the interval under these mode switch conditions. So must be the exact amount of criticality work done within this interval.
Corollary 25.
The system is never idle – some work is executed during any reserved time.
We can now show that the LP schedule guarantees that all deadlines are met.
Lemma 26.
If the LP has a solution, then the semi-clairvoyant scheduler correctly schedules jobs under all mode switch conditions.
Proof.
As in Section 4, we assume, for contradiction, that job with static criticality level arrived at and misses its deadline at . In other word, we did not reserve enough time for criticality work. Now, consider only jobs with criticality . Let be the busy period for criticality , i.e., is the latest time instant before () such that in the interval , only jobs that arrive after and have deadline before are executed within the time reserved for -criticality work.
From (4) or (1) (if there is at least 1 mode switch between and then use (4), else use (1)), substitute and .
In both cases, the LHS denotes the criticality work that was executed in the interval . However, the RHS is exactly the jobs with criticality , arrival time and deadline . In addition, note that if the maximum amount of work arrives in every interval, from Corollary 25, none of the reserved time is wasted on idleness. Therefore, this entire interval was used. However we still missed deadline at , which is a contradiction.
Direction 2: If LP fails, then the system of jobs is not semi-clairvoyantly schedulable
Now we argue that the linear program is optimal. In other words, if the linear program does not find a feasible solution, then no online semi-clairvoyant scheduler can schedule this system of jobs under all mode change conditions.
Now consider an optimal online scheduler for scheduling a set of jobs. We will now construct for all and possible mode switch times before time such that represents the amount of time spends on -criticality work schedules between time and .
Claim 27.
With , we can construct this set .
Proof.
Since the optimal scheduler exists, we can construct by simulating it under all mode switch conditions. Consider an arbitrary criticality . If no mode switch happens (system always stay at criticality), we can get for any by calculating the amount of criticality work executed in the interval . If instead, the system switch to criticality at some time , we can still get is still the same for any since is an online scheduler and cannot look into the future to know that the mode switch will occur at time . Also, we can get for any by calculating the amount of criticality work executed in the interval . In this manner, we can run the scheduler for all mode switch possibilities and calculate a consistent .
It is straightforward to see that the set could be used to in our runtime schedule. Therefore, we get the following claim.
Claim 28.
If there is no solution to the linear program, then set from must also not satisfy the LP.
We can now argue that this is impossible if is a valid scheduler.
Lemma 29.
If set does not satisfy the linear program, then is not a valid semi-clairvoyant scheduler.
Proof.
We can look at each constraint and check what happens if does not satisfy the constraint. If does not satisfies an inequality in (4), then there exists such that:
On the LHS, is the amount of work done by in , is the amount of work done by in and is the amount of work done by in . So, the LHS is the amount of work done by in . On the RHS, we have: is the amount of work arrives in that has deadline , is the amount of work arrives in that has deadline , and is the amount of work arrives in that has deadline . So the RHS is the amount of work arrives after and has deadline . If , then must miss the deadline of some criticality job that has deadline . Since can schedule the system, must satisfies (4).
If does not satisfy an inequality in (1), then there exists such that:
is the amount of work done by in while is the amount of work arrives after and has deadline . If , then must misses the deadline of some criticality job that has deadline . Since can schedule the system, must satisfies (1).
If does not satisfies an inequality in (2), then there exists such that:
On the LHS, is the amount of work done by in and is the amount of work done by in . So, the LHS is the amount of work done by in . On the RHS, is the amount of work arrives in and is the amount of work arrives in . So, the RHS is the amount of work arrives before . By definition, LHS cannot be larger than RHS. Thus, must satisfies (2).
If does not satisfies an inequality in (3), then there exists such that:
LHS is the total amount of work done by in while is the amount of time available between and . Since can schedule this system, LHS cannot greater than RHS. Thus, must satisfies (3).
Therefore, must satisfies all constrains of LP, which is a contradiction. Thus, if there is no solution to the LP, the system is unschedulable.
6 Related Work
Since it was first considered, mixed criticality model has been studied extensively [12, 20, 21, 13, 24, 19, 18, 9, 14, 15, 17] (see [10] for a survey). While most of this work is on recurrent tasks, there has also been significant work on jobs.
Most prior work considers the non-clairvoyant model where the system discovers the runtime mode of a job as it executes. Baruah et al. [6] developed Own Criticality Based Priority (OCBP) which provides the optimal speedup bound for jobs in the non-clairvoyant setting. Several runtime mechanisms have also been explored empirically. Baruah and Burns [3] demonstrated that it is practical to implement a MCS with run-time monitoring, which led to the formal introduction of a theoretical framework [4]. Static Mixed Criticality (SMC) and Adaptive Mixed Criticality (AMC) [4] are the continuation of OCBP by allowing run-time monitoring. Most work on mixed criticality systems considers the case where the system mode monotonically increases – as jobs arrive with higher runtime mode, the system criticality increases and lower criticality jobs are discarded, but some systems [22, 7, 8] allow systems to switch back to lower criticality mode.
In 2019, Agrawal et al. [2] introduced the notion of semi-clairvoyance that is used in this paper. Burns and Davis [11] provided an analysis of AMC algorithm in dual-criticality system with semi-clairvoyant behavior. Zhao et al [25] examine the integration of AMC, Preemption Threshold Scheduling(PTS) and semi-clairvoyance. Baruah and Ekberg [5] study graceful degradation (ensure less criticality jobs can be dropped safely during mode switch) for semi-clairvoyant systems. Jiang et al. [16] proposed the notion of quarter-clairvoyance, where execution time is revealed not when a job is released but when it is executed for a certain amount of time.
7 Conclusions
In this paper, we provide tight upper and lower bounds of on the speedup required to schedule feasible mixed criticality jobs in the semi-clairvoyant model. In addition, we provide a linear program which can (instance)-optimally schedule a system of semi-clairvoyant jobs with arbitrary criticality levels. While the running time of the LP is exponential in the number of criticalities, this seems unavoidable and is also potentially not too onerous given that the number of criticalities is typically small. We also provide EDF-Zeno, which (while not instance optimal) provides the optimal speedup bound for semi-clairvoyant jobs. While we use it as an analysis tool, it can also be used as a scheduling algorithm if one does not want to solve the linear program.
This work demonstrates the significant advantage of semi-clairvoyance over non-clairvoyance since there are functionally no nontrivial speedup bounds for non-clairvoyant schedulers for more than 2 criticality levels and solving the scheduling problem is NP-complete even for two criticality levels. This indicates that getting the information about mode switches early and at a predictable time is a significant benefit and any systems which can implement semi-clairvoyance or variants thereof should attempt to do so since it can lead to significant advantages in schedulability. In particular, there is a small marginal cost for adding additional criticality levels, which would allow system designers more flexibility in their design.
There are several open questions. First, could one either design an exact algorithm for semi-clairvoyance which runs in polynomial time in the number of jobs and criticalities or prove that it is impossible. In addition, speedup bounds for semi-clairvoyant tasks (especially non-implicit deadline tasks) has not been studied at all, to the best of our knowledge. Finally, how much can we relax semi-clairvoyance and still get optimal algorithms and good speedup bounds relative to full non-clairvoyance?
References
- [1] Kunal Agrawal and Sanjoy K. Baruah. Intractability issues in mixed-criticality scheduling. In Sebastian Altmeyer, editor, 30th Euromicro Conference on Real-Time Systems, ECRTS 2018, Barcelona, Spain, July 3-6, 2018, volume 106 of LIPIcs, pages 11:1–11:21. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2018. doi:10.4230/LIPIcs.ECRTS.2018.11.
- [2] Kunal Agrawal, Sanjoy K. Baruah, and Alan Burns. Semi-clairvoyance in mixed-criticality scheduling. In IEEE Real-Time Systems Symposium, RTSS 2019, Hong Kong, SAR, China, December 3-6, 2019, pages 458–468. IEEE, IEEE, 2019. doi:10.1109/RTSS46320.2019.00047.
- [3] Sanjoy K. Baruah and Alan Burns. Implementing mixed criticality systems in ada. In Alexander B. Romanovsky and Tullio Vardanega, editors, Reliable Software Technologies - Ada-Europe 2011 - 16th Ada-Europe International Conference on Reliable Software Technologies, Edinburgh, UK, June 20-24, 2011. Proceedings, volume 6652 of Lecture Notes in Computer Science, pages 174–188. Springer, Springer, 2011. doi:10.1007/978-3-642-21338-0_13.
- [4] Sanjoy K. Baruah, Alan Burns, and Robert I. Davis. Response-time analysis for mixed criticality systems. In Proceedings of the 32nd IEEE Real-Time Systems Symposium, RTSS 2011, Vienna, Austria, November 29 - December 2, 2011, pages 34–43. IEEE, IEEE Computer Society, 2011. doi:10.1109/RTSS.2011.12.
- [5] Sanjoy K. Baruah and Pontus Ekberg. Graceful degradation in semi-clairvoyant scheduling. In Björn B. Brandenburg, editor, 33rd Euromicro Conference on Real-Time Systems, ECRTS 2021, Virtual Conference, July 5-9, 2021, volume 196 of LIPIcs, pages 9:1–9:21. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2021. doi:10.4230/LIPIcs.ECRTS.2021.9.
- [6] Sanjoy K. Baruah, Haohan Li, and Leen Stougie. Mixed-criticality scheduling: Improved resource-augmentation results. In Thomas Philips, editor, Proceedings of the ISCA 25th International Conference on Computers and Their Applications, CATA 2010, March 24-26, 2010, Sheraton Waikiki Hotel, Honolulu, Hawaii, USA, pages 217–223. ISCA, 2010.
- [7] Iain Bate, Alan Burns, and Robert I. Davis. A bailout protocol for mixed criticality systems. In 27th Euromicro Conference on Real-Time Systems, ECRTS 2015, Lund, Sweden, July 8-10, 2015, pages 259–268. IEEE, IEEE Computer Society, 2015. doi:10.1109/ECRTS.2015.30.
- [8] Iain Bate, Alan Burns, and Robert I. Davis. An enhanced bailout protocol for mixed criticality embedded software. IEEE Trans. Software Eng., 43(4):298–320, 2017. doi:10.1109/TSE.2016.2592907.
- [9] Alan Burns and Robert Davis. Mixed Criticality Systems - A Review : (13th Edition, February 2022). White Rose Research Online, February 2022.
- [10] Alan Burns and Robert I. Davis. A survey of research into mixed criticality systems. ACM Comput. Surv., 50(6):82:1–82:37, 2018. doi:10.1145/3131347.
- [11] Alan Burns and Robert I. Davis. Schedulability analysis for adaptive mixed criticality systems with arbitrary deadlines and semi-clairvoyance. In 41st IEEE Real-Time Systems Symposium, RTSS 2020, Houston, TX, USA, December 1-4, 2020, pages 12–24. IEEE, IEEE, 2020. doi:10.1109/RTSS49844.2020.00013.
- [12] Lia Cagnizi, Federico Reghenzani, and William Fornaciari. Poster abstract: Run-time dynamic WCET estimation. In Proceedings of the 8th ACM/IEEE Conference on Internet of Things Design and Implementation, IoTDI 2023, San Antonio, TX, USA, May 9-12, 2023, IoTDI ’23, pages 458–460, New York, NY, USA, 2023. ACM. doi:10.1145/3576842.3589168.
- [13] Akanksha Chaudhari and Sanjoy K. Baruah. Efficient schedulability analysis of semi-clairvoyant sporadic task systems with graceful degradation. In Yasmina Abdeddaïm, Liliana Cucu-Grosjean, Geoffrey Nelissen, and Laurent Pautet, editors, RTNS 2022: The 30th International Conference on Real-Time Networks and Systems, Paris, France, June 7 - 8, 2022, RTNS ’22, pages 116–126, New York, NY, USA, 2022. ACM. doi:10.1145/3534879.3534881.
- [14] Pontus Ekberg and Wang Yi. Bounding and shaping the demand of generalized mixed-criticality sporadic task systems. Real Time Syst., 50(1):48–86, January 2014. doi:10.1007/s11241-013-9187-z.
- [15] Zhishan Guo, Luca Santinelli, and Kecheng Yang. EDF schedulability analysis on mixed-criticality systems with permitted failure probability. In 21st IEEE International Conference on Embedded and Real-Time Computing Systems and Applications, RTCSA 2015, Hong Kong, China, August 19-21, 2015, pages 187–196. IEEE Computer Society, 2015. doi:10.1109/RTCSA.2015.8.
- [16] Zhe Jiang, Kecheng Yang, Nathan Fisher, Neil C. Audsley, and Zheng Dong. Pythia-mcs: Enabling quarter-clairvoyance in i/o-driven mixed-criticality systems. In 41st IEEE Real-Time Systems Symposium, RTSS 2020, Houston, TX, USA, December 1-4, 2020, pages 38–50. IEEE, IEEE, 2020. doi:10.1109/RTSS49844.2020.00015.
- [17] Jaewoo Lee, Kieu-My Phan, Xiaozhe Gu, Jiyeon Lee, Arvind Easwaran, Insik Shin, and Insup Lee. Mc-fluid: Fluid model-based mixed-criticality scheduling on multiprocessors. In Proceedings of the IEEE 35th IEEE Real-Time Systems Symposium, RTSS 2014, Rome, Italy, December 2-5, 2014, pages 41–52. IEEE Computer Society, 2014. doi:10.1109/RTSS.2014.32.
- [18] Ruixiao Li, Fahao Chen, and Peng Li. Semi-clairvoyant scheduling of speculative decoding requests to minimize LLM inference latency. In Proceedings of the Thirty-Fourth International Joint Conference on Artificial Intelligence, IJCAI 2025, Montreal, Canada, August 16-22, 2025, IJCAI ’25, pages 8554–8562. ijcai.org, 2025. doi:10.24963/ijcai.2025/951.
- [19] Behnaz Ranjbar, Tuan D. A. Nguyen, Alireza Ejlali, and Akash Kumar. Power-aware runtime scheduler for mixed-criticality systems on multicore platform. IEEE Trans. Comput. Aided Des. Integr. Circuits Syst., 40(10):2009–2023, 2021. doi:10.1109/TCAD.2020.3033374.
- [20] Federico Reghenzani, Zhishan Guo, Luca Santinelli, and William Fornaciari. A mixed-criticality approach to fault tolerance: Integrating schedulability and failure requirements. In 28th IEEE Real-Time and Embedded Technology and Applications Symposium, RTAS 2022, Milano, Italy, May 4-6, 2022, pages 27–39. IEEE, 2022. doi:10.1109/RTAS54340.2022.00011.
- [21] Amir Hassan Safizadeh, Sepideh Safari, Shayan Shokri, and Shaahin Hessabi. Energy-aware fault-tolerant mapping of mixed-criticality tasks on heterogeneous multicores. IEEE Trans. Sustain. Comput., 10(4):756–767, 2025. doi:10.1109/TSUSC.2025.3532766.
- [22] François Santy, Gurulingesh Raravi, Geoffrey Nelissen, Vincent Nélis, Pratyush Kumar, Joël Goossens, and Eduardo Tovar. Two protocols to reduce the criticality level of multiprocessor mixed-criticality systems. In Michel Auguin, Robert de Simone, Robert I. Davis, and Emmanuel Grolleau, editors, 21st International Conference on Real-Time Networks and Systems, RTNS 2013, Sophia Antipolis, France, October 17-18, 2013, pages 183–192. ACM, 2013. doi:10.1145/2516821.2516834.
- [23] Steve Vestal. Preemptive scheduling of multi-criticality systems with varying degrees of execution time assurance. In Proceedings of the 28th IEEE Real-Time Systems Symposium (RTSS 2007), 3-6 December 2007, Tucson, Arizona, USA, pages 239–243. IEEE, IEEE Computer Society, 2007. doi:10.1109/RTSS.2007.47.
- [24] Yiwen Zhang and Hui Zheng. Energy-aware reliability guarantee scheduling with semi-clairvoyant in mixed-criticality systems. J. Syst. Archit., 156(C):103269, November 2024. doi:10.1016/j.sysarc.2024.103269.
- [25] Qingling Zhao, Mengfei Qu, Bo Huang, Zhe Jiang, and Haibo Zeng. Schedulability analysis and stack size minimization for adaptive mixed criticality scheduling with semi-clairvoyance and preemption thresholds. J. Syst. Archit., 124:102383, 2022. doi:10.1016/j.sysarc.2021.102383.
