Modify Algorithms so that they work for any number of processes,not just the powers of 2. 1. procedure GENERAL_ONE_TO_ALL_BC(d, my_id, source, X) 2. begin 3. my_virtual id := my_id XOR source; 4. mask...


Modify Algorithms so that they work for any number of processes,not just the powers of 2.



1.   procedure GENERAL_ONE_TO_ALL_BC(d, my_id, source, X)
2.   begin
3.      my_virtual id := my_id XOR source; 4.      mask := 2ᵈ - 1;
5.      for i := d - 1 downto 0 do   /* Outer loop */
6.          mask := mask XOR 2ⁱ;    /* Set bit i of mask to 0 */
7.          if (my_virtual_id AND mask) = 0 then
8.              if (my_virtual_id AND 2ⁱ) = 0 then
9.                  virtual_dest := my_virtual_id XOR 2ⁱ;
10.                 send X to (virtual_dest XOR source);
/* Convert virtual_dest to the label of the physical destination */
11.             else
12.                 virtual_source := my_virtual_id XOR 2ⁱ;
13.                 receive X from (virtual_source XOR source);
/* Convert virtual_source to the label of the physical source */
14.             endelse;
15.     endfor;
16. end GENERAL_ONE_TO_ALL_BC



Jun 10, 2022
SOLUTION.PDF

Get Answer To This Question

Related Questions & Answers

More Questions »

Submit New Assignment

Copy and Paste Your Assignment Here