Utilization Bound Scheduling Analysis for Nonpreemptive Uniprocessor Architecture Using UML-RT S

The key for adopting the utilization-based schedulability test is to derive the utilization bound. Given the computation times, this paper proposes two utilization bound algorithms to derive interrelease times for nonpreemptive periodic tasks, using a new priority scheme, “Rate Monotonic Algorithm-Shortest Job First.” The obtained task set possesses the advantage of Rate Monotonic Algorithm and Shortest Job First priority scheme. Further, the task set is tested for schedulability, by first deriving a general schedulability condition from “problem window” analysis and, a necessary and sufficient schedulability condition for a task to be scheduled, at any release time are also derived. As a technical contribution, success ratio and effective processor utilization are analyzed for our proposed utilization bound algorithms on a uniprocessor architecture modeled using UML-RT.


Introduction
Tasks in a real-time system must be executed within its deadline to produce functionally correct results in a timely manner.This implies that the timing requirements of tasks, submitted to the real-time system, are known [1].Each task in a real-time system is scheduled depending on the characteristic of the scheduling algorithm.One of the most widely used uniprocessor scheduling algorithm for periodic real-time tasks is the Rate Monotonic Algorithm (RMA), proposed by Lehoczky et al. in [2].Let ( =  1 ,  2 ,  3 , . . .,   ) denote the task set of "" tasks in a periodic system.For each task   , task utilization   be the ratio of computation time to its interrelease time:   =   /  .Then, system load () of a periodic task system be the sum of all utilization of the tasks in  : () = ∑   ∈   .Rate Monotonic Algorithm (RMA) assigns priority-smaller the period, higher the priority, and each task has its own unique priority [3].According to [4], set of "" independent preemptive periodic tasks are schedulable using RMA if and only if the system load () is given by the following:  () ≤  (2 1/ − 1) . ( Later, a minimum utilization bound of RMA for "" number of preemptive tasks on single processor was found to be in [5] given by the following: where  is ratio between any two periods, which is less than 2.
There are two types of scheduling strategies: nonpreemptive scheduling and preemptive scheduling.In nonpreemptive strategy, tasks started to execute, would not preempt in an occurrence of higher priority tasks.A higher priority tasks will preempt any lower priority tasks in preemptive scheduling.However, nonpreemptive scheduling is being preferred because they are easier to implement and have lower run-time overhead than preemptive scheduling [6].
There is a growing interest in using the object paradigm for developing real-time software [7].The dominance of software in real-time embedded systems design caused interest in methodologies with widely accepted notations in the software community, such as the Unified Modeling Language (UML).The Unified Modeling Language (UML) is a modeling language for capturing the specification and the implementation using the graphical notations in software community [4].This approach describes the specification graphically, promotes correctness of the specification, and generates the test scenarios for the implementation automatically.This paper contributes an object-oriented platformbased design, for uniprocessor architecture using UML-RT to analyze the schedulability for the proposed utilization bound algorithms based on a new priority scheme "Rate Monotonic-Shortest Job First" (RM-SJ).
In Section 2, related works to the proposed method is discussed.Section 3 describes the system model using UML-RT and notations used.Condition for schedulability of a task and general schedulability test are discussed in Sections 4 and 5, respectively.Proposed priority scheme and utilization bound algorithms are discussed in Section 6.A necessary and sufficient schedulability condition for a task to be scheduled, at any release time, is derived in Section 7. Section 8 deals with performance evaluation for the proposed algorithms.Finally, Section 9 concludes with results analyzed.

Related Works
For single-processor scheduling, Jeffay et al. [6] presented an exact schedulability test of pseudopolynomial timecomplexity for a periodic or sporadic task set under nonpreemptive EDF scheduling on a single-processor.George et al. [8] established exact schedulability tests for both nonpreemptive EDF and nonpreemptive fixed-priority scheduling on a single processor with pseudopolynomial time-complexity and addressed general task models in which relative deadlines and periods are not necessarily related.Baruah et al. [3] addressed schedulability analysis for nonpreemptive recurring tasks, which is the general form of nonpreemptive sporadic tasks, and showed that the nonpreemptive schedulability analysis problem can be reduced to a polynomial number of preemptive schedulability analysis problems.
The admission control is an algorithm that depends on the scheduling policy and ensures that only tasks that will meet their deadlines are accepted into the system [9].Accordingly, general bound is derived and used for admission control of RMS-based systems that only requires information about the number of tasks to be admitted in the system.If more information about the tasks characteristics is analyzed, a better admission control can be obtained.For example, the exact characterization described by Lehoczky et al. in [2] uses computation time (  ) and interrelease time (  ) values for admission control.In [10], Burchard et al. used knowledge about the periods of the tasks to obtain better admission control for RMS tasks.Clearly, using more information increases the complexity of the admission control since there are more variables to take into consideration during admission control.In [11], Lu et al. derived a schedulability bound for nonpreemptive Rate Monotonic scheduling by using period ratio of the tasks to provide a guarantee that tasks will meet their deadlines.When uniprocessor priority scheme is considered, Liu and Layland [4] showed that Rate Monotonic priority ordering (RMPO) is optimal for independent synchronous periodic tasks.Leung and Whitehead [12] showed that deadline monotonic priority ordering (DMPO) is optimal for independent synchronous tasks with constrained deadlines.Audsley [13] devised an optimal priority assignment (OPA) algorithm that solved the problem of priority assignment for asynchronous tasksets, and for tasks with arbitrary deadlines.
In [1], Guan et al. addresse schedulability test conditions for non-preemptive-fixed priority (NP-FP), building upon the "problem window analysis" for preemptive scheduling for multiprocessors.First, linear-time general schedulability test condition that works not only on NP-FP, but also any other work-conserving nonpreemptive scheduling algorithm is derived; then an analysis is done on a test condition of quadratic time-complexity for NP-FP, which has significant performance improvement comparing to the first one.In [14] Bertogna et al. derived a general method for schedulability conditions for multiprocessor real-time systems in a "problem window" and then it is tightened and analyzed for two algorithms, namely, Earliest Deadline First (EDF) and Fixed Priority (FP).
This concept of "problem window" analysis done in multiprocessors is generalized on uniprocessor environment for which task schedulability condition and schedulability at any release time for a periodic task are derived.Further two utilization bound algorithms are proposed using a new priority assignment scheme "Rate Monotonic-Shortest Job" (RM-SJ) and task schedulability is analyzed.

System Model Using UML-RT and Notations
Consider a work conserving nonpreemptive uniprocessor real-time system.A task set, ( =  1 ,  2 ,  3 , . . .,   ) where, there are "" tasks, each task   = (  ,   ) is characterized by two parameters-computation time   and interrelease time or period   , with an interpretation that tasks are generated in every integer multiples of interrelease time to execute   units before the next integer interrelease time .All tasks generated are independent and are executed on a nonpreemptive uniprocessor architecture modelled using UML-RT.The notations used are described in Table 1.

UML-RT.
UML-RT is a modeling tool for real-time, developed by the Rational Corporation.UML-RT uses Unified Modeling Language (UML) to express the original ROOM (Real-Time Object-Oriented Modelling) concepts and extensions.It includes constructs for modelling both behaviour and structural concepts of event-driven real-time systems.Rational Rose Real time is a software development environment tailored to the demands of real time software.It is used to create models of the software system based on the UML constructs, to generate code, compile, and then run and debug the application.Rational Rose Real time can be used through all phases of the software development lifecycle, through design, implementation, test, and final deployment.UML-RT profile introduces a set of common scheduling annotations which are fairly sufficient to perform schedulability analysis [15].Using Rational Rose Real time developers Worst-case latency of   .It is the maximum time lapse for a task to start execute. •

𝑊(𝑘)
Total work done by other tasks in the problem area of   can execute, test, and debug models at the modelling language level using visual observation tools.
In UML-RT the four principle constructs for modelling structure are capsules, ports, protocols, and connectors [5].

Capsules.
The fundamental modelling constructs of UML-RT are capsules.Capsules are distributed architectural active objects that interact with other capsules exclusively through one or more ports.The behavior of a capsule is modelled in the state transition diagram that can process (send and receive) messages via their ports, while its (hierarchical) structure is modelled in the capsule structure diagram.The structure diagram for the proposed model using UML-RT is shown in Figure 1.

Ports.
Through ports, messages are sent and received to and from capsule instances.Ports connected to a state machine of a capsule (end port) can handle messages sent to them.Capsules and its associated input and output ports are shown in Table 2.

Protocols.
Protocols define a set of messages exchanged between a set of capsules.Important timer ports and messages used in capsules are shown in Table 3.

Condition for Schedulability of a Task
A necessary condition for deadline miss to occur for   , is that the worst-case work load, •  () by all other tasks in the task set  except   is no less than   .  () is the latest feasible start time for   , to start execution in order to meet its deadline as shown in Figure 2.
The aim is to compute the individual contribution of worst-case workload by other tasks, that is,   ∈ , in the problem area,   as shown in Figure 2. The work load in   can be categorized into three parts as shown in Figure 3. later or at   ().Assume that all tasks contribute maximum in the problem area.This is a pessimistic but safe approximation to count the workload of a task in the problem area [3].
For () to be scheduled, where

General Schedulability Test
The entire task set is schedulable only when each task is schedulable.The computation timings of tasks are arranged, Theorem 1. Highest priority task  1 is schedulable by a work conserving nonpreemptive scheduling algorithm if Proof.By contradiction if,  1 <   , then the highest priority task   may miss its deadline.We recall that   is the maximum computation time in the subset of  lp (1).For a nonpreemptive architecture, any   ∈ hp(1) will not be preempted, if it starts to execute before the release time of any higher priority task.Consider that  = .From Figure 4, it is shown that   , which started to execute   at  −1 (), is still executing beyond   (1) causing the task  1 to miss deadline.Therefore, if  1 ≥   , then  1 will be schedulable.

Theorem 2.
A task   is schedulable by a work conserving nonpreemptive scheduling algorithm if Proof.In [3], an algorithm is work conserving, if there are no idle processors, when a ready task is waiting.Schedulability condition for a task   is given by ( 3) and ( 4).The final job contribution is bounded in the second term RHS of (7).Therefore, from (4) the general schedulability for   will be Equation ( 8) indicates pessimistic and sufficient condition for a task to be schedulable.A task will be scheduled in the task set if ( 8) is satisfied.Therefore, dividing by   , Equation ( 11) is the condition for a task   to be schedulable.Sufficient schedulability condition for least priority task from (9), , is neglected in (12), because schedulability condition for   to execute   is analyzed.

Rate Monotonic Algorithm-Shortest Job First (RMA-SJF).
In shortest job first (SJF), priority is given to shortest computation time, independent of interrelease time of the tasks, thus minimizing the waiting time and improving the throughput [6].Rate monotonic algorithm (RMA) is of great practical importance because priority is given to tasks with lesser release time.This paper proposes two utilization bound algorithms to derive a task set which satisfies both RMA-SJF priority scheme; that is, higher priority tasks will have lesser computation time and lesser interrelease time.When a set of computation times are given, our aim is to design a work conserving task system, to utilize the available processing capacity.To achieve maximum processing capacity, system load must be equal to unity for a uniprocessor system [8].In [3], an algorithm is work conserving, if processor is not idle, when a ready task is waiting.Therefore, behavior of the system developed is strongly dependent upon the periods of the task comprising the task set [16].

Method 1: Work Conserving Utilization Bound.
Initially the algorithm aims to schedule " − " tasks, by deriving the highest priority task release time  1 = hec ( − 1).Schedulability of each task is analyzed using the general schedulability test.Later   of tasks are varied to find an optimized utilization bound in 0.9 < () ≤ 1 to schedule "" tasks utilizing the processor effectively (see Algorithm 1).

Method 2:
Worst-Case Utilization Bound.In method 2, the worst-case latency of each task is considered to compute its interrelease time.Worst-case response time () of each task is found at critical instant, where all tasks are released instantaneously (see Algorithm 2).Step 1. Computation times are randomly generated and arranged according to shortest job first priority scheme.(ii)  −1 () + () +   −   () <   , then  −1 () + () +   −   () =   <   ; therefore, the initial job will be   .
For the above condition, Recalling that all tasks contribute maximum in the problem area,   is assumed to start execute in   and has deadline in problem area.So,  −1 () + () +   −   () >   will contribute intermediate job,    ().

Performance Evaluation
Example 7. Given the computation time   = (6, 5, 7, 3, 4, 2) the aim is to find optimum interrelease time for each task to achieve 100% success ratio by utilizing the processor effectively by work conserving utilization bound algorithm.First computation times are arranged in nondecreasing order: The various system load values by varying   are shown in Table 4.All timings are in seconds.
(ii) When () > 0.977 task set is found unschedulable because of runtime of algorithm.
When () = 0.977 task set is schedulable using processor capacity effectively with 97.5% as showed in Table 5.For the system load () = 0.977 the effective processor utilization is found to be 97.5.
Extensive simulations are conducted in UML-RT, for the worst-case utilization bound and work conserving unity utilization bound and their performance is compared.The task parameters settings are as follows: for each task computation timings are randomly distributed in {2, 19}; Ti is calculated according to the two algorithms proposed.Maximum of 14 tasks are generated, to compare the success ratio and effective processor utilization.Figure 9 shows the comparison      of utilization bound derived for the two algorithms proposed.From Figure 10, the success ratio for work conserving unity utilization bound is high compared to worst-case utilization bound.Using the worst-case workload of task the utilization bound or the system load derived is heavily loaded for Worst-Case Utilization Bound Algorithm.Effective processor utilized by the proposed algorithm is shown in Figure 11.

Advantage of Work Conserving Utilization Bound
(i) Processor can be effectively utilized to schedule task set.
Example 8. To find whether ( 5) is schedulable for the task set having () = 0.9827 as shown in  Similarly, all the tasks are tested for schedulability and practically found schedulable using UML-RT.

Conclusion
Two algorithms with a new priority assignment scheme (RMA-SJF) is proposed which possesses advantages of both rate monotonic and shortest job first, for a nonpreemptive periodic task set, on an uniprocessor architecture modelled using UML-RT.Further, a general schedulability test is derived using "problem window" analysis, to check for task schedulability.A sufficient schedulability condition to verify whether a periodic task is schedulable in any release time is also proposed.Task set generated is analyzed for the above schedulability test and condition with typical examples.The performances of the proposed algorithms are also analyzed with success ratio and effective processor utilization using UML-RT.In future aperiodic dependent nonpreemptive task with the proposed scheme on multiprocessor architecture modelled using UML-RT will be analyzed.
3.1.4.Connectors.Connectors capture the key communication relationships between capsule roles.They interconnect capsule roles that have similar public interfaces through ports.

Figure 1 :
Figure 1: Structure diagram for the model proposed in UML-RT. T

Figure 2 :
Figure 2: Problem area   , for the task   .

Figure 9 :Figure 10 :
Figure 9: Comparison of utilization bound of two algorithms proposed.

Figure 11 :
Figure 11: Comparison of Effective processor utilization of the algorithms proposed.

Table 1 :
Notations and description.Computation time of     Interrelease time or period of     =   −   Problem area of the task   , analyzed for schedulability.A necessary condition for the deadline miss to occur for   is that the worst-case work load, in the problem area   by all other tasks in the task set  except   is no less than   .  Computation time lesser than    Nonzero computation time   =   /  Task utilization of   () = ∑   ∈   System load hp() Set of all higher priority tasks of   lp() Set of all lower priority tasks of • () hp () Set of all computation times of hp ()  lp () Set of all computation times of lp ()   Maximum computation time in the subset of  lp () hc() Summation of computation times of all higher priorities of   hec() Summation of computation times of all equal and higher priorities of   lc() Summation of computation times of lower priorities of   lec() Summation of computation times of equal and lower priorities of    hp () Set of all computation times of hp ()  lp () Set of all computation times of lp ()  hp () Summation of all the task utilization of hp ()  elp () Summation of equal and all task utilization of lp ()   () th release time of    +1 () ( + 1)th release time of   and deadline for the task released at   ()   () Latest feasible start time for   released at   (), to start execution in order to meet its deadline.   () Number of intermediate tasks in    Work done by initial job, intermediate job or final job in   ()

Table 2 :
Capsules and associated ports.

Table 3 :
Job.The contribution of task   , in problem area   , is when computation of task   started earlier or at   () and having deadline in the problem area.Intermediate Job,    ().The computation of a task   started in   and having deadline in the problem area earlier to   ().The contribution of task   in problem area   is when computation of task   started in   and having deadline Figure 3: Work done by other tasks in   .Capsules used timer ports and messages.

Table 5 :
Success ratio and effective processor utilization for various loads analyzed.