Abstract
A wide range of applications make use of regular dynamic data structures. Dynamic data structures are typically required because either the size of the data structure cannot be determined at compile-time or the form of the data structure depends upon the data that it contains which is not known until runtime. Some commonly used regular data structures include link lists, trees, and two dimensional meshes. Lists and trees are used by applications such as the N-body problem [10] and sparse Cholesky factorization [8, 11], dynamic meshes are used for solving partial differential equations and quad-trees are used by applications such as solid modeling, geographic information systems, and robotics [9].
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Callahan, D., Kennedy, K. (1988): Compiling programs for distributed-memory multiprocessors. Journal of Supercomputing 2, 151–169
Gong, C., Gupta, R., Melhem, R. (1992): Compilation techniques for communication optimizations on distributed-memory machines. Proceedings of International Conference on Parallel Processing II, St. Charles, Illinois, 39–46
Gupta, R. (1992): SPMD execution of programs with pointer-based data structures on distributed-memory machines. Journal of Parallel and Distributed Computing 16(2), 92–107
Hendren, L.J., Hummel, J., Nicolau, A. (1992): Abstractions for recursive pointer data structures: improving the analysis and transformation of imperative programs. Proceedings of ACM Conference on Programming Language Design and Implementation, 249–260
Hendren, L.J., Gao, G.R. (1992): Designing programming languages for analyzability: a fresh look at pointer data structures. Proceedings of the International Conference on Computer Languages, Oakland, California, 242–251
Hiranandani, S., Kennedy, K., Koelbel, C., Kremer, U., Tseng, C.-W. (1991): An overview of the Fortran D programming system. Proceedings of the Fourth Workshop on Languages and Compilers for Parallel Computing, Santa Clara, California
Rogers, A., Carlisle, M.C., Reppy, J.H., Hendren, L.J. (1995): Supporting dynamic data structures on distributed-memory machines. ACM Transactions on Programming Languages and Systems 17(2), 233–263
Rothberg, E. (1992): Exploiting memory hierarchy in sequential and parallel sparse Cholesky factorization. Ph.D. Thesis, Technical Report STAN-CS-92-1459, Stanford University
Samet, H. (1989): The Design and Analysis of Spatial Data Structures. Addison-Wesley
Warren, M.S., J.K. Salmon (1993): A parallel hashed oct-tree n-body algorithm. Proceedings of Supercomputing
Zhang, G., Elman, H.C. (1992): Parallel sparse Cholesky factorization on a shared memory multiprocessor. Parallel Computing 18, 1009–1022
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2001 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Gupta, R. (2001). SPMD Execution in the Presence of Dynamic Data Structures. In: Pande, S., Agrawal, D.P. (eds) Compiler Optimizations for Scalable Parallel Systems. Lecture Notes in Computer Science, vol 1808. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45403-9_19
Download citation
DOI: https://doi.org/10.1007/3-540-45403-9_19
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-41945-7
Online ISBN: 978-3-540-45403-8
eBook Packages: Springer Book Archive