Introduction to Algorithms
Introduction to Algorithms
3rd Edition
ISBN: 9780262033848
Author: Thomas H. Cormen, Ronald L. Rivest, Charles E. Leiserson, Clifford Stein
Publisher: MIT Press
bartleby

Concept explainers

Question
Book Icon
Chapter 27, Problem 1P

(a)

Program Plan Intro

To reword the parallel loop in SUM-ARRAYS utilizing nested within the manner of MAT-VEC-MAIN-LOOP.

(a)

Expert Solution
Check Mark

Explanation of Solution

The implementation of the parallel loop that contains a worth grain-size to be specified is as follows:

SUM − ARRAYS’ (A, B, C)

  n=A.length

Grain − Size =?// to be calculated

  r=ceil(n/grainsize)fork=0tor1spawnADDSUBARRAY(A,B,C,k*grainsize+1,min((k+1)*grainsize,n))

Sync

ADD − SUBARRAY (A, B, C, i, j)

  fork=itojC[k]=A[k]+B[k]

Observing the algorithm SUM-ARRAYS (A, B, C) the parallelism is O(n) since it’s work is nlgn and the therefore the span is lgn .

(b)

Program Plan Intro

To calculate the parallelism of the given implementation if we set grain-size=1.

(b)

Expert Solution
Check Mark

Explanation of Solution

It can be concluded that each call to ADDSUBARRAY will return a sum of pair of numbers if the grain size = 1.

SUM − ARRAYS’ (A, B, C)

  n=floor(A.length/2)ifn==0C[1]=A[1]+B[1]elsespawnSUMARRAYS(A[1..n],B[1..n],C[1..n])SUMARRAYS(A[n+1..A.length],B[n+1..A..length],C[n+1..A.length])

(c)

Program Plan Intro

To formulate the span of SUM-ARRAYS’ in terms of n and grain-size and derived the most effective value worth for grain-size to maximize parallelism.

(c)

Expert Solution
Check Mark

Explanation of Solution

Assume g be the grain-size. The runtime of the function is ng . The runtime of any spawned task is g. So, we'd like to attenuate

  ng+g .

To get this we will perform calculus and get a derivative, we have

  0=1ng2 .

To further solve this, we set g=n . This minimizes the amount and makes the span O(ng+g)=O(n) and hence resulting in parallelism of O(n) .

Want to see more full solutions like this?

Subscribe now to access step-by-step solutions to millions of textbook problems written by subject matter experts!
Students have asked these similar questions
1.[30 pts] Computers generate color pictures on a video screen or liquid crystal display by mixing three different colors of light: red, green, and blue. Imagine a simple scheme, with three different lights, each of which can be turned on or off, projecting onto a glass screen: We can create eight different colors based on the absence (0) or presence (1) of light sources R,G and B: R G B Color 0 0 0 Black 0 0 1 Blue 0 1 0 Green 0 1 1 Cyan 1 0 0 Red 1 0 1 Magenta 1 1 1 0 Yellow 1 White 1 Each of these colors can be represented as a bit vector of length 3, and we can apply Boolean operations to them. a. The complement of a color is formed by turning off the lights that are on and turning on the lights that are off. What would be the complement of each of the eight colors listed above? b. Describe the effect of applying Boolean operations on the following colors: Λ 1. Red(100) ^ Magenta(101)= Blue(001) 2. Bue(001) | Green(010)= 3. Yellow(100) & Cyan(011)= 2.[30 pts] Perform the following…
D. S. Malik, Data Structures Using C++, 2nd Edition, 2010
Methods (Ch6) - Review 1. (The MyRoot method) Below is a manual implementation of the Math.sqrt() method in Java. There are two methods, method #1 which calculates the square root for positive integers, and method #2, which calculates the square root of positive doubles (also works for integers). public class SquareRoot { public static void main(String[] args) { } // implement a loop of your choice here // Method that calculates the square root of integer variables public static double myRoot(int number) { double root; root=number/2; double root old; do { root old root; root (root_old+number/root_old)/2; } while (Math.abs(root_old-root)>1.8E-6); return root; } // Method that calculates the square root of double variables public static double myRoot(double number) { double root; root number/2; double root_old; do { root old root; root (root_old+number/root_old)/2; while (Math.abs (root_old-root)>1.0E-6); return root; } } Program-it-Yourself: In the main method, create a program that…
Knowledge Booster
Background pattern image
Computer Science
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
SEE MORE QUESTIONS
Recommended textbooks for you
Text book image
EBK JAVA PROGRAMMING
Computer Science
ISBN:9781337671385
Author:FARRELL
Publisher:CENGAGE LEARNING - CONSIGNMENT
Text book image
Programming Logic & Design Comprehensive
Computer Science
ISBN:9781337669405
Author:FARRELL
Publisher:Cengage
Text book image
C++ Programming: From Problem Analysis to Program...
Computer Science
ISBN:9781337102087
Author:D. S. Malik
Publisher:Cengage Learning
Text book image
C++ for Engineers and Scientists
Computer Science
ISBN:9781133187844
Author:Bronson, Gary J.
Publisher:Course Technology Ptr
Text book image
New Perspectives on HTML5, CSS3, and JavaScript
Computer Science
ISBN:9781305503922
Author:Patrick M. Carey
Publisher:Cengage Learning
Text book image
Systems Architecture
Computer Science
ISBN:9781305080195
Author:Stephen D. Burd
Publisher:Cengage Learning