Question: Finding what's wrong with multithreaded shuffling algorithm For this part of the question, I think the issue is that if we for example say that
Finding what's wrong with multithreaded shuffling algorithm

For this part of the question, I think the issue is that if we for example say that there are 2 threads running each line at a time, then i, j, t, a[i], a[j] will all be set to the last threads values since there isn't anything from stopping multiple threads from assigning and writing at a time. For the Can the be{1,1,..} question I am not so sure.
7. We want to create an efficient shuffling algorithm. Idea - perform random swaps of elements of the array using multiple threads. Proposed solution 0 - discuss this solution. Assume read and write are atomic, i.e. if 2 threads asynchronously write-write, the data will not be garbage, one of the threads will write first and then the second will overwrite the result. Shared variable: int a[n] = {1,...,n} for(int i=0; i
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
