International Journal of Computer Applications (0975 – 8887) Volume 61– No.9, January 2013 23 Tasks Scheduling on Parallel Heterogeneous Multi- Processor Systems using Genetic Algorithm Mohammad Sadeq Garshasbi Department of Computer Engineering, Germi branch, Islamic Azad University, Germi, Iran. Mehdi Effatparvar ECE Department, Ardabil Branch, Islamic Azad University, Ardabil, Iran ABSTRACT With the increasing use of computers in research contributions, added need for faster processing has become an essential necessity. Parallel Processing refers to the concept of running tasks that can be run simultaneously on several processors. There are conditions that tasks have deadlines for scheduling. Therefore, the tasks should be scheduled before deadlines. May number of tasks before scheduling reached their deadline, Therefore, these tasks lost. These conditions are unavoidable. Thus, parallel multi-processor system tasks should be scheduled in a way, minimizing lost tasks. On the other hand, achieving good response times is necessary. this is an NP-Complete problem. In this article, we introduce a method based on genetic algorithms for scheduling tasks on parallel heterogeneous multi-processor systems for tasks with deadlines. The results of the simulations indicate reduced number of lost tasks in comparison with the LPT and SPT algorithms. Moreover, the response time of the proposed method due to its number of processing tasks, is appropriate, in comparison with the algorithm LPT and SPT. General Terms Scheduling, Parallel systems Keywords Parallel Heterogeneous Multi-processor Systems, Genetic Algorithm, Deadline, Lost Tasks. 1. INTRODUCTION In multiple processing, multiple processors work together to implement a program. The major application of these systems is for problem solving in modeling and engineering sciences (e.g. Applied Physics, Nuclear Physics, Geology and Seismology, Mechanical Engineering, Electrical Engineering, Mathematics etc.). Today, not only scientific problems solving requires parallel processing, but also some commercial applications require fast computers. Many of these applications require the processing of large volumes of complex information. Some of these programs include huge databases, data mining operations, oil exploration, medical imaging and diagnosis etc [2,3,7]. In parallel heterogeneous multi-processor systems, there are conditions that tasks have deadlines for scheduling. Therefore, the tasks should be scheduled before the deadlines. May number of tasks before scheduling reached their deadline, Therefore, these tasks lost. These conditions are unavoidable. Therefore, there should be policies to reduce the number of lost tasks. In addition, obtaining an appropriate response time is a necessity. The allocation sequence of tasks in a heterogeneous multi-processor system has direct impact on the number of lost tasks and response times. Therefore, we use genetic algorithms to determine the task’s optimal sequence to allocate to processors. A Genetic Algorithm (GA) approach is proposed to handle the problem of parallel system task scheduling. A GA starts with generation of an individual, which is encoded as strings known as chromosomes. A chromosome corresponds to a solution to the problem. A fitness function is used to evaluate the fitness of each individual. In general, GAs consist of selection, crossover and mutation operations based on some key parameters such as fitness function, crossover probability, and mutation probability [1]. Results of the simulations indicate reduction in the number of lost tasks in comparison with LPT and SPT the algorithms. In addition, the response time of the proposed method is appropriate due to the number of processing tasks in comparison with the LPT and SPT algorithms. This study is divided into the following sections: In section 2 an overview of the problem is given along with brief description of the solution methodology. Section 3 presents an improved genetic algorithm in detailed. The proposed method is described in Section 4. Results of the study are analyzed in Section 5. Finally, Section 6 presents the conclusions. 2. Problem Definition Scheduling can be deterministic and non-deterministic: deterministic means that all information about the tasks are known. This information includes execution time and deadline for each task. Non-deterministic means that only the probability information of tasks are known. Here, we focus on a deterministic schedule [4,8,9]. Parallel multi-processor systems can be homogeneous or heterogeneous: Heterogeneous means that the processors have different computing speeds and capacities. Homogeneous means that all processors have equal computing speeds and capacity [4,5,6,13]. Tasks can be independent or dependent. An independent task means that the tasks, for running, do not need to run other tasks and these tasks can be executed at any time without knowledge of the information of other tasks. On the other hand, a dependent task means that each task may require the information of other tasks for execution. for run a task should be executed other tasks. In addition to dependent and independent tasks, each task may constitute a deadline. If the task is scheduled before the deadline, as a result the task will be executed; otherwise the task lost[12,13]. In this study, a study has been done regarding the task scheduling problem as a deterministic on the heterogeneous multiprocessor environment and independent tasks. The multiprocessor computing environment consists of a set of m heterogeneous processor: P = {p i : i =1, 2, 3…m} (1)