IMPLEMENTATION OF PROBABILITY-BASED PRIORITY-DRIVEN STRIDE SCHEDULING IN DISTRIBUTED SYSTEM

: Generally fair share scheduling methods is not suitable for I/O bound and interactive applications whereas priority scheduling supports to execute variety of processes and applications. Stride scheduling is a deterministically fair share scheduling scheme that defines the share of processor time allocating to a client. This paper proposes priority-driven stride scheduling using stochastic modeling in distributed system that improves throughput and reduces response time by applying probabilistic study with the concept of fairness in resource distribution. A model-based simulation study is performed to analyze the transitions of clients onto the processor of this proposed scheme.


INTRODUCTION
Distributed system of independent computers seems as a single coherent system [1] in which computing systems put together composed of large number of computing units connected by high speed network. They have broad spectrum of systems including databases, media-based applications, networks, web-servers etc., which can be accessed by concurrent clients. Schedulers for distributed system and multithreaded system usually face insufficiency of resources in which they are ordered to control and service wide variety of requests for users and applications. At run time, multiple clients can request the service at the same time or quickly one after the other. These clients can come from the same or different location in the system. Due to rapid demand of new and efficient applications with multiuser and multitasking environment are requires developing new scheduling schemes or enhancing exiting ones that effects on throughput and response time to provide quality of service across a wide spectrum of systems.
A distributed scheduler is a resource management component of a distributed operating system that focuses on distributing the load of the system among the individual computing units to enhance overall performance [2]. [3] introduced load distribution algorithms with a taxonomy of approaches to the resource management problem providing a common terminology and classification mechanism necessary in addressing this problem. This load distribution environment arises because of the random arrival of clients and requires their random processing. So that there is a possibility of several computing units are likely to be idle or lightly loaded and some others can be heavily loaded, which would degrade the overall performance. There is always another possibility that one server or system is idle while a client is being waited upon at another server [2]. [4] presented three different load balancing algorithms for distributed systems that consist of a number of identical processors and a CSMA communication system by an analytic model. [5] Firstly suggested and introduced Stride scheduling which is a deterministic proportional-share scheme to allocate resources for client processes and efficiently supports the flexible resource management concept to schedule other resources as per processor time. They also introduced novel hierarchical stride scheduling algorithm that achieves better throughput accuracy and lower response time. This fair-share allocation scheduling deals such type of workload and executes time-consuming or parallel applications in background. This scheduling is performed well enough for compute-bound applications whereas degraded the response time of interactive and I/O-bound applications. [6] presented a novel implementation of fairshare stride scheduling using priority scheduler to support compute-bound and interactive application. [7] suggested Virtual-Time Round-Robin (VTRR), a proportional share scheduler that can provide good proportional sharing accuracy with scheduling overhead and also discussed about the problems of achieving perfect fairness due to large numbers of clients with whatever resources they are allocated among various servers in distributed system. [8] presented an event-based stride scheduling method for time critical collision detection that meets realtime constraints by balancing and prioritizing computation spent on intersection tests without starvation. [9] was adopted symmetrically initiated algorithm in distributed system. [10] based on the performance trends of load sharing algorithms and the recommendations for the selection of a load distribution algorithm. [11], [12 a], [13 b] also have studied scheduling policies in distributed systems to find the ways to distribute client processes among various processors in order to achieve fairness and performance like minimizing execution time, minimizing communication, maximizing resource utilization, minimizing response time, average completion time per application and multiple independent tasks with load balancing with other overheads. [14] and [15] used a Markov chain model for the study of transition probabilities with random movement of scheduler to analyze performance of scheduling schemes like Round Robin(RR) and Multi-level feedback Queue(MLFQ). The priority-driven stride scheduling system proposes smaller waiting and response times to give controls the resource utilization rates of clients that are proportional to the relative fair shares allocated by server using markov chain model in distributed system. [16] and [17] studied brief of stochastic processes and Markov chain Model.

STRIDE SCHEDULING
Stride scheduling is a deterministic fair-share allocation mechanism of resources in which tickets are used to define the share of processor time allocating to a client [6]. Allocation of resources is in discrete time slices referred as quantum [5]. Resource rights are considered by ticket that can be subjected in different amounts and conceded among clients. Throughput rates for lively clients are directly proportional to their ticket allocations whereas response times are inversely proportional to ticket allocation [5]. This scheduling calculates the time interval that is referred by stride in which a client must remain among consecutive allocations that means stride field is inversely proportional to tickets [5] [6]. Let stride be St i and two consecutive allocations be ta 1 and ta 2 in a time quantum so that St i = ta 2 -ta 1 .
Clients are scheduled most frequently those having shortest stride, twice as quickly those having half stride and twice slowly those having double stride. These strides are characterized in virtual time units called passes [6]. So each client is associated with three state variables tickets, stride, and pass. Since this scheduling is deterministic that clients have guaranteed to be scheduled at least once every complete cycle time or stride [19]. Resource allocation is performed for the client selection having the least pass and its pass value is incremented by its stride, so that new value of pass can be Pass 1 = Pass + Stride. If more than one client has the same minimum pass value, then anyone can be selected.
Overall this is a fair-share scheduling scheme for resource management and obtaining responsiveness for probabilities to converge. But to some extent, perfect fairness and responsiveness is ideal condition that cannot achieve due to weak service time, poor processing time and poor response time in distributed system over the world. Moreover, this scheduling doesn't support preemption and having a high overhead.

PRIORITY SCHEDULING
Priority Scheduling features a priority that characterizes an order of each client. Generally highest priority clients schedule first rather than depending upon run time behaviour of client. Scheduler can use several methods to determine priorities according to different parameters and different classes of priorities can also be implemented depending on the type of client processes. This scheme provides the required controlling for client process scheduling in order to execute interactive client processes efficiently and able to improve the overall fairness. [18] used priorities to control the execution of systems to meet given requirements for optimal use of resources and incorporated scheduling policies in distributed system although implementation may incur considerable overhead and complicated executing transitions according to a priority policy for each client process because situation view is limited to the rest of the system.

PRIORITY-DRIVEN STRIDE SCHEDULING
This paper proposes to combine stride scheduling with priority scheme in which priority scheme allows controlling the preemption on awaken of clients and high load in distributed system. It also provides scheduling a client with high priority until it is allocated within its defined share of tickets. But stride scheduling allocates the fair processor time and allows a strict control of the client. Taking advantage of priority scheduling and also report for starvation, we think of a scheme stride scheduling featuring priority aging wherein the longer waits of clients in the queue, the higher its priority becomes. Priority aging reduces the starvation in scheduling of clients. Waiting time and response time depend on the priority of the client. Stride scheduling also supports of dynamic client participation, dynamic modifications to ticket allocations, and nonuniform quanta [5].
A distributed system may have a combination of heavily and lightly loaded systems. So that migrating a client process to share or balance load can help. Multiple clients access resources on a random manner in distributed system assigning by unique client identification. The outcomes of accuracy in a proportional-share scheduler can be considered by measuring the difference between the specified and actual number of allocations that a client receives during a series of allocations of tickets [5]. So that it is naturally impractical to attain this ideal condition exactly due to quantization. Each client is assigned a time quantum equal to its ticket share. A client with a larger share of tickets finds a larger quantum than a client with a small share of tickets. Running all clients with the same frequency provides proportional sharing but adjusting the size of their time quantum [7]. So this scheduler assigns a short time quantum for high priority clients. This paper gives solution for implementing priorities based on an analysis of the system using stochastic model study.

THE STOCHASTIC MODEL
A stochastic process has the Markov property if the probability distribution of X n is determined by knowing the probability distribution of X n-I [17]. A Markov process is a stochastic model that has the Markov property. It can be used to model a random system that changes states according to a transition rule that only depends on the current state. The state space S is a discrete space then the Markov process is called a Markov chain [16] [17]. Markov chain model is applied on proposed scheduling using state transition probabilities obtaining from the clients movement over states. A stochastic process {X n } talking values in a discrete state space S is called a Markov chain or Markov property if:

THE PROPOSED SYSTEM
Let P be the probability that the system is in a state in which at least one client is waiting for service and server is idle according to the utilization of each server. Suppose the distributed system has m clients at particular time which is C 1 , C 2 , C 3 , C 4 ... C m in queue and {X (n) , n ≥ 1} b e significance of a Markov chain among the state space C 1 , C 2 , C 3 , C 4 ... C m and a server R where R is a server state that serves to clients for various conditions like normal, idle, blocking, any kind of failures, disturbances or errors occur which depicts in figure 1 where for each allocation, every client is specified a fair possibility of getting proportional to its share of the total number of tickets [5]. Since any changes to relative ticket allocations are instantly replicated in the next allocation decision [20]. The queue allocates a random ticket to each of next coming clients. When a client do not complete within specified quantum, it shifts to the queue where clients wait for their turn then scheduler assigns a new ticket to the remaining client process for its completion.
Each client is set to have a share of tickets equal to the required proportional share of the scheduled resource [21]. Still a stride value St i is determined as the inverse of the number of tickets which is used to perform a lottery method. Stride is measured in passes to represent the interval between times quantum the client executes. So the current pass value for a particular client is p i where passes is a virtual time unit. The probability P that a client C i holding t i tickets in a lottery with in total T tickets will win the lottery P = t i / T. The algorithm uses a constant stride1 which represents the stride for a client with one ticket [5]. Few assumptions are as follows: • Clients are initiated with St i = stride 1 / t i and C i = St i • The scheduler selects the client with lowest S i (ties come arbitrarily). After executing it, Sti is updated to St i + f St i , where f is the fraction of the allocated time quanta that the client actually used (f > 0).

Figure 1: Priority-driven Sride Scheduling for Client Processing
Assuming S be a scheduler so that X (n) be the state of scheduler of the system at the end of n th quantum [15] where n = 1,2,3… and the transition of scheduler S is randomized with m+1 states in n th quantum which is shown in figure 2. The scheduler S provides stochastically a quantum of time to each client and next quantum is resoluted by a random assessment. The S begins with the client C i and then goes to C j where i ≠ j = 1, 2, 3...m. Suppose S is at any client C i (i = 1, 2, 3…m) having least pass/stride at the end of a quantum, then it is on C i+1 or C i-1 (where i >1) in the next quantum with some assigning priority. The X happens to inactive when there is no other client in the queue. System may have a long waiting queue of clients outside from the server R where clients get various kinds of services and if one client is over inside, then a new client is waiting outside or moving to other computing units or server to enter as to retain remaining m clients. The server fulfils various services and requirements of clients according to priority assigned. So that the transition diagram for any three clients C i-1 , C i , C i+1 and server R is given in figure 2.

Figure 2: Transition Diagram for proposed system
Let us defining the transition among the clients by unit-step transition probabilities for X n with its respective priorities a, b, c, d and e are as follows: So the unit step transition probability matrix (m+1) × (m+1) to assign priority is: with a + b + d + c + e = 1 and (m + 1)(d + e) =1 Let us assume pb be the probability among transition between server R and clients C i-1 , C i , C i+1 .So The state probabilities for n = 0 are as follows: The state probabilities after the first quantum are as follows: Similarly, state probabilities after second quantum are expressed as follows : The general expression for n quantum are as follows:

SOME RESTRICTED SCHEDULING SCHEMES
Some restrictions and conditions can be applied of this proposed scheme as mentioned above that can produce different scheduling schemes from the general class of expression in previous section. A: When a = 0, b = 0, c = 1, d =0, e = 0 Unit step transition probability matrix (m+1) × (m+1) for X (n) of scheme-A which is general class of fair share stride scheduling scheme according to priority of clients for all quantum n are as follows:

SCHEME-
The initial probabilities at n=0 for scheme-A are: The state probabilities after the first quantum are: The generalized expressions of scheme-A for n quantum are: SCHEME-B: When a = 0, b = 0, e = 0, c + d= 1 Unit step transition probability matrix (m+1) × (m+1) for X (n) of scheme-B which is fair share stride scheduling scheme according to priority of clients for all quantum n are as follows: Such that c + d =1 The initial probabilities at n=0 for scheme-B are: State probabilities after the first quantum are: General expressions of scheme-B for n th quantum are: : WHEN b = 0, c = 0, d =0, e =0, a = 1 This general class scheduling scheme referred Priority-driven Stride Scheduling scheme for all quantum n.

SCHEME-C
Unit step transition probability matrix to assign priority (m+1) × (m+1) for X (n) of scheme-C is The initial probabilities at n=0 for scheme-C are: The state probabilities after the first quantum are: The general expressions of scheme-C for n quantum are:

SCHEME-D: When b = 0, c = 0, e = 0, a + d = 1
General class has priority-driven stride scheduling scheme for all quantum n. Unit step transition probability matrix to assign priority (m+1) × (m+1) for X (n) of scheme-D is Such that a +d =1. The initial probabilities at n=0 for scheme-D are The state probabilities after the first quantum are: The general expressions of scheme-D for n th quantum are: SCHEME-E: When b = 0, d =0, e=0, a + c = 1 Unit step transition probability matrix to assign priority (m+1) × (m+1) for X (n) of scheme-E is The initial probabilities at n=0 for scheme-E are: State probabilities after the first quantum are: General expressions of scheme-E for n th quantum are: SCHEME-F: When b = 0, e = 0, a + c + d = 1 .
Unit step transition probability matrix to assign priority (m+1) × (m+1) for X (n) of scheme-F is The initial probabilities at n=0 for scheme-F are State probabilities after the first quantum are: General expressions of scheme-F for n th quantum are:

SIMULATION STUDY AND GRAPHICAL ANALYSIS
We know that P be the probability that the system is in a state in which at least one client is waiting for service and server is idle according to the utilization of each server. We can estimate P using probabilistic analysis and plot a graph against system utilization. For moderate system utilization, value of P is high, i.e., at least someone is idle. Hence, performance can be improved by fair sharing of resources to the clients. Result from imposing or restricting priorities between transitions. However for fairly demanding, the design of the system executes transitions having a set of priorities according to a priority policy using Markov chain model. So all the scheduling schemes are compared and the simulation study is performed on above mentioned various schemes as follows:

Scheme-A
Here a = b = d = e = 0, c =1, So the transition probability matrix is: Let us assume initial probabilities pb 1 = 0.2, pb 2 = 0.12, pb 3 = 0.25 and pb 4 = 0.17  .1 depicts that variations in the quantum do not influence the state probabilities P i . The scheme-A gives fair chance to process every client as assigning priority.

Scheme-B
Here a = b = e = 0, c + d = 1, d = 0.256 , So the transition probability matrix is: Let us assume initial probabilities pb 1 = 0.24, pb 2 = 0.06, pb 3 = 0.14 and pb 4 = 0.19  Graph of scheme-B is representing by figure 8.2 which indicates clients C i (i = 1, 2, 3) and server R during processing. The proposed scheduler in the system performs transition to clients and server. The state probabilities of client/ clients over a large number of quantum are dropping quickly and the probability of server is going to comparatively high. This scheme specifies that the clients and server take extra time to finish, delay in processing becomes large enough and not fair enough to use resources.

Scheme-C
Here a = 1, b = 0, c = 0, d =0, e =0, So the transition probability matrix is: In this scheme, we can consider two cases having different probabilities, they are as follows: (a) Let us assume initial probabilities pb 1 = 0.19, pb 2 = 0.23, pb 3 = 0.06 and pb 4 = 0.12. In figure 8.3(a) of scheme-C(a), the graph of system follows the priority-driven stride scheduling scheme where scheduler can initiate dealing out any client. The transition probability reaches a maximum at some particular quantum for an particular client whereas the probability falls down when quantum increases. So the state probability remains the identical at regular interval when scheduler transits among clients and server. (b) Let us assume initial probabilities pb 1 = 1, pb 2 = 0, pb 3 = 0 and pb 4 = 0  The scheme-C(b) is purely priority-driven stride scheduling scheme, which starts from the first process, the state probabilities are in up and down pattern. After a constant interval of quantum, each client allows processing and serving to be high probability and similarly also goes low.

Scheme-D
Here b = 0, c = 0, e = 0, a + d = 1, d = 0.256, So the transition probability matrix is: Let us assume initial probabilities pb 1 = 0.32, pb 2 = 0.09, pb 3 = 0.16 and pb 4 = 0.21.   figure 8.4 represents graph for scheme-D where the scheme is somewhat not exactly fair scheduling because of weak interactions and services providing by server R to clients C i (i = 1, 2, 3) due to move in opposite direction (R is going high but clients jump to be down) as per the increasing number of quantum to have indications for the system to service poor.

Scheme-E
Here b = 0, d =0, e=0, a + c = 1, a = 0.45 and c = 0.55, So the transition probability matrix is: Let us assume initial probabilities pb 1 = 0.26, pb 2 = 0.13, pb 3 = 0.09 and pb 4 = 0.31.  The scheme-E graph is shown in fig 8.5 in which the quantum distribution takes over the same state or to the next state depending on the random output sampling. If the number of quantum grows, then the scheme demonstrates the state probabilities nearly a constant pattern. This means every client get almost equal and fair chance of being processed and serviced. It can be somewhat priority-driven stride scheduling.

Scheme-F
Here b = 0, e = 0, a + d + c = 1, a = 0.45 ,d = 0.256 . So the transition probability matrix is: Let us assume initial probabilities pb 1 = 0.16, pb 2 = 0.07, pb 3 = 0.11 and pb 4 = 0.24.   figure 8.6 in which we found that with the increasing number of attempts, the state probabilities of clients C i (i = 1, 2, 3) are dropping drastically whereas the state probability of server R is moving high of system. So it shows poor responsiveness among clients and server.

CONCLUSION
This study integrates stride scheduling schemes with priority scheme to analysis and simulate with stochastic Markov chain model. Firstly observes on graphs of schemes that scheme-A, scheme-C(a) and (b) and scheme-E looks different than scheme-B, scheme-D and scheme-F. Perhaps Scheme-B, scheme-D and scheme-F are performed almost same where poor responsiveness, weak interaction and not much fair among clients and server whereas scheme-E performs better than these mentioned scheme. Although scheme-A, scheme-C(a) and (b) are extremely well response, fairness and less overhead to clients with server as compared to other schemes. The overall performance and analysis of proposed scheduling scheme indicates that scheme-C(a) and scheme-C(b) follow purely priority-driven stride scheduling.