Cis 512 Week 4 Disscusion 2

Submitted by: Submitted by

Views: 458

Words: 305

Pages: 2

Category: Other Topics

Date Submitted: 07/07/2013 04:19 PM

Report This Essay

"Multiprocessor Systems and Applications " Please respond to the following:

* Determine five challenges faced by multiprocessors when coordinating the activities of all the processors in a computer system. Select the challenge that you believe is the hardest to deal with and explain why.

* 1) This optimization comes at the expense of an increased programming complexity since the programmer has to deal with both space (task assignment to 

* Multiple cores) and time (task scheduling). 

* 2) Multiprocessor design introduces a new old challenge - distance: CPU interconnect and the connection to memory.

* 3) The complexity of managing the dynamic workloads. Difficult to ensure efficient utilization of processors:

* 4) Difficult to provide single task scalability

* 4) Dynamic nature can overload specific processors

* Determine at least five programming challenges that multiprocessor applications face. Provide common solutions for each of these challenges.

* 1) Parallelism. Either the programmer explicitly specifies the parallel tasks when developing the application or the system needs to infer the parallelism and automatically parallelize the code. 

* 2) If the parallelism involves tasks that are not entirely independent, the programmer or system also needs to identify communication and synchronization between tasks.

* 3) Data dependencies - Most programs, once coded sequentially, have many data dependencies that prevent automatic parallelization.

* 4) Efficiency of code - parallelism incurs overhead costs, which include the time to create parallelism and to communicate and synchronize between parallel components. Some applications do not divide neatly into tasks that entail equal amounts of work, so the load must be balanced and any overhead associated with load-balancing managed. 

* 5) Correctness - synchronization of computational results or error results between parallel tasks. 

* 6) Testing and debugging...