• No results found

Parallel Computing: High Performance

N/A
N/A
Protected

Academic year: 2020

Share "Parallel Computing: High Performance"

Copied!
5
0
0

Loading.... (view fulltext now)

Full text

(1)

International Journal of Emerging Technology and Advanced Engineering

Website: www.ijetae.com (ISSN 2250-2459, Volume 1, Issue 2, December 2011)

97

Parallel Computing: High Performance

P.Durgaprasad

Asst.Prof, CSE, Sri Sarada college, JNTUH

[email protected]

Abstract This paper elucidates the importance of parallel computing in various areas like processors design, systems design. Parallel computing plays a vital role in computer architecture where the architect considers the computation as a crucial thing. The change to parallel microprocessors is a milestone in the history of computing. And this paper also aimed to present how parallel computing supports for the performance.

KeywordsComputer architecture, Computing, Parallel Computing, Serial computing , Runtime.

I. INTRODUCTION

Parallel Computing is evolved from serial computing that attempts to emulate what has always been the state of affairs in natural World. We can say many complex irrelevant events happening at the same time. For instance; planetary movements, Automobile assembly, Galaxy formation, Weather and Ocean patterns.

Historically, it is considered to be ―the high end of computing‖ and has been used to model difficult scientific, computational and engineering problems.

Different applications will present different tradeoffs between performance and energy consumption. For example, many real-time tasks (e.g., viewing a DVD movie on a laptop) have a fixed performance requirement for which we seek the lowest energy implementation. Desktop processors usually seek the highest performance under a maximum power constraint. Note that the design with the lowest energy per operation might not give the highest performance under a power constraint, if the design cannot complete tasks fast enough to exhaust the available power budget.

A large number of parallel machine models have been proposed. Some of the widely accepted models are: 1) fixed connection machines, 2) shared memory models, 3) the Boolean circuit model, and 4) the parallel comparison trees [1].

In the randomized version of these models, each processor is capable of making independent coin flips in addition to the computations allowed by the corresponding deterministic version. The time complexity of a parallel machine is a function of its input size.

Serial and Parallel Computing

Traditionally, software has been written for serial

computation:

 To be run on a single computer having a single Central Processing Unit (CPU).

 A problem is broken into a discrete series of instructions.

 Instructions are executed one after another.

 Only one instruction may execute at any moment in time.

Parallel computing is the simultaneous use of multiple compute resources to solve a computational problem:

 To be run using multiple CPUs.

 A problem is broken into discrete parts that can be solved concurrently.

 Each part is further broken down to a series of instructions.

 Instructions from each part execute simultaneously on different CPUs

(2)

International Journal of Emerging Technology and Advanced Engineering

Website: www.ijetae.com (ISSN 2250-2459, Volume 1, Issue 2, December 2011)

98

Intel believes that the increase in demand for computing will come from processing the massive amounts of information available in the ―Era of Tera‖. [Dubey 2005] Intel classifies the computation into three categories: Recognition, Mining, and Synthesis, abbreviated as RMS. Recognition is a form of machine learning, where computers examine data and construct mathematical models of that data. Once the computers construct the models, Mining searches the web to find instances of that model. Synthesis refers to the creation of new models, such as in graphics.

In the development of many modern technologies, such as steel manufacturing, we can observe that there were prolonged periods during which bigger equated to better. These periods of development are easy to identify: The demonstration of one tour de force of engineering is only superseded by an even greater one. Due to diminishing economies of scale or other economic factors, the development of these technologies inevitably hit an inflection point that forever changed the course of development. We believe that the development of general-purpose microprocessors is hitting just such an inflection point.

There are two critical forces shaping software development today. One is the popular adoption of Parallel Computing and the other is the trend toward Service Oriented Architecture. Both ideas have existed for quite a while, but the current technology of CMT(Chip Multi-Threading) processor designs, horizontally scaled systems, near zero latency interconnects and new web service standards are all accelerating both ideas into the main stream and are becoming adopted everywhere. It is quite easy to predict that most desktop machines or even laptops will be powered by multi-core or CMT processors over the next few years.[4] A more intriguing and important issue is whether the current state of software development is sufficient to produce good quality parallel applications for the new computing machines.

II. RELATED WORK

A system for the categorization of the system architectures of computers was introduced by Flynn (1972). It is still valid today and cited in every book about parallel computing.

It will also be presented here, expanded by a description of the architectures actually in use today.

Single Instruction - Single Data (SISD)

The most simple type of computer performs one instruction (such as reading from memory, addition of two values) per cycle, with only one set of data or operand (in case of the examples a memory address or a pair of numbers). Such a system is called a scalar computer.

Single Instruction - Multiple Data (SIMD)

The scalar computer of the previous section performs one instruction on one data set only. With numerical computations, we often handle larger data sets on which the same operation (the same instruction) has to be performed. A computer that performs one instruction on several data sets is called a vector computer.

Multiple Instruction - Multiple Data (MIMD)

Up to this point, we only considered systems that process just one instruction per cycle. This applies to all computers containing only one processing core (with multi-core CPUs, single-CPU systems can have more than one processing core, making them MIMD systems). Combining several processing cores or processors (no matter if scalar or vector processors) yields a computer that can process several instructions and data sets per cycle. All high performance computers belong to this category, and with the advent of multi-core CPUs, soon all computers will. MIMD systems can be further subdivided, mostly based on their memory architecture.[2]

Parallelism will substantially increase through the use of dual/multi-core chips in the future!

Parallel computing is entering every days life: Dual-core based system (Workstation, Laptop, etc…)

Basic design concepts for parallel computers:-

(3)

International Journal of Emerging Technology and Advanced Engineering

Website: www.ijetae.com (ISSN 2250-2459, Volume 1, Issue 2, December 2011)

99

B. Distributed memory systems:

Multiple processors/ compute nodes are connected via a network. Each processor has its own address space/memory, e.g. GBit Clusters with Xeon/Opteron based servers. [3]

Parallel Computer Memory Architectures:

Shared Memory Architecture

Fig 1. Shared Memory Architecture

All processors access all memory as a single global address space.

Parallel Computer Memory Architectures:

[image:3.612.327.565.204.421.2]

Distributed Memory

Fig 2. Distributed Memory

 Each processor has its own memory.

 Is scalable, no overhead for cache coherency.  Programmer is responsible for many details of communication between processors.

Eras of computing

The most prominent two eras of computing are: sequential and parallel era.In the past decade parallel machines have significant competitors to vector machines in the quest for high performance computing.

The computing era starts with a development in hardware architectures, followed by system software, applications and reaching their saturation point. Every element of computing undergoes three phases: R&D, Commercialization and Commodity

Fig 3. Two eras of computing [8]

III. PARALLEL COMPUTING ASPECTS

In computational field technique which is used for solving the computational tasks by using different type multiple resources simultaneously is called as parallel computing. It breaks down large problem into smaller ones, which are solved concurrently. A system in which two or more parts of single program operate concurrently on multiple processors.

Parallel computing has become dominant paradigm in computer architecture and parallel computers can be classified according to the level at which their hardware supports parallelism. Computational resources may include:

 Single computer with multiple processors.  Variant no. of computers connected to

network.

[image:3.612.74.253.440.543.2]
(4)

International Journal of Emerging Technology and Advanced Engineering

Website: www.ijetae.com (ISSN 2250-2459, Volume 1, Issue 2, December 2011)

100

Performance metrics for parallel systems:

• To determine best parallel algorithm • Evaluate hardware platforms

• Examine the benefits from parallelism

Serial runtime of a program

– Time elapsed between the beginning and end of execution on a sequential computer

– Usually denoted by TS

Parallel runtime of a program

– Time elapsed from start of the parallel computation to end of execution by the last processing element (PE).

– Usually denoted by TP

Represented by an overhead function (TO)

– Total time spent in solving a problem using ƿ PEs is ƿTP

– Time spent for performing useful work is TS – The remainder is overhead TO given by

TO = ƿ TP- TS ____ [4]

Parallel Programming with the .NET Framework

The .NET Framework 4 includes significant advancements for developers writing parallel and concurrent applications, including Parallel LINQ (PLINQ)[7], the Task Parallel Library (TPL), new thread-safe collections, and a variety of new coordination and synchronization data structures.

Runtime System

A major challenge in developing software for client platforms is hardware diversity. It is untenable to ask software vendors to adapt or optimize their programs for each of these platforms. Instead, we believe it is important to provide an execution environment that attempts to meet the applications goals the best it can given the available resources on the platform. Two key concepts in this statement are worth emphasizing:

1) Application goals: We believe that quality of service (QoS) will be increasingly important on client systems to provide a good user experience.

Many performance-hungry applications can be written so as to provide the best answer that can be computed by a given deadline, and will be written this way to be responsive without jitter and long pauses. We expect applications to be annotated and organized such that a level of output quality can be selected based on the available resources.

[image:4.612.326.560.476.588.2]

2) Available resources: We expect heterogeneity in client platforms. Not only will there be heterogeneity between platforms (different design/price points within a process generation and across process generations), but also within a platform. We expect future platforms to include a variety of cores (a few large cores, optimized for latency, for sequential performance and many small cores, optimized for throughput, for parallel workloads); even when designed to be similar, process variation will endow them with different performance characteristics. Furthermore, the resources that can be applied to each program’s execution may vary over time as applications are launched or complete and due to adaptation of the hardware to physical constraints (e.g., power, temperature, battery life, and aging). The process of trying to maximize utility (the sum of the user benefits of all running programs) given the available resources is an optimization problem. [9,10,11]

Fig 4. The anatomy of a managed execution of a heterogeneous multi-core machine running three parallel applications

IV. CONCLUSION

(5)

International Journal of Emerging Technology and Advanced Engineering

Website: www.ijetae.com (ISSN 2250-2459, Volume 1, Issue 2, December 2011)

101

Many things can be parallelized by programmer and compiler like loops/instruction block, instructions, functions etc. Our strategy of integrated applications and systems research will ensure we have the right test bed for evaluating, refining and ultimately proving our ideas on client parallel programming. The widespread use of parallel computation which requires a software infrastructure that allows programmers to code in a high-level language that abstracts away the complexity of protocols, scheduling, and resource management.

References

[1] Randomized Parallel Computation Sanguthevar Rajasekaran Dept. of CISE, Univ. of Florida John H. Reif Dept. of CS, Duke University

[2] An Introduction to Parallel Programming,Tobias Wittwer [3] Parallel Computing,G. Wellein, G. Hager .

[4] "Top500OSchart".Top500.org.

http://www.top500.org/overtime/list/32/os.

[5] Introduction to Parallel Computing, Ananth Grama,2004 [6] Performance metrics: keeping the focus on runtime IEEE,

Sahni, S.; Thanvantri, V.; Florida Univ., Gainesville, FL

[7] Microsoft http://code.msdn.microsoft.com/

[8] Parallel computing at a glance, Jonathan J. Nassi1 & Edward M. Callaway2

[9] L.V. Kale, ―Performance and Productivity in Parallel Programming via Processor Virtualization,‖ Proc. of the First Intl. Workshop on Productivity and Performance in

High-End Computing (at HPCA 10), February 14, 2004.

[10]V. Vardhan, D. Sachs, W. Yuan, A.F. Harris III, S. Adve, D. Jones, R. Kravets, and K. Nahrstedt,‖ GRACE-2: Integrating Fine-Grained Application Adaptations with Global Adaptation for Saving Energy,‖ to appear in the IJES, Special Issue on ―Low-Power Real-Time Embedded Computing.‖ Invited paper. Extended version of a paper in the Workshop on Power Aware Real-Time Computing (PARC), 2005. [11]W. Yuan, K. Nahrstedt, S. Adve, D. Jones, and R. Kravets,

Figure

Fig 3. Two eras of computing [8]
Fig 4. The anatomy of a managed execution of a heterogeneous multi-core machine running three parallel applications

References

Related documents

Favor you leave and sample policy employees use their job application for absence may take family and produce emails waste company it discusses email etiquette Deviation from

* This paper is presented to the 2nd KRIS-Brookings Joint Conference on "Security and Diplomatic Cooperation between ROK and US for the Unification of the

—   The results of this analysis highlighted the need for a rehabilitation technology that provides structural integrity independent of the existing host pipe... —  

A number of the published reports are including: Situation of Widows Rights in the Country, Situation of Working Women in Afghanistan, Situation of Young Women

David (1999) was amazed at the change in roles she experienced when she switched from her role as a reading specialist to that of a literacy coach. For the past 15 years, I have

As long as the table space is in backup mode Oracle will write the entire block is dumped to redo when the ALTER TABLESPACE TBSNAME BEGIN BACKUP MODE is entered but later

Teleport questions with parents is it phrase is important to do they are better understand grammar quiz and relative clause and organize your team has a quizizz.. Nailed it to use

Hyphae localization in tissue surrounding the wound or inoculation sites indicates that Pch colonizes all cell types, such as vascular tissues, paratracheal parenchyma cells,