Skip to main content

A hierarchical parallelizing compiler for VLIW/MIMD machines

  • Conference paper
  • First Online:

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

Abstract

Hierarchical architectures attempt to provide the benefits of both VLIW/superscalar and MIMD machines by combining multiple VLIW or superscalar processors as parallel, asynchronous processors. An example of these architectures is the Intel Touchstone multicomputer. These machines provide the opportunity to execute a program in parallel at both the machine instruction level and the source statement level.

In this paper, we present some initial results from our research into exploiting hierarchical parallelism with the help of an optimizing compiler. The prototype compiler schedules code for a VLIW/MIMD target architecture. The compiled programs were executed on simulated MIMD and VLIW/MIMD machines. These preliminary results indicate that performing instruction level parallelization on loops that have already been parallelized at the statement level can provide an additional multiplicative speedup in the range of 3.5 to 5.3. Moreover, this factor is independent of the number of VLIW processors used.

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

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Alexander Aiken and Alexandra Nicolau. Optimal loop parallelization. In Proceedings of the 1988 ACM S1GPLAN Conference on Programming Language Design and Implementation, June 1988.

    Google Scholar 

  2. Utpal Banerjee. Unimodular transformations of double loops. In Advances in Languages and Compilers for Parallel Processing, Research Monographs in Parallel and Distributed Computing. MIT-Press/Pitman, 1991.

    Google Scholar 

  3. R. G. Cytron. Doacross: Beyond vectorization for multiprocessors. In Proceedings of the 1986 International Conference on Parallel Processing, pages 836–844, August 1986.

    Google Scholar 

  4. J.A. Fisher. Trace scheduling: A technique for global microcode compaction. IEEE Transactions on Computers, (7):478–490, 1981.

    Google Scholar 

  5. Ki-Chang Kim. Vertical and Horizontal Program Parallelization Techniques. PhD Dissertation, University of California, Irvine, 1991.

    Google Scholar 

  6. Monica S. Lam. Software pipelining: An effective scheduling technique for VLIW machines. In Proceedings ACM SIGPLAN '91 Conference on Programming Language Design and Implementation, pages 318–328, June 1988.

    Google Scholar 

  7. John M. McCormick and Mario G. Salvadori. Numerical Methods in FORTRAN. Prentice-Hall Inc., Englewood Cliffs, New Jersey, 1964.

    Google Scholar 

  8. Alexandru Nicolau. Uniform parallelism exploitation in ordinary programs. In Proceedings of the 1985 International Conference on Parallel Processing, August 1985.

    Google Scholar 

  9. D.A. Padua. Multiprocessors: Discussion of some theoretical and practical problems. PhD Dissertation, University of Illinois at Urbana-Champaign, 1979.

    Google Scholar 

  10. Roni Potasman. Percolation-Based Compiling for Evaluation of Parallelism and Hardware Design Trade-Offs. PhD Dissertation, University of California, Irvine, 1991.

    Google Scholar 

  11. Michael E. Wolf and Monica S. Lam. A loop transformation theory and an algorithm to maximize parallelism. IEEE Transactions on Parallel and Distributed Systems, 2(4):452–471, October 1991.

    Google Scholar 

  12. Michael Wolfe. Data dependence and program restructuring. The Journal of Supercomputing, 4(4):321–344, January 1990.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Utpal Banerjee David Gelernter Alex Nicolau David Padua

Rights and permissions

Reprints and permissions

Copyright information

© 1993 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Brownhill, C., Nicolau, A. (1993). A hierarchical parallelizing compiler for VLIW/MIMD machines. In: Banerjee, U., Gelernter, D., Nicolau, A., Padua, D. (eds) Languages and Compilers for Parallel Computing. LCPC 1992. Lecture Notes in Computer Science, vol 757. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-57502-2_39

Download citation

  • DOI: https://doi.org/10.1007/3-540-57502-2_39

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-57502-3

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

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics