1 / 13

Algorithmic Paradigms

Algorithmic Paradigms.

oakley
Download Presentation

Algorithmic Paradigms

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. Algorithmic Paradigms

  2. New algorithmic paradigms that promote reasoning about parallel performance and lead to provable performance guarantees, while allowing algorithms to be mapped onto diverse parallel and distributed environments, and optimizing resource usage including compute cycles, communication, input-output (I/O), memory hierarchies, and energy;

  3. Challenges 1) New paradigms • Hadoop/MR, HBP, BSP, etc. work well in some cases. • What about for more inherently irregular settings like graph algorithms? • Beat MapReduce in practice.

  4. Challenges 2) Better fundamental algorithms • e.g., single source shortest paths.

  5. Challenges 3) Coping with big data • Sequential doesn’t even work – goal is to solve the problem at all, not beat sequential

  6. Challenges 4) Getting data in and out of the cloud • Currently very unpredictable • How to make performance guarantees? • Algorithm must specify I/O demands as a resource requirement?

  7. Challenges 5) Parameter-oblivious algorithms • How? What do they look like? • What are the limits?

  8. Challenges 6) Energy tunable algorithms • If there is even any reason to tune. • How can you specify such an algorithm? • Parameter oblivious?

  9. Challenges 7) Data structures • The modularity is great for sequential programs. • Want structures more interesting than arrays • What does a program have to look like to get good performance when data structures are there? How do we analyze it?

  10. Challenges 8) Performance models are necessary • HTMs & synchronization • What other primitives should we work with? • GPUs • etc.

  11. Challenges 9) System software optimization • Scheduling • Data placement • Resource allocation.

  12. Challenges 10) Scaling from small to huge with few knobs • What should an algorithm description look like?

  13. Challenges 15% of papers in STOC/FOCS/SODA about parallelism

More Related