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

Processes and programs, Processes and Programs Process is a dynamic...

Processes and Programs Process is a dynamic entity which is a program in execution. A process is a sequence of information executions. Process exists in a limited span of t

Describe the three levels of data abstraction, There are three kinds of D...

There are three kinds of Data Abstraction: Physical level: The minimum level of abstraction defines how data are saved. Logical level: The next bigger level of a

Explain about demand paging, Explain about demand paging? A demand pagi...

Explain about demand paging? A demand paging system is same to a paging system with swapping. Processes reside on secondary memory. When we require executing a process, we chan

Develop the material requirements plan, The following information is availa...

The following information is available for three MPS (Master Product Scheduling) items: Product A                            An 80 unit order is to be started in Week 3.

Kernel to context switch between kernel level threads, Q. Explain the actio...

Q. Explain the actions taken by a kernel to context switch between kernel level threads. Answer: Context switching among kernel threads classically requires saving the value

What are the benefits of thread pools, What are the benefits of thread pool...

What are the benefits of thread pools:- The benefits of thread pools are 1. It is usually faster to service a request with an existing thread than waiting to make a thread.

Deadlock, what are the overall concepts of deadlock

what are the overall concepts of deadlock

Direct communicatio., Consider a scenario of post mailbox, there are two pr...

Consider a scenario of post mailbox, there are two processes named sender S and receiver R. Both processes can communicate with each other by name along with message. You need to I

What is the purpose of system calls, Q. What is the purpose of system calls...

Q. What is the purpose of system calls? Answer: System calls permit user-level processes to request services of the operating system.

First-in-first-out (fifo), FIFO is named as 'named pipes'. FIFO (first-in-...

FIFO is named as 'named pipes'. FIFO (first-in-first-out) is a special file which is laid to be data transient. Once data is load from named pipe, it cannot be load again. Also, da

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