1 / 14

Using Visualization Tools to Understand Concurrency

Using Visualization Tools to Understand Concurrency. written by Zernik, Dror, Marc Snir, and Alia Malki Kim, Byung-Chul. Why Visualization Tool?. Parallelism makes program execution much more complex and difficult to understand Visualization Tool gives a clearer picture of concurrency

parley
Download Presentation

Using Visualization Tools to Understand Concurrency

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. Using Visualization Tools to Understand Concurrency written by Zernik, Dror, Marc Snir, and Alia Malki Kim, Byung-Chul

  2. Why Visualization Tool? • Parallelism • makes program execution much more complex and difficult to understand • Visualization Tool • gives a clearer picture of concurrency • helps the users grasp aspects of parallel execution more immediately and more accurately than a text interface BCKim

  3. Nodes Fork Join Message send Message receive Barrier synchronization User-defined Processing Arcs Control Message Causality Graph Start Fork Fork Barrier Sync. Send Receive Join Join Terminate BCKim

  4. Trace • logs each interprocess-communication and each user-defined event during execution • Time, type, processor number, process ID, and type-dependent information • logs the information into a local buffer, which is periodically copied onto disk(s). BCKim

  5. a total ordering of the nodes (u => v) ordered or concurrent Serialization Order Start Fork Fork Barrier Sync. Send Receive Join Join Terminate BCKim

  6. Present(u) The set of all nodes v in G that are concurrent to u including u painted red Past(u) The set of all nodes v such that v => u painted gray Future(u) The set of all nodes such that u => v painted yellow Partitioning the Graph Start Fork Fork Barrier Sync. Send u Receive Join Join Terminate BCKim

  7. Initialization pick a node v and set Past, Present, and Future Incremental update Activate u Terminate u Undo u Single Stepping Forward Backward Manipulation of Graph BCKim

  8. Abstraction Start Fork Fork Barrier Sync. Super node Send Receive Join Join Terminate BCKim

  9. Start Fork Fork Barrier Sync. Send Receive Join Join Terminate BCKim

  10. Abstraction Algorithm A directed acyclic graph and the previously selected node Abstraction Algorithm An abstraction graph by a single node BCKim

  11. Branch(u) u u BCKim

  12. Branch(u) u u Local Communication node BCKim

  13. u BCKim

  14. BCKim

More Related