1 / 7

Research Directions in Parallel Algorithms

Research Directions in Parallel Algorithms. Three of many: Locality aware parallel algorithms Interaction of languages and algorithms Work efficient algorithms. Problem-Based Benchmark Suite. Key to good Efficiency Work Locality. “Efficient” Parallel Algorithms. NC Algorithms

sine
Download Presentation

Research Directions in Parallel Algorithms

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Research Directions in Parallel Algorithms Three of many: • Locality aware parallel algorithms • Interaction of languages and algorithms • Work efficient algorithms

  2. Problem-Based Benchmark Suite Key to good Efficiency Work Locality

  3. “Efficient” Parallel Algorithms NC Algorithms • Polylogarithmic depth/span • Polynomial work/size Not a good model because • Firstly: Work is primary concern • Secondly: parallelism (work/depth) is what is important. Polylogarithmic depth is not necessary.

  4. Why is work important • Energy is proportional to work* • Rental cost is proportional to resources used(e.g. Amazon EC2) • Importance of scaling down *Note : “work” can be a variety of types of operations: e.g. cache misses

  5. What is a good definition? An algorithm is efficient if: • Polynomial parallelism • Optimal work?Or no more work than best sequential algorithm?

  6. Example:Single Source Shortest Paths In NC: • Can use Matrix multiply • O(M(n) log n) work, O(log n) depth Best work-efficient algorithm • O(m + n log n) work, O(n) depth • For sparse graphs only O(log n) parallelism Is there an algorithm with O(m + n log n) work and O(nε) parallelism (ε> 0)?

  7. Other Examples Constant factors in work, e.g. (1+ε) factor Worked hard to get MIS, MST and BFS to do little more work than sequential algorithm. Matrix Inversion: Is there an algorithm that can invert in O(n1-ε) depth and O(M(n)) work? Integer Sort: sort n integers in range [0..nk) • Work = O(1/epsilon n), Depth(n^epsilon)

More Related