Skip to main content

Parallelization of Utility Programs Based on Behavior Phase Analysis

  • Conference paper
Languages and Compilers for Parallel Computing (LCPC 2005)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 4339))

Abstract

With the fast development of multi-core processors, automatic parallelization becomes increasingly important. In this work, we focus on the parallelization of utility programs, a class of commonly used applications including compilers, transcoding utilities, file compressions, and databases. They take a series of requests as inputs and serve them one by one. Their high input dependence poses a challenge to parallelization.

We use active profiling to find behavior phase boundaries and then automatically detect run-time dependences through profiling. Using a unified framework, we manually parallelize programs at phase boundaries. We show that for two programs, the technique enables parallelization at large granularity, which may span many loops and subroutines. The parallelized programs show significant speedup on multi-processor machines.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Allen, R., Kennedy, K.: Optimizing Compilers for Modern Architectures: A Dependencebased Approach. Morgan Kaufmann Publishers, San Francisco (2001)

    Google Scholar 

  2. Garzaran, M.J., Prvulovic, M., Llaberia, J.M., Vinals, V., Rauchwerger, L., Torrellas, J.: Tradeoffs in buffering memory state for thread-level speculation in multiprocessors. In: Proceedings of International Symposium on High-Performance Computer Architecture (2003)

    Google Scholar 

  3. Kumar, M.: Measuring parallelism in computation-intensive scientific/engineering applications. IEEE Transactions on Computers 37 (1988)

    Google Scholar 

  4. Ortega, D., Martel, I., Ayguade, E., Valero, M., Krishnan, V.: Quantifying the benefits of specint distant parallelism in simultaneous multi-threading architectures. In: Proceeding of the Eighth International Conference on Parallel Architectures and Compilation Techniques, Newport Beach, California (October 1999)

    Google Scholar 

  5. Rauchwerger, L., Padua, D.: The LRPD test: Speculative run-time parallelization of loops with privatization and reduction parallelization. In: Proceedings of ACM SIGPLAN Conference on Programming Language Design and Implementation, La Jolla, CA (June 1995)

    Google Scholar 

  6. Shen, X., Ding, C.: Parallelization of utility programs based on behavior phase analysis. Technical Report TR 876, Department of Computer Science, University of Rochester (September 2005)

    Google Scholar 

  7. Shen, X., Ding, C., Dwarkadas, S., Scott, M.L.: Characterizing phases in service-oriented applications. Technical Report TR 848, Department of Computer Science, University of Rochester (November 2004)

    Google Scholar 

  8. Srivastava, A., Eustace, A.: ATOM: A system for building customized program analysis tools. In: Proceedings of ACM SIGPLAN Conference on Programming Language Design and Implementation, Orlando, Florida (June 1994)

    Google Scholar 

  9. Wolfe, M.: Optimizing Compilers for Supercomputers. The MIT Press, Cambridge (1989)

    Google Scholar 

  10. Zhu, C.Q., Yew, P.C.: A scheme to enforce data dependence on large multiprocessor systems. IEEE Transactions on Software Engineering 13(6) (1987)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2006 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Shen, X., Ding, C. (2006). Parallelization of Utility Programs Based on Behavior Phase Analysis. In: Ayguadé, E., Baumgartner, G., Ramanujam, J., Sadayappan, P. (eds) Languages and Compilers for Parallel Computing. LCPC 2005. Lecture Notes in Computer Science, vol 4339. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-69330-7_29

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-69330-7_29

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-69329-1

  • Online ISBN: 978-3-540-69330-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics