491 | International Journal of Current Engineering and Technology, Vol.4, No.2 (April 2014)
Research Article
International Journal of Current Engineering and Technology
E-ISSN 2277 – 4106, P-ISSN 2347 - 5161
©2014 INPRESSCO
®
, All Rights Reserved
Available at http://inpressco.com/category/ijcet
CAPS: A Tool for Process Scheduling in Distributed Environment
Hifzan Ahmad
Ȧ*
and Neelendra Badal
Ȧ
Ȧ
Department of Computer Sci. & Engineering, K.N.I.T. SULTANPUR, U.P., INDIA
Accepted 01 March 2014, Available online 01 April 2014, Vol.4, No.2 (April 2014)
Abstract
A multiprogramming operating system allows more than one process to be loaded into the main-memory at a time and
allows the loaded process to share the CPU using time-multiplexing. CPU scheduling is the method of determining when
processors should be assigned and to which processes. CPU scheduling in a distributed system can be defined as
allocating processes to processors so that total execution time will be minimized, utilization of processors and load
balancing will be maximized. This paper presents a simulating behavior of CPU scheduling in distributed environment
using the design and developed Computing Analyzer and Process Simulator (CAPS) tool. Symmetric multiprocessor
scheduling technique has been implemented in the presented CAPS tool where a common ready queue is shared among
the processors. The selection of the processes from the ready queue is done through the FCFS scheduling policy. Finally,
a comparative study of the CAPS tool with other existing tools on the basis of execution time required to perform
simulation has been presented. The comparative analysis shows that the execution time of CAPS tool is less than that of
other existing tools for process scheduling.
Keywords: CPU Scheduling, Distributed System, Multiprocessor Scheduling, Multiprogramming, Simulator.
1. Introduction
1
A process is an instance of a computer program in
execution. It contains the program code and its current
activity (V. Singh et al, 2013). CPU scheduling deals with
the problem of deciding which of the processes in the
ready queue is to be allocated the CPU. It can also be
defined as the method of determining when processors
should be assigned and to which processes (Maria Abur et
al, 2011). In a distributed system it can be defined as
allocating processes to processors so that total execution
time will be minimized, utilization of processors will be
maximized and load balancing will be maximized (V.
Harsora et al, 2011). CPU scheduling is the basis of
multiprogrammed operating system (Silberschatz. A. et al,
2002). It plays an important role in distributed systems in
which it enhances overall system performance metrics
such as process completion time and processor utilization
(Chaptin et al, 2003). It will increase speed of the
execution of the workload and executed more quickly with
having the scheduling algorithm (Chow et al, 1997). The
basic idea behind distributed process scheduling is to
enhance overall system performance metrics (Stallings et
al, 1998). In a multiprogramming operating system many
processes are loaded into the main-memory at a time
where they reside in a ready queue. A multiprogramming
system also allows the loaded process to share the CPU
using time-multiplexing (Maria Abur et al, 2011).
Therefore, a tool is required which allow the users to
*Corresponding author: Hifzan Ahmad
simulate the behavior of CPU scheduling in distributed
environment. The design and developed CAPS tool allows
the user to make a distributed environment by adding
multiple resources and then perform simulation in this
environment.
The implementation of CAPS tool is done through
Microsoft Visual Studio 9.0. There are two mechanisms
to perform CPU scheduling in multiprocessor system. In
asymmetric multiprocessing, all scheduling decisions, I/O
processing, and other system activities handled by a single
processor called the master processor. The other
processors are involved in the execution of user codes
only. In symmetric multiprocessing, all processes are in a
common ready queue, or each processor may have its own
private queue of ready processes. An attempt to keep
processes running on the same processor instead migration
of processes form one processor to another is called
processor affinity. When it is possible for a process to
migrate between processors, it is called soft affinity and
when it is not possible for a process to migrate between
processors, it is called hard affinity (Silberschatz. A. et al,
2002). Symmetric multiprocessing mechanism and hard
affinity mechanism has been implemented in the presented
CAPS tool.
2. Objectives of Process Scheduling
The main objective of CPU scheduling algorithms is to
utilize the resources effectively and efficiently. It can be
achieved by making CPU busy as much as possible. The
criteria for CPU scheduling are as follows: