skip to main content
10.1145/1454115.1454129acmconferencesArticle/Chapter ViewAbstractPublication PagespactConference Proceedingsconference-collections
research-article

Visualizing potential parallelism in sequential programs

Published:25 October 2008Publication History

ABSTRACT

This paper presents ParaMeter, an interactive program analysis and visualization system for large traces. Using ParaMeter, a software developer can locate and analyze regions of code that may yield to parallelization efforts and to possibly extract performance from multicore hardware. The key contributions in the paper are (1) a method to use interactive visualization of traces to find and exploit parallelism, (2) interactive-speed visualization of large-scale trace dependencies, (3) interactive-speed visualization of code interactions, and (4) a BDD variable ordering for DD-compressed traces that results in fast visualization, fast analysis, and good compression. ParaMeter's effectiveness is demonstrated by finding and exploiting parallelism in 175.vpr. Measurements of ParaMeter's visualization algorithms show that they are up to seventy-five thousand times faster than prior approaches.

References

  1. AMARASINGHE, S. Multicores from the compiler's perspective: A blessing or a curse? In CGO '05: Proceedings of the International Symposium on Code Generation and Optimization (March 2005), pp. 137--137. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. AUSTIN, T. M., PNEVMATIKATOS, D. N., AND SOHI, G. S. Dynamic dependency analysis of ordinary programs. In Proceedings of the 19th International Symposium on Computer Architecture (ISCA) (May 1992). Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. BRAYTON, R. K., HACHTEL, G. D., SANGIOVANNI-VINCENTELLI, A., SOMENZI, F., AZIZ, A., CHENG, S.-T., EDWARDS, S., KHATRI, S., KUKIMOTO, Y., PARDO, A., QADEER, S., RANJAN, R. K., SARWARY, S., SHIPLE, T. R., SWAMY, G., AND VILLA, T. Vis: A system for verification and synthesis. In Eigth Conference on Computer Aided Verification (CAV'96), T. Henzinger and R. Alur, Eds. Springer-Verlag, Rutgers University, 1996, pp. 428--432. LNCS 1102. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. BRYANT, R. E. Graph-based algorithms for Boolean function manipulation. IEEE Transaction on Computers C-35, 8 (August 1986), 677--691. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. BURTSCHER, M., AND SAM, N. Automatic generation of high-performance trace compressors. In Proceedings of the 2005 International Conference on Code Generation and Optimization (2005). Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. GIACOMONI, J., MOSELEY, T., AND VACHHARAJANI, M. FastForward for efficient pipeline parallelism: A cache-optimized concurrent lock-free queue. In PPoPP '08: Proceedings of the 13th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (2008), pp. 43--52. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. III, J. H., AND BRGLEZ, F. Design of experiments in BDD variable ordering:lessons learned. In Proceedings of the 1998 IEEE/ACM International Conference on Computer-Aided Design (ICCAD) (1998), pp. 646--652. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. IYER, M., ASHOK, C., STONE, J., VACHHARAJANI, N., CONNORS, D. A., AND VACHHARAJANI, M. Finding parallelism for future EPIC machines. In Proceedings of the 4th Workshop on Explicitly Parallel Instruction Computing Techniques (EPIC) (March 2005).Google ScholarGoogle Scholar
  9. JEONG, S.-W., PLESSIER, B., HACHTEL, G., AND SOMENZI, F. Variable ordering for binary decision diagrams. In Proceedings of the 3rd European Design Automation Conference (1992), pp. 447--451.Google ScholarGoogle ScholarCross RefCross Ref
  10. LAM, M. S., AND WILSON, R. P. Limits of control flow on parallelism. In Proceedings of the 19th International Symposium on Computer Architecture (ISCA) (May 1992), pp. 46--57. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. LARUS, J. R. Whole program paths. In Proceedings of the SIGPLAN '99 Conference on Programming Languages Design and Implementation (PLDI) (May 1999). Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. OTTONI, G., RANGAN, R., STOLER, A., AND AUGUST, D. I. Automatic thread extraction with decoupled software pipelining. In Proceedings of the 38th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO) (2005), pp. 105--118. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. POSTIFF, M., TYSON, G., AND MUDGE, T. Performance limits of trace caches. Tech. Rep. CSE-TR-373-98, University of Maryland, Department of Electrical Engineering and Computer Science, CSE, September 1998.Google ScholarGoogle Scholar
  14. PRICE, G., AND VACHHARAJANI, M. A case for compressing traces with BDDs. Computer Architecture Letters 5 (November 2006). Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. RANGAN, R., VACHHARAJANI, N., VACHHARAJANI, M., AND AUGUST, D. I. Decoupled software pipelining with the synchronization array. In 13th International Conference on Parallel Architectures and Compilation Techniques (PACT) (September 2004), pp. 177--188. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. RUDELL, R. Dynamic variable ordering for ordered binary decision diagrams. In Proceedings of the International Conference on Computer-Aided Design (ICCAD) (November 1993), pp. 42--47. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. SOMENZI, F. CUDD: Colorado University Decision Diagram package, release 2.30. Tech. rep., University of Colorado at Boulder, http://vlsi.colorado.edu/~fabio/CUDD/, 1998.Google ScholarGoogle Scholar
  18. VACHHARAJANI, N., IYER, M., ASHOK, C., VACHHARAJANI, M., AUGUST, D. I., AND CONNORS, D. A. Chip multi-processor scalability for single-threaded applications. In Proceedings of the 2005 Workshop on Design, Architecture and Simulation of Chip Multi-Processors (dasCMP) (November 2005). Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. WALL, D. W. Limits of instruction-level parallelism. Tech. Rep. 93/6, DEC WRL, November 1993.Google ScholarGoogle Scholar
  20. WHALEY, J., AND LAM, M. S. Cloning-based context-sensitive pointer alias analysis using binary decision diagrams. In PLDI '04: Proceedings of the ACM SIGPLAN 2004 conference on Programming Language Design and Implementation (PLDI) (2004), pp. 131--144. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. ZHANG, X., GUPTA, R., AND ZHANG, Y. Precise dynamic slicing algorithms. In Proceedings of the 25th International Conference on Software Engineering (ICSE) (May 2003), pp. 319--329. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. ZHANG, X., GUPTA, R., AND ZHANG, Y. Efficient forward computation of dynamic slices using reduced ordered binary decision diagrams. In Procedings of the 26th International conference on Software Engineering (ICSE) (2004). Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. ZILLES, C., AND SOHI, G. Master/slave speculative parallelization. In Proceedings of the 35th International Symposium on Microarchitecture (November 2002). Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Visualizing potential parallelism in sequential programs

          Recommendations

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in
          • Published in

            cover image ACM Conferences
            PACT '08: Proceedings of the 17th international conference on Parallel architectures and compilation techniques
            October 2008
            328 pages
            ISBN:9781605582825
            DOI:10.1145/1454115

            Copyright © 2008 ACM

            Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

            Publisher

            Association for Computing Machinery

            New York, NY, United States

            Publication History

            • Published: 25 October 2008

            Permissions

            Request permissions about this article.

            Request Permissions

            Check for updates

            Qualifiers

            • research-article

            Acceptance Rates

            Overall Acceptance Rate121of471submissions,26%

            Upcoming Conference

            PACT '24
            International Conference on Parallel Architectures and Compilation Techniques
            October 14 - 16, 2024
            Southern California , CA , USA

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader