Skip to main content

A Thread Partitioning Algorithm for Data Locality Improvement

  • Conference paper
  • 606 Accesses

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 3019))

Abstract

This paper addresses the problem of automatic thread partitioning of sequential programs. We propose a new algorithm, which has the main features as follows: 1) non-loop regions of programs may be parallelized; 2) partitioning is performed in the way that data locality in the new threads is improved. The algorithm is preliminarily evaluated using one handcrafted example and a generator of data dependence graphs, tuned to generate random graphs with characteristics close to those of real-world programs, and a cache simulator. The results of evaluation are presented which shows feasibility of our approach.

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   109.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

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Wolf, M.E., Lam, M.: A data locality optimizing algorithm. In: ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), Toronto, CA (June 1991)

    Google Scholar 

  2. Tang, X., Wang, J., Theobald, K., Gao, G.R.: Thread partitioning and scheduling based on cost model. ACAPS Tech. Memo 106, Sch. of Comp. Sci., McGill U., Montréal, Qué. (April 1997)

    Google Scholar 

  3. Girkar, M., Polychronopoulos, C.: Automatic extraction of functional parallelism from ordinary programs. In: IEEE Transactions on Parallel and Distributed Systems, 166–178 (1992)

    Google Scholar 

  4. Moreira, J.E.: On the implementation and effectiveness of autoscheduling for sharedmemory multiprocessors. PhD. thesis, Department of Electrical and Computer Engineering, Univ. of Illinois at Urbana-Champaign (1995)

    Google Scholar 

  5. Ding, C., Kennedy, K.: Improving cache performance in dynamic applications through data and computation reorganization at run time. In: ACM SIGPLAN 1999 Conference on Programming Language Design and Implementation, Atlanta, GA, pp. 229–241 (1999)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2004 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Chernov, A., Belevantsev, A., Malikov, O. (2004). A Thread Partitioning Algorithm for Data Locality Improvement. In: Wyrzykowski, R., Dongarra, J., Paprzycki, M., Waśniewski, J. (eds) Parallel Processing and Applied Mathematics. PPAM 2003. Lecture Notes in Computer Science, vol 3019. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-24669-5_36

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-24669-5_36

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-21946-0

  • Online ISBN: 978-3-540-24669-5

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics