skip to main content
research-article

Consistency Constraints for Mapping Dataflow Graphs to Hybrid Dataflow/von Neumann Architectures

Published:26 September 2023Publication History
Skip Abstract Section

Abstract

Dataflow process networks (DPNs) provide a convenient model of computation that is often used to model system behavior in model-based designs. With fixed sets of nodes, they are also used as dataflow graphs as an intermediate program representation by compilers to uncover instruction-level parallelism of sequential programs. Many recent processor architectures, which are still von Neumann architectures, also use dataflow computing to increase their exploitation of instruction-level parallelism by exposing their datapaths so that the compiler can take care of the allocation of processing units (PUs), the execution schedules of instructions on the PUs, and the communication of intermediate values between PUs. If the communication paths are buffered, these architectures can be abstracted into a DPN architecture whose PUs and interconnection network are DPN nodes.

In this article, we introduce a DPN abstraction of hybrid dataflow/von Neumann architectures and consider the mapping of the nodes of a given dataflow graph to the PUs of such a DPN architecture such that there are no conflicts due to the mapping of different nodes to the same PU. We express the allocation and scheduling constraints in terms of propositional logic for the original dataflow graph and for a modified version of the dataflow graph that simplifies the constraints by introducing levels using copy nodes, such that all nodes receive inputs only from nodes of the previous level. We also formulate equisatisfiable SMT constraints using integer variables to reason directly about the parallel runtime. On this basis, we further present alternative SAT constraints that explicitly encode concurrency, and discuss variants of the constraints for a better understanding of the same.

REFERENCES

  1. [1] Ackerman W.. 1982. Data flow languages. IEEE Computer 15, 2 (1982), 1525.Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. [2] Agerwala T. and Arvind K. P.. 1982. Data flow systems. IEEE Computer 15, 2 (1982), 1013.Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. [3] Anapalli S. R., Chakilam K. C., and O’Neil T. W.. 2009. Static scheduling for cyclo-static data flow graphs. In Proceedings of the Parallel and Distributed Processing Techniques and Applications. Arabnia H. R. (Ed.), CSREA Press, Las Vegas, Nevada, 302306.Google ScholarGoogle Scholar
  4. [4] Anders M., Bhagyanath A., and Schneider K.. 2018. On memory optimal code generation for exposed datapath architectures with buffered processing units. In Proceedings of the Application of Concurrency to System Design.Chatain T. and Grosu R. (Eds.), IEEE Computer Society, Bratislava, Slovakia, 115124.Google ScholarGoogle ScholarCross RefCross Ref
  5. [5] Arvind, Culler D. E., and Ekanadham K.. 1988. The price of asynchronous parallelism: An analysis of dataflow architectures. In Proceedings of the Conference on CONPAR 88. British Computer Society, Manchester, England, UK, 541555.Google ScholarGoogle Scholar
  6. [6] Arvind, Culler D. E., and Maa G. K.. 1988. Assessing the benefits of fine-grain parallelism in dataflow programs. International Journal of Supercomuter Applications 2, 3 (1988), 1036.Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. [7] Backus J.. 1978. Can programming be liberated from the von neumann style? Communications of the ACM 21, 8 (1978), 613641.Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. [8] Battacharyya S. S., Murthy P. K., and Lee E. A.. 1996. Software Synthesis from Dataflow Graphs. Kluwer Adacemic Publishers.Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. [9] Benveniste A., Caspi P., Edwards S., Halbwachs N., Guernic P. Le, and Simone R. de. 2003. The synchronous languages twelve years later. Proc. IEEE 91, 1 (2003), 6483.Google ScholarGoogle ScholarCross RefCross Ref
  10. [10] Benveniste A., Guernic P. Le, and Jacquemot C.. 1991. Synchronous programming with events and relations: The SIGNAL language and its semantics. Science of Computer Programming 16, 2 (1991), 103149.Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. [11] Bhagyanath A.. 2020. Code Generation for Synchronous Control Asynchronous Dataflow Architectures. Ph. D. Dissertation. Department of Computer Science, University of Kaiserslautern, Germany. PhD.Google ScholarGoogle Scholar
  12. [12] Bhagyanath A., Jain T., and Schneider K.. 2016. Towards code generation for the synchronous control asynchronous dataflow (SCAD) architectures. In Proceedings of the Methoden und Beschreibungssprachen zur Modellierung und Verifikation von Schaltungen und Systemen. Wimmer R. (Ed.), University of Freiburg, Freiburg, Germany, 7788.Google ScholarGoogle Scholar
  13. [13] Bhagyanath A. and Schneider K.. 2016. Optimal compilation for exposed datapath architectures with buffered processing units by SAT solvers. In Proceedings of the Formal Methods and Models for Codesign. Leonard E. and Schneider K. (Eds.), IEEE Computer Society, Kanpur, India, 143152.Google ScholarGoogle ScholarCross RefCross Ref
  14. [14] Bhagyanath A. and Schneider K.. 2017. Exploring different execution paradigms in exposed datapath architectures with buffered processing units. In Proceedings of the International Conference on Embedded Computer Systems: Architectures, Modeling, and Simulation. Patt Y. N. and Nandy S. K. (Eds.), IEEE Computer Society, Pythagorion, Greece, 110.Google ScholarGoogle ScholarCross RefCross Ref
  15. [15] Bhagyanath A. and Schneider K.. 2017. Exploring the potential of instruction-level parallelism of exposed datapath architectures with buffered processing units. In Proceedings of the Application of Concurrency to System Design. Legay A. and Schneider K. (Eds.), IEEE Computer Society, Zaragoza, Spain, 106115.Google ScholarGoogle ScholarCross RefCross Ref
  16. [16] Bhagyanath A. and Schneider K.. 2022. Buffer allocation for exposed datapath architectures. In Proceedings of the International Symposium on Embedded Multicore/Many-core Systems-on-Chip. IEEE Computer Society, Penang, Malaysia, 1825.Google ScholarGoogle ScholarCross RefCross Ref
  17. [17] Bhagyanath A. and Schneider K.. 2023. Program balancing in compilation for buffered hybrid dataflow processors. In Proceedings of the Computer Architectures and Platforms at Computer Software and Applications Conference. IEEE Computer Society, Torino, Italy.Google ScholarGoogle ScholarCross RefCross Ref
  18. [18] Bhattacharyya S. S., Deprettere E. F., and Theelen B. D.. 2013. Dynamic dataflow graphs. In Proceedings of the Handbook of Signal Processing Systems. Springer, 905944.Google ScholarGoogle ScholarCross RefCross Ref
  19. [19] Bilsen G., Engels M., Lauwereins R., and Peperstraete J.. 1996. Cyclo-static dataflow. IEEE Transactions on Signal Processing 44, 2 (1996), 397408.Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. [20] Blake G., Dreslinski R. G., and Mudge T.. 2009. A survey of multicore processors. IEEE Signal Processing Magazine 26, 6 (2009), 2637.Google ScholarGoogle ScholarCross RefCross Ref
  21. [21] Brandenburg F. J.. 1988. On the intersection of stacks and queues. Theoretical Computer Science 58 (1988), 6980.Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. [22] Buck J. T.. 1993. Scheduling Dynamic Dataflow Graphs with Bounded Memory Using the Token Flow Model. Ph. D. Dissertation. University of California, Berkeley, California. PhD.Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. [23] Buck J. T.. 1994. Static scheduling and code generation from dynamic dataflow graphs with integer-valued control streams. In Proceedings of the Asilomar Conference on Signals, Systems, and Computers. IEEE Computer Society, Pacific Grove, CA, 508513.Google ScholarGoogle ScholarCross RefCross Ref
  24. [24] Buck J. and Lee E. A.. 1995. The token flow model. In Proceedings of the Advanced Topics in Dataflow Computing and Multithreading.Bic L., Gao G. R., and Gaudiot J.-L. (Eds.), IEEE Computer Society, Hamilton Island, Queensland, Australia, 267290.Google ScholarGoogle Scholar
  25. [25] Buehrer R. and Ekanadham K.. 1987. Incorporating dataflow ideas into von neumann processors for parallel execution. IEEE Transactions on Computers (T-C) 36, 12 (1987), 15151522.Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. [26] Burger D., Keckler S. W., McKinley K. S., Dahlin M., John L. K., Lin C., Moore C. R., Burrill J., McDonald R. G., and Yoder W.. 2004. Scaling to the end of silicon with EDGE architectures. IEEE Computer 37, 7 (2004), 4455.Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. [27] Caspi P., Halbwachs N., Pilaud D., and Plaice J. A.. 1987. LUSTRE: A declarative language for programming synchronous systems. In Proceedings of the Principles of Programming Languages. ACM, Munich, Germany, 178188.Google ScholarGoogle Scholar
  28. [28] Cherubini A., Citrini C., Reghizzi S. Crespi, and Mandrioli D.. 1991. QRT FIFO automata, breadth-first grammars and their relations. Theoretical Computer Science 85 (1991), 171203.Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. [29] Chimani M. and Zeranski R.. 2015. Upward planarity testing in practice: SAT formulations and comparative study. ACM Journal of Experimental Algorithmics 20 (2015), 127.Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. [30] Corporaal H.. 1994. Design of transport triggered architectures. In Proceedings of the Great Lakes Symposium on VLSI. IEEE Computer Society, Notre Dame, IN, 130135.Google ScholarGoogle ScholarCross RefCross Ref
  31. [31] Corporaal H.. 1999. TTAs: Missing the ILP complexity wall. Journal of Systems Architecture 45, 12–13 (1999), 949973.Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. [32] Corporaal H., Janssen J., and Arnold M.. 2000. Computation in the context of transport triggered architectures. International Journal of Parallel Programming 28, 4 (2000), 401427.Google ScholarGoogle ScholarCross RefCross Ref
  33. [33] Dahlem M., Bhagyanath A., and Schneider K.. 2018. Optimal scheduling for exposed datapath architectures with buffered processing units by ASP. Theory and Practice of Logic Programming 18, 1 (2018), 438451.Google ScholarGoogle ScholarCross RefCross Ref
  34. [34] Davis A. L.. 1978. The architecture and system method of DDM1: A recursively structured data driven machine. In Proceedings of the International Symposium on Computer Architecture. ACM, Palo Alto, CA, 210215.Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. [35] Dennis J. B.. 1974. First version of a data-flow procedure language. In Proceedings of the Programming Symposium.Robinet B. (Ed.), LNCS, Vol. 19, Springer, Paris, France, 362376.Google ScholarGoogle ScholarCross RefCross Ref
  36. [36] Dennis J. B.. 1980. Data flow supercomputers. IEEE Computer 13, 11 (1980), 4856.Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. [37] Dennis J. B. and Misunas D. P.. 1975. A preliminary architecture for a basic dataflow processor. In Proceedings of the International Symposium on Computer Architecture. King W. K. and Garcia O. (Eds.), ACM, Houston, TX, 126132.Google ScholarGoogle Scholar
  38. [38] Dujmović V., D. Eppstein, R. Hickingbotham, P. Morin, and D. R. Wood. 2022. Stack-number is not bounded by queue-number. Combinatorica 42, 2 (2022), 151–164.Google ScholarGoogle Scholar
  39. [39] Engels M., Bilsen G., Lauwereins R., and Peperstraete J.. 1994. Cyclo-static dataflow: Model and implementation. In Proceedings of the Asilomar Conference on Signals, Systems and Computers. IEEE Computer Society, Pacific Grove, California, 503507.Google ScholarGoogle Scholar
  40. [40] Engels M., Bilsen G., Lauwereins R., and Peperstraete J.. 1995. Cyclo-static dataflow. In Proceedings of the International Conference on Acoustics, Speech and Signal Processing. IEEE Computer Society, Detroit, Michigan, 32553258.Google ScholarGoogle Scholar
  41. [41] Gajski D. D., Padua D. A., Kuck D. J., and Kuhn R. H.. 1982. A second opinion of data flow machines and languages. IEEE Computer 15, 2 (1982), 5869.Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. [42] Garg A. and Tamassia R.. 1995. Upward planarity testing. Order 12 (1995), 109133.Google ScholarGoogle ScholarCross RefCross Ref
  43. [43] Gatzka S. and Hochberger C.. 2005. The AMIDAR class of reconfigurable processors. The Journal of Supercomputing 32, 2 (2005), 163181.Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. [44] Gautier T., Guernic P. Le, and Besnard L.. 1987. SIGNAL, a declarative language for synchronous programming of real-time systems. In Proceedings of the Functional Programming Languages and Computer Architecture, Kahn G. (Ed.), LNCS, Vol. 274, Springer, Portland, Oregon, 257277.Google ScholarGoogle ScholarCross RefCross Ref
  45. [45] Govindaraju V., Ho C.-H., Nowatzki T., Chhugani J., Satish N., Sankaralingam K., and Kim C.. 2012. DySER: Unifying functionality and parallelism specialization for energy-efficient computing. IEEE Micro 33, 5 (2012), 3851.Google ScholarGoogle ScholarDigital LibraryDigital Library
  46. [46] Grafe V. G., Davidson G. S., Hoch J. E., and Holmes V. P.. 1989. The epsilon dataflow processor. ACM SIGARCH Computer Architecture News 17, 3 (1989), 3645.Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. [47] Gurd J. R., Kirkham C. C., and Watson I.. 1985. The manchester prototype dataflow computer. Communications of the ACM 28, 1 (1985), 3452.Google ScholarGoogle ScholarDigital LibraryDigital Library
  48. [48] Halbwachs N., Caspi P., Raymond P., and Pilaud D.. 1991. The synchronous dataflow programming language LUSTRE. Proc. IEEE 79, 9 (1991), 13051320.Google ScholarGoogle ScholarCross RefCross Ref
  49. [49] Heath L. S., Leighton F. T, and Rosenberg A. L.. 1992. Comparing queues and stacks as mechanisms for laying out graphs. SIAM Journal on Discrete Mathematics 5, 3 (1992), 398412.Google ScholarGoogle ScholarDigital LibraryDigital Library
  50. [50] Heath L. S. and Pemmaraju S. V.. 1996. Recognizing leveled-planar DAGs in linear time. In Proceedings of the Graph Drawing.Brandenburg F. J. (Ed.), LNCS, Vol. 1027, Springer, Passau, Germany, 300311.Google ScholarGoogle ScholarCross RefCross Ref
  51. [51] Heath L. S. and Pemmaraju S. V.. 1997. Stack and queue layouts of posets. SIAM Journal on Computing 10, 4 (1997), 599625.Google ScholarGoogle ScholarDigital LibraryDigital Library
  52. [52] Heath L. S. and Pemmaraju S. V.. 1999. Stack and queue layouts of directed acyclic graphs: Part II. SIAM Journal on Computing 28, 5 (1999), 15881626.Google ScholarGoogle ScholarDigital LibraryDigital Library
  53. [53] Heath L. S., Pemmaraju S. V., and Trenk A. N.. 1999. Stack and queue layouts of directed acyclic graphs: Part I. SIAM Journal on Computing 28, 4 (1999), 15101539.Google ScholarGoogle ScholarDigital LibraryDigital Library
  54. [54] Heath L. S. and Rosenberg A. L.. 1992. Comparing queues and stacks as machines for laying out graphs. SIAM Journal on Computing 21, 5 (1992), 927958.Google ScholarGoogle ScholarDigital LibraryDigital Library
  55. [55] Herath Y., Yamaguchi Y., Saito N., and Yuba T.. 1988. Dataflow computing models, languages, and machines for intelligence computations. IEEE Transactions on Software Engineering 14, 12 (1988), 18051828.Google ScholarGoogle ScholarDigital LibraryDigital Library
  56. [56] Hoogerbrugge J. and Corporaal H.. 1994. Transport-triggering vs. operation-triggering. In Proceedings of the Compiler Construction. Fritzson P. (Ed.), LNCS, Vol. 786, Springer, Edinburgh, UK, 435449.Google ScholarGoogle ScholarCross RefCross Ref
  57. [57] Iannucci R. A.. 1988. Towards a dataflow/von neumann hybrid architecture. In Proceedings of the International Symposium on Computer Architecture.Siegel H. (Ed.), IEEE Computer Society, Honolulu, Hawaii, 131140.Google ScholarGoogle ScholarCross RefCross Ref
  58. [58] Johnston W. M., Hanna J. R. P., and Millar R. J.. 2004. Advances in dataflow programming languages. ACM Computing Surveys 36, 1 (2004), 134.Google ScholarGoogle ScholarDigital LibraryDigital Library
  59. [59] Jääskeläinen P., Tervo A., Vayá G. P., Viitanen T., Behmann N., and Blume H.. 2018. Transport-triggered soft cores. In Proceedings of the International Parallel and Distributed Processing Symposium Workshops. IEEE Computer Society, Vancouver, BC, Canada, 8390.Google ScholarGoogle ScholarCross RefCross Ref
  60. [60] Jünger M., Leipert S., and Mutzel P.. 1998. Level planarity testing in linear time. In Proceedings of the Graph Drawing.Whitesides S. H. (Ed.), LNCS, Vol. 1547, Springer, Montréal, Canada, 224237.Google ScholarGoogle ScholarCross RefCross Ref
  61. [61] Kahn G.. 1974. The semantics of a simple language for parallel programming. In Proceedings of the Information Processing.Rosenfeld J. L. (Ed.), North-Holland, Stockholm, Sweden, 471475.Google ScholarGoogle Scholar
  62. [62] Kahn G. and MacQueen D. B.. 1977. Coroutines and networks of parallel processes. In Proceedings of the Information Processing.Gilchrist B. (Ed.), North-Holland, Toronto, Canada, 993998.Google ScholarGoogle Scholar
  63. [63] Karp R. M. and Miller R. E.. 1966. Properties of a model for parallel computations: Determinacy, termination, queueing. SIAM Journal on Applied Mathematics 14, 6 (1966), 13901411.Google ScholarGoogle ScholarDigital LibraryDigital Library
  64. [64] Guernic P. Le, Gauthier T., Borgne M. Le, and Maire C. Le. 1991. Programming real-time applications with SIGNAL. Proc. IEEE 79, 9 (1991), 13211336.Google ScholarGoogle ScholarCross RefCross Ref
  65. [65] Lee E. A.. 1991. Consistency in dataflow graphs. IEEE Transactions on Parallel and Distributed Systems 2, 2 (1991), 223235.Google ScholarGoogle ScholarDigital LibraryDigital Library
  66. [66] Lee E. A. and Messerschmitt D. G.. 1987. Static scheduling of synchronous data flow programs for digital signal processing. IEEE Transactions on Computers (T-C) 36, 1 (1987), 2435.Google ScholarGoogle ScholarDigital LibraryDigital Library
  67. [67] Lee E. A. and Messerschmitt D. G.. 1987. Synchronous data flow. Proc. IEEE 75, 9 (1987), 12351245.Google ScholarGoogle ScholarCross RefCross Ref
  68. [68] Lee E. A. and Parks T.. 1995. Dataflow process networks. Proc. IEEE 83, 5 (1995), 773801.Google ScholarGoogle ScholarCross RefCross Ref
  69. [69] Milner R.. 1977. Fully abstract models of typed \(\lambda\)-calculi. Theoretical Computer Science 4, 1 (1977), 122.Google ScholarGoogle ScholarCross RefCross Ref
  70. [70] Milutinovic V., Kotlar M., Stojanovic M., Dundic I., Trifunovic N., and Babovic Z.. 2017. Dataflow Supercomputing Essentials – Algorithms, Applications and Implementations. Springer.Google ScholarGoogle Scholar
  71. [71] Milutinovic V., Salom J., Trifunovic N., and Giorgi R.. 2015. Guide to Dataflow Supercomputing – Basic Concepts, Case Studies, and a Detailed Example. Springer.Google ScholarGoogle ScholarCross RefCross Ref
  72. [72] Nikhil R. S.. 1989. Can dataflow subsume von neumann computing?. In Proceedings of the International Symposium on Computer Architecture. IEEE Computer Society, Jerusalem, Israel, 262272.Google ScholarGoogle Scholar
  73. [73] Papadopoulos G. and Culler D.. 1990. Monsoon: An explicit token-store architecture. In Proceedings of the International Symposium on Computer Architecture. Baer J.-L. and Snyder L. (Eds.), IEEE Computer Society, Seattle, Washington, 8291.Google ScholarGoogle ScholarDigital LibraryDigital Library
  74. [74] Pemmaraju S. V.. 1992. Exploring the Powers of Stacks and Queues Via Graph Layouts. Ph. D. Dissertation. Virigina Polytechnic Institute and State University, Blacksburg, VA. PhD.Google ScholarGoogle Scholar
  75. [75] Plotkin G. D.. 1977. LCF considered as a programming language. Theoretical Computer Science 5, 3 (1977), 223255.Google ScholarGoogle ScholarCross RefCross Ref
  76. [76] Rixner S., Dally W. J., Kapasi U. J., Mattson P. R., and Owens J. D.. 2000. Memory access scheduling. In Proceedings of the International Symposium on Computer Architecture. ACM, Vancouver, British Columbia, Canada, 128138.Google ScholarGoogle ScholarDigital LibraryDigital Library
  77. [77] Roob J., Bhagyanath A., and Schneider K.. 2023. Towards buffers as a scalable alternative to registers for processor-local memory. In Proceedings of the Methoden und Beschreibungssprachen zur Modellierung und Verifikation von Schaltungen und Systemen.VDE, Freiburg, Germany, 112.Google ScholarGoogle Scholar
  78. [78] Rumbaugh J.. 1977. A data flow multiprocessor. IEEE Transactions on Computers (T-C) 26, 2 (1977), 138146.Google ScholarGoogle ScholarDigital LibraryDigital Library
  79. [79] Sankaralingam K., Nagarajan R., Liu H., Kim C., Huh J., Ranganathan N., Burger D., Keckler S. W., Mcdonald R. G., and Moore C. R.. 2004. TRIPS: A polymorphous architecture for exploiting ILP, TLP, and DLP. ACM Transactions on Architecture and Code Optimization 1, 1 (2004), 6293.Google ScholarGoogle ScholarDigital LibraryDigital Library
  80. [80] Sazonov V. Y.. 1975. Sequentially and parallely computable functionals. In Proceedings of the Lambda-Calculus and Computer Science Theory.Böhm C. (Ed.), LNCS, Vol. 37, Springer, Rome, Italy, 312318.Google ScholarGoogle ScholarDigital LibraryDigital Library
  81. [81] Sazonov V. Y.. 1976. Degrees of parallelism in computations. In Proceedings of the Mathematical Foundations of Computer ScienceMazurkiewicz A. (Ed.), LNCS, Vol. 45, Springer, Gdansk, Poland, 517523.Google ScholarGoogle ScholarCross RefCross Ref
  82. [82] Sazonov V. Y.. 1976. Expressibility of functions in D. Scott’s LCF language. Algebra and Logic 15 (1976), 192206.Google ScholarGoogle ScholarCross RefCross Ref
  83. [83] Schneider K.. 2021. Translating structured sequential programs to dataflow graphs. In Proceedings of the Formal Methods and Models for Codesign.Saha I. and Zhang L. (Eds.), ACM, Beijing, China, 6677.Google ScholarGoogle ScholarDigital LibraryDigital Library
  84. [84] Schneider K., Bhagyanath A., and Roob J.. 2022. Code generation criteria for buffered exposed datapath architectures from dataflow graphs. In Proceedings of the Languages, Compilers, and Tools for Embedded Systems.Grosser T. and Lee K. (Eds.), ACM, San Diego, CA, 133145. Google ScholarGoogle ScholarDigital LibraryDigital Library
  85. [85] Schneider K., Bhagyanath A., and Roob J.. 2022. Virtual buffers for exposed datapath architectures. In Proceedings of the Methoden und Beschreibungssprachen zur Modellierung und Verifikation von Schaltungen und Systemen.Brandt J. (Ed.), VDE, Virtual Event, 4555.Google ScholarGoogle Scholar
  86. [86] Sharp J. A. (Ed.). 1992. Data Flow Computing – Theory and Practice. Ablex Publishing.Google ScholarGoogle Scholar
  87. [87] Swanson S.. 2006. The WaveScalar Architecture. Ph. D. Dissertation. University of Washington. PhD.Google ScholarGoogle Scholar
  88. [88] Swanson S., Michelson K., Schwerin A., and Oskin M.. 2003. WaveScalar. In Proceedings of the Microarchitecture.IEEE Computer Society, San Diego, California, 291302.Google ScholarGoogle ScholarCross RefCross Ref
  89. [89] Swanson S., Schwerin A., Mercaldi M., Petersen A., Putnam A., Michelson K., Oskin M., and Eggers S. J.. 2007. The WaveScalar architecture. ACM Transactions on Computer Systems 25, 2 (2007), 154.Google ScholarGoogle ScholarDigital LibraryDigital Library
  90. [90] Szpilrajn E.. 1930. Sur l’extension de l’ordre partiel. Fundamenta Mathematicae 16 (1930), 386389.Google ScholarGoogle ScholarCross RefCross Ref
  91. [91] Taylor M. B.. 1999. Design Decisions in the Implementation of a RAW Architecture Workstation. Master’s thesis. Department of Electrical Engineering and Computer Science, MIT, Cambridge, MA. Master.Google ScholarGoogle Scholar
  92. [92] Taylor M. B., Kim J. S., Miller J. E., Wentzlaff D., Ghodrat F., Greenwald B., Hoffmann H., Johnson P., Lee J. W., Lee W., Ma A., Saraf A., Seneski M., Shnidman N., Strumpen V., Frank M. I., Amarasinghe S. P., and Agarwal A.. 2002. The RAW microprocessor: A computational fabric for software circuits and general-purpose programs. IEEE Micro 22, 2 (2002), 2535.Google ScholarGoogle ScholarDigital LibraryDigital Library
  93. [93] Trakhtenbrot M. B.. 1975. On representation of sequential and parallel functions. In Mathematical Foundations of Computer Science.Bečvář J. (Ed.), LNCS, Vol. 32, Springer, Mariánské Lázně, Poland, 411417.Google ScholarGoogle Scholar
  94. [94] Trakhtenbrot M. B.. 1976. Recursive program schemes and computable functionals. In Proceedings of the Mathematical Foundations of Computer Science.Mazurkiewicz A. (Ed.), LNCS, Vol. 45, Springer, Gdansk, Poland, 137152.Google ScholarGoogle ScholarCross RefCross Ref
  95. [95] Trakhtenbrot M. B.. 1976. Relationships between classes of monotonic functions. Theoretical Computer Science 2, 2 (1976), 225247.Google ScholarGoogle ScholarCross RefCross Ref
  96. [96] Traub K. R., Papadopoulos G. M., Beckerle M. J., Hicks J. E., and Young J.. 1991. Overview of the monsoon project. In Proceedings of the International Conference on Computer Design. IEEE Computer Society, Cambridge, Massachusetts, 150155.Google ScholarGoogle ScholarCross RefCross Ref
  97. [97] Ungerer T.. 1993. Datenflußrechner. Teubner.Google ScholarGoogle ScholarCross RefCross Ref
  98. [98] Veen A. H.. 1986. Dataflow machine architecture. ACM Computing Surveys 18, 4 (1986), 365396.Google ScholarGoogle ScholarDigital LibraryDigital Library
  99. [99] Vollmar R.. 1970. Über einen automaten mit pufferspeicherung. Computing 5, 1 (1970), 5770.Google ScholarGoogle ScholarCross RefCross Ref
  100. [100] Neumann J. von. 1945. First Draft of a Report on the EDVAC. Technical Report. Moore School of Electrical Engineering, University of Pennsylvania.Google ScholarGoogle ScholarDigital LibraryDigital Library
  101. [101] Neumann J. von. 1993. First draft of a report on the EDVAC. IEEE Annals of the History of Computing 15, 4 (1993), 2775.Google ScholarGoogle ScholarDigital LibraryDigital Library
  102. [102] Waingold E., Taylor M., Srikrishna D., Sarkar V., Lee W., Lee V., Kim J., Frank M., Finch P., Babb J., Amarasinghe S., and Agarwal A.. 1997. Baring it all to software: RAW machines. IEEE Computer 30, 9 (1997), 8693.Google ScholarGoogle ScholarDigital LibraryDigital Library
  103. [103] Watson I. and Gurd J. R.. 1982. A practical data flow computer. IEEE Computer 15, 2 (1982), 5157.Google ScholarGoogle ScholarDigital LibraryDigital Library
  104. [104] Yazdanpanah F., Alvarez-Martinez C., Jimenez-Gonzalez D., and Etsion Y.. 2014. Hybrid dataflow/von-neumann architectures. IEEE Transactions on Parallel and Distributed Systems 25, 6 (2014), 14891509.Google ScholarGoogle ScholarDigital LibraryDigital Library
  105. [105] Yuba T., Hiraki K., Shimada T., Sekiguchi S., and Nishida K.. 1987. The SIGMA-1 dataflow computer. In Proceedings of the Fall Joint Computer Conference on Exploring Technology: Today and Tomorrow. Szygenda S. A. (Ed.), ACM, Chicago, IL, 578585.Google ScholarGoogle Scholar
  106. [106] Zyuban V. and Kogge P.. 1998. The energy complexity of register files. In Proceedings of the International Symposium on Low Power Electronics and Design. IEEE Computer Society, Monterey, CA, 305310.Google ScholarGoogle Scholar

Index Terms

  1. Consistency Constraints for Mapping Dataflow Graphs to Hybrid Dataflow/von Neumann Architectures

                Recommendations

                Comments

                Login options

                Check if you have access through your login credentials or your institution to get full access on this article.

                Sign in

                Full Access

                • Published in

                  cover image ACM Transactions on Embedded Computing Systems
                  ACM Transactions on Embedded Computing Systems  Volume 22, Issue 5
                  September 2023
                  217 pages
                  ISSN:1539-9087
                  EISSN:1558-3465
                  DOI:10.1145/3625382
                  • Editor:
                  • Tulika Mitra
                  Issue’s Table of Contents

                  Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

                  Publisher

                  Association for Computing Machinery

                  New York, NY, United States

                  Publication History

                  • Published: 26 September 2023
                  • Online AM: 8 July 2023
                  • Accepted: 3 July 2023
                  • Revised: 29 June 2023
                  • Received: 26 October 2022
                  Published in tecs Volume 22, Issue 5

                  Permissions

                  Request permissions about this article.

                  Request Permissions

                  Check for updates

                  Qualifiers

                  • research-article
                • Article Metrics

                  • Downloads (Last 12 months)154
                  • Downloads (Last 6 weeks)9

                  Other Metrics

                PDF Format

                View or Download as a PDF file.

                PDF

                eReader

                View online with eReader.

                eReader

                Full Text

                View this article in Full Text.

                View Full Text