An architecture for fast data movement in the FFP machine

  • David A. Plaisted
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 201)


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.


Binary Tree Expansion Phase Storage Management Input String Compression Phase 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

4. References

  1. 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. 2.
    Batcher, K., Sorting networks and their applications, Proceedings of the AFIPS SJCC, Atlantic City, NJ, April 30–May 2, 1968.Google Scholar
  3. 3.
    Benes, V., Mathematical Theory of Connecting Networks and Telephone Traffic. Academic Press, New York, 1965.Google Scholar
  4. 4.
    Clos, C., A study of nonblocking switching networks, Bell Syst. Tech. J. 32 (1953) 406–424.Google Scholar
  5. 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. 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. 7.
    Hockney, R. and Jesshope, C., Parallel Computers: Architecture, Programming, and Algorithms (Adam Hilger Ltd., Bristol, Great Britain, 1981).Google Scholar
  8. 8.
    Kellman, J., Parallel Execution of Functional Programs, Master's Thesis, University of California at Los Angeles, 1982.Google Scholar
  9. 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. 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. 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. 12.
    Mago, G., Stanat, D., and Koster, A., Program execution on a cellular computer: some matrix algorithms, unpublished.Google Scholar
  13. 13.
    Nassimi, D. and Sahni, S., Data broadcasting in SIMD computers, IEEE Trans. on Comp. 30 (1981) 101–107.Google Scholar
  14. 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. 15.
    Schwartz, J., Ultracomputers, ACM Trans. Prog. Lang. and Systems 2 (1980) 484–513.Google Scholar
  16. 16.
    Stone, H., Parallel processing with the perfect shuffle, IEEE Transactions on Computers 20 (1971) 153–161.Google Scholar
  17. 17.
    Waksman, A., A permutation network, J. ACM 15 (1968) 159–163.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1985

Authors and Affiliations

  • David A. Plaisted
    • 1
  1. 1.Department of Computer ScienceUniversity of North Carolina / University of IllinoisChapel Hill

Personalised recommendations