, , , , , ,

[SOLVED] Cscn73000 assignment 2- parallel data processing – sorting data

$25

File Name: Cscn73000_assignment_2___parallel_data_processing_____sorting_data.zip
File Size: 621.72 KB

5/5 - (1 vote)

Data, data, data!   The world today is all about data.   It’s easy to search through data, but how can we do it efficiently?   Parallel design techniques are often used for sorting today.   In previous courses you have learned about “Merge Sort”.  You’ve probably even implemented it.    For this assignment you will be taking a sequential version of the merge sort algorithm and converting it to use parallel processing techniques, applying all the do’s and don’t we have discussed in class.

 

You will receive starting code with the Merge Sort implemented in C++ sequentially.  However, it is important for you to understand how the merge sort works.   If you need a bit of a refresher, I recommend watching the following YouTube video.

 

 

Since this is not a course on data sorting, I have provided you with a starting point that performs a merge sort using sequential programming.    Download the A2_StartingPoint.cpp file from eConestoga and import it into a Visual Studio solution space.

 

The program has no errors and should compile and execute.

 

 

HINT

 

As you are performing your development, keep the

const int N = 10. When you are ready increase the

                                                         value and see what happens.

 

 

 

In order to design a parallel version of this algorithm you will need to design and implement and new function that will handle the segmentation and distribution of the data to multiple threads.   Create a new function called “Parallel_Merge_Sort” to perform this activity.

 

Once you have implemented your parallel code update the main to execute the parallel processing after the sequential processing

 

 

Using a N size of 10, run your program, take a screenshot and upload it into the box below.

 

 

Add code to evaluate the time and efficiency of the two versions of execution.    Your code should calculate and display the following information:

 

 

HINT

Comment out the code that prints the arrays and results                and increase the N to a size of 100000 or more

 

 

NOTE:  Your Parallel Solution should be faster and more efficient than the sequential version.

 

Take a screenshot of your application’s output showing the timing results listed above and upload it into the box below.

Update your program one more time to create a global standard vector space that stores thread::ids.   In the critical section of your source code have the current thread running the code push its ID into the global vector every time the critical section executes.

Rubric

See eConestoga for details.

Once you have completed your lab upload the following files INDIVIDUALLY to eConestoga using the submission link:

 

Please make sure you delete all .vs (Hidden),  release and debug directories before you compress and upload your solution.

 

Reviews

There are no reviews yet.

Only logged in customers who have purchased this product may leave a review.

Shopping Cart
[SOLVED] Cscn73000 assignment 2-  parallel data processing – sorting data[SOLVED] Cscn73000 assignment 2- parallel data processing – sorting data
$25