Parallel implementations of sum-scan operation

Assignment Help C/C++ Programming
Reference no: EM13888486

Parallel Implementations of (sum-)Scan Operation and Its Applications

Instructions:

In this research project, students are asked to study the theory and implementations behind a very important parallel primitive -i.e. the scan primitive- and its numerous applications. There are two main approaches in implementing the scan primitive on a Parallel Random Access Machine (PRAM) for achieving efficient data parallelism.

The project involves reading the base articles and book chapters by Daniel Hillis and Guy Steele and by Guy Blelloch who introduced two implementations of the parallel scan primitive and writing a report on your understanding of the scan primitive and its applications.

Please read the instructions here carefully and start working on your project as soon as possible to give yourself time to critically think about and to write a successful report on this project.

Overview:

Scan operation is a very important operation in many computing applications. The idea is to work on a vector of elements and keep a running operation (per-element) of the input vector.

This operation has a very straightforward serial implementation, involving a loop to go through each element of the input vector. However, the serial scan operation suffers from a O(n) running time, where n is the number of input elements in the array.

Data Parallel scan operations have the potential to reduce this requirement to O(lg n), thereby speeding up the process drastically for a large number of input elements.

Applications of this operation include, radix sort, quick sort, line-of-sight, line drawing, and many more. Therefore, an efficient implementation of such an important primitive could potentially help improve the performance of many applications.

Reading Materials

There are two required reading documents that students are asked to read and comprehend. Student reports are to be based on student's complete understanding of these documents. However, please feel free to search online for additional documents or reference materials that help your understanding of the theoretical and application concepts for this research project.

The following are the references to the required reading materials. You may find the .pdf files of these documents as attachments to the assignment on your blackboard. [1] Daniel Hillis and Guy Steele, (1986). "Data Parallel Algorithms", in Communications of ACM, 29(12), pp. 1170-1182. [2] Guy E. Blelloch, (1991). "Prefix Sums and Their Applications", in Synthesis of Parallel Algorithms (ed:JohnReif), Morgan Kaufmann, pp. 35-60.

Tasks:

Student's tasks are to start working on the two papers (as presented in the Reading Materials section) and get a firm grasp of the theory behind, and applications of the Scan primitive. 1- After a solid understanding of the concepts, students are asked to write a report on the theoretical and algorithmic frameworks behind the concept of this research project. 2- The report will also include students working examples of the concepts presented in the paper(s). 3- Further, students are asked to search online (or by going on https://vcuhvlibrary.uhv.edu/ and clicking on Try OneSearch tab) to search for recent papers that utilize the concepts of this project in applications.

Reading Phase: Please download the required papers from the blackboard or from an online resource. Read the papers, and try to get a firm understanding of the concepts as well as the applications of these concepts. Once you are ready to proceed and are confident of your understanding of the concepts, you may start working on your report.

There are three parts for the report (as discussed above) and the format is described in the deliverable section.

Writing Phase: When you are ready to work on your report, please make sure that you include all the required deliverable materials. Please make sure that the report is structured in such a manner that the required items are easy to access and follow. There are not any restrictions on the number of pages, formatting style, or the structuring of your paper. As such, please make sure that your report follows a cohesive delivery and that by reading your paper the instructor can assess your evaluation of the concepts and understanding of the materials. Your report may also need you to present working examples or answer some specific questions.

A comprehensive report is required as the sole deliverable material for this research project. Each student is asked to write his/her own report on the required materials. However, you may use any other material in addition to the required reading contents to help your understanding of the concepts and applications as a part of this research project.

The following is a generic format that the report may follow and the contents that the report is required to include. However, the structuring of the report is left to the student to decide.

Introduction Please include an introduction section to your report. This section should include the following items at the minimum: 1- A brief introduction to the concepts of this research paper 2- A short presentation of the importance of the concepts to be presented (in theory and applications) 3- A brief overview of the structure of the rest of the report

Literature Review This section will include students' review of both the Hillis and Steele (1986) and Belloch (1991) papers. Include an overview of each paper, what concepts were covered in each paper and present a broad and high level description of major contributions of each paper.

Theoretical Concepts After the review of the papers, please write a section on the theoretical concepts that each paper covers. In this section, please write your own understanding of each method. You may use two subsections that cover the Hillis and Steele, and the Blelloch's algorithms separately. Use diagrams, tables, or figures to discuss each method and present your understanding of each method to the best of your ability. NOTE: (highly recommended) please show two examples for the method discussed each paper. These examples will help solidify your understanding as well as show case your grasp of the concepts.

Typical Applications Choose one application out of each paper and discuss an algorithm and show examples of how the algorithm works. You may also have subsections for each algorithm. Please present as many diagrams, or examples as needed to show your understanding of how each application works.

Recent Experiments For this section, students are asked to research the applications of the Scan primitive (either Hillis/Steele or Blelloch's implementation) in a real-life application. Please describe the application, the use of scan for accelerating the application as presented by the author(s) of the work you are citing, and discuss the results of their experiments.

Citation and References

Please include all of the references you used for this project. Make sure that you have proper citations to the work you are referencing in your report appropriately. Your citations may follow APA, MLA, Chicago, or IEEE styles.

Reference no: EM13888486

Questions Cloud

Molar specific heat at constant volume of the mixture : Find the molar specific heat at constant volume of the mixture, in terms of the molar specific heats and quantities of the three separate gases.
What is the molecular geometry of a molecule : What is the molecular geometry of a molecule that has three bonding and two non-bonding domains?
Are there any losers with the tui system described : Are there any losers with the TUI system described in this case? If so, who are they? Is this system justified despite creating losers Of the five competitive forces discussed in this case, which do you think TUI system affects?
Services likely to be more elastic-less elastic or same : Three Guys Named Moe, a moving company in Econopolis, is contemplating a price hike. Right now, they charge $20 per hour, but Moe #1 thinks they could get $30. Moe #2 disagrees, saying it will hurt the business. Should they do as Moe#1 suggests and r..
Parallel implementations of sum-scan operation : Parallel Implementations of (sum-)Scan Operation and Its Applications - Data Parallel scan operations have the potential to reduce this requirement to O(lg n), thereby speeding up the process drastically for a large number of input elements.
Minimum amount of heat : Apparatus that liquefies helium is in a laboratory at 296 K. The helium in the apparatus is at 4.0 K. If 150 mJ of heat is transferred from the helium, find the minimum amount of heat delivered to the laboratory.
Describe any web sites you found that measure tco : What companies use this approach? Describe any Web sites you found that measure TCO.
The text discusses the development of online retailing : 1.The text discusses the development of online retailing in the United States. How does the development of this retailing form agree with the implications of the retail life cycle?
Analyze income statements before you invest : Can you see how cash flow problems can grow to unbelievable proportions in just a short time, even when profits look good? What does that tell you about the need to carefully read and analyze income statements before you invest?

Reviews

Write a Review

C/C++ Programming Questions & Answers

  Write a program that allows the user to enter a measurement

Write a program that allows the user to enter a measurement in either feet or inches. If they enter feet convert it to inches. If they enter inches convert it to feet. Output the answer in both feet and inches using appropriate identification on t..

  Structured programming using procedural languages

A a program that is called "Playing with Numbers or Letters".

  Taskwrite a bouncing ball video game the balls bounces

taskwrite a bouncing ball video game. the balls bounces within the screen where the two horizontal walls are fixed. the

  Write a function int frequency

Write a function int frequency (int theArray [ ], int n, int x) that counts the number of times the item x appears among the first n elements of theArray and returns that count as the frequency of x in theArray. Use integers for everything!

  Assign any new integer value entered by the user

Build a program that allows a user to select one of the following four menu options: enter new integer value, print pointer address, print integer address, and print integer value. For this program you will need to create two variables: one integer d..

  Write a c program that uses functions to perform

Write a C program that uses functions to perform the following: i) Addition of Two Matrices ii) Multiplication of Two Matrices

  Branching statements to control the flow of a program

The purpose of this exercise is to give you an opportunity to practice using cin to handle user keyboard inputs, use branching statements to control the flow of a program, and work on your C++ programming style

  Define a function hypotenuse that calculates the hypotenuse

Define a function hypotenuse that calculates the hypotenuse of a right triangle when the other two sides are given. The function should take two arguments and return the hypotenuse as a double.

  Afunction that raises an integer to a positive integer

Write a function that raises an integer to a positive integer power. Call the function x_to_the_n, taking two integer arguments x and n.

  Write a program that finds the equivalent series

Write a program that finds the equivalent series and parallel resistance for a collection of resistor values. Your program should scan first the number of resistors and then the resistor values. Then compute the equivalent series resistance for all r..

  Write c program that prompts for variable number of integers

Write a C program that prompts for a variable number of integers, adds them up, averages them, and prints out the average.

  Write a declaration for s structure named car

Write a declaration for s structure named cars. The fields in the record should include make, model, year and cost. Include a constructor to initialize the value in the structure.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd