1 / 15

The Path to Multi-core Tools

The Path to Multi-core Tools. Paul Petersen. Outline. Motivation Where are we now What is easy to do next What is missing. Motivation. Look at the way parallel software is written Threads & Locks This has not really changed for decades The names and details change

philana
Download Presentation

The Path to Multi-core Tools

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. The Path to Multi-core Tools Paul Petersen

  2. Outline • Motivation • Where are we now • What is easy to do next • What is missing

  3. Motivation • Look at the way parallel software is written • Threads & Locks • This has not really changed for decades • The names and details change • Ultimately the languages leave it up to the user to get right • This means the user will sometimes get it wrong

  4. Breakpoint Debuggers State inspection tools MS Visual Studio Totalview, Gdb, Idb Profilers VTune™ Performance Analyzer Structural Function or Loop Statistical HW or SW based Runtime Analysis Intel® Thread Checker Intel® Thread Profiler Libraries OpenMP Threading Building Blocks Higher-level abstractionfor multi-core codes Understandable by analysis tools Where Are We Now

  5. Intel® Thread Checker • Observes the interaction in a concurrent application through memory references and synchronization operations • Compiler or binary instrumentation • Execution driven simulation • Detect incorrect threading api usage and asynchronous memory references

  6. Thread Checker - UI

  7. Intel® Thread Profiler • Observes the interactions in a concurrent application through the synchronization operations • Compiler or binary instrumentation • Event trace generation and analysis • Detects bottlenecks through critical path analysis • In a concurrent application not all computation is equally important

  8. Thread Profiler – Timeline View

  9. Tooltips provide object information Thread Profiler – Summary View Let’s filter and group this by object

  10. What Is Easy To Do Next • Enhance our current tools • Additional serial analysis • Detect opportunities for parallel execution • Improve efficiency • Focus capabilities • Expand platform coverage • Example - managed languages like C# or Java • Mining the data we have now • Suggest which problems should be tackled first

  11. What Is Missing • Performance Projections • What-If analysis is very hard to do accurately • You need a very details system model, and very accurate understanding of what will change by running on a different system • Changing the number of threads, can cause non-linear scaling problems by exposing a bottleneck that did not appear to be significant as smaller thread counts

  12. What Else Is Missing • Defect Detection • Moving from asynchronous memory access detection • To non-atomic object access detection. • Users typically assume that modifications to “objects” are atomic • But they have a hard time describing what is the “object” at any point in time.

  13. And Everything Else… • A tool is, among other things, a device that provides a mechanical or mental advantage in accomplishing a task • This talk has focused on a collection of analysis tools specifically designed to aid in understanding threaded applications

  14. Conclusion • Multi-core software poses many challenges that sequential software does not face • We have the first round of tools specifically designed for the problems faced by the way parallel software is written • These tools are limited to mostly just observing what happened, and reporting interesting facts about the program. • They have a hard time generalizing these observations

  15. The The The The Path Path Path Path To To To To Multi-core Multi-core Multi-core Multi-core Tools Tools Tools Tools

More Related