Theoretical Foundations of Utility Accrual for Real-Time Systems
Abstract
Providing guaranteed quantification of properties of soft real-time systems is important in practice to ensure that a system performs correctly most of the time. We study utility accrual for real-time systems, in which the utility of a real-time job is defined as a time utility function with respect to its response time. Essentially, we answer the fundamental questions: Does the utility accrual of a periodic real-time task in the long run converge to a single value? If yes, to which value?
We first show that concrete problem instances exist where evaluating the utility accrual by simulating the scheduling algorithm or conducting scheduling experiments in a long run is erroneous. Afterwards, we show how to construct a Markov chain to model the interactions between the scheduling policy, the probabilistic workload of a periodic real-time task, the service provided by the system to serve the task, and the effect on the utility accrual. For such a Markov chain, we also provide the theoretical fundamentals to determine whether the utility accrual converges in the long run and the derivation of the utility accrual if it converges.
Keywords and phrases:
Soft Real-Time Systems, Utility Accrual, Markov Chains, Dismiss PointsCopyright and License:
2012 ACM Subject Classification:
Computer systems organization Embedded software ; Computer systems organization Real-time system specificationFunding:
††margin:
This result is part of a project (PropRT) that has received funding from the European Research Council (ERC) under the European Union’s Horizon 2020 research and innovation programme (grant agreement No. 865170).
Editors:
Renato MancusoSeries and Publisher:
Leibniz International Proceedings in Informatics, Schloss Dagstuhl – Leibniz-Zentrum für Informatik
1 Introduction
Soft real-time systems, which are common among industrial real-time systems, can tolerate occasional deadline misses. Specifically, a recent empirical study on industrial real-time systems by Akesson et al. [4] reports that 67% of the investigated systems have soft timing constraints. Furthermore, safety standards such as IEC-61508 [30] and ISO-26262 [31] allow occasional deadline misses if the probability of deadline failure is upper bounded.
Hence, providing guaranteed quantification of properties of soft real-time systems is important in practice to ensure that a system performs correctly most of the time. Such quantitative assessments can be deterministic measures (e.g., the maximum number of deadline misses for every jobs [28, 20, 6, 59, 58], bounded tardiness [22, 36, 11], etc.) or probabilistic measures. According to the survey by Davis and Cucu-Grosjean [21], two probabilistic guarantees for real-time systems are primarily studied. Suppose that is the probability that the -th job misses its deadline.
For adaptive real-time systems, the scheduling decisions are made at run-time to incorporate a changing environment. This allows a more efficient resource usage and graceful degradation of system performance, as pointed out by Prasad et al. [56]. Instead of applying the metric of deadline misses, Jensen et al. [32] proposed to utilize a time utility function to specify the semantics of utility accrual, based on the response time of a real-time job. Burns et al. [9] further discussed utility accrual (denoted as value assignment) and presented a framework for value-based scheduling. Prasad et al. [56] investigated both the assignment and the usage of the values.
Let be the utility accrual of a real-time job when its response time is . Suppose that is a discrete random variable, indicating the response time of the -th job of a recurrent task. The utility accrual in the long run is informally defined as
Hence, to derive the utility accrual in the long run, it is necessary to derive the probability distribution of the response time of the jobs. Furthermore, when designing a scheduler to maximize the utility accrual, the key component is incorporating decisions on whether a job should be admitted for execution, whether a job should be aborted if it misses its deadline, etc. Towards this, several studies, e.g., [35, 37, 39, 5, 38, 34, 51, 12, 19, 29, 71, 34], have developed algorithms to maximize the utility accrual for different system models.
Specifically, Locke’s Best Effort Scheduling Algorithm [39] (LBESA) is the first publicized algorithm for maximizing utility accrual for preemptive jobs with arbitrary time-utility functions. The LBESA examines the jobs in the earliest-deadline-first (EDF) order and rejects jobs with lower potential utility densities until the schedule is feasible. LBESA has been extended in the literature, e.g., [5, 51, 38, 37]. Further studies considering non-preemptive schedulers [12, 70] and resource sharing [17, 18] have been provided.
Koren and Shasha [35] designed an online algorithm for maximizing the utility accrual of overloaded systems and proved that their algorithm achieves the optimal competitive factor against an offline (clairvoyant) algorithm. However, their algorithm was later shown to have poor average performance [37]. Utility accrual has been also adopted as constraints when considering measures related to power consumption [34]. Tidwell et al.[65, 64] developed analysis and strategies based on Markov decision processes to maximize the expected utility accrual.
Despite the rich literature on scheduling policies aimed at maximizing the utility accrual of real-time tasks, to the best of our knowledge, no formal derivation exists for the utility accrual of a scheduling algorithm handling real-time tasks with stochastic behavior. Instead, existing studies primarily assess utility accrual through long-term simulations of scheduling algorithms or empirical scheduling experiments.
In this paper, we lay the theoretical foundations for deriving the utility accrual of scheduling algorithms when real-time tasks have a stochastic behaviour. Not only is such fundamental work, to the best of our knowledge, currently missing in the literature; we also show in Section 3 that intuitive approaches to determine the utility accrual, like conducting long-running simulations or considering the expected value, may lead to erroneous results.
Our Contributions:
We analyze the utility accrual (in the long run) of a periodic soft real-time task , served by a reservation server, a time division multiple access (TDMA), or alike. To the best of our knowledge, this is the first paper which provides an analytical framework for such a scenario.
-
In Section 3, we provide a rigorous definition of the utility accrual in the long run. We show that concrete problem instances exist where evaluating the utility accrual by simulating the scheduling algorithm or conducting scheduling experiments in a long run is erroneous. The key issue is that the utility accrual of a scheduling algorithm can converge towards different values depending on initial conditions. Therefore, validating the convergence to a unique value is necessary. Furthermore, we explain why the expected value of the utility accrual can be different from the utility accrual in the long run.
-
Our analysis is based on Markov chain models, convergence, and ergodicity – concepts we recap in Section 4. In Section 5, we show how to construct a Markov chain to model the interactions between the scheduling policy, the probabilistic workload of a periodic real-time task, and the service provided by the system to serve the task, as well as their effect on the utility accrual. For such a Markov chain, we also provide the theoretical fundamentals to determine whether the utility accrual converges in the long run and the derivation of the utility accrual if it converges.
-
Section 6 adopts three example schedulers to demonstrate how to utilize the constructions of Markov chains in Section 5. Specifically, we demonstrate in Section 6.1 how to systematically prove the non-existence of convergence for the example in Section 3.2. We evaluate the impact of parameter settings on the utility accrual and examine the scalability of our approach in Section 7.
2 System Model
This section provides the studied periodic task model in Section 2.1, the definition of time utility functions in Section 2.2, a description of supply functions for the service provided to the periodic task in Section 2.3, and how scheduling policies serve the periodic task when considering specific supply functions in Section 2.4.
2.1 Task Model
We consider a soft real-time system which can tolerate occasional deadline misses. We focus on one periodic real-time task , which is serviced by a greedy processing component (GPC) [60] in a uniprocessor system.
The periodic soft real-time task is modeled by a tuple , where is its period, is its relative deadline, and is a random variable that describes the execution time. The task releases an infinite number task instances, called jobs, where its -th job is denoted by . The first job is assumed to be released at time . Hence, job is released at time and its absolute deadline is .
We assume follows a discrete distribution; that is, has distinct values each with a related probability. The probability that a random variable is equal to is denoted as . The actual execution time of job is assumed to be one of the distinct values. Therefore, . The execution times of the soft real-time jobs are assumed independent and identically distributed (iid). Thus, their joint probability is equal to the product of their probabilities. The execution times of jobs are described by the random variables which are independent copies of .
The response time of a job, denoted as for job , is defined as its finishing time minus its release time. We note that a job may be dismissed (aborted) by the system before its completion. For such cases, is denoted as ↯ for brevity. In this work, we consider discrete time, i.e., all the above values relevant to time are integers.
2.2 Time Utility Function
As we consider soft real-time systems, even after job misses its deadline at , it can be reasonable that the job is further executed, since, contrary to hard real-time tasks, a late result may still provide a certain utility to the system. To quantify the utility accrual of a job according to its response time, the task is associated with a time/utility function (TUF), denoted as .
The TUF is a function that maps the response time of a job to a utility value. That is, . We assume that the time utility function of the task is piecewise defined and that the domain is partitioned at two time points: at the deadline and at a termination time point . We assume is for any (i.e., the job meets its deadline and provides full utility), is less than for any (i.e., the job misses its deadline but still provides some utility), and is if it finishes after or is dismissed (i.e., the job result is too late to be useful and the job gets a utility penalty). We assume to be non-increasing with respect to for .
In summary, ,
| (4) |
We note that the domain of can be set to , as all timing parameters are assumed to be integers. We choose to use the domain , as this in many situations allows to more easily specify the utility function.
We do not assume any relationship of and (i.e., is an arbitrary-deadline task) and only make the non-trivial assumptions and . This model generalizes the existing hard, soft, and firm real-time models:
-
For a hard real-time task that does not allow deadline misses, is set to and the penalty is set to . We note that this implies the necessity to meet all deadlines and is not studied in this paper.
-
For a firm real-time task a job is considered not useful after its deadline miss; thus, is set to and the penalty is set to .
-
For a soft real-time task, multiple scenarios (and their combinations) are applicable:
-
–
If a job is only considered useful up to a certain point after its deadline miss, denoted in this paper by a relative dismiss point , then can be set to .
-
–
If a job receives a penalty when it is not completed, is set to the penalty (i.e., it has a negative utility).
-
–
Figure 1 illustrates some possible scenarios. A firm real-time task is shown in Figure 1(a). For soft real-time, between and , could be linear, concave, or step-wise decreasing, as shown in Figure 1(b), 1(c), and 1(d), respectively. A negative utility at can be still more beneficial than dismissing a job, resulting in a penalty of , as shown in Figure 1(e).
The utility accrual for the case when is set to and the penalty is set to is identical to minus the deadline miss rate. Literature results for the deadline miss rate can therefore be applied, e.g., [21, 1, 2, 41, 3, 55, 54, 16, 24, 27, 25, 26, 42, 43, 45, 44], which is not further discussed here. Instead, we focus on the analysis of the utility accrual and utilize it for the explorations of the configurations of the scheduler.
We note that our results do not depend on the concrete structure of the utility function – it is sufficient when the Markov chain representation can be constructed for the given utility function. We restrict to functions according to the specification in Eq. (4) for the simplicity of presentation. Further discussions can be found in Section 8.
2.3 Supply Functions
We assume a soft real-time task that is served by a reservation server, a time division multiple access (TDMA), or alike. The jobs of are processed in a first-come-first-serve (FCFS) manner. As in Real-Time Calculus [62, 69, 68], we abstractly model this as a greedy processing component (GPC) [60].
We describe the supply provided by the GPC by specifying the supply in intervals of length . This approach allows to easily specify relatively complex but recurrent supply patterns. Specifically, for and , let the supply function be the amount of accumulative time, i.e., supply, the GPC provides in . By definition, . Furthermore, is a non-decreasing function.
We implicitly assume in this paper that is deterministic and how to extend our analysis to systems with upper/lower bounds on is discussed in Section 8. By reformulating , let be the supply the GPC provides in . The accumulative service provided by the GPC starting from to is denoted as
| (5) |
Example 1 (Supply Function based on TDMA).
Suppose that the TDMA cycle is and the service is from time to time (i.e., units of time) within the TDMA cycle. Then, and ,
| (8) |
Based on the above discussions, the interaction between the period of the soft real-time task and the accumulative service repeats periodically with a period of , i.e., the least common multiplier (LCM) of and . Let be . By definition is a positive integer. That is, the interaction between the period of the soft real-time task and the accumulative service repeats after considering jobs of .
In the above TDMA example, the supply function is the same for each interval of length . This approach can easily be extended to supply functions which are piecewise constructed. An example with two alternating supply functions (i.e., the supply in interval is described by and the supply in interval is described by ) can be found in Section 3.2 and the related Figure 2.
2.4 Scheduling Policies
We assume that the scheduler makes a decision on how to execute a job with the following properties:
-
When a job arrives at time , the scheduler decides whether this job is admitted, i.e., placed in the ready queue. This decision is made based on only information that is known at time .
-
The admission of is accompanied with a maximum waiting point , where is dismissed if it does not start its execution before . We assume that this configuration of is decided when is admitted and that .
-
The admission of is accompanied with a relative dismiss point , where is dismissed if it is not completed at an absolute dismiss point . We assume that this configuration of is decided either when is admitted or when starts its execution. For the rest of this paper, for simplicity, we assume that a job is always dismissed immediately if it has not yet been completed at time . Therefore, the response time of a job is either no more than or defined as ↯.
If a job is not admitted to the ready queue or is dismissed, its utility accrual is the penalty value . Without loss of generality, we assume that the first job is always admitted with a given relative dismiss point .
Although the above assumptions may not hold for all schedulers, we believe that they provide a good coverage. For instance, the following scheduling approaches are covered.
Example 2 (Constant Relative Dismiss Point and Constant Maximum Waiting Point).
At the time job arrives, the scheduler unconditionally admits and configures a constant maximum waiting point as well as constant relative dismiss point specified in the scheduler. By definition . If did not start by time , then is dismissed directly at the time when is the first job of in the ready queue (i.e., is not executed at all). If is not completed by time , then is dismissed at time . We denote such schedulers as . ∎
Example 3 (Number of Pending Jobs).
When job arrives, it is admitted if the total number of pending jobs for task (including the currently executing job and those unstarted jobs in the ready queue) does not exceed a specified threshold. Once is admitted, a maximum waiting point and a dismiss point can be configured. We denote this as . ∎
Example 4 (Variable Relative Dismiss Points).
If is admitted, depending on the number of pending jobs, an offset is configured and its absolute dismiss point is set to , where is the time point when starts its execution. We denote this as . ∎
We provide a general framework to construct Markov chains based the above properties of the schedulers. In case the target scheduler does not comply with these properties, a revision of the construction of the Markov chain in Section 5 is needed. We provide further discussions on this matter in Section 8.
3 Problem Definition
This paper studies the following question:
For a given scheduling policy (scheduler) , which utility accrual can be expected in the long run?
To answer this question, in Section 3.1, we first define the utility accrual for bounded intervals and then extend to unbounded intervals. Afterwards, in Section 3.2 (Section 3.3, respectively), we explain why simulating the scheduling policy or conducting scheduling experiments (considering the expected utility accrual, respectively) in a long run may lead to erroneous results.
3.1 Utility Accrual of the First Jobs and in the Long Run
Under a given scheduling policy , let be a discrete random variable, indicating the response time of the -th job of the real-time task . By definition, is in . Hence, the utility accrual of the first jobs of task is a random variable that is determined by accumulating their corresponding time utility and dividing by :
| (9) |
Note that not admitted or dismissed jobs contribute the penalty value in Equation (9).
The utility accrual of task in the long run is when . However, as is a random variable, it must be shown that converges towards a single value almost surely. Essentially, we need to answer the following fundamental questions:
Does actually converge to a single value? If yes, to which value?
In case converges to a constant value almost surely, then is denoted as the long-term utility accrual and satisfies
| (10) |
3.2 Convergence of Utility Accrual
We now demonstrate why simulating the scheduling policy or conducting scheduling experiments in a long run may converge towards different values depending on initial conditions, based on the concrete example in Figure 2; thus, the utility accrual is not well-defined. Assume the following implementation of a scheduler based on Example 4:
-
When a job arrives at , it is admitted unconditionally. Let be a Boolean variable indicating whether there is any unfinished job before is released for execution.
-
The absolute dismiss point is then set dependent on the start time of the job . Suppose that starts its execution at time . The absolute dismiss point is set to if is false or if is true.
Assume we have two alternating supply functions :
| (11c) | ||||
| (11f) | ||||
The intervals where supply is provided are depicted in gray in Figure 2.
The periodic task has the parameters , , and its execution time is described by and . The utility function is
| (15) |
We now show that the long-term utility accrual is not well-defined for this concrete example. Specifically, we show that for the above example the system behavior depends on the execution time of the first job.
We depict the two possible schedules in Figure 2, where upwards arrows are job releases and the small gray boxes indicate the service for task . The boxes labeled is the interval where can be executed. A box with blue dashed lines indicates a job where is always , a red box a job where is always , and a white box an unclear utility (either or ).
-
For , the schedule is depicted in Figure 2(a). finishes at time and starts executing at time , setting its absolute dismiss point to . Regardless whether is or , is dismissed at time . Thus, starts at time with an absolute dismiss point at . At time , either finishes its execution for or is dismissed for . Each of the subsequent jobs either has a response time of or is dismissed. That is, or for . Thus, the utility accrual for every job and, therefore, also in the long run is .
-
For , the schedule is depicted in Figure 2(b). finishes at time and starts at time with an absolute dismiss point of . If is , then finishes at time with utility ; otherwise is dismissed at time with utility . Hence, the scheduler unconditionally starts the execution of at time , with an absolute dismiss point of . is always dismissed at time . The scheduler repeats the above pattern for . In summary, we have the following cases:
-
–
For , with probability each, (i) when is then is and , and (ii) when is then is ↯ and .
-
–
For , is ↯ and .
Interestingly, in this example are independent and identically distributed (i.i.d.) random variables for .
Hence, if , we can calculate the utility accrual as:
For , we get and . Furthermore, since are i.i.d. random variables, we can apply the classical central limit theorem. That is, converges to the expected value for almost surely. Hence, the long-term utility in that case is .
-
–
Since the utility accrual converges towards two different values with a probability of each (dependent only on the execution behavior of the first job), the long-term utility accrual is undefined. By simulating the scheduling policy or conducting scheduling experiments, the utility accrual in the long run is either or , each with probability. Hence, although each simulation or experiment returns a concrete value, these values do not represent the long run utility accrual.
3.3 Convergence versus Expected Value
We now show that the expected value of utility accrual is also different from the utility accrual in the long run. The expected utility accrual of the schedule can be expressed as:
| (16) |
We use the example in Section 3.2 to demonstrate that the expected utility accrual is not necessarily the same as the utility accrual in the long run. Recall that and . Furthermore, when is the conditional probabilities for are
In addition, when is , the conditional probabilities for are
and for are
Hence, we get an expected value of
For , we have and . Therefore, .
We have shown that the expected utility accrual is , whilst the utility accrual in a long run is either or , each with probability. We note that the definition of Eq. (16) should be used to derive the expected utility accrual of all possible realizations of . However, our focus is the convergence of the utility accrual of any possible realizations of in the long run, which can differ from the expected utility accrual, as demonstrated here.
4 Markov Chains, Convergence, and Ergodicity
As discussed in Section 3.1, the key ingredient for determining the long-term utility accrual is the calculation of a limit . To achieve this, we built on the well-established foundation of Markov chains. We summarize the parts we need based on the textbook by Norris [52, Chapter 1]. More specifically, in this section we discuss the properties for convergence of the utility accrual, assuming that the behavior of the scheduler can be described by a Markov chain. In Section 5, we demonstrate that indeed the schedulers specified in Section 2.4 can be described by Markov chains.
We start by recapitulating the definition of a Markov chain.
Definition 5 (Markov chain).
A discrete time Markov chain is a sequence of random variables from the sample space on a finite set , the so-called state space. The fundamental Markov property of a Markov chain is being memoryless, i.e., the probabilistic behavior of only depends on the result of . Formally, the Markov property is fulfilled if
| (17) |
where is the conditional probability of given . The Markov chain has an initial distribution , which is the probability distribution of . The probabilistic behavior is described by the transition matrix , defined as
| (18) |
That is, if for any , then with probability .
In this section, we assume that the behavior of the scheduler is described by a given Markov chain. That is, a finite set of states is defined describing the possible job behavior. Each is the random variable describing the behavior of the -th job . If , then the job behaves as described by state . Section 5 further discusses how to construct suitable Markov chains for different schedulers.
Let the function describe the utility accrual of a job indicated by state . In this situation, if the first jobs are indicated by the states , then the utility accrual of the first jobs can be calculated as . More generally, we formulate the random variable in terms of the Markov chain:
| (19) |
Thus, determining the long-term utility accrual reduces to whether Eq. (19) converges almost surely to .
The ergodic theory studies the limiting behavior of Markov chains. Intuitively, the ergodic theory states that in the long run the amount of times that a certain state is visited can be described by a stationary distribution, defined below. That is, if a stationary distribution can be calculated, then in the long run the ratio of jobs in state is .
Definition 6 (Stationary distribution).
A probability distribution with is stationary if
The ergodic theory is applicable when the Markov chain is irreducible. Intuitively, irreducible means that all nodes in the graph describing the Markov chain are connected by paths of non-zero probability.
Definition 7 (Irreducibility).
A Markov chain is called irreducible if for all states , there exist a sequence of states such that
| (20) |
This leads us to the ergodic theorem, which ensures the existence (and uniqueness) of a stationary distribution, as well as the limiting behavior towards that distribution. We reformulate from the textbook by Norris [52, Theorem 1.10.2].111[52, Theorem 1.10.2] further requires a positive recurrent Markov chain, which holds by definition if the Markov chain is finite and irreducible.
Theorem 8 (Ergodic Theorem [52]).
Consider a Markov chain with finite state space , transition matrix and initial distribution . Let be a bounded function. If is irreducible, then a unique stationary distribution exists, and
| (21) |
By choosing the function to count the utility accrual, we can use the ergodic theorem to calculate the long-run utility accrual.
Theorem 9 (Utility Accrual).
If is irreducible and has a finite state space , then the unique stationary distribution exists, and
| (22) |
In particular, the long-term utility accrual of the system described by the Markov chain is
| (23) |
Proof.
We apply Theorem 8 with to obtain
| (24) |
Since by Equation (19), this is equivalent to Equation (22). In particular, converges almost surely to . Hence, the long-term utility accrual is , if is irreducible and has a finite state space .
Since the state space of Markov chains considered in this work is finite, checking whether is irreducible can be done efficiently using Tarjan’s strong-connected-components algorithm [61, 53]. Moreover, the stationary distribution can be calculated by (i) solving the linear system , where is the identity matrix with on the diagonal and otherwise, and (ii) normalizing by setting to .
5 Construction of Markov Chains for Utility Accrual
In this section, we show the construction of a Markov chain that captures the execution of task served by a GPC with a supply function and analyze its correctness. We exemplify this construction process in Section 6.
To generate a Markov chain for a given system, we need to construct a set of states and transition probabilities for all such that:
-
the behavior of a realization of every job can be described by exactly one state in , and
-
if a realization of a job is described by a state , then the probability that a realization of the next job can be described by a state is exactly .
The amount of information stored in a state largely depends on the chosen scheduling policy. The more information is stored, the more complex scheduling policies can be described. However, more information increases the number of states and results in higher time/space complexity of the generation process. If the information of the state is too specific, e.g., storing the absolute finishing time in every state, then this might even result in an infinite state space. To avoid this, we exploit the periodicity of job releases and supply function.
We first detail necessary and policy-dependent information stored in the individual states. Afterwards, we explain the general procedure to generate states and transition probabilities; starting with the construction of initial states representing the first job and then constructing states of the subsequent jobs , based on the states of its preceding job .
States of the chain.
Assume that a realization of a job is in a state . To apply our analysis, the state needs to reflect the correct utility accrual . Furthermore, to correctly calculate the finishing time (and therefore the utility) of a subsequent job we need information about the remaining execution time after the subsequent job is released. That is, we add the remaining execution time at time , denoted as , to the state. Furthermore, we need to know the service that will be provided to the subsequent state. To achieve this, we add an index to the state indicating that the current job was served by service function . Hence, the subsequent job will be served by . Besides that, any further information that is needed for the decision-making of the scheduling policy (e.g., the number of pending jobs, to be demonstrated in Section 6.2) is denoted as . In conclusion, any state has four entries, i.e., . We exploit the periodic behavior of the service by the repetitive service functions in the states.
Initialization.
We start with an empty set of states and an empty transition matrix . In the following, we assume that all values of are set to if not actively set to a value . For the first job of , for each possible realization (i.e., execution-time value) of the random variable we generate a state , as follows:
-
If , then job meets its deadline for a realization of . This realization of has
(25) remaining execution time that will be executed in the interval .
The utility accrual is . -
If , then job misses its deadline for a realization of . Let be the minimum value with . We must consider two sub-cases:
-
–
finishes its execution no later than , i.e., . The utility accrual is . The remaining execution time that will be executed in the interval is again calculated with Eq. (25).
-
–
does not finish its execution at time , i.e., . The utility accrual is the penalty , as is dismissed before its completion. Some of the remaining execution time is dismissed after its relative dismiss point . Thus,
(26) remaining execution time will be executed in the interval .
-
–
By using the values of and constructed above, for each we generate a state where is the initial information revealed to the policy by job for the realization of . We add all states to and remove duplicates. That is, if two realizations result in the same state, the state is not considered twice. The initial distribution for is the sum of the probabilities of the realizations that result in the state .
State Constructions for .
We assume that the state set and the transition matrix is already constructed for all jobs . Specifically, we assume that for every realization of , a state describing the behavior of exists. Let be the set of all states without any successor states, i.e., . By assumption, all these nodes describe a possible behavior of job , since otherwise states that describe the behavior of the subsequent job would have been created. For each we generate new states describing the job behavior of job .
First, since we move to the function for job . For each for of the realizations of the random variable for the job of , we generate an by determining the following values:
-
If the scheduler does not admit the job based on the revealed information in , then is dismissed before its completion. The utility accrual is the penalty . The remaining execution time at is
(27) -
If the scheduler admits the job based on the revealed information in , then is placed into the ready queue and potentially executed.
-
–
If the job cannot start before its configured maximum starting time, i.e., , then is dismissed before it starts. The utility accrual is the penalty . The remaining execution time at time is the same as in Eq. (27).
-
–
If , then job meets its deadline for realization of . The remaining execution time at is
(28) This is similar to Eq. (25) by considering . The utility accrual is .
-
–
If , then misses its deadline for realization of . Let be the minimum value with . Two sub-cases must be considered:
-
*
has a response time no later than , i.e., . The utility accrual is . This realization of has the same remaining execution time as in Eq. (28) at .
-
*
cannot be finished by time , i.e., . The utility accrual is , as is dismissed before its completion. Thus, similar to Eq. (26), the remaining execution time is
(29)
-
*
-
–
For state generated from with realization , we define the transition probability as . If is not already in , then we add to . Otherwise, if there is another state that has identical information as , then we merge into by updating the transition probability as . By definition, after merging all states into , .
The creation of the Markov chain is completed, if all states in have successor states. In that case, we prove the following properties of correctness for the Markov chain.
Theorem 10.
For every , and every sequence of realizations , the behavior of job can be described by one of the states . Furthermore, the probability that is in a state is .
Proof.
We show the first part via contradiction. To that end, we assume that is the minimal natural number where a sequence of realizations of exists, such that the job cannot be described by any state in .
If , then the state for realization must have been added to during the initialization phase. Hence, that state describes the behavior of .
Furthermore, if , then let be the state of in the above sequence. Since the generation process only stops when has successor nodes, those successor nodes must have been created. In particular, the successor node that has been generated for realization describes the behavior of .
This contradicts the assumption that cannot be described by a state in , which proves the first part.
For the second part, we know that the successor nodes of have been generated to describe the behavior of for all possible realizations of . Let be the set of all realization that lead to being in state . Then by construction, , which means that is the probability that is in state .
6 Case Studies
In the following subsections, we demonstrate how to utilize the framework discussed in Section 4 to construct a Markov chain for the three scheduling policies defined in Section 2.4. Further notes on the extension to different scheduling policies are provided in Section 8.
6.1 Variable Relative Dismiss Points:
We first explain how to construct a Markov chain for the example used in Section 3.2. We also utilize this example to show that the non-existence of convergence can be observed directly by the constructed Markov chain. Recall the periodic soft real-time task has and , and two realizations of and , each with a probability. The supply functions are described in Eq. (11) and the time utility function is in Eq. (15). We also know that is .
As Figure 2 already illustrates parts of possible schedules, we utilize it to simplify the explanation, instead of applying the equivalent calculations of the remaining execution time using the equations stated in Section 5. Here, we do not need to utilize , since the remaining values (i.e., , , and ) already reveal sufficient information to determine the subsequent states. Thus, we always denote as .
Initialization.
For both realizations and , we construct the initialization states. When is , finishes at time (i.e., with remaining execution time of at time ) and the utility is . When is , finishes at time (i.e., with remaining execution time of at time ) and the utility is .
We create two states (in terms of defined in Section 5) for , one state is and the other is . We have .
State Constructions for .
We consider based on (i.e., ) and (i.e., ) as illustrated by the schedules of in Figure 2(b) and 2(a), respectively.
-
For , when job arrives at time the ready queue has unfinished workload which is going to be finished at time . will start its execution at time and will set its absolute dismiss point to be at time .
-
–
If is (i.e., the schedule in Figure 2(b)), then finishes at time and its utility accrual is . That is, the remaining execution time of the ready jobs at time is . We create a new state . The transition probability from to is .
-
–
If is , then is dismissed at time and its utility accrual is . That is, the remaining execution time of the ready jobs at time is . We create a new state . The transition probability from to is .
-
–
-
For , when job arrives at time the ready queue has unfinished workload which is going to be finished at time . will start executing at time and sets its absolute dismiss point to time . No matter whether is or is , misses its deadline and the remaining execution time of the ready jobs at time is , as illustrated in Figure 2(a). We create a new state . The transition probability from to is .
We then build the transitions from , , and for :
-
For both and , job starts its execution at time and is dismissed unconditionally at time (as depicted in Figure 2(b)). The resulting state is not identical to any of the existing states. Therefore, we create a new state . The transition probability from both and to is .
-
For , job starts its execution at time and is dismissed unconditionally at time (as depicted in Figure 2(a)). This results in a state , which is not identical to any of the existing states. Therefore, we create a new state . The transition probability from to is .
Now, we have two states and without successor nodes and continue by considering . As the remaining execution time of is the same as that of , we can apply the same analysis as for . That is, if is the resulting state is , which is identical to , and if is the resulting state , which is identical to . As both and were constructed before, we do not have to create new states. The transition probability from both to and is . As for the state , job will start its execution at time and is dismissed unconditionally at time . This results in a state , which is identical to . Therefore, we use instead of creating a new state. The transition probability from to is .
Discussions.
The constructed Markov chain, shown in Figure 3, captures all job realizations of according to Theorem 10. It consists of two strongly connected components, making it non-irreducible, thus Theorem 9 cannot be applied to compute long-term utility accrual. Rather than invalidating our analysis, this example highlights the necessity of rigorous analytical methods, as presented in this work.
6.2 Number of Pending Jobs:
We demonstrate how to utilize the internal state when the scheduling policy refers also to the number of pending jobs with a case study of a scheduler explained in Example 3, denoted as . Consider a periodic soft real-time task with , and two possible execution times:
-
and , and
-
and , .
Suppose is served by the supply function in Example 1 and that the time utility function of is defined as follows:
| (33) |
The maximum number of the pending jobs is set to . Consequently, when a job is released at time , once the number of jobs in the ready queue at time (including one that has started executing but is not yet finished) has already reached this limit, is not admitted, and the utility accrual of is . The relative dismiss point is set to .
We use to monitor the number of pending jobs. That is, we store the number of jobs completing or being dismissed in each upcoming period , and the aggregate of pending jobs is the sum of these list entries. More specifically, let be the number of jobs completing or being dismissed in the interval . Then, for a job being released at time the number of pending jobs can be calculated by , because no preceding job is executed after due to the dismiss point . Hence, it is sufficient to store in a state that describes a job released at time , since the subsequent job is admitted if and only if .
Due to space limitation, we only sketch the construction process with a focus on how to utilize the internal state .
Initialization.
For each of the two realizations and , we construct two initialization states (in terms of defined in Section 5) as and . We have .
State Constructions for .
For both and , the next job is always admitted. For state , it has probability to return to itself (when is ) and to transit to (when is ). For state , it has probability to transit to (when is ) and to transit to a new state .
We continue with as it has no successor node. The next job is always admitted as there is only one pending job. It has probability to transit to (when is ) and to transit to a new state .
We continue with as it has no successor node. The next job is always admitted as there is only one pending job. When is , this job has a response time of and we have a new state . When is , this job has a response time of and we have a new state . The transition probability from to is , so is the transition probability from to .
For state , since there are two pending jobs, the next job is not admitted, resulting in a new state with transition probability from to . For state , two pending jobs; thus, the next job is not admitted, and a new state is constructed with transition probability from to .
The state has no remaining execution time. Therefore, it has transition probability to and transition probability to . The state has the same remaining execution time and internal state as state . Therefore, it has transition probability to and transition probability to .
Discussions.
The constructed Markov chain is completed with states, depicted in Figure 4. Whenever a state is reached where the number of jobs in the ready queue hits the upper limit of (highlighted in red in Figure 4), the release of the next job is prohibited, and the process transitions to a penalty state (marked in blue). The resulting Markov chain is irreducible and a unique stationary distribution exists due to Theorem 8. More specifically, the resulting stationary distribution is , where each state of the states has the same probability. (We omit the calculation due to space limitation.) As a result, the UA in the long run is .
6.3 Constant Relative Dismiss Point and Constant Maximum Waiting Point:
We consider the example from Section 6.2 under a different scheduling policy by setting the relative dismissed point to without any constraint on the maximum waiting point. The initial states and are the same as in Section 6.2. Only one additional state is created. The detailed construction process is omitted due to space limitation. The resulting Markov chain is illustrated in Figure 5, marking the state with a dismissed job in blue. The resulting Markov chain is irreducible and a unique stationary distribution exists due to Theorem 8. More specifically, the resulting stationary distribution is . As a result, the UA in the long run is .
7 Exploration of Policy Parameters
In this section, we analyze the impact of parameter configurations on utility accrual for a given task. Additionally, we demonstrate the scalability of our approach by showing the average execution times for different steps relative to the number of states.
dismiss point .
tant maximum waiting point .
ber of pending jobs for .
Setup.
We revisit the task in Section 6.2 by individually considering three parameters for the scheduling policy:
-
a)
the relative dismiss point, i.e., ;
-
b)
the constant maximum waiting point, i.e., ; and
-
c)
the maximum number of pending jobs, i.e., . Here, we set a relative dismiss point at , as indicated by the utility function in Eq. (33), with a penalty of .
Impact on utility accrual.
Irreducible Markov chains for each scenario based on these scheduling strategies are constructed and analyzed. The results are depicted in Figure 6. Depending on the parameter, different patterns can be observed. Even minor changes can have a drastic effect, e.g., changing the maximum waiting point from to increases the utility accrual from to .
Complexity of Markov chain.
To study the impact of scheduling parameters on the complexity of the generated Markov chain, we configured three input dimensions: Maximum number of pending jobs, relative dismiss point, and maximum waiting point, each ranging from 5 to 60 in increments of 5. This resulted in a complete grid of 1,728 configurations. The output represents the number of reachable states in the constructed Markov chain, which ranges from 4 to 4,702 states. The results are shown in Figure 7. The analysis reveals that the relative dismiss point and the maximum waiting point have greater influence on the number of states. As these two parameters increase, the number of states grows rapidly. In contrast, the maximum number of pending jobs has a smaller effect on the number of states.
Scalability.
The scalability of our approach highly depends on the number of states in the constructed Markov chain, which is influenced by system configurations such as the relative dismiss points. A larger relative dismiss point increases the number of states. Using the described setting, we incrementally increase the relative dismiss point from to in steps of , with the termination time set to , where the time utility function decreases linearly from to .
Following the method outlined in Section 5, we (i) construct the Markov chain, (ii) verify its irreducible property, and (iii) compute the stationary distribution (utilizing the scipy.sparse.linalg.eigs library to numerically find eigenvectors of a sparse matrix in Python). Figure 8 illustrates the average runtime (of iterations) for these steps on a laptop equipped with an Intel i7-1360p processor and 32GB RAM. The results indicate that the time required to construct the Markov chain exhibits non-linear growth. The time to compute the stationary distribution depends on the number of states. Nonetheless, the time spent verifying the irreducible property remains minimal, i.e., it is less than second.
Stochastic Releases.
In addition to the deterministic scheduling policy discussed earlier, we investigate the use of a stochastic release mechanism. In this approach, the decision to release a new job is made probabilistically, depending on the current number of pending jobs in the ready queue. The release probability is fine-tuned using a model-based optimization approach, specifically Bayesian Optimization [33], with the goal of maximizing utility accrual.
We adopt the same setting as in Section 6.2, where the focus is on the number of pending jobs, i.e., . In the example provided in Section 6.2, once the number of pending jobs reaches , no further jobs are released, while prior to this, jobs are always released. For the stochastic release mechanism, we define an array , which specifies the release probability based on the current number of pending jobs. Specifically, if there are pending jobs at a given time, a job is released with probability .
A subset of the states for the generated Markov chain is shown in Figure 9, with . Here, is set to 1, indicating that when there are no pending jobs, a new job is released in the next period with probability 1 (states and ). Conversely, is set to 0, consistent with the design outlined in Section 6.2 (state ). The release probability for the case with one pending job, denoted by , can be adjusted to maximize utility accrual.
For instance, when there is one pending job, as represented by state , the probability of releasing a job is . Specifically, there is a probability of for the job to have an execution time of 2 (transitioning to state ) and another for the job to have an execution time of 6 (transitioning to state ). Alternatively, with probability , no job is released in the next period, resulting in a transition to state .
An optimization approach was applied to , with each element assigned a value in the range , aimed at improving utility accrual. In particular, the release probability was optimized to , leading to an improvement in utility accrual from (as shown in Figure 9-c, column 2) to . This result demonstrates that optimizations can be easily integrated, and further dedicated optimization efforts may yield even better outcomes.
8 Remarks and Extensions
Supply Bound Functions Based on Reservation Servers.
We have limited our attention to concrete supply functions. If the supply can only be described as upper and lower bounds, our construction framework in Section 5 requires a significant revision. The main reason is that the constructions of the states and transitions require very precise information. However, if we assume that the scheduler only makes a decision to dismiss a job at time points when the upper and lower bounds on the supply function coincide, then the construction in Section 5 can be applied. For example, for a hard constant bandwidth server (hard-CBS) [7], our method can be applied when the dismiss points always coincide with the budget replenishment period of the hard-CBS, as the upper and lower service curves are the same whenever the budget is replenished.
Arbitrary Time Utility Functions.
We note that utility functions which do not comply to Eq. (4) may better describe the behavior of a concrete system and are also considered in the literature. The Markov chain construction for a scheduler can accommodate any time utility function with minor adjustments. We opt to adopt Eq. (4) only to simplify the presentation and to illustrate the impact of parameter optimizations in Section 7.
Stochastic Scheduling Decisions.
We only consider schedulers with deterministic decision strategies. However, a scheduler can also adopt stochastic scheduling decisions. For example, the scheduler studied in Section 6.2 can stochastically admit a job with a certain probability when the number of pending jobs is . This can be directly integrated into the construction procedure in Section 5.
9 Conclusion
In this paper, we lay the theoretical foundations for deriving the utility accrual of scheduling algorithms when real-time tasks have a stochastic behaviour. We point out fundamental problems that have to be properly answered. The focus of this paper is the theoretical fundamentals to validate the existence of the convergence of the utility accrual in the long run and the derivation of the utility accrual if it converges.
Although our construction framework in Section 5 is generic, the automation depends on an ad-hoc configuration of the information needed for the decision making of the scheduling policy. How to design automatically and efficiently is an open problem. Furthermore, we hope to generalize our results for more general task models in the future.
References
- [1] Luca Abeni and Giorgio C. Buttazzo. Integrating multimedia applications in hard real-time systems. In IEEE Real-Time Systems Symposium, pages 4–13, 1998. doi:10.1109/REAL.1998.739726.
- [2] Luca Abeni and Giorgio C. Buttazzo. QoS guarantee using probabilistic deadlines. In Euromicro Conference on Real-Time Systems ECRTS, pages 242–249, 1999. doi:10.1109/EMRTS.1999.777471.
- [3] Luca Abeni, Nicola Manica, and Luigi Palopoli. Efficient and robust probabilistic guarantees for real-time tasks. J. Syst. Softw., 85(5):1147–1156, 2012. doi:10.1016/j.jss.2011.12.042.
- [4] Benny Akesson, Mitra Nasri, Geoffrey Nelissen, Sebastian Altmeyer, and Robert I. Davis. A comprehensive survey of industry practice in real-time systems. Real Time Syst., 58(3):358–398, 2022. doi:10.1007/s11241-021-09376-1.
- [5] Saud Ahmed Aldarmi and Alan Burns. Dynamic value-density for scheduling real-time systems. In 11th Euromicro Conference on Real-Time Systems (ECRTS), pages 270–277, 1999. doi:10.1109/EMRTS.1999.777474.
- [6] G. Bernat, A. Burns, and A. Liamosi. Weakly hard real-time systems. IEEE Transactions on Computers, 50(4):308–321, 2001. doi:10.1109/12.919277.
- [7] Alessandro Biondi, Alessandra Melani, and Marko Bertogna. Hard constant bandwidth server: Comprehensive formulation and critical scenarios. In IEEE International Symposium on Industrial Embedded Systems, SIES, pages 29–37. IEEE, 2014. doi:10.1109/SIES.2014.6871182.
- [8] Sergey Bozhko, Georg von der Brüggen, and Björn B. Brandenburg. Monte carlo response-time analysis. In 2021 IEEE Real-Time Systems Symposium (RTSS), pages 342–355, 2021. doi:10.1109/RTSS52674.2021.00039.
- [9] Alan Burns, Divya Prasad, Andrea Bondavalli, Felicita Di Giandomenico, Krithi Ramamritham, John A. Stankovic, and Lorenzo Strigini. The meaning and role of value in scheduling flexible real-time systems. J. Syst. Archit., 46(4):305–325, 2000. doi:10.1016/S1383-7621(99)00008-9.
- [10] Jian-Jia Chen, Mario Günzel, Peter Bella, Georg von der Brüggen, and Kuan-Hsun Chen. Dawn of the dead(line misses): Impact of job dismiss on the deadline miss rate. CoRR, abs/2401.15503, 2024. doi:10.48550/arXiv.2401.15503.
- [11] Jian-Jia Chen, Wen-Hung Huang, Zheng Dong, and Cong Liu. Fixed-priority scheduling of mixed soft and hare real-time tasks on multiprocessors. In 23rd IEEE International Conference on Embedded and Real-Time Computing Systems and Applications, RTCSA, pages 1–10, 2017. doi:10.1109/RTCSA.2017.8046312.
- [12] Ken Chen and Paul Mühlethaler. A scheduling algorithm for tasks described by time value function. Real Time Syst., 10(3):293–312, 1996. doi:10.1007/BF00383389.
- [13] Kuan-Hsun Chen and Jian-Jia Chen. Probabilistic schedulability tests for uniprocessor fixed-priority scheduling under soft errors. In 2017 12th IEEE International Symposium on Industrial Embedded Systems (SIES), pages 1–8, 2017. doi:10.1109/SIES.2017.7993392.
- [14] Kuan-Hsun Chen, Mario Günzel, Georg von der Brüggen, and Jian-Jia Chen. Critical instant for probabilistic timing guarantees: Refuted and revisited. In IEEE Real-Time Systems Symposium, RTSS, pages 145–157, 2022. doi:10.1109/RTSS55097.2022.00022.
- [15] Kuan-Hsun Chen, Niklas Ueter, Georg von der Brüggen, and Jian-Jia Chen. Efficient computation of deadline-miss probability and potential pitfalls. In 2019 Design, Automation Test in Europe Conference Exhibition (DATE), pages 896–901, 2019. doi:10.23919/DATE.2019.8714908.
- [16] Kuan-Hsun Chen, Georg von der Brüggen, and Jian-Jia Chen. Analysis of deadline miss rates for uniprocessor fixed-priority scheduling. In 24th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications, RTCSA, pages 168–178, 2018. doi:10.1109/RTCSA.2018.00028.
- [17] Hyeonjoong Cho. Utility Accrual Real-Time Scheduling and Synchronization on Single and Multiprocessors: Models, Algorithms, and Tradeoffs. PhD thesis, Virginia Tech, Blacksburg, VA, USA, 2006. URL: https://hdl.handle.net/10919/28855.
- [18] Hyeonjoong Cho, Binoy Ravindran, and E. Douglas Jensen. On utility accrual processor scheduling with wait-free synchronization for embedded real-time software. In Proceedings of the 2006 ACM Symposium on Applied Computing, pages 918–922, 2006. doi:10.1145/1141277.1141490.
- [19] Hyeonjoong Cho, Binoy Ravindran, and E. Douglas Jensen. Utility accrual real-time scheduling for multiprocessor embedded systems. J. Parallel Distributed Comput., 70(2):101–110, 2010. doi:10.1016/J.JPDC.2009.10.003.
- [20] Hyunjong Choi, Hyoseung Kim, and Qi Zhu. Job-class-level fixed priority scheduling of weakly-hard real-time systems. In 2019 IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS), pages 241–253, 2019. doi:10.1109/RTAS.2019.00028.
- [21] Robert I. Davis and Liliana Cucu-Grosjean. A survey of probabilistic schedulability analysis techniques for real-time systems. Leibniz Trans. Embed. Syst., 6(1):04:1–04:53, 2019. doi:10.4230/LITES-v006-i001-a004.
- [22] U. Devi and J. Anderson. Tardiness bounds under global EDF scheduling on a multiprocessor. In Proceedings of the 26th IEEE Real-Time Systems Symposium, pages 330–341, 2005.
- [23] J. L. Diaz, D. F. Garcia, Kanghee Kim, Chang-Gun Lee, L. Lo Bello, J. M. Lopez, Sang Lyul Min, and O. Mirabella. Stochastic analysis of periodic real-time systems. In 23rd IEEE Real-Time Systems Symposium (RTSS), 2002. doi:10.1109/REAL.2002.1181583.
- [24] Bernardo Villalba Frias, Luigi Palopoli, Luca Abeni, and Daniele Fontanelli. Probabilistic real-time guarantees: There Is Life Beyond the i.i.d. assumption. In IEEE Real-Time and Embedded Technology and Applications Symposium, RTAS, pages 175–186, 2017. doi:10.1109/RTAS.2017.18.
- [25] Anna Friebe, Filip Markovic, Alessandro V. Papadopoulos, and Thomas Nolte. Adaptive runtime estimate of task execution times using bayesian modeling. In IEEE International Conference on Embedded and Real-Time Computing Systems and Applications, RTCSA, pages 1–10, 2021. doi:10.1109/RTCSA52859.2021.00008.
- [26] Anna Friebe, Filip Markovic, Alessandro V. Papadopoulos, and Thomas Nolte. Continuous-emission markov models for real-time applications: Bounding deadline miss probabilities. In IEEE Real-Time and Embedded Technology and Applications Symposium, RTAS, pages 14–26, 2023. doi:10.1109/RTAS58335.2023.00009.
- [27] Anna Friebe, Alessandro Vittorio Papadopoulos, and Thomas Nolte. Identification and validation of markov models with continuous emission distributions for execution times. In IEEE International Conference on Embedded and Real-Time Computing Systems and Applications, RTCSA, pages 1–10, 2020. doi:10.1109/RTCSA50079.2020.9203594.
- [28] M. Hamdaoui and P. Ramanathan. A dynamic priority assignment technique for streams with (m, k)-firm deadlines. IEEE Transactions on Computers, 44(12):1443–1451, 1995. doi:10.1109/12.477249.
- [29] Xinfa Hu and Joseph Y.-T. Leung. Integrating communication cost into the utility accrual model for the resource allocation in distributed real-time systems. In The Fourteenth IEEE Internationl Conference on Embedded and Real-Time Computing Systems and Applications, RTCSA, pages 217–226, 2008. doi:10.1109/RTCSA.2008.34.
- [30] International Electrotechnical Commission (IEC). Functional safety of electrical / electronic / programmable electronic safety-related systems ed2.0, 2010.
- [31] International Organization for Standardization (ISO). Iso/fdis26262: Road vehicles - functional safety, 2000.
- [32] E. Douglas Jensen, C. Douglass Locke, and Hideyuki Tokuda. A time-driven scheduling model for real-time operating systems. In Proceedings of the 6th IEEE Real-Time Systems Symposium (RTSS), pages 112–122, 1985.
- [33] Donald R. Jones, Matthias Schonlau, and William J. Welch. Efficient Global Optimization of Expensive Black-Box Functions. Journal of Global Optimization, 13(4):455–492, 1998. doi:10.1023/A:1008306431147.
- [34] Mehdi Kargahi and Ali Movaghar. Performance optimization based on analytical modeling in a real-time system with constrained time/utility functions. IEEE Trans. Computers, 60(8):1169–1181, 2011. doi:10.1109/TC.2010.151.
- [35] Gilad Koren and Dennis E. Shasha. D; an optimal on-line scheduling algorithm for overloaded real-time systems. In Proceedings of the Real-Time Systems Symposium, pages 290–299, 1992. doi:10.1109/REAL.1992.242650.
- [36] H. Leontyev and J. Anderson. Tardiness bounds for FIFO scheduling on multiprocessors. In Proceedings of the 19th Euromicro Conference on Real-Time Systems, pages 71–80, pages 71-80, 2007.
- [37] Peng Li. Utility Accrual Real-Time Scheduling: Models and Algorithms. PhD thesis, Virginia Tech, Blacksburg, VA, USA, 2004. URL: https://hdl.handle.net/10919/28582.
- [38] Peng Li, Hyeonjoong Cho, Binoy Ravindran, and E. Douglas Jensen. Stochastic, utility accrual real-time scheduling with task-level and system-level timeliness assurances. In Eighth IEEE International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC), pages 216–223, 2005. doi:10.1109/ISORC.2005.52.
- [39] Carey Douglass Locke. Best-Effort Decision Making for Real-Time Scheduling. PhD thesis, Carnegie Mellon University, 1986.
- [40] José María López, José Luis Díaz, Joaquín Entrialgo, and Daniel F. García. Stochastic analysis of real-time systems under preemptive priority-driven scheduling. Real Time Syst., 40(2):180–207, 2008. doi:10.1007/s11241-008-9053-6.
- [41] Nicola Manica, Luigi Palopoli, and Luca Abeni. Numerically efficient probabilistic guarantees for resource reservations. In IEEE 17th International Conference on Emerging Technologies & Factory Automation, ETFA, pages 1–8, 2012. doi:10.1109/ETFA.2012.6489566.
- [42] Sorin Manolache, Petru Eles, and Zebo Peng. Memory and time-efficient schedulability analysis of task sets with stochastic execution time. In Euromicro Conference on Real-Time Systems (ECRTS), page 19, 2001. doi:10.1109/EMRTS.2001.933991.
- [43] Sorin Manolache, Petru Eles, and Zebo Peng. Schedulability analysis of multiprocessor real-time applications with stochastic task execution times. In IEEE/ACM International Conference on Computer-aided Design, ICCAD, pages 699–706, 2002. doi:10.1145/774572.774675.
- [44] Sorin Manolache, Petru Eles, and Zebo Peng. Optimization of soft real-time systems with deadline miss ratio constraints. In Real-Time and Embedded Technology and Applications Symposium (RTAS), pages 562–570, 2004. doi:10.1109/RTTAS.2004.1317304.
- [45] Sorin Manolache, Petru Eles, and Zebo Peng. Schedulability analysis of applications with stochastic task execution times. ACM Trans. Embed. Comput. Syst., 3(4):706–735, 2004. doi:10.1145/1027794.1027797.
- [46] Filip Marković, Alessandro Vittorio Papadopoulos, and Thomas Nolte. On the Convolution Efficiency for Probabilistic Analysis of Real-Time Systems. In 33rd Euromicro Conference on Real-Time Systems (ECRTS 2021), pages 16:1–16:22, 2021. doi:10.4230/LIPIcs.ECRTS.2021.16.
- [47] Filip Markovic, Pierre Roux, Sergey Bozhko, Alessandro V. Papadopoulos, and Björn B. Brandenburg. CTA: A correlation-tolerant analysis of the deadline-failure probability of dependent tasks. In IEEE Real-Time Systems Symposium, RTSS, pages 317–330, 2023. doi:10.1109/RTSS59052.2023.00035.
- [48] Dorin Maxim and Liliana Cucu-Grosjean. Response time analysis for fixed-priority tasks with multiple probabilistic parameters. In IEEE 34th Real-Time Systems Symposium, pages 224–235, 2013. doi:10.1109/RTSS.2013.30.
- [49] Dorin Maxim, Robert I. Davis, Liliana Cucu-Grosjean, and Arvind Easwaran. Probabilistic analysis for mixed criticality systems using fixed priority preemptive scheduling. In Proceedings of the 25th International Conference on Real-Time Networks and Systems (RTNS), pages 237–246, 2017. doi:10.1145/3139258.3139276.
- [50] Dorin Maxim, Mike Houston, Luca Santinelli, Guillem Bernat, Robert I. Davis, and Liliana Cucu-Grosjean. Re-sampling for statistical timing analysis of real-time systems. In Proceedings of the 20th International Conference on Real-Time and Network Systems, pages 111–120, New York, NY, USA, 2012. Association for Computing Machinery. doi:10.1145/2392987.2393001.
- [51] Daniel Mossé, Martha E. Pollack, and Yagíl Ronén. Value-density algorithms to handle transient overloads in scheduling. In 11th Euromicro Conference on Real-Time Systems (ECRTS), pages 278–286, 1999. doi:10.1109/EMRTS.1999.777475.
- [52] J. R. Norris. Markov Chains. Cambridge Series in Statistical and Probabilistic Mathematics. Cambridge University Press, 1997. doi:10.1017/CBO9780511810633.
- [53] Esko Nuutila and Eljas Soisalon-Soininen. On finding the strongly connected components in a directed graph. Inf. Process. Lett., 49(1):9–14, 1994. doi:10.1016/0020-0190(94)90047-7.
- [54] Luigi Palopoli, Daniele Fontanelli, Luca Abeni, and Bernardo Villalba Frias. An analytical solution for probabilistic guarantees of reservation based soft real-time systems. IEEE Trans. Parallel Distributed Syst., 27(3):640–653, 2016. doi:10.1109/TPDS.2015.2416732.
- [55] Luigi Palopoli, Daniele Fontanelli, Nicola Manica, and Luca Abeni. An analytical bound for probabilistic deadlines. In Euromicro Conference on Real-Time Systems, ECRTS, pages 179–188, 2012. doi:10.1109/ECRTS.2012.19.
- [56] Divya Prasad, Alan Burns, and Martin C. Atkins. The valid use of utility in adaptive real-time systems. Real Time Syst., 25(2-3):277–296, 2003. doi:10.1023/A:1025184411567.
- [57] Khaled S. Refaat and Pierre-Emmanuel Hladik. Efficient stochastic analysis of real-time systems via random sampling. In 2010 22nd Euromicro Conference on Real-Time Systems, pages 175–183, 2010. doi:10.1109/ECRTS.2010.29.
- [58] Junjie Shi, Niklas Ueter, Jian-Jia Chen, and Kuan-Hsun Chen. Average task execution time minimization under (m, k) soft error constraint. In IEEE Real-Time and Embedded Technology and Applications Symposium, RTAS, pages 1–13. IEEE, 2023. doi:10.1109/RTAS58335.2023.00008.
- [59] Youcheng Sun and Marco Di Natale. Weakly hard schedulability analysis for fixed priority scheduling of periodic real-time tasks. ACM Trans. Embed. Comput. Syst., 16(5s):171:1–171:19, 2017. doi:10.1145/3126497.
- [60] Yue Tang, Nan Guan, Weichen Liu, Linh Thi Xuan Phan, and Wang Yi. Revisiting GPC and AND connector in real-time calculus. In 2017 IEEE Real-Time Systems Symposium, RTSS, pages 255–265, 2017. doi:10.1109/RTSS.2017.00031.
- [61] Robert Endre Tarjan. Depth-first search and linear graph algorithms. SIAM J. Comput., 1(2):146–160, 1972. doi:10.1137/0201010.
- [62] L. Thiele, S. Chakraborty, and M. Naedele. Real-time calculus for scheduling hard real-time systems. Circuits and Systems, 2000. Proceedings. ISCAS 2000 Geneva. The 2000 IEEE International Symposium on, 4:101–104, 2000. doi:10.1109/ISCAS.2000.858698.
- [63] Too-Seng Tia, Zhong Deng, Mallikarjun Shankar, Matthew F. Storch, Jun Sun, L.-C. Wu, and Jane W.-S. Liu. Probabilistic performance guarantee for real-time tasks with varying computation times. In 1st IEEE Real-Time Technology and Applications Symposium, pages 164–173, 1995. doi:10.1109/RTTAS.1995.516213.
- [64] Terry Tidwell, Carter Bass, Eli Lasker, Micah Wylde, Christopher D. Gill, and William D. Smart. Scalable utility aware scheduling heuristics for real-time tasks with stochastic non-preemptive execution intervals. In Euromicro Conference on Real-Time Systems, ECRTS, pages 238–247, 2011. doi:10.1109/ECRTS.2011.30.
- [65] Terry Tidwell, Robert Glaubius, Christopher D. Gill, and William D. Smart. Optimizing expected time utility in cyber-physical systems schedulers. In IEEE Real-Time Systems Symposium, RTSS, pages 193–201, 2010. doi:10.1109/RTSS.2010.28.
- [66] Georg von der Brüggen, Nico Piatkowski, Kuan-Hsun Chen, Jian-Jia Chen, and Katharina Morik. Efficiently Approximating the Probability of Deadline Misses in Real-Time Systems. In 30th Euromicro Conference on Real-Time Systems (ECRTS 2018), volume 106, pages 6:1–6:22, 2018. doi:10.4230/LIPIcs.ECRTS.2018.6.
- [67] Georg von der Brüggen, Nico Piatkowski, Kuan-Hsun Chen, Jian-Jia Chen, Katharina Morik, and Björn B Brandenburg. Efficiently approximating the worst-case deadline failure probability under EDF. In IEEE Real-Time Systems Symposium (RTSS), pages 214–226, 2021. doi:10.1109/RTSS52674.2021.00029.
- [68] Ernesto Wandeler and Lothar Thiele. Workload correlations in multi-processor hard real-time systems. J. Comput. Syst. Sci., 73(2):207–224, 2007. doi:10.1016/J.JCSS.2006.04.005.
- [69] Ernesto Wandeler, Lothar Thiele, Marcel Verhoef, and Paul Lieverse. System architecture evaluation using modular performance analysis - a case study. Software Tools for Technology Transfer (STTT), 8(6):649–667, October 2006. doi:10.1007/S10009-006-0019-5.
- [70] Jinggang Wang and Binoy Ravindran. Time-utility function-driven switched ethernet: Packet scheduling algorithm, implementation, and feasibility analysis. IEEE Trans. Parallel Distributed Syst., 15(2):119–133, 2004. doi:10.1109/TPDS.2004.1264796.
- [71] Haisang Wu, Binoy Ravindran, and E. Douglas Jensen. On the joint utility accrual model. In 18th International Parallel and Distributed Processing Symposium (IPDPS 2004), 2004. doi:10.1109/IPDPS.2004.1303086.
