Data parallel programming with parallel virtual machine, Computer Networking

Assignment Help:

Data Parallel Programming

In the data parallel programming model, main focus is on performing simultaneous operations on a data set. The data set is typically prepared into a common structure, such as an hypercube or array.  Processors work collectively on the similar data structure. Though, every task works on a different partition of the similar data structure. It is more restrictive because not all algorithms can be shows in the data-parallel terms. For the reasons, data parallelism, although main, is not a universal parallel programming paradigm.

Programming with the data parallel model is generally accomplished by writing a program with the data parallel constructs. The constructs can be called to a compiler directives or data parallel subroutine library. Data parallel languages give facilities to states the data decomposition and mapping to the processors. The languages have data distribution statements, which let the programmer to control which data goes on what processor to minimize the quantity of communication between the processors. Directives show how arrays are to be aligned and distributed over the processors and therefore specify agglomeration and mapping. Communication operations are not particular explicitly by the programmer, but are instead inferred by the compiler from the program. Data parallel languages are more suitable for SIMD architecture however some languages for MIMD structure have also been executed. Data parallel approach is more effective for highly regular troubles, but are not very effective for irregular troubles.

The major languages used for this are Fortran 90, High Performance Fortran (HPF) and HPC++. We shall talk about HPF in detail in the next unit. Now, we shall give a short overview of some of the early data parallel languages:

  • Computational Fluid Dynamics: CFD was a FORTRAN-like language developed in the early 70s at the Computational Fluid Dynamics Branch of Ames Research Center for ILLIAC IV machines, a SIMD computer for array processing. The language design was very pragmatic. No attempt was made to cover the hardware peculiarities from the user; in fact, each attempt was made to give the programmers the access and control of all of the hardware to help constructing efficient programs. This language made the architectural types of the ILLIAC IV very apparent to the programmer, but it also contained the seeds of a few practical programming language abstractions for data-parallel programming. In spite of its ad hoc and simplicity machine-dependencies, CFD permits the researchers at Ames to develop a range of application programs that efficiently used the ILLIAC IV.
  • Connection Machine Fortran: Connection Machine Fortran was a later SIMD language developed by Thinking Machines Corporation. Connection Machine Fortran included all of FORTRAN 77, together with the latest array syntax of Fortran 90. It added a variety of machine shows features, but unlike CFD or DAP FORTRAN these appeared as compiler directives rather than usual syntax in Fortran declarations or implementable statements. A main improvement over the earlier languages was that, distributed array dimensions were no longer constrained to precisely fit in the size of the processing element array; the compiler could transparently map dimensions of arbitrary extent across the existing processor grid dimensions. At last the language added an explicitly parallel looping construct called FORALL. While CM Fortran looked syntactically like standard Fortran, the programmer had to be aware of numerous nuances. Like the ILLIAC IV, the Connection.

Machine permitted the Fortran arrays to either be distributed across the processing nodes (called distributed arrays, or CM arrays), or allocated in the memory of the front-end computer (called sequential arrays or front-end arrays). Unlike the control unit of the ILLIAC, the Connection Machine front-end was a ordinary, general-purpose computer--typically a Sun or VAX. But there were still significant restrictions on how arrays could be manipulate, reflecting the two possible homes.

Glypnir ,IVTRAN and *LISP are a little of the other early data parallel languages.

Let us conclude this unit with the introduction of a typical data parallel programming

style known as SPMD.


Related Discussions:- Data parallel programming with parallel virtual machine

Show the drawbacks of go-back-N, Q. Show the Drawbacks of Go-back-N? D...

Q. Show the Drawbacks of Go-back-N? Drawbacks of Go-back- N - Inefficient - Every out of order received packets are discarded (receiver side is simplified) - This

What is raid in ccna, A method used to standardize and categorize fault-tol...

A method used to standardize and categorize fault-tolerant disk systems. RAID levels give lot of mixes of performance, reliability, and cost. Some servers give three of the RAID le

How xor operations can implement key stream attacks, Question: a) In a...

Question: a) In a wireless network where WEP is enforced as security mechanism, what procedure would the network manager adopt for changing WEP default keys. b) Using Pla

Compare error detection and error correction, Compare Error Detection and E...

Compare Error Detection and Error Correction: The correction of errors is more difficult than the detection. In error detection, checks only any error has happened. In error co

What is tdm, What is TDM? TDM is a digital process that can be applied ...

What is TDM? TDM is a digital process that can be applied when the data rate capacity of the transmission medium is greater than the data rate needed by the sending and receivi

Minimum possible response time , Consider the similar conditions as the las...

Consider the similar conditions as the last problem, except for the following: what's the minimum possible response time for the 1 Gbps and a 1 Mbps line?  What does the diffrentia

How is a logical network diagram, Question: a) In relation to network ...

Question: a) In relation to network design, give two reasons why the building-block approach is favoured to the traditional approach. b) Explain the following steps in rela

Concept of permutation network, Concept Of Permutation Network In permu...

Concept Of Permutation Network In permutation interconnection networks the information replace requires data transfer from input set of nodes to output set of nodes and likely

What is kerberos in networking, What is Kerberos in Networking? It is a...

What is Kerberos in Networking? It is an authentication service developed at the Massachusetts Institute of Technology. Kerberos uses encryption to stop intruders from discover

Parts count method, PARTS COUNT METHOD This prediction method is appli...

PARTS COUNT METHOD This prediction method is applicable at preliminary stages, during bid proposal and early design phases; when insufficient information is available regardin

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd