green marl a dsl for easy and efficient graph analysis
play

Green Marl: A DSL for Easy and Efficient Graph Analysis Sungpack - PowerPoint PPT Presentation

Green Marl: A DSL for Easy and Efficient Graph Analysis Sungpack Hong, Hassan Chafi, Eric Sedlar, Kunle Olukotun Presented By Albert Kim Goal Tough to write parallel graph algorithms Current graph processing frameworks force user to


  1. Green ‐ Marl: A DSL for Easy and Efficient Graph Analysis Sungpack Hong, Hassan Chafi, Eric Sedlar, Kunle Olukotun Presented By Albert Kim

  2. Goal • Tough to write parallel graph algorithms • Current graph processing frameworks force user to rewrite their program Want a Domain Specific Language (DSL) • Easy to express graph algorithms • Expose data ‐ level parallelism • Can compile to various backends

  3. Sample Code

  4. Scope of Language • Graph is ordered pair of nodes and edges – G = (N, E) • Each node/edge has some properties • Given graph and set of properties (G, ), compute: – A scalar – A new set of properties for each node/edge – A subgraph of original graph

  5. Data Structures • Five primitives – Bool, Int, Long, Float, and Double • Collection types – Set (unique and unordered) – Order (unique and ordered) – Sequence (not unique and ordered) • Special semantics when dealing with collections in sequential/parallel context

  6. Data Structures (Sample)

  7. Operations on Collections

  8. Iteration/Traversal

  9. BFS Traversal Figure

  10. Parallelism in Green ‐ Marl • Inspired by OpenMP • Follows OpenMP’s memory consistency model – Writing to same shared variable in concurrently may cause conflicts

  11. Reductions

  12. Overall Structure

  13. Compiler Optimizations: Loop Fusion

  14. Compiler Optimizations: Hoisting Definitions

  15. Compiler Optimizations: Set ‐ Graph Loop Fusion

  16. Evaluation (LOC)

  17. Evaluation (BC)

  18. Evaluation (Vertex Cover)

  19. My Impressions • Syntax is galling

  20. My Impressions • Have to deal with semantics of collections

  21. My Impressions • Have to deal with semantics of iterations – Uses OpenMP’s weak memory consistency model – Should make it impossible to share variables • Have to deal with parallel workflow of iterations – BFS: each level is parallel – DFS: sequential – Not data ‐ level parallelism

  22. Overall Impressions • Like: – Idea of DSL – Easy way to process graph (BFS traversal) – Expose data ‐ level parallelism (necessary) – Compiler optimizations – Portable backend – Global view: easy to work on global variables • Dislike: Green ‐ Marl’s DSL • Want: Higher ‐ Level DSL

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend