Skip to main content

An architecture for fast data movement in the FFP machine

  • Conference paper
  • First Online:
Functional Programming Languages and Computer Architecture (FPCA 1985)

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

Abstract

We propose an extension to the architecture of the FFP machine which permits storage management in O(log n) time and arbitrary data rearrangement in O(log2 n) time, assuming messages are transmitted in unit time independent of wire length. This is achieved using a perfect shuffle sorter network with the FFP machine. The cost is only a constant amount of hardware per atomic symbol. We also propose mechanisms for early termination, that is, easy rearrangements may be performed faster than the worst case time. We propose a hierarchical structure to the FFP machine which is compatible with a modification of the perfect shuffle sorter network. This permits local operations to be faster than global operations, and permits the FFP machine to operate as a collection of independent processors when desired. A method for giving the programmer some control of the use of this hierarchy is proposed. The FFP machine selects certain subexpressions of the input string to be processed during each computation step. These subexpressions are effectively isolated from the rest of the input string during the computation. We show how this isolation may be accomplished in the perfect shuffle sorter network without giving unique names to each such subexpression. This architecture permits fast operations, such as the multiplication of two m by m matrices in O(log2 m) time.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

4. References

  1. Backus, J., Can programming be liberated from the von Neumann style? A functional style and its algebra of programs, CACM 21 (1978) 613–641.

    Google Scholar 

  2. Batcher, K., Sorting networks and their applications, Proceedings of the AFIPS SJCC, Atlantic City, NJ, April 30–May 2, 1968.

    Google Scholar 

  3. Benes, V., Mathematical Theory of Connecting Networks and Telephone Traffic. Academic Press, New York, 1965.

    Google Scholar 

  4. Clos, C., A study of nonblocking switching networks, Bell Syst. Tech. J. 32 (1953) 406–424.

    Google Scholar 

  5. Gottlieb, A. and Kruskal, C., Complexity results for permuting data and other computations on parallel processors, J. ACM 31 (1984) 193–209.

    Google Scholar 

  6. Grosch, G., Performance analysis of Poisson solvers on array computers, Infotech State of the Art Report: Supercomputers vol. 2, ed. C. R. Jesshope and R. W. Hockney (Maidenhead: Infotech Intl. Ltd.) 149–181.

    Google Scholar 

  7. Hockney, R. and Jesshope, C., Parallel Computers: Architecture, Programming, and Algorithms (Adam Hilger Ltd., Bristol, Great Britain, 1981).

    Google Scholar 

  8. Kellman, J., Parallel Execution of Functional Programs, Master's Thesis, University of California at Los Angeles, 1982.

    Google Scholar 

  9. Lev, G., Pippinger, N., and Valiant, L., A fast parallel algorithm for routing in permutation networks, IEEE Trans. Comput. 30 (1981) 93–100.

    Google Scholar 

  10. Mago, G., A network of microprocessors to execute reduction languages, Parts 1 and 2, International Journal of Computer and Information Sciences 8 (1979), 349–385 and 435–471.

    Google Scholar 

  11. Mago, G. and Middleton, D., The FFP machine — a progress report, Proceedings of the International Workshop on High-Level Computer Architecture, Los Angeles, California, 1984, pp. 5.13–5.25.

    Google Scholar 

  12. Mago, G., Stanat, D., and Koster, A., Program execution on a cellular computer: some matrix algorithms, unpublished.

    Google Scholar 

  13. Nassimi, D. and Sahni, S., Data broadcasting in SIMD computers, IEEE Trans. on Comp. 30 (1981) 101–107.

    Google Scholar 

  14. Nassimi, D. and Sahni, S., Parallel algorithms to set up the Benes permutation network, IEEE Trans. on Computing 31 (1982) 148–154.

    Google Scholar 

  15. Schwartz, J., Ultracomputers, ACM Trans. Prog. Lang. and Systems 2 (1980) 484–513.

    Google Scholar 

  16. Stone, H., Parallel processing with the perfect shuffle, IEEE Transactions on Computers 20 (1971) 153–161.

    Google Scholar 

  17. Waksman, A., A permutation network, J. ACM 15 (1968) 159–163.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Jean-Pierre Jouannaud

Rights and permissions

Reprints and permissions

Copyright information

© 1985 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Plaisted, D.A. (1985). An architecture for fast data movement in the FFP machine. In: Jouannaud, JP. (eds) Functional Programming Languages and Computer Architecture. FPCA 1985. Lecture Notes in Computer Science, vol 201. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-15975-4_35

Download citation

  • DOI: https://doi.org/10.1007/3-540-15975-4_35

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-15975-9

  • Online ISBN: 978-3-540-39677-2

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics