International Journal of Scientific & Engineering Research, Volume 4, Issue 7, July-2013 1316 ISSN 2229-5518 IJSER © 2013 http://www.ijser.org Improving the Performance of DRTS by Optimal Allocation of Multiple Tasks under Dynamic Load Sharing Scheme Urmani Kaushal, Avanish Kumar Abstract—Task allocation over distributed real time system, for parallel applications, is a vital segment, where policy for task allocation should be chosen in very appropriate manner. By efficient allocation of the tasks, the throughput and the overall pro- cessor utilization can be maximized. Task allocation is NP-hard or NP-complete problem. To improve the performance of the system, a new heuristic has been suggested and implemented in this paper. The number of modules which can be assigned on the processor is limited and the memory is also having certain limit. So these two constraints have been taken into consideration in the algorithm discussed in this paper. The dynamic load sharing policy has been used to improve the performance i.e. at the time of assignment, the required constraints must be check and fulfilled. For clustering task k-mean clustering is used and the proposed model is implemented in matlab. .Index TermsTask Allocation, Distributed Real Time System, parallel application, Cluster, throughput, processer utilization, NP- complete, dynamic load sharing. 1 INTRODUCTION distributed real-time system is a set of nodes connected by a real-time communication network that interact with each other in order to accomplish common task. The dis- tributed real time system consists of a set of heterogeneous computers interconnected via a communication network. Each node has computation facility and its own memory while the communication network has a limited communication capaci- ty. DRTS have come out as a great platform for high perfor- mance parallel applications [16]. The distributed computing system which makes the computation distribution over the nodes of the system has become very attractive because of the escalating necessitate of processing power for scientific calcu- lations. A large range of studies has shown that the work- stations are idle form 33% to 78% of the time [11]. The high performance environments presented by parallel and distributed computing system are much capable to provide high capacity of processing. For realization of such capacitative system, efficient task allocation algorithms and load distribution schemes must be employed in a very effi- cient manner. It is not the fact that the computing power of a distributed system increases proportionally with the number of processors involved. It should be taken care that the proces- sors in the system should not be overloaded or idle [14]. The basic function of load distributing algorithm is to transfer load (tasks) from heavily loaded computers to idle or lightly loaded computers. The load distribution is meant for perfor- mance enhancement of a distributed system by the allocation of workload over the distributed system optimally. Load dis- tributed algorithms can be broadly characterized as static and dynamic. ———————————————— Urmani Kaushal is currently working as Assitant Professor in Department of Physical & Computer Science in MITS University, Lakshmangarh Rajasthan, India, PH-09549821277. E-mail: urmani10kaushal@gmail.com Avanish Kumar is currently working as Professor & HOD in Department of Maths, Stats & Computer Applications in BundelkhandUniversity, Jhansi, In- dia, PH-09935520565. E-mail: dravanishkumar@yahoo.com In static load distribution algorithms, jobs are as- signed to hosts without considering the runtime events using a priori knowledge of the system probabilistically or determin- istically. Dynamic load distribution algorithms use system state information like workload and any factor that may affect the choice of the most appropriate assignment to make deci- sions for load distribution [15]. Theory of load distribution classifies the load distrib- uting algorithms as load balancing and load sharing algo- rithms. The load balancing algorithms equalize the loads at all the processors of the system. It transfers tasks at very higher rate than load sharing algorithms whereas in load sharing, the tasks are transferred by taking all appropriate decisions. Here once the tasks have been assigned to the particular node, it will not be reallocated. Two load sharing policies may be applied to react to dynamic system change: dynamic placement, that allocates programs according to the current system state, and migra- tion, that moves processes according to system and applica- tion. Load sharing is dedicated to long-lived applications [11]. Supports for parallel programming over workstations network often ignore programs’ needs, real load conditions and users’ activities [12]. Optimaum load sharing strategies are very hard to implement and are well-known as NP-complete. A number of works concentrated on static allocation [5, 7, 8], adapted for multiprocessor systems without interference be- tween users or concurrent applications [11]. Here the objective is to maximize the overall performance of the system by allocating the task to the appropriate node in the system optimally. For enhancing the performance the sys- tem, it must have an efficient mechanism for task allocation of parallel application. A task allocation algorithm seeks an as- signment that optimizes a certain cost function, for example maximum throughput or processor utilization or minimum turnaround time. Multiple algorithms for task alloation in distributed compu- A IJSER