I.J. Information Technology and Computer Science, 2017, 6, 59-66
Published Online June 2017 in MECS (http://www.mecs-press.org/)
DOI: 10.5815/ijitcs.2017.06.08
Copyright © 2017 MECS I.J. Information Technology and Computer Science, 2017, 6, 59-66
Optimization of System’s Performance with
Kernel Tracing by Cohort Intelligence
Aniket B. Tate
Dept. of Computer Engineering, Vishwakarma Institute of Information Technology, Pune, 411048, India
E-mail: t.aniket.t@gmail.com
Laxmi A. Bewoor
Dept. of Computer Engineering, Vishwakarma Institute of Information Technology, Pune, 411048, India
E-mail: laxmiabewoor@gmail.com
Abstract—Linux tracing tools are used to record the
events running in the background on the system. But
these tools lack to analyze the log data. In the field of
Artificial Intelligence Cohort Intelligence (CI) is recently
proposed technique, which works on the principle of self-
learning within a cohort. This paper presents an approach
to optimize the performance of the system by tracing the
system, then extract the information from trace data and
pass it to cohort intelligence algorithm. The output of
cohort intelligence algorithm shows, how the load of the
system should be balanced to optimize the performance.
Index Terms—Kernel Trace, Linux Tracing Tool Next
Generation (LTTng), Metaheuristics, Cohort Intelligence.
I. INTRODUCTION
Kernel is the black box of the operating system which
handles the system resources like Memory, Input Output,
CPU time etc. Observing system and understanding what
is happening inside the operating system is the important
aspect to optimize the system performance. Kernel
tracing facilitates to demonstrate various activities
running inside the Operating System. Kernel tracing is
the activity of listing down, which OS process is using
which system resources at what time. There are various
tools available to trace down kernel activities like LTT,
LTTng, DTrace, FTrace etc. these tracing tools provides
details about processes running in the background and
their resource uses. This traced information can assist
performance optimization of operating system. These
tracing tools provide details about process and resources
they use but lack to analyze log data and extract
knowledge from it. [1] Another approach to improve the
system’s performance is to optimize the scheduler.
Scheduler is one of the major components which affect
system performance largely. The aim of the scheduling is
to share the resources by a number of processes.
Scheduling is central to an Operating-system’s design and
constitutes an important topic in the computer science
curriculum. Heuristics like Genetic Algorithm (GA)
[2][3], Ant Colony Optimization (ACO) [4][5] have been
implemented on the scheduler to optimize system
performance like maximize resource utilization, minimal
execution time etc. which shows better results. While
scheduling a process on one of the cores, the scheduler
considers the average waiting time, turnaround time, time
quantum for a process, number of context switches,
earliness, the tardiness of process etc. But the scheduler
does not take CPU load into consideration. As a result of
this, the cores get unevenly loaded and many of the cores
will be kept in ideal state. Cohort Intelligence (CI) is
recently introduced meta-heuristics [6][7] it works on
self-supervised learning behavior in a cohort. Cohort
refers to a group of candidates which communicate with
each other to achieve the common goal of the cohort by
improving individual’s behavior. In the cohort, every
candidate observes every other candidate and tries to
adopt a new behavior. Each candidate must follow other
candidate or itself in the cohort, which results in
improvement of behaviors of the candidate. In this way,
every candidate helps in improving the cohort’s behavior.
The cohort is considered to be saturated if the behavior of
candidate within adjacent iterations is nearly equal, a
maximum number of iterations occur [6][7].
This paper proposes an approach to use the LTTng 2.7
tool for tracing out the kernel (Ubuntu12), analyze the
trace data and pass CPU load information to CI algorithm.
CI algorithm works on that data and gives a set of cores
as an output to reschedule the processes. Finally, a
simulation is shown how to migrate process on core or set
of cores to balance system’s load.
The remainder of this paper is organized as follows.
Section II covers literature survey regarding kernel
tracing, system optimization techniques, and cohort
intelligence. In section III, steps to trace Linux system
(Ubuntu12) are listed. Section IV gives an overview of
system architecture. Section V gives flow chart of CI
algorithm and explanation of how CI is used in the
proposed system. Section VI shows a mathematical
model of proposed system. The result and analysis of the
proposed system are presented in section VII. The
concluding remark is presented in section VIII of the
paper.
II. RELATED WORK
Anderson et al. [1] suggested software performance