A Genetic Based Neuro Fuzzy Technique for Process Grain Sized Scheduling of Parallel Jobs

,


INTRODUCTION
Scheduling is a key concept of computer multitasking and multiprocessing operating system design. It refers to the way that the processes are assigned priorities in a priority queue and this assignment is carried out by software known as scheduler. Various algorithms were available to schedule the related threads or processes to run simultaneously on dIfferent processors. In parallel job scheduling, scheduling the parallel jobs for execution needs a certain number of processors for a certain time and the schedule have to pack the jobs together. In parallel job scheduling, the grain size based scheduling plays an important role and the synchronization overhead also affects the performance of the parallel system. A good way of characterizing a parallel job scheduling is to consider the synchronization granularity between the processes in a system. The term grain size refers to the size of an independent set of calculations within a parallel algorithm. If the set of processes are dependent with each other, we say that the process grain is fine grain sized jobs and these jobs cannot be schedules separately. If the processes are slightly dependent with each other, we say medium grain sized scheduling .If the processes are not related with each other and then the scheduling is an independent grain size. When scheduling the parallel jobs in a parallel system, we need to consider all the grain sizes .The agile algorithm concentrates on the detailed scheduling of the parallel jobs by classIfying the grain size in detail. The agile algorithm compared with the traditional algorithms like first come first served, gang scheduling and flexible co scheduling (Minh and Wolters, 2010).
The agile algorithm (Sudha and Thanushkodi, 2008) is optimized using the two classIfiers. The two classIfiers are genetic fuzzy system and the neuro fuzzy system. Soft computing is an innovative approach to construct computationally intelligent systems. It is now realized that complex real world problems require intelligent systems that combine knowledge, techniques and methodologies from various sources. Soft computing consists of computing paradigms including neural network, fuzzy sets, approximate reasoning and derivative free optimization methods such as genetic algorithm and simulation annealing. The integration of these methodologies forms the core of the soft computing euro fuzzy technique gives better optimization results for the agile algorithm (Dutot et al., 2011).

MATERIALS AND METHODS
Fuzzy system: Fuzzy theory is the mathematical tool to express and interpret the linguistic character of the natural language. The use of natural language in the expression of a knowledge form known as rule based systems. A fuzzy variable should be identIfied among the variables of the problem such that there is signIficantly uncertainty involved in characterizing its behavior. Using a fuzzy variable yields a realistic representation of the problem, than using the crisp counterpart. The solution of the problem using fuzzy variable becomes most practical and cost effective compared to the solution using a crisp variable (Jintao et al., 2010).
Scheduling strategy based on genetic based neuro fuzzy technique: The fuzzy approach uses the six feature definitions as objective functions. A complete rule base is developed using the features already defined and the dIfferent classes are defined for the scheduling situation classes. Each rule contains a conditional and a consequence part. The conditional part describes the features for firing the rule and the consequence part describes the scheduling state. In order to specIfy all scheduling states in an appropriate fashion, each rule defines certain partitions of the feature space within the conditional part. Our neuro fuzzy system uses the mamdani's fuzzy model. Each feature in the rule is modeled from a Gaussian membership function. The rules used for the optimization are (Sun et al., 2011) and Norozi et al. (2010): 1. If awt is small and tat is small then the Scheduling Algorithm is class A 2. If awt is small and tat is medium then the Scheduling Algorithm is class B 3. If awt is small and tat is large then the Scheduling Algorithm is class C 4. If awt is small and tat is v_large then the Scheduling Algorithm is class D 5. If awt is medium and tat is small then the Scheduling Algorithm is class A 6. If awt is medium and tat is medium then the Scheduling Algorithm is class B 7. If awt is medium and tat is large then the Scheduling Algorithm is class C 8. If awt is medium and tat is v_large then the Scheduling Algorithm is class D 9. If awt is large and tat is small then the the Scheduling Algorithm is Class A 10. If awt is large and tat is medium then the scheduling algorithm is class B 11. If awt is large and tat is large then the scheduling algorithm is class C 12. If awt is v_large and tat is small then the scheduling algorithm is class B 13. If awt is v_large and tat is medium then the scheduling algorithm is class B 14. If awt is v_large and tat is large then the scheduling algorithm is class C 15. If awt is v_large and tat is v_large then the scheduling algorithm is class D 16. If awt is large and tat is v_large then the scheduling algorithm is class D 17. If mrt is small and mret is small then the Scheduling Algorithm is class A 18. If mrt is small and mret is medium then the Scheduling Algorithm is class B 19. If mrt is small and mret is large then the Scheduling Algorithm is class C 20. If mrt is small and mret is v_large then the Scheduling Algorithm is class D 21. If mrt is medium and mret is small then the Scheduling Algorithm is class A 22. If mrt is medium and mret is medium then the Scheduling Algorithm is class B 23. If mrt is medium and mret is large then the Scheduling Algorithm is class C 24. If mrt is medium and mret is v_large then the Scheduling Algorithm is class D 25. If mrt is large and mret is small then the Scheduling Algorithm is class A 26. If mrt is large and mret is medium then the Scheduling Algorithm is class B 27. If mrt is large and mret is large then the Scheduling Algorithm is class C 28. If mrt is large and mret is v_large then the Scheduling Algorithm is class D 29. If mrt is v_large and mret is small then the Scheduling Algorithm is class D 30. If mrt is v_large and mret is medium then the Scheduling Algorithm is class D 31. If mrt is v_large and mret is large then the Scheduling Algorithm is class D 32. If mrt is v_large and mret is v_large then the Scheduling Algorithm is class D 33. If msl is small and mu is small then the scheduling algorithm is class A 34. If msl is small and mu is medium then the scheduling algorithm is class A 35. If msl is small and mu is large then the scheduling algorithm is class A 36. If msl is small and mu is v_large then the scheduling algorithm is class A 37. If msl is medium and mu is small then the scheduling algorithm is class B 38. If msl is medim and mu is medium then the scheduling algorithm is class B 39. If msl is medium and mu is large then the scheduling algorithm is class B 40. If msl is medium and mu is v_large then the scheduling algorithm is class B 41. If msl is large and mu is small then the scheduling algorithm is class C 42. If msl is large and mu is medium then the scheduling algorithm is class C 43. If msl is large and mu is large then the scheduling algorithm is class C 44. If msl is large and mu is v_large then the scheduling algorithm is class C 45. If msl is v_large and mu is small then the scheduling algorithm is class D 46. If msl is v_large and mu is medium then the scheduling algorithm is class D 47. If msl is v_large and mu is large then the scheduling algorithm is class D 48. If msl is v_large and mu is v_large then the scheduling algorithm is class D Where awt is the average waiting time, tat is the turn around time, mrt is the mean response time, mret is the mean reaction time, msl is the mean slowdown and mu is the mean utilization. The scheduling classes are Class A is the Agile Algorithm, Class B is the Flexible co scheduling, Class C is the Gang Scheduling and the Class D is the First Come First Serve scheduling. Totally 48 rules are used for the optimization. We can also extend the rules to 108,192 for even better results.

Feed forward back propagation network: Back
Propagation neural network is a multilayer feed forward network using a rule based back propagation of error rule. Back propagation provides a computationally efficient method for changing the weights in a feed forward network with differentiable activation function units to learn a training set of input-output pairs. The training algorithm of back propagation involves four stages: • Initialization of weights • Feed forward • Back propagation of errors • Updating of the weights and trains During the feed forward stage, each input receives an input signal and transmit this signal to each of the hidden units. Each hidden units then calculates the activation function and sends its signal to each output unit. The output unit calculates the activation function to form the response of the network for the given input pattern.

Algorithm:
Step 1: Initialize the weights to small random values.
Step 3: Set the activation of input unit for xi (i=1 to n) Step 4: Calculate the net input to hidden unit and its output: 6 n ji j 1i j 1 i 1 Zinph W0 (X x ) Step 5: Now compute the output: Tuning of neuro fuzzy system using genetic algorithm: The back propagation feed forward network uses the fuzzy logic rules whose scheduling parameters and the consequents are the fuzzy singletons which represents the class of the scheduling algorithm .In order to obtain a standard output signal, the trapezoidal function is used to force the neural network to be within the range of (0, 1). GAs is global optimization technique that simulates the procedures of natural evolution, which ensures the quality solution via a systematic information exchange that depends on a probabilistic decision. GAs are very robust due to the global searching and the neural network can be combined with GA for good optimization .We can see this type of optimization in the following two phases Phase 1: Step 1: Fuzzy logic rules for the various scheduling parameters are done Step 2: The Population is represented as a real number string, rather than a binary string .The population involves the weight parameters of the neural network Step 3: Initial population for the string is generated Step 4: Feed Forward calculation of the neural network is done Step 5: Calculate the fitness function for each chromosome. The fitness function for the GA is defined as the average squared system error of the corresponding NFN (Ghedjati, 2010) Step 6: Continue the cycle initiated in step 5 until convergence is achieved (Moratori et al., 2010) Phase 2: Step 1: Initialize the weights using the chromosome with the smallest fitness function value Step 2: Training data are inputs to the neural network.
Step 3: The feed forward calculation of the fuzzy neural network is done Step 4: Tuning of the real number (i.e.,) weight of the network is performed by using the gradient learning Step 5: The objective function or the inference error is calculated and the steps 3 and 4 are repeated until the error is less than a desired threshold value In phase I, GA is used to learn the algorithm process .The GA performs a global search and seeks an optimal point for the second stage. In this process, each chromosome is used to construct the weights of the NFN.The fitness function for the GA is defines as the average squared error of the neural network. After performing several iterations and meeting the stopping criteria, the first learning process is terminated and the chromosome returned will be considered as the initial weights of the fuzzy neural network in the second stage. Next the gradient algorithm performs the learning process until the terminal condition is satisfied.

RESULTS
The following tables and the figures show the results of the scheduling results of the various algorithms and the results with the optimization ones. Tables 1-4 shows the results of the running time of the calculations of the objective functions using the traditional algorithms and the Agile Algorithm. The same is optimized using the Neuro Fuzzy, Genetic Fuzzy and Genetic based Neuro Fuzzy systems. The Table 1-4 also shows the % of error calculations in the optimizations. The genetic Fuzzy based optimization shows the better results when compared to the other optimizations. Table 5-8 shows the results of the objective values for the four workloads. We have considered four objective functions to measure the result of the optimization. The Table 5-8 shows that the genetic fuzzy system gives better results when compared to the neuro fuzzy system and the neuro fuzzy system results are improved by the genetic based optimization. Figure 1-8 shows the error calculations of the workloads.

DISCUSSION
The study analyzed parallel job scheduling algorithms in detail and new scheduling algorithm called agile algorithm was discussed. The agile algorithm was compared with the traditional algorithms like first come first served, gang scheduling, flexible co scheduling with the help of six performance metrics like mean response time, mean reaction time, mean slowdown, turn around time, average waiting time and mean utilization. The study concentrates on the optimized technique like neuro fuzzy and genetic fuzzy for the agile algorithm. The fuzzy rules were framed based on the results of the agile algorithm. The optimized results were compared with the agile algorithm and the results shows that the genetic fuzzy technique gives better results than the neuro fuzzy. The study concentrates on improving the values of the neuro fuzzy optimized values from genetic algorithm approach. The genetic algorithm is used to improve the weights of the neural network systems used for the optimization.

CONCLUSION
The agile algorithm is optimized using two fuzzy classIfiers, genetic fuzzy systems and neuro fuzzy systems. Genetic fuzzy algorithm is proved to perform better when compared to the neuro fuzzy algorithm. Fuzzy system provides robust inference mechanisms with no learning and adaptability, while genetic algorithms provide an efficient data modIfication in optimizing the objectives functions of the given application. Neuro fuzzy algorithm is superior as it inherits adaptability and learning, but suffers in terms of lacking of optimal nature. From the results, it has been shown that the error percentage is least in genetic fuzzy algorithms than the neuro fuzzy algorithms for running time results and the objective value analysis. The neuro fuzzy system is improved by means of the genetic system. The results show that the genetic based neuro fuzzy system produced better results than the optimization in the neuro fuzzy system. The study shows all all the comparative results of the traditional algorithms and the optimization results of the classIfiers.