Abstract
Zero-laxity (ZL) and contention-free (CF) policies have received considerable attention owing to their simplicity and applicability to real-time systems equipped with symmetry multiprocessors. Recently, the ZL policy for mixed-criticality (MC) systems has been proposed and studied, but the applicability to and performance of the CF policy for MC systems have not been investigated yet. In this paper, we propose the CF policy (as a scheduling policy) for MC symmetry multiprocessor systems, referred to as the MC systems tailored CF policy (MC-CF), and a schedulability analysis in support thereof. We define the notion of contention-free slots for two different criticalities (of MC systems) of tasks, propose a technique to limit the amount to be utilized for each task by defining an upper bound, and subsequently explain the way in which the contention-free slots are systematically utilized to improve the schedulability of MC symmetry multiprocessor systems. Following this, we develop a deadline analysis (DA) for MC-CF. Using our experimental results under various environmental settings, we demonstrate that MC-CF can significantly improve the schedulability of fixed-priority scheduling.
1. Introduction
Real-time embedded systems differ from general-purpose systems in that designated multiple real-time tasks (e.g., engine control and sensing) are repeatedly executed on limited computing resources (e.g., CPU and memory). At the same time, real-time tasks need to be conducted within a predefined time, known as a deadline, as a strict design requirement. To achieve this goal and considering the characteristics of embedded systems, the following two problems have been extensively studied by the real-time systems community: (i) ways to effectively allocate the limited computing resources to real-time tasks and (ii) approaches to judge whether the system satisfies the design requirement. Methodologies to address (i) and (ii) are referred to as the real-time scheduling algorithm and schedulability analysis, respectively. In the case of uniprocessor systems, these two methodologies have been fully matured as optimal scheduling algorithms, namely, the earliest deadline first (EDF) and the rate monotonic (RM) algorithms, have been developed and extensively studied, and the exact schedulability analyses to support them were proposed [1]. With regard to multiprocessor systems, optimal techniques such as ER-Fair, LLREF, RUN, and EKG have been suggested [2,3,4,5], and have evolved to reduce their scheduling costs [6].
However, these research achievements targeted a system in which real-time tasks have an equal impact on the safety of the system, known as the criticality, which does not support an increasingly important trend in the design of real-time systems considering different criticalities of tasks. For example, modern automotive systems conduct safety-critical tasks (e.g., wheel steering and breaking systems) as well as mission-critical ones (e.g., the camera and various sensing systems), the various criticalities of which are explicitly categorized in the ISO 26262 standard [7]. Although a mixed-criticality (MC) system should support different criticalities with high CPU utilization, relatively few approaches have been proposed [8,9,10] compared to those for single-criticality (SC) systems.
For example, the zero-laxity (ZL) [11] and contention-free (CF) [12,13] policies have received considerable attention owing to their simplicity and applicability to SC systems equipped with multiprocessors. ZL and CF policies are incorporated into most (if not all) existing scheduling algorithms and improve the real-time scheduling performance of SC systems in that they have opposite objectives. The ZL policy promotes the priority of a task to the highest level at a time instant when it should be scheduled to avoid missing the deadline, whereas the CF policy relegates the priority to the lowest level at the time instant at which its schedulability is guaranteed. Recently, the ZL policy for MC systems was proposed and studied [14,15], but the applicability and performance of the CF policy for MC systems have not been investigated.
In this paper, we propose the CF policy (as a scheduling policy) for MC multiprocessor systems, referred to as the MC systems tailored CF policy (MC-CF), in addition to the schedulability analysis to support the policy. We consider the fixed-priority (FP) and earliest-deadline first (EDF) scheduling as the base scheduling algorithms where MC-CF is applied. The key idea of the CF policy is to exploit the notion of a contention-free slot, which is defined as the time slot in which the number of active (i.e., released but unfinished) jobs is less than or equal to the number of processors [12,13]. In other words, in contention-free slots, active jobs can be executed without any contention to obtain processors (or cores). We define the notion of contention-free slots for two different criticalities (of MC systems) of tasks, propose a technique to restrict the amount to be utilized for each task by defining an upper bound, and then present the way in which the contention-free slots are systematically utilized to improve the schedulability of MC multiprocessor systems. Then, we develop the deadline analysis (DA) [16] for MC-CF. Finally, we conducted experiments with settings in various environments to demonstrate that MC-CF can significantly improve the schedulability of fixed-priority scheduling.
The following summarizes the contributions of our study:
- We propose a method to calculate an upper bound of the number of contention-free slots for each task;
- We then propose MC-CF;
- We develop the DA test for MC-CF.
The remainder of this paper is organized as follows. Section 3 presents our considered system model. Section 4 first defines the notion of contention-free slot for MC systems and explains how to calculate the upper bounded number of contention-free slots that exit for each task. Then, MC-CF is proposed. Section 5 presents DA for MC-CF proposed in this paper. In Section 6, the performance of MC-CF is discussed. Section 2 summarizes the related work, and Section 7 concludes this paper.
2. Related Work
For the last few decades, a number of studies on real-time systems have focused on developing scheduling algorithms for multiprocessor systems to improve schedulability of the target systems. ER-Fair, LLREF, EKG, and RUN were proposed as optimal scheduling algorithms for multiprocessor systems, and have evolved to reduce their scheduling costs [6]. For example, RUN transforms the problem of task scheduling for multiprocessors into that of a uniprocessor, and reduced the number of preemptions significantly compared to the other techniques that exploits rated-based approaches.
On the other hand, another approach has tried to develop scheduling policies that can be applied to most (if not all) existing scheduling algorithms to improve schedulability analysis. The ZL [11] and CF policies [12,13] are representative examples the such techniques. The ZL policy promotes the priority of a task to the highest level at a time instant when it should be scheduled to avoid missing the deadline, whereas the CF policy relegates the priority to the lowest level at the time instant at which its schedulability is guaranteed. The CF policy were further studied to better exploit contention-free slots [17], and the response-time analysis (RTA) for the CF policy was proposed [18].
While the studies above are for single-criticality systems that for mixed-criticality ones was initiated by the seminal work of Vestal [19], and a number of studies have been conducted for uniprocessor platforms. Baruah proposed RTA [20] for static mixed-criticality scheduling, and proposed a new MC-scheduling algorithm called the earliest-deadline first virtual deadline (EDF-VD) [21,22]. Li proposed new criticality based priority (OCBP) scheduling algorithm [23,24], and OCBP was extended to PLRS by Guan [24]. Baruah also proposed a more general model for MC scheduling, wherein the task parameter can be varied according to its criticality [25]. The task model in [25] assumes that WCET estimates are non-decreasing, period estimates are non-increasing, and relative deadline estimates are non-decreasing with increasing criticality because a higher criticality requires more conservative estimates.
With respect to the multiprocessor platform, Pathan proposed an OPA-compatible schedulability analysis for FP scheduling, and Li extended EDF-VD to multiprocessor MC systems [26]. Lee applied fluid scheduling to MC systems in which tasks have different execution rates according to their criticality [27]. In [14], Jung first applied the ZL policy to EDF for MC systems, and proposed a new RTA to support it. Mollison proposed a rather practical technique to utilize a concept of “slack” defined as the gap between the worst-case execution time prediction and actual execution times [24]. In [24], high-criticality tasks provide slack, and low-criticality tasks utilize it to improve schedulability.
Our study is motivated by that the CF policy has been investigated a lot for single-criticality systems, but it is not for mixed-criticality ones while the ZL policy for MC systems was proposed and studied [14,15]. The DA test is also proposed in [12,13] to support the CF policy, but it only supports single-criticality systems. That is, the worst-case scenario to estimate the worst-case interference from higher-priority jobs for a task only consider single-criticality systems. To the best of our knowledge, we first proposed the CF policy and its schedulability analysis to support mixed-criticality systems.
3. System Model
We consider an m processor system operating real-time tasks of which the criticalities are categorized by two levels, and . A task set in which a task is specified by a five-tuple of parameters () each of which parameter is specified as follows:
- is the criticality of a task, and a task with or is either a HI-criticality or LO-criticality task, respectively.
- and denote the worst-case execution times (WCETs) for the low and high criticalities, respectively. We assume that because a task with higher criticality requires a more conservative analysis for WCET.
- and represent the relative deadline and the period of the task, respectively, and is satisfied.
and represent a set of tasks each whose criticality is and , respectively; by definition, and hold.
A task invokes a series of jobs, and the n-th job is released at and finished at . We use (likewise and ) if it indicates an arbitrary job released by . We assume that the release times of two jobs that are consecutively released by the same task are at least apart from each other. We call a released job before its completion an active job. The absolute deadline of a job is defined as . We use , when it denotes an arbitrary job of . is schedulable if it completes its execution before , and is schedulable if every job released by is schedulable. In addition, is schedulable if all tasks in are schedulable.
We consider global, preemptive, and work-conserving FP and EDF scheduling. Scheduling with these characteristics enables an active job to migrate from one processor to another at every scheduling decision (e.g., a job release, completion, and priority demotion), assigns a processor to its higher-priority job, and processors are always utilized by active jobs if any. Fixed-priority scheduling assigns a priority to a task rather than a job, and thus all jobs released by the same task have the same priority. On the other hand, EDF assigns a priority to a job rather than a task. Table 1 lists up notations used throughout this paper.
Table 1.
Notations and their description.
The considered MC systems support two operating modes, LO- and HI-modes, respectively. The system starts in the LO-mode, and the system transition to HI-mode occurs at a time instant when any job executes for more than its . After a mode transition, we assume that jobs of tasks execute for up to , and jobs of tasks are aborted (i.e., dropped). A task set scheduled on the MC systems is said to be schedulable if and only if the following is satisfied:
- In the LO-mode, every task is schedulable; and
- In the HI-mode, every task is schedulable.
4. MC-CF
In this section, we first describe existing MC scheduling as background. We then present the way in which MC-CF effectively schedules tasks by utilizing the notion of contention-free slots.
4.1. MC-CF Scheme
MC-CF scheme utilizes the notion of contention-free slots that is formally defined as follows.
Definition 1.
(contention-free slot (from [13])): A time slot is called contention-free if the number of active jobs is less than or equal to the number of processors m at the slot; it is called a contending slot, otherwise.
By definition, if the remaining execution (to be finished) of a job is less than or equal to the remaining contention-free slots that will be encountered before its deadline, the schedulability of a job is guaranteed because the remaining execution can proceed without any contention. The underlying idea of the CF policy is to improve the schedulability by transferring the execution of certain jobs in contending slots to contention-free slots to improve the chances of lower-priority tasks being scheduled in contending slots. This migration of executions is conducted by relegation of the priority (at a certain time t) of jobs whose schedulabilities are guaranteed by comparing their remaining executions and contention-free slots. Let and be the lower bound of the contention-free slots that exist in an interval [, ) for and , respectively; the calculation of thereof is explained in detail in the next subsection. In addition, let and be the amount of remaining execution time of at t to be finished and the remaining contention-free slots (also, lower bounded) that exist before . MC-CF exploits two separated queues and where any job in has a higher priority than any job in . The following are the detailed steps of the CF policy.
Algorithm 1 presents how MC-CF operates. Before the system starts, MC-CF calculates the lower bound of the contention-free slots and that exists in the interval [) for and , respectively (Line 1). Then, MC-CF operates the following at each time slot t (Line 2); note that the system starts in the LO-mode. If a job is released, then it sets the remaining contention-free slots to (for ) or (for ) and the remaining execution time to (in the LO-mode) or (in the HI-mode), and puts to (Lines 3–7). If a job in holds , then it moves to , which implies that the remaining execution can be performed without deadline miss even if its priority is demoted to the lowest. In addition, of each active job in is deducted by 1 if the current slot is contention-free (i.e., holds) (Lines 13–17). Then, the remaining execution time of m-highest priority jobs is deducted by 1 (Lines 18–22). If a mode transition occurs, all LO-criticality jobs are dropped and the remaining execution of HI-criticality jobs increases by (Lines 23–26). The difference between Algorithm 1 in [13] and Algorithm 1 in our paper is as follows. In our paper, high- and low-criticality tasks have their own contention-free slots (i.e., and ), respectively (in Line 4). In addition, they have their own worst-case execution times (i.e., and ), respectively (in Line 5). Finally, Algorithm 1 in our paper support a mode transition conducted by mixed-criticality systems (in Lines 23–26).
| Algorithm 1 CF policy for MC multiprocessor systems. |
|
4.2. Lower Bound of Contention-Free Slots
The key technique of MC-CF is to calculate the lower bound of the contention-free slots and that exists in an interval [, ) for each task and , respectively (Line 1 of Algorithm 1). The underlying idea of the technique is to calculate the upper bound of the maximum workload conducted in an interval [, ), and then derive the lower bound of contending slots in the interval. Thereafter, the lower bound of contention-free slots and is obtained by Definition 1.
We first derive (for ) with the following strategy. Let be the maximum workload of a task (whose can be either or ) in an interval of length ℓ in the LO-mode. Figure 1a shows the worst-case scenario where occurs [14]. As shown in Figure 1a, the last (i.e., the right-most job in Figure 1a) job starts its execution at , and finishes it at the end of the interval of length ℓ. The remaining jobs (i.e., the left-most and middle jobs) start their executions as late as possible and end at their absolute deadlines. Considering a job fully executing for (e.g., the rightmost and middle jobs in Figure 1a) and jobs executing the portion of , is calculated as follows:
where is the number of jobs executing for given by
Figure 1.
Scenarios where the workload of a task is maximized in an interval of length ℓ.
Then, the following derives the lower-bounded number of contention-free slots of in an interval of length (i.e., for ) in the LO-mode.
Lemma 1.
For a job of a task scheduled by MC-CF in the LO-mode, there are at least contention-free slots in [), which is calculated as follows:
Proof.
By definition, the workload (or execution) of a task is upper bounded by in the LO-mode, and at least m executions are needed for a time slot to be contending. Thus, there are at least contention-free slots in the interval [) for . Then, is reduced to because only one job is released in [). Thus, the lemma holds. □
Note that is immediately dropped at the mode transition, and we do not care about the schedulability of the task. That is, the number of contention-free slots that exist in [) does not need to be considered to guarantee the schedulability for in the presence of a mode transition. However, MC-CF sets for (Line 4 in Algorithm 1) even though it is unable to foresee the timing of the mode transition Then, the schedulability analysis proposed in Section 5 takes this behavior of MC-CF into account to judge the schedulability of .
With regard to for , we need to consider that a mode transition can occur in [) because such a task can execute even after the mode transition. Let be the maximum workload of a task in an interval of length ℓ assuming that a mode transition occurs at the end of ; is assumed to start at the beginning of ℓ. Figure 1b presents the scenario where occurs. As shown in Figure 1b, the last job released after the mode transition starts its execution for at and finishes it at the end of the interval of length ℓ. When it comes to the middle job that a mode transition occurs in [), it executes for . The left-most job that a mode transition occurs after starts its execution as late as possible and finishes it at . Considering a job fully executing for (e.g., the rightmost and middle jobs in Figure 1b) and jobs executing the portion of , is calculated as follows:
where is the number of jobs executing for given by
and is given by
Then, considering tasks that are dropped at the end of , the following derives the lower-bounded number of contention-free slots of in an interval of length (i.e., for ) for a given .
Lemma 2.
For a job of a task scheduled by MC-CF when FP is applied, there are at least contention-free slots in [) for given , which is calculated as follows:
Proof.
With given , the workload (or execution) of is upper bounded by and that of is upper bounded by . In addition, at least m executions are needed for a time slot to be contending. Thus, there are at least contention-free slots in the interval [) for . Then, is reduced to because only one job is released in [). Thus, the lemma holds. □
Because MC-CF is unable to predict the timing of the mode transition, we need to consider all for to derive the lower bound of contention-free slots in [) for . Thus, of in an interval of length (i.e., for ) with an arbitrary for is derived as follows.
Lemma 3.
For a job of a task scheduled by MC-CF, there are at least contention-free slots in [) with an arbitrary for , which is calculated as follows:
5. Schedulability Analysis for MC-CF
In this section, we propose a new schedulability analysis for MC-CF. We first present a schedulability analysis for the LO-mode by extending the existing DA for MC-CF. We then present that, in the HI-mode, higher-priority tasks are observed to interfere with a task. Note that a task set scheduled on the MC system is schedulable if it is schedulable for both LO- and HI-modes, as presented in Section 3. According to Lemmas 1 and 2, and can be greater than and , respectively, but we upper-bound it to and , respectively, for the correctness of the schedulability analysis that will be presented in this section.
5.1. Schedulability Analysis for LO-Mode
The underlying idea of DA is to judge whether every job of can complete its execution in by investigating whether the upper bound of the interference is smaller than or equal to for the LO-mode and for the HI-mode. Before we develop DA for MC-CF in the LO-mode, we define the following notion for the LO-mode.
Definition 2.
Interference of on is defined as the cumulative length of all intervals in an interval of length ℓ where is ready to execute, but it cannot execute on any processor while jobs of do in the LO-mode.
The DA for MC-CF reduces by exploiting the policy of MC-CF that it demotes the priority of higher-priority jobs each of which priority is guaranteed by comparing its remaining execution and contention-free slots (Lines 9–11 in Algorithm 1), and thus lower-priority jobs can execute with relatively higher priority in contending slots. The following lemma presents an important property of MC-CF in the LO-mode.
Lemma 4.
A Job of (or ) can interfere with any job during at most (or ) time slots in the LO-mode.
Proof.
When is released, it enters , and is set to (for ) or (for ). We consider the following two cases:
(Case 1: stays in until .) In this case, becomes zero before or at the time slot when becomes one. Otherwise (e.g., ), moves to according to Lines 9–11 in Algorithm 1. This implies that of (or ) encounters at least (or ) contention-free slots before . By Definition 1, all jobs in contention-free slots can execute without any contention, and it also means that no job can interfere with the other jobs in the time slot. Thus, of (or ) can interfere with other jobs in at most (or ) time slots in the LO-mode.
(Case 2: moves to at a time slot (i.e., satisfying )) In this case, of (or ) encounters exactly (or ) contention-free slots before it moves to at . After , the job cannot interfere with other jobs in because any job in has a lower priority than that of . Thus, (or ) executions of of (or ) can interfere with other jobs. □
Lemma 4 implies that the amount of execution for of (or ) to interfere with other jobs is limited to (or ) in the LO-mode when MC-CF is applied. Thus, instead of counting to derive in Equation (1), we use (or ). Let (or ) be the maximum workload of performed in contending slots in an interval of length ℓ when (or ) is scheduled by MC-CF in the LO-mode. Figure 2 presents the worst-case scenario where (or ) occurs.
Figure 2.
Scenario where or occurs.
Because at least (or ) amount of execution is performed in contention-free slots, a job of (or ) is performed at most (or ) in contending slots. Thus, when (or ) occurs, only (or ) amount of execution of the last job (e.g., the right-most job in Figure 2) is included in an interval of length ℓ. Then, the previous jobs are as late as possible without a deadline miss; their first (or ) executions are performed in contending slots, and the others are done in contention-free slots. With the reasoning, for or is calculated as follows:
where is the number of jobs executing for given by
By the definition of and , is upper bounded by where for and for . Then, the following provides DA for LO-mode when MC-CF is applied to FP scheduling.
Theorem 1.
A task set is schedulable under MC-CF for FP scheduling in the LO-mode if the following holds for each task :
Proof.
For to miss its deadline in the LO-mode, is executed at most time units in [), and, at each time slot, interference from at least m other jobs is needed to block ’s execution. Thus, the job cannot miss its deadline if the total interference of other jobs on a job of is less than . □
We then derive schedulability analysis for EDF scheduling. Let (or ) be the maximum execution higher priority jobs performed in contending slots in an interval of length when (or ) is scheduled by MC-CF with EDF scheduling in the LO-mode. Figure 3 presents the worst-case scenario where (or ) occurs.
Figure 3.
Scenario where or occurs.
When (or ) occurs, only (or ) amount of execution of the last job is included in an interval of length ℓ. Then, the previous jobs are as late as possible without a deadline miss; their first (or ) executions are performed in contending slots, and the others are done in contention-free slots. With the reasoning, for or is calculated as follows:
where is the number of jobs executing for given by
By the definition of and , is upper bounded by where for and for . Then, the following provides DA for LO-mode when MC-CF with EDF scheduling is applied.
Theorem 2.
A task set is schedulable under MC-CF with EDF scheduling in the LO-mode if the following holds for each task :
Proof.
The proof is the same as Theorem 1. □
5.2. Schedulability Analysis for HI-Mode
According to the policy of MC-CF, tasks in are dropped at the mode change, and thus we consider the schedulability of tasks in in the HI-mode. Before we develop DA for MC-CF in the HI-mode, we define the following notion for HI-mode as follows.
Definition 3.
Interference of on is defined as the cumulative length of all intervals in where is ready to execute, but it cannot execute on any processor while jobs of do, which assumes that a mode transition occurs at for .
Similar the LO-mode case, DA for MC-CF reduces by exploiting the priority-demotion policy of MC-CF in the HI-mode (Lines 9–11 in Algorithm 1). The following lemma presents an important property of MC-CF in the HI-mode.
Lemma 5.
A Job of can interfere with any job during at most time slots in the LO-mode.
Proof.
The proof is derived straightforwardly from Lemma 4 by substituting and in Lemma 4 to and , respectively. □
Let denote the maximum workload of performed in contending slots in an interval of length ℓ when is scheduled by MC-CF with FP scheduling, which assumes that a mode transition occurs when the amount of time elapses from the beginning of the interval of length ℓ. Figure 4 presents the worst-case scenario where occurs. As shown in Figure 4, only amount of execution of the last job after a mode transition (e.g., the right-most job in Figure 2) is included in an interval of length ℓ. Then, the previous jobs are executed as late as possible without a deadline miss; the first job before the mode transition executes for , and the second job experiencing the mode transition executes for in contending slots. With the reasoning, is calculated as follows:
where is the number of jobs executing for given by
and is given by
Figure 4.
Scenario where for occurs.
By the definition of and , is upper bounded by . Then, the following provides DA for HI-mode when MC-CF is applied.
Lemma 6.
A task set is schedulable under MC-CF in the HI-mode if the following holds with given for each task :
Proof.
For to miss its deadline in the HI-mode, is executed at most time units in [), and, at each time slot, interference from at least m other jobs is needed to block ’s execution. Thus, the job cannot miss its deadline if the total interference of other jobs on a job of is less than . □
Since MC-CF cannot predict the timing of the mode transition, we need to consider all for to guarantee the schedulability of in the HI-mode. Thus, the following theorem completes DA for MC-CF for HI-mode.
Theorem 3.
A task set is schedulable under MC-CF with FP scheduling in the HI-mode Equation (18) holds for every and each task
We then derive schedulability analysis for EDF scheduling. Let denote the maximum execution of higher-priority jobs performed in contending slots in an interval of length when is scheduled by MC-CF with EDF scheduling, which assumes that a mode transition occurs when the amount of time elapses from the beginning of the interval of length ℓ. Figure 5 presents the worst-case scenario where occurs. The difference with Figure 4 is that the last job’s deadline cannot be later than the end of ℓ. With the reasoning, is calculated as follows:
where is the number of jobs executing for given by
and is given by
Figure 5.
Scenario where for occurs.
By the definition of and , is upper bounded by when EDF is applied. Then, the following provides DA for HI-mode when MC-CF with EDF scheduling is applied.
Lemma 7.
A task set is schedulable under MC-CF with EDF scheduling in the HI-mode if the following holds with given for each task :
Proof.
The proof is the same as Lemma 6. □
The following theorem completes DA for MC-CF with EDF scheduling for HI-mode.
Theorem 4.
A task set is schedulable under MC-CF with EDF scheduling in the HI-mode Equation (22) holds for every and each task
6. Evaluation
In this section, we evaluate the performance of the proposed MC-CF under various environmental settings. We modified the simulation program used in [13] to accommodate the features of mixed-criticality. The simulation code is implemented by JAVA and runs on a desktop machine (e.g., equipped with Intel i5-9400F CPU and 32 GB RAM). It provides a number of functions regarding task set generation, scheduling simulation, and schedulability analysis. We consider RM scheduling EDF scheduling as base scheduling algorithms in which the proposed MC-CF is applied. We randomly generates task sets with various input factors; then, we measure the number of task sets deemed schedulable by DA designed for RM, RM with MC-CF, EDF and EDF with MC-CF (represented by MC-RM, MC-CF-RM, MC-EDF, and MC-CF-EDF, respectively).
We use MC-tailored UUnifast-discard [28,29] to randomly generate task sets, which is a popular technique to evaluate the performance of the schedulablity analysis developed for multiprocessors. UUnifast-discard basically considers three input parameters to generate task sets: the number of processors m, the number of tasks n, and task set utilization . As we consider MC systems, we further consider two input parameters [9]: defined by , and defined as the probability of each task having . For our evaluation settings, we have , , , , and . Given the three inputs m, n, and U, UUnifast-discard first determines every task’s utilization , Then, of each task is uniformly chosen in , and is determined by ). Thereafter, is selected as with probability , otherwise is determined as . If , is set to . We generate 100 task sets for each setting, thereby yielding 100 * (8 + 6) * 16 * 3 * 5 = 336,000 task sets in total.
Figure 6 presents the evaluation results to compare the performance of MC-RM and MC-CF-RM in different evaluation settings. Figure 6a–l show the number of task sets over varying task set utilization with different values of m, , and . The performance gap between MC-CF-RM and MC-RM becomes larger for smaller and , and thus it becomes smaller for larger and as shown in Figure 6a,f. This is because the performance improvement resulting from the CF policy is determined by the value of and as Equation (9) and (15) indicate, but is derived in a rather pessimistic way as it considers every for . Such the inevitable drawback for deriving is from the characteristic of normal MC systems such that it is not clairvoyant with respect to the timing of a mode transition. Thus, task sets having smaller LO-criticality tasks can have a higher chance to be schedulable under MC-CF. As presented in Figure 6g,l, a similar trend is shown for with . In addition, a similar trend is observed in Figure 6m–p; while Figure 6a–l show the number of schedulable task sets for a varying value of U with a fixed value of , Figure 6m–p present the results obtained by varying the value of .
Figure 6.
Experimental comparison of MC-RM and MC-CF-RM.
Figure 7 presents the number of task sets deemed schedulable over different values of with fixed values of m and . As shown in Figure 7, compared to Figure 6, the performance gap between MC-EDF and MC-CF-EDF is much prominent. This is because -RM series considered the FP scheduling that interference from lower-priority tasks (and jobs) are not considered when the schedulability of a task is judged, while -EDF series considered EDF scheduling and interference from all tasks (and jobs) other than are considered. This implies that upper bounded interference from higher-priority tasks under FP is normally (but not always) smaller than EDF when we applied our proposed DA test.
Figure 7.
Experimental comparison of MC-EDF and MC-CF-EDF.
Figure 8 plots the number of task sets deemed schedulable under MC-CF-RM by varying the value of U for fixed values of m, , and . In Figure 8, represents the experimental results from task sets in which each task set contains tasks. Thus, a task in a task set with a smaller number of n and the same U may have higher task utilization . This leads to the phenomenon shown in Figure 8 such that lower n results in higher performance. This is because the underlying idea of DA is to add up the worst-case workload of higher-priority tasks according to Theorem 1 and Lemma 6. The worst-case workload derived in this way is the upper-bounded workload rather than the exact one, and thus the pessimism becomes prominent as n increases. As seen in Figure 8a, and yield the highest and lowest performance, respectively, for , , and . Compared to the combination of , , and (Figure 8a), that of , , and ((Figure 8b) deliver lower performance because the task sets in the setting contain a higher number of HI-criticality tasks.
Figure 8.
Experimental results of MC-CF-RM in a varying number of task sets.
7. Conclusions
We propose MC-CF for MC multiprocessor systems and MC-CF tailored schedulability analysis to support it. We defined the notion of contention-free slots for two different criticalities (of MC systems) of tasks, proposed a technique to specify an upper bound for the amount to be utilized for each task, and finally explained the systematic utilization of contention-free slots to improve the schedulability of MC multiprocessor systems. Next, we developed DA for MC-CF. Using the experimental results with various environmental settings, we demonstrated that MC-CF can significantly improve the schedulability of fixed-priority scheduling. As a limitation of the proposed MC-CF and DA, it derives the lower bound of contention-free slots and judges the schedulability of a HI-criticality task in a rather time-consuming way. In the future, we plan to develop a less time-consuming method to overcome the aforementioned limitation. In addition, considering heterogeneous platforms appears to be promising for future work.
Author Contributions
Conceptualization, H.B. and K.L.; Software, H.B.; data curation, K.L.; writing—original draft preparation, H.B. and K.L.; writing—review and editing, K.L.; Supervision, H.B.; project administration, H.B.; funding acquisition, H.B. All authors have read and agreed to the published version of the manuscript.
Funding
This work was supported by the Incheon National University (International Cooperative) Research Grant in 2019.
Conflicts of Interest
The authors declare no conflict of interest.
References
- Baruah, S.; Mok, A.; Rosier, L. Preemptively scheduling hard-real-time sporadic tasks on one processor. In Proceedings of the IEEE Real-Time Systems Symposium (RTSS), Lake Buena Vista, FL, USA, 5–7 December 1990; pp. 182–190. [Google Scholar]
- Anderson, J.H.; Srinivasan, A. Early-release fair scheduling. In Proceedings of the 12th Euromicro Conference on Real-Time Systems, Euromicro, RTSECRTS, Stockholm, Sweden, 19–21 June 2000; pp. 35–43. [Google Scholar]
- Cho, H.; Ravindran, B.; Jensen, E.D. An Optimal Real-Time Scheduling Algorithm for Multiprocessors. In Proceedings of the 27th IEEE International Real-Time Systems Symposium (RTSS’06), Rio de Janeiro, Brazil, 5–8 December 2006; pp. 101–110. [Google Scholar]
- Regnier, P.; Lima, G.; Massa, E.; Levin, G.; Brandt, S. RUN: Optimal Multiprocessor Real-Time Scheduling via Reduction to Uniprocessor. In Proceedings of the IEEE Real-Time Systems Symposium (RTSS), Vienna, Austria, 29 November–2 December 2011; pp. 104–115. [Google Scholar]
- Andersson, B.; Tovar, E. Multiprocessor Scheduling with Few Preemptions. In Proceedings of the 12th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA’06), Sydney, Australia, 16–18 August 2006; pp. 322–334. [Google Scholar]
- Levin, G.; Funk, S.; Sadowski, C.; Pye, I.; Brandt, S. DP-FAIR: A Simple Model for Understanding Optimal Multiprocessor Scheduling. In Proceedings of the Euromicro Conference on Real-Time Systems (ECRTS), Brussels, Belgium, 6–9 July 2010; pp. 3–13. [Google Scholar]
- Ernst, R.; Natale, M.D. Mixed Criticality Systems—A History of Misconceptions? IEEE Des. Test 2016, 33, 65–74. [Google Scholar] [CrossRef]
- Anderson, J.H.; Baruah, S.; Brandenburg, B.B. Multicore operating-system support for mixed criticality. In Proceedings of the Workshop on Mixed-Criticality: Roadmap to Evolving UAV Certification, San Francisco, CA, USA, 16 April 2009. [Google Scholar]
- Pathan, R. Schedulability Analysis of Mixed-Criticality Systems on Multiprocessors. In Proceedings of the Euromicro Conference on Real-Time Systems (ECRTS), Pisa, Italy, 11–13 July 2012; pp. 309–320. [Google Scholar]
- Baek, H.; Jung, N.; Chwa, H.S.; Shin, I.; Lee, J. Non-Preemptive Scheduling for Mixed-Criticality Real-Time Multiprocessor Systems. IEEE Trans. Parallel Distrib. Syst. 2018, 29, 1766–1779. [Google Scholar] [CrossRef]
- Baker, T.P.; Cirinei, M.; Bertogna, M. EDZL Scheduling Analysis. Real Time Syst. 2008, 40, 264–289. [Google Scholar] [CrossRef]
- Lee, J.; Easwaran, A.; Shin, I. Maximizing Contention-Free Executions in Multiprocessor Scheduling. In Proceedings of the IEEE Real-Time Technology and Applications Symposium (RTAS), Chicago, IL, USA, 11–14 April 2011; pp. 235–244. [Google Scholar]
- Lee, J.; Easwaran, A.; Shin, I. Contention-Free Executions for Real-Time Multiprocessor Scheduling. ACM Trans. Embed. Comput. Syst. 2014, 13, 1–69. [Google Scholar] [CrossRef]
- Jung, N.; Baek, H.; Lim, D.; Lee, J. Incorporating Zero-Laxity Policy into Mixed-Criticality Multiprocessor Real-Time Systems. IEICE Trans. Fundam. Electron. Commun. Comput. Sci. 2018, 101, 1888–1899. [Google Scholar] [CrossRef]
- Burns, A.; Davis, R.I. Mixed Criticality Systems—A Review; University of York: York, UK, 2015. [Google Scholar]
- Bertogna, M.; Cirinei, M. Response-Time Analysis for Globally Scheduled Symmetric Multiprocessor Platforms. In Proceedings of the 28th IEEE International Real-Time Systems Symposium (RTSS 2007), Tucson, AZ, USA, 3–6 December 2008; pp. 149–160. [Google Scholar]
- Baek, H.; Lee, J.; Shin, I. Multi-Level Contention-Free Policy for Real-Time Multiprocessor Scheduling. J. Syst. Softw. 2018, 137, 36–49. [Google Scholar] [CrossRef]
- Baek, H.; Lee, J. Improved Schedulability Analysis of the Contention-Free Policy for Real-Time Systems. J. Syst. Softw. 2019, 154, 112–124. [Google Scholar] [CrossRef]
- Vestal, S. Real-Time Sampled Signal Flows through Asynchronous Distributed Systems. In Proceedings of the IEEE Real-Time Technology and Applications Symposium (RTAS), San Francisco, CA, USA, 7–10 March 2005; pp. 170–179. [Google Scholar]
- Baruah, S.; Bonifaci, V.; D’Angelo, G.; MarchettiSpaccamela, A.; van der Ster, S.; Stougie, L. Mixed-criticality scheduling of sporadic task systems. In Proceedings of the 19th Annual European Symposium on Algorithms, Saarbrücken, Germany, 5–9 September 2011; pp. 555–566. [Google Scholar]
- Baruah, S.; Bonifaci, V.; D’Angelo, G.; Marchetti-Spaccamela, H.L.A.; van der Ster, S.; Stougie, L. The Preemptive Uniprocessor Scheduling of Mixed-Criticality Implicit-Deadline Sporadic Task Systems. In Proceedings of the Euromicro Conference on Real-Time Systems (ECRTS), Pisa, Italy, 11–13 July 2012; pp. 145–154. [Google Scholar]
- Baruah, S.; Burns, A.; Davis, R.I. Response-Time Analysis for Mixed Criticality Systems. In Proceedings of the IEEE Real-Time Systems Symposium (RTSS), Vienna, Austria, 29 November–2 December 2011; pp. 34–43. [Google Scholar]
- Baruah, S.; Li, H.; Stougie, L. Toward the design of certifiable mixed-criticality systems. In Proceedings of the IEEE Real-Time Technology and Applications Symposium (RTAS), Stockholm, Sweden, 12–15 April 2010; pp. 13–22. [Google Scholar]
- Li, H.; Baruah, S. An algorithm for scheduling certifiable mixed-criticality sporadic task systems. In Proceedings of the IEEE Real-Time Systems Symposium (RTSS), San Diego, CA, USA, 30 November–3 December 2010; pp. 183–192. [Google Scholar]
- Baruah, S. Schedulability Analysis for a General Model of Mixed-Criticality Recurrent Real-Time Tasks. In Proceedings of the IEEE Real-Time Systems Symposium (RTSS), Porto, Portugal, 29 November–2 December 2016. [Google Scholar]
- Li, H.; Baruah, S. Global mixed-criticality scheduling on multiprocessors. In Proceedings of the Euromicro Conference on Real-Time Systems (ECRTS), Pisa, Italy, 10–13 July 2012; pp. 166–175. [Google Scholar]
- Lee, J.; Phan, K.; Gu, X.; Lee, J.; Easwaran, A.; Shin, I.; Lee, I. MC-Fluid: Fluid Model-Based Mixed-Criticality Scheduling on Multiprocessorss. In Proceedings of the IEEE Real-Time Systems Symposium (RTSS), Rome, Italy, 2–5 December 2014; pp. 41–52. [Google Scholar]
- Davis, R.; Burns, A. Priority Assignment for Global Fixed Priority Pre-emptive Scheduling in Multiprocessor Real-Time Systems. In Proceedings of the IEEE Real-Time Systems Symposium (RTSS), Washington, DC, USA, 1–4 December 2009; pp. 398–409. [Google Scholar]
- Bini, E.; Buttazzo, G. Measuring the performance of schedulability tests. Real Time Syst. 2005, 30, 129–154. [Google Scholar] [CrossRef]
© 2020 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).