What is single program multiple data, Computer Engineering

Assignment Help:

Q. What is Single Program Multiple Data?

A general style of writing data parallel programs for MIMD computers is SPMD (single program, multiple data) means all processors execute same program however every processor operates on a separate part of problem data. It's easier to program than true MIMD however more flexible than SIMD. Though most parallel computers today are MIMD architecturally they are generally programmed in SPMD style. In this style though there is not any central controller the worker nodes carry on doing basically the same thing at effectively same time. Rather than central copies of control variables stored on control processor of a SIMD computer, control variables (iteration counts and so on) are generally stored in a replicated fashion across MIMD nodes. Every node has its own local copy of these global control variables however each node updates them in an identical way. There are no centrally issued parallel instructions however communications generally occur in well-defined collective phases. These data exchanges happen in a prefixed manner which implicitly or explicitly synchronizes the peer nodes. The condition is something such as an orchestra without a conductor. There is no central control however every particular plays from the same script. The group as a complete stays in lockstep. This loosely synchronous style has a number of similarities to Bulk Synchronous Parallel (BSP) model of computing introduced by theorist Les Valiant in early 1990's. The limited pattern of the collective synchronization is easier to deal with than complex synchronisation problems of a general concurrent programming.


Related Discussions:- What is single program multiple data

Where shared resources are accessed, A critical section is a program segmen...

A critical section is a program segment? Ans. A critical section is a program segment where shared resources are accessed.

Categorized the optimization transformations, Categorized Optimization tr...

Categorized Optimization transformations The structure of program and the way in that data is defined and used in this provide vital clues for optimization. Optimization t

Pruning - artificial intelligence, Pruning - artificial intelligence: ...

Pruning - artificial intelligence: Recall which pruning a search space means deciding that there certain branches to should not be explored. Moreover if an agent knows for sur

What is the function of cu, What is the function of CU? The control uni...

What is the function of CU? The control unit works as the nerve center that coordinates all the computer operations. It issues timing signals that governs the data transfer.

Explain the working of bcd adder, Explain the working of BCD adder One ...

Explain the working of BCD adder One of the ways of adding decimal numbers in BCD is to use a 4-bit binary adder and perform arithmetic operation one digit at a time. The low-o

What is binary search, Binary Search: Search a sorted array by repeatedly i...

Binary Search: Search a sorted array by repeatedly in-between the search interval in half. Start with an interval covering the entire array. If the value of the search key is less

State about the firewalls - intranet, Firewalls While getting one fire...

Firewalls While getting one firewall for the company's Intranet it should be well known that firewalls come in both hardware and software forms, and that even though all firew

Differentiate concurrent and parallel executions, Differentiate concurrent ...

Differentiate concurrent and parallel executions ? The words "parallel "and "concurrent" are often used interchangeably, however they are different. Parallel execution is connec

No class can derive, Make a console application. Add class 'Account' having...

Make a console application. Add class 'Account' having variables as num (integer) name (String), bal (double), ac_code (byte). Describe four different constructors to initialize th

Difference between blocking and non-blocking, Difference between blocking a...

Difference between blocking and non-blocking Verilog  language  has  two  forms  of  the  procedural  assignment  statement:  blocking  and  nonblocking. The two are distinguis

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