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
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
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)
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)
Girkar, M., Polychronopoulos, C.: Automatic extraction of functional parallelism from ordinary programs. In: IEEE Transactions on Parallel and Distributed Systems, 166–178 (1992)
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)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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