This Article 
 Bibliographic References 
 Add to: 
A Hybrid Scheme for Processing Data Structures in a Dataflow Environment
January 1992 (vol. 3 no. 1)
pp. 83-96
The asynchronous nature of the dataflow model of computation allows the exploitation of maximum inherent parallelism in many application programs. However, before the dataflow model of computation can become a viable alternative to the control flow model of computation, one has to find practical solutions to some problems such as efficient handling of data structures. The paper introduces a new model for handling data structures in a dataflow environment. The proposed model combines constant time access capabilities of vectors as well as the flexibility inherent in the concept of pointers. This allows a careful balance between copying and sharing to optimize the storage and processing overhead incurred during the operations on data structures. The mode) is compared by simulation to other data structure models proposed in the literature, and the results are good.

[1] W. B. Ackerman, "A structure memory for dataflow computers," MIT Lab. for Comput. Sci. Tech. Rep. TR-186, Cambridge, MA, Aug. 1977.
[2] W. B. Ackerman, "A structure processing facility for dataflow computers," inProc. Int. Conf. Parallel Processing, Aug. 1978, pp. 166-372.
[3] W. B. Ackerman, "Data flow languages,"IEEE Comput. Mag., vol. 15, no. 2, pp. 15-23, Feb. 1982.
[4] M. Amamiya, R. Hasegawa, O. Nakamura, and H. Mikami, "A list-processing-oriented dataflow machine architecture," inProc. Nat. Comput. Conf., 1982, pp. 144-151.
[5] Arvind and D.E. Culler, "Dataflow Architectures," inAnnual Reviews in Computer Science, 1, Annual Reviews Inc., Palo Alto, Calif., 1986, pp. 225-253.
[6] Arvind and Thomas, "I-structures: An efficient datatype for functional languages," MIT Lab. for Comput. Sci. Tech. Rep. TM-178, Cambridge, MA, Sept. 1980.
[7] Arvind and V. Kathail, "A multiple processor data flow machine that supports generalized procedures," inProc. 8th Int. Symp. Comput. Architecture, May 1981.
[8] Arvind, R. S. Nikhil, and K. K. Pingali, "I-structures: Data structures for parallel computing," inProc. Workshop Graph Reduction, Los Alamos, NM, 1986.
[9] A. P. W. Bohm and J. Sargeant, "Code optimization for tagged-token dataflow machines,"IEEE Trans. Comput., vol. 38, pp. 4-14, Jan. 1989.
[10] A. P. W., Bohm, J. R. Gurd, and J. Sargeant, "Hardware and software enhancement of the Manchester dataflow machine," inProc. IEEE Compcon, Spring 1985, pp. 420-423.
[11] D.E. Culler and G.M. Papadopoulos, "The Explicit Token Store,"J. Parallel&Distributed Computing, Vol. 10, 1990, pp. 289-308.
[12] D. D. Gajski, D.A. Padua, D. J. Kuck, and R.H. Kuhn, "A second opinion on data flow machines and languages,"IEEE Comput. Mag., pp. 58-69, Feb 1982.
[13] J.-L. Gaudiot, "Structure handling in data-flow systems,"IEEE Trans. Computers, vol. C-35, pp. 489-501, June 1986.
[14] J.-L. Gaudiot and M.D. Ercegovac, "A scheme for handling arrays in data-flow system," inProc. 3rd Int. Conf. Distributed Comput. Syst., Fort Lauderdale, FL, Oct. 1982.
[15] J.-L. Gaudiot and Y. H., Wei, "Token relabeling in a tagged token data-flow architecture,"IEEE Trans. Comput., vol. 38, pp. 1225-1239, Sept. 1989.
[16] K. P. Gostelow and R. E. Thomas, "A view of dataflow," inAFIPS Conf. Proc., vol. 48, June 1979, pp. 629-636.
[17] K. P. Gostelow and R. E. Thomas, "Performance of a simulated dataflow computer,"IEEE Trans. Comput., vol. C-29, pp. 905-919, Oct. 1980.
[18] V. G. Grafe, G. S. Davidson, J. E. Hoch, and V. P. Holmes, "The epsilon dataflow processor," inProc. 16th Int. Symp. Comput. Architecture, June 1989, pp. 36-45.
[19] V. G. Grafe and J. E. Hoch, "Implementation of the epsilon dataflow processor," inProc. 23rd Hawaii Int. Conf., 1990, pp. 19-29.
[20] A. R. Hurson, B. Lee, and B. Shirazi, "Hybrid structure: A scheme for handling data structures in a data flow environment," inProc. Parallel Architectures and Languages, Europe '89, June 1989, pp. 323-340.
[21] K. Kawakami and J. R. Gurd, "A scalable dataflow structure store," inProc. Symp. Comput. Architecture '86, pp. 243-250.
[22] R. M. Keller, "Divide and CONCer: Data structuring in applicative multiprocessing systems," inConf. Rec. 1980 ACM Lisp Conf., 1980, pp. 196-202.
[23] B. Lee and A. R. Hurson, "Data structure handling in data flow," Tech. Rep. TR-88-059, Dep. Elec. Eng., The Pennsylvania State Univ.
[24] B. Lee, A. R. Hurson, and T.-Y. Feng, "A vertically layered allocation scheme for data flow systems,"J. Parallel Distributed Processing, vol. 11, pp. 175-187, 1991.
[25] J. McCarthy, "Recursive Functions of Symbolic Expressions and Their Computation by Machine, Part 1,"Comm. ACM, Vol. 3, No. 4, Apr. 1960, pp. 184-195.
[26] D. Misunas, "Structure processing in data-flow computer," inProc. Sagamore Comput. Conf. Parallel Processing, 1975, pp. 230-234.
[27] R. S. Nikhil and Arvind, "Can dataflow subsume van Neumann computing?" inProc. 16th Ann. Int. Symp. on Computer Architecture, 1989.
[28] G. M. Papadopoulos and D. E. Culler, "MONSOON: an explicit token-store architecture," inProc. 17th Ann. Int. Symp. on Comput. Architecture, 1990, pp. 82-91.
[29] G. M. Papadopoulos, "Program development and performance monitoring on the Monsoon dataflow multiprocessor," Tech. Rep. TR-303, MIT Lab. for Comput. Sci., 545 Tech. Sq., Cambridge, MA 02139, Oct. 1989.
[30] L. M. Patnaik, R. Govindarajan, and N.S. Ramadoss, "Design and performance evaluation of EXMAN: An Extended MANchester data flow computer,"IEEE Trans. Comput., vol. C-35, pp. 229-243, Mar. 1986.
[31] S. Samet and M. Gokhale, "Data structures on data flow computers: Implementations and problems,"IEEE 1984 Micro-Delcon, pp. 84-96.
[32] J. Sargeant and C. C. Kirkham, "Stored data structures on the Manchester data flow machine," inProc. Symp. Comput. Architecture '86, pp. 235-242.
[33] A. J. Smith, "Multiprocessor memory organization and memory interference,"Commun. ACM, vol. 20, no. 20, pp. 754-761, Oct. 1977.
[34] M. E. Kopache and E. P. Glinert, "C2: A mixed textual/graphical environment for C," inProc. IEEE Workshop Visual Languages. 1988, pp. 231-238.
[35] A. H. Veen, "Dataflow machine architecture,"ACM Comput. Survey, vol. 18, pp. 365-396, Dec. 1986.
[36] I. Watson and J. R. Gurd, "A practical data flow computer,"IEEE Comput. Mag, vol. 15, pp. 51-57, Feb. 1982.
[37] K.S. Weng, "Stream-oriented computation in recursive data flow schemas," MIT Lab. for Comput. Sci. Tech. Rep. TR-68, Cambridge, MA, Oct. 1975.
[38] Y. Yamaguchi, S. Sakai, K. Hiraki, Y. Kodama, and T. Yuba, "An architectural design of a highly parallel dataflow machine,"Inform. Processing, pp. 1155-1160, 1989.

Index Terms:
Index Termsdata structures; dataflow environment; asynchronous; maximum inherent parallelism;constant time access; pointers; storage; processing overhead; data structures; parallelprogramming
B. Lee, A.R. Hurson, B. Shirazi, "A Hybrid Scheme for Processing Data Structures in a Dataflow Environment," IEEE Transactions on Parallel and Distributed Systems, vol. 3, no. 1, pp. 83-96, Jan. 1992, doi:10.1109/71.113084
Usage of this product signifies your acceptance of the Terms of Use.