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 Terms— Task 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