Challenges Faced in Enhancing the Performance and Scalability in Parallel Computing Architecture

Challenges Faced in Enhancing the Performance and Scalability in Parallel Computing Architecture

M. Narayana Moorthi (SCSE-VIT University, India) and R. Manjula (SCSE-VIT University, India)
DOI: 10.4018/978-1-4666-9479-8.ch010
OnDemand PDF Download:
$30.00
List Price: $37.50

Abstract

Now a day the architecture of high performance systems are improving with more and more processor cores on the chip. This has both benefits as well as challenges. The benefit is running more task simultaneously which reduces the running time of the program or application. The challenges are what is the maximum limit of the number of cores in the given chip, how the existing and future software will make use of all the cores, what parallel programming language to choose, what are the memory and cache coherence issues involved when we increase the number of cores, how to solve the power and performance issues, how the cores are connected and how they are communicating to solve a single problem, workload distribution and load balancing issues in terms of scalability. There is a practical limit for speedup and scalability of number of cores on the chip which needs to be analyzed. So this chapter will focus on the introduction and overviews of parallel computing and the challenges faced in enhancing the performance and scalability in parallel computing architecture.
Chapter Preview
Top

Introduction

Parallel computing (Hughes & Hughes, 2008; Sutter, 2005a; Sutter, 2005b) is defined as the simultaneous or concurrent execution of multiple tasks on the given machine. Now a day the machines are available with more than one processor or cores. So each core or processor will involve for the computation of the same task or different problems simultaneously so that the running time is reduced. The standalone computers can be connected together using network interface to form a parallel computer. This large computer called as parallel computer can be used for modeling and simulation based experiments or solving complex real time problems.

The advantages of parallel computers are

  • 1.

    Save cost.

  • 2.

    Reduce Total Execution Time or Running time of an application.

  • 3.

    Solve large problems in less time.

  • 4.

    To make better use of compute resources such as CPU Time.

The challenges and issues while making use of parallel computers are need to be analyzed and few are as follows.

  • 1.

    Type of Parallel computer.

  • 2.

    Problem Size and Algorithm complexity.

  • 3.

    Parallel Programming Languages.

  • 4.

    Type of processor core –Homogeneous or Heterogeneous.

  • 5.

    Number of processor cores.

  • 6.

    Connection and communication of all these processor cores.

  • 7.

    Independent tasks.

  • 8.

    Cooperation, coordination and synchronization of various tasks.

  • 9.

    Memory design issues like cache coherence problems.

  • 10.

    Work load balance and scheduling policy.

Today’s demand in running any application is to meet the high performance (Guy, 2007; Prinslow, 2011; Wrinn, 2009) requirements, multitasking, high speed operation, to use compact and smaller devices, powerful computing with energy efficient devices, better price with long battery life. Our application is making use of existing hardware by the use of operating system. The fastness of computer generally related with the hardware and program nature. The way we measure the performance is the running time or execution time of the program. The need to reduce the running time of a program is to get high speed computing which can be done through parallel processing or programming (“Intel Multi-core technology, n.d.; “Multi-core Processors, n.d.; McCalpin, n.d.) and use of parallel computing machines. The parallel computer is defined as the collection of large processing elements to solve a large size problem in fastest rate.

Complete Chapter List

Search this Book:
Reset