Task decomposition and data decomposition, Operating System

Assignment Help:
Discuss the concepts of task decomposition and data decomposition within the context of parallel programming.
  • Parallel programming or parrelel computing is the simultaneous use of multiple compute resources to solve a given problem. Parallel program always onsists of simultaneously executing processes, problem decomposition relates to the way in which these processes are formulated. This classification can also be referred to as algorithmic skeletons or parallel programming paradigms. The basic two catagorizations in  parallel programming paradigms are task decomposition and data decomposition.

Task decomposition refers to the whole-part composition structure of a task model. In every level of the decomposition individual tasks are heuristically seen as representing those subtasks that are the steps which describe the procedural content of the whole task entity. The association relationship encapsulates this portion of meaning that go across the limits of the individual entities. A task-parallel model focuses on processes, or threads of execution. The processes are often behaviourally dissimiler, which stresses on the need for communication. Task parallelism provides a natural way to express message-passing communication. It is usually classified as MIMD/MPMD or MISD.

Data parallelism emphasizes on redistributing the whole data into the different parallel computing nodes. This is achieved when each processor begins performing the same task on the individual pieces of distributed data. In certain situations, a single execution thread may control the operations on all pieces of data. In others, individual threads control the operation, but overall they run the same code. Data parallelism focuses on the distributed nature of the data(parallelized), as opposed to the processing.

Most real programs fall somewhere on a continuum between task parallelism and data parallelism.


Related Discussions:- Task decomposition and data decomposition

What are the typical elements of a process image, What are the typical elem...

What are the typical elements of a process image? User data: Modifiable part of user space. May have program data, user stack area, and programs that might be modified. User

What is a semaphore, Question 1: a) State the different file attribute...

Question 1: a) State the different file attributes and briefly explain the operations that can be performed on each files. b) What is a semaphore? Describe why it is impor

Cache replacement policies, The physical memory acts as a cache backed by t...

The physical memory acts as a cache backed by the disk. When the physical memory is full, and we want to read in another page from disk, we have to evict a page from physical memor

Comparison of disk scheduling algorithms, COMPARISON OF DISK SCHEDULING ALG...

COMPARISON OF DISK SCHEDULING ALGORITHMS Name      Description                  Remarks      (Selection according to requestor)   RSS        Random scheduling     fo

Page fault handling , Page Fault Handling conditions like, where the copy...

Page Fault Handling conditions like, where the copy on write bit of a page is set and that page is send by more than one process, the Kernel assign new page and copies the conten

Define dynamic linking, Define dynamic linking. Dynamic linking is same...

Define dynamic linking. Dynamic linking is same to dynamic loading, rather that loading being postponed unless execution time, linking is postponed. This feature is usually use

Explain message passing among systems, Q. Explain Message passing among sys...

Q. Explain Message passing among systems? Communications- Message passing among systems requires messages to be turned into packets of information and sent to the network contr

Define enforcing modularity for c, Define Enforcing Modularity for C Ad...

Define Enforcing Modularity for C Additionally, in C it is sometimes necessary to create modularity of design. C++  is very natural model for component based application design

Why interrupt can be used, Why interrupt can be used? The majority of t...

Why interrupt can be used? The majority of the different parts of the PC need to send information to and from the processor and they expect to be able to get the processor's at

PSEUDO CODE FOR PROGRAM, THE PROGRAM WILL CHOOSE TWO RANDOM NUMBERS,THEN PR...

THE PROGRAM WILL CHOOSE TWO RANDOM NUMBERS,THEN PRINT THEM OUT AS AN ADDITION PROBLEM.THE PROGRAM WILL THEN ASK THE USERTO ENTER THE CORRECT ANSWER.IF THE ANSWER IS CORRECT,THE PRO

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