Parallel Defect Detection Model on Uncertain Data for GPUs Computing by a Novel Ensemble Learning

Parallel Defect Detection Model on Uncertain Data for GPUs Computing by a Novel Ensemble Learning

Sivakumar S., Sreedevi E., PremaLatha V., Haritha D.
Copyright: © 2021 |Pages: 18
DOI: 10.4018/978-1-7998-3335-2.ch010
OnDemand:
(Individual Chapters)
Available
$33.75
List Price: $37.50
10% Discount:-$3.75
TOTAL SAVINGS: $3.75

Abstract

To detect defect is an important concept in machine leaning techniques and ambiguous dataset which develops into a challenging issue, as the software product expands in terms of size and its complexity. This chapter reveals an applied novel multi-learner model which is ensembled to predict software metrics using classification algorithms and propose algorithm applied in parallel method for detection on ambiguous data using density sampling and develop an implementation running on both GPUs and multi-core CPUs. The defect on the NASA PROMISE defect dataset is adequately predicted and classified using these models and implementing GPU computing. The performance compared to the traditional learning models improved algorithm and parallel implementation on GPUs shows less processing time in ensemble model compared to decision tree algorithm and effectively optimizes the true positive rate.
Chapter Preview
Top

Introduction

Every day in the world, millions and millions of data are being produced and accumulated in various areas. These data’s has to be processed and a specific pattern of how it is behaving must be discovered in order to process the newly incoming data. This is where the use of classification method in data mining comes into picture.

A simple example of this kind of process is a grocery shop which is giving you preferences or a discount on the prices based on your previous purchases. In this thesis, a decision tree based, predictive classifier called ensemble to predict software metrics here after, has been taken into consideration and is implemented in central processing unit (CPU) computation and Compute Unified Device Architecture (CUDA) for Graphical Processing Unit (GPU) computation.

In this paper it implements the algorithm which presents ensemble model with the help of GPU computing thereby reducing the time taken for classification and comparing it with the time taken for implementing the algorithm in CPU computing. To record the difference in its behaviour when we increase the amount of data on it. This is the first step of our future work where the goal is to generalize the idea of applying GPU computing in each and every area of computation wherever it is needed. To display the images as an output for the generated images that are available in frame buffer we use an (GPU)Graphics processing Unit which is an electronic circuit specially designed for it, which is also known as (VPU) Visual Processing Unit. In blown 80’s and early 90’s, GPUs were used for better visualization in video games.

In late 90’s, GPUs become more programmable. Not only the game developers but also the researchers started using GPUs because of its excellent floating point performance. From that instance, General Purpose GPU (GPGPU) came into existence.

In the beginning, GPGPU programming was not so easy even for programmers who were expert in graphics programming languages like OpenGL. It was practically off-limits to those who didn’t have knowledge about latest graphics like Application Programming Interfaces (APIs). A picture showing Intel mother-board with dedicated graphic card is shown in the figure below Sanders et.al (2010).

Figure 1.

An Intel motherboard with dedicated graphic card slot

978-1-7998-3335-2.ch010.f01

In early 2000’s, A programming model, which is an extension of C programming language with data-parallel constructs was developed in NVIDIA lab. They named this new programming model as Compute Unified Device Architecture. It uses the concepts such as streams, kernels and reduction operators. GPU is needed to make parallel computing possible. A diagrammatic comparison between GPU and CPU architecture is given in the figure below.

Figure 2.

Comparisons of CPU and GPU Architectures

978-1-7998-3335-2.ch010.f02

CPU architecture has few computing cores optimised for sequential serial processing, while a GPU architecture consist of thousands of smaller computing cores to handle multi-tasks parallelly. GPU uses these massively parallel cores to provide high memory bandwidth for high performance computing. Even though GPU has lot of computing cores, its architecture is simple as that of a CPU. There are many architectures available namely Tesla, Fermi and Kepler. Out of these, latest is the GPU architecture of NVIDIA which is Kepler sivakumar s & et.al (2017) & Musthafa Baig et.al (2020).

Compute Unified Device Architecture, in short form CUDA is a C/C++ SDK evolved by NVIDIA, first released in 2006 to use the GPU architecture produced by them effectively. C programming language which extends to be a CUDA which consists of library functions to access GPU. It contains directives and functions that call GPU device and CPU device whenever it is necessary. It grants for smooth accessing of multi - threading and execution in parallel on all the processors that leads to thread on the GPU device Sanders et.al (2010). A diagrammatic representation of the process flow on GPU using CUDA is given in the figure below.

Figure 3.

Process flow in CUDA

978-1-7998-3335-2.ch010.f03

Complete Chapter List

Search this Book:
Reset