Skip to main content

2018 | OriginalPaper | Buchkapitel

An FPGA Implementation of a Distributed Virtual Machine

verfasst von : Lee A. Jensen, Lance R. Williams

Erschienen in: Unconventional Computation and Natural Computation

Verlag: Springer International Publishing

Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.

search-config
loading …

Abstract

An expression in a functional programming language can be compiled into a massively redundant, spatially distributed, concurrent computation called a distributed virtual machine (DVM). A DVM is comprised of bytecodes reified as actors undergoing diffusion on a two-dimensional grid communicating via messages containing encapsulated virtual machine states (continuations). Because the semantics of expression evaluation are purely functional, DVMs can employ massive redundancy in the representation of the heap to help ensure that computations complete even when large areas of the physical host substrate have failed. Because they can be implemented as asynchronous circuits, DVMs also address the well known problem affecting traditional machine architectures implemented as integrated circuits, namely, clock networks consuming increasingly large fractions of area as device size increases. This paper describes the first hardware implementation of a DVM. This was accomplished by compiling a VHDL specification of a special purpose distributed memory multicomputer with a mesh interconnection network into a globally asynchronous, locally synchronous (GALS) circuit in an FPGA. Each independently clocked node combines a processor based on a virtual machine for compiled Scheme language programs, with just enough local memory to hold a single heap allocated object and a continuation.

Sie haben noch keine Lizenz? Dann Informieren Sie sich jetzt über unsere Produkte:

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Fußnoten
1
This brings to mind the very interesting result concerning the ability of asynchronous cellular automata to emulate synchronous cellular automata with negligible slowdown [8].
 
2
Deep Thought from The Hitch Hiker’s Guide to the Galaxy comes to mind.
 
3
Despite this apparent limitation, functional programming languages are extremely expressive and modern compilers exploit referential transparency to perform powerful code optimizations.
 
4
The first integrated circuit implementation of a processor customized for efficient execution of compiled Lisp programs was described by Steele and Sussman [16].
 
5
Others have used FPGAs to implement distributed memory multicomputers as arrays of soft processors [27, 28].
 
6
Think of the so-called “8-puzzle” and its sliding plastic tiles.
 
Literatur
1.
Zurück zum Zitat Ackley, D.H., Cannon, D.C., Williams, L.R.: A movable architecture for robust spatial computing. Comput. J. 56(12), 1450–1468 (2013)CrossRef Ackley, D.H., Cannon, D.C., Williams, L.R.: A movable architecture for robust spatial computing. Comput. J. 56(12), 1450–1468 (2013)CrossRef
2.
Zurück zum Zitat Ackley, D.H., Ackley, E.S.: The ulam programming language for artificial life. Artif. Life 22, 431–450 (2016)CrossRef Ackley, D.H., Ackley, E.S.: The ulam programming language for artificial life. Artif. Life 22, 431–450 (2016)CrossRef
3.
Zurück zum Zitat Adami, C., Titus Brown, C., Kellogg, W.K.: Evolutionary learning in the 2D artificial life system “Avida”. In: Artificial Life IV, pp. 377–381. MIT Press (1994) Adami, C., Titus Brown, C., Kellogg, W.K.: Evolutionary learning in the 2D artificial life system “Avida”. In: Artificial Life IV, pp. 377–381. MIT Press (1994)
4.
Zurück zum Zitat Agha, G.: An overview of actor languages. ACM SIGPLAN Not. 21(10), 58–67 (1986)CrossRef Agha, G.: An overview of actor languages. ACM SIGPLAN Not. 21(10), 58–67 (1986)CrossRef
5.
Zurück zum Zitat Amdahl, G.M.: Validity of the single processor approach to achieving large scale computing capabilities. In: Proceedings of the Spring Joint Computer Conference, pp. 483–485 (1967) Amdahl, G.M.: Validity of the single processor approach to achieving large scale computing capabilities. In: Proceedings of the Spring Joint Computer Conference, pp. 483–485 (1967)
6.
Zurück zum Zitat Armstrong, J.: Programming Erlang: Software for a Concurrent World. Pragmatic Bookshelf (2007) Armstrong, J.: Programming Erlang: Software for a Concurrent World. Pragmatic Bookshelf (2007)
7.
Zurück zum Zitat Baker, H.: Actor Systems for Real-Time Computation. Ph.D. thesis. MIT, January 1978 Baker, H.: Actor Systems for Real-Time Computation. Ph.D. thesis. MIT, January 1978
8.
Zurück zum Zitat Berman, P., Simon, J.: Investigations of fault-tolerant networks of computers. In: Proceedings of STOC, pp. 66–77 (1988) Berman, P., Simon, J.: Investigations of fault-tolerant networks of computers. In: Proceedings of STOC, pp. 66–77 (1988)
9.
Zurück zum Zitat Bezerra, E., Lettnin, D.V.: Synthesizable VHDL Design for FPGAs. Springer, Cham (2013) Bezerra, E., Lettnin, D.V.: Synthesizable VHDL Design for FPGAs. Springer, Cham (2013)
10.
11.
Zurück zum Zitat Clinger, W.: Foundations of Actor Semantics. Ph.D. thesis. MIT (1981) Clinger, W.: Foundations of Actor Semantics. Ph.D. thesis. MIT (1981)
12.
Zurück zum Zitat Denning, P.J., Lewis, T.G.: Exponential laws of computing growth. Commun. ACM 60(1), 54–65 (2017)CrossRef Denning, P.J., Lewis, T.G.: Exponential laws of computing growth. Commun. ACM 60(1), 54–65 (2017)CrossRef
13.
Zurück zum Zitat Dybvig, R.K.: Three Implementation Models for Scheme. Ph.D. thesis, University of North Carolina (1987) Dybvig, R.K.: Three Implementation Models for Scheme. Ph.D. thesis, University of North Carolina (1987)
14.
Zurück zum Zitat Flynn, M.J.: Some computer organizations and their effectiveness. IEEE Trans. Comput. C–21(9), 948–960 (1972)CrossRef Flynn, M.J.: Some computer organizations and their effectiveness. IEEE Trans. Comput. C–21(9), 948–960 (1972)CrossRef
15.
Zurück zum Zitat Hauck, S., DeHon, A.: Reconfigurable Computing: The Theory and Practice of FPGA-Based Computation. Morgan Kaufmann Publishers Inc., San Francisco (2007)MATH Hauck, S., DeHon, A.: Reconfigurable Computing: The Theory and Practice of FPGA-Based Computation. Morgan Kaufmann Publishers Inc., San Francisco (2007)MATH
16.
Zurück zum Zitat Steele Jr, G.L., Sussman, G.J.: Design of a LISP-based microprocessor. Commun. ACM 23(11), 628–645 (1980)CrossRef Steele Jr, G.L., Sussman, G.J.: Design of a LISP-based microprocessor. Commun. ACM 23(11), 628–645 (1980)CrossRef
17.
Zurück zum Zitat Koza, J.R.: Genetic Programming: On the Programming of Computers by Means of Natural Selection. MIT Press, Cambridge (1992)MATH Koza, J.R.: Genetic Programming: On the Programming of Computers by Means of Natural Selection. MIT Press, Cambridge (1992)MATH
18.
Zurück zum Zitat Landin, P.J.: The mechanical evaluation of expressions. Comput. J. 6(4), 308–320 (1964)CrossRef Landin, P.J.: The mechanical evaluation of expressions. Comput. J. 6(4), 308–320 (1964)CrossRef
19.
20.
Zurück zum Zitat Lewis, T.G., Payne, W.H.: Generalized feedback shift register pseudorandom number algorithm. J. ACM 20(3), 456–468 (1973)CrossRef Lewis, T.G., Payne, W.H.: Generalized feedback shift register pseudorandom number algorithm. J. ACM 20(3), 456–468 (1973)CrossRef
21.
Zurück zum Zitat Mitchell, J.C.: Concepts in Programming Languages. Cambridge University Press, New York (2002)CrossRef Mitchell, J.C.: Concepts in Programming Languages. Cambridge University Press, New York (2002)CrossRef
22.
Zurück zum Zitat Pedroni, V.A.: Circuit Design with VHDL. MIT Press, Cambridge (2004) Pedroni, V.A.: Circuit Design with VHDL. MIT Press, Cambridge (2004)
23.
Zurück zum Zitat Ray, T.S.: An evolutionary approach to synthetic biology, Zen and the art of creating life. Artif. Life 1, 179–209 (1994)CrossRef Ray, T.S.: An evolutionary approach to synthetic biology, Zen and the art of creating life. Artif. Life 1, 179–209 (1994)CrossRef
24.
Zurück zum Zitat Singh, M., Ranjan, S.M., Ali, Z.: A study of different oscillator structures. Int. J. Innovative Res. Sci. Eng. Technol. 3(5), 12724–12734 (2014) Singh, M., Ranjan, S.M., Ali, Z.: A study of different oscillator structures. Int. J. Innovative Res. Sci. Eng. Technol. 3(5), 12724–12734 (2014)
25.
Zurück zum Zitat Spector, L., Robinson, A.: Genetic programming and auto-constructive evolution with the Push programming language. Genet. Programm. Evol. Mach. 3(1), 7–40 (2002)CrossRef Spector, L., Robinson, A.: Genetic programming and auto-constructive evolution with the Push programming language. Genet. Programm. Evol. Mach. 3(1), 7–40 (2002)CrossRef
26.
Zurück zum Zitat Sussman, G.J., Steele Jr., G.L.: Scheme: an interpreter for extended lambda calculus. High.-Order Symb. Comput. 11(4), 405–439 (1998)CrossRef Sussman, G.J., Steele Jr., G.L.: Scheme: an interpreter for extended lambda calculus. High.-Order Symb. Comput. 11(4), 405–439 (1998)CrossRef
29.
Zurück zum Zitat von Neumann, J.: Theory of Self-Replicating Automata. University of Illinois Press, Urbana (1966) von Neumann, J.: Theory of Self-Replicating Automata. University of Illinois Press, Urbana (1966)
31.
Zurück zum Zitat Williams, L.R.: Self-replicating distributed virtual machines. In: 14th International Conference on the Synthesis and Simulation of Living Systems (ALIFE 2014), New York, NY (2014) Williams, L.R.: Self-replicating distributed virtual machines. In: 14th International Conference on the Synthesis and Simulation of Living Systems (ALIFE 2014), New York, NY (2014)
32.
Zurück zum Zitat Xilinx: 7 Series FPGAs Data Sheet: Overview, August 2017 Xilinx: 7 Series FPGAs Data Sheet: Overview, August 2017
33.
Zurück zum Zitat Zuhdy, B., Fritzson, P., Engström, K.: Implementation of the real-time functional language Erlang on a massively parallel platform, with applications to telecommunications services. In: Hertzberger, B., Serazzi, G. (eds.) HPCN-Europe 1995. LNCS, vol. 919, pp. 886–891. Springer, Heidelberg (1995). https://doi.org/10.1007/BFb0046731CrossRef Zuhdy, B., Fritzson, P., Engström, K.: Implementation of the real-time functional language Erlang on a massively parallel platform, with applications to telecommunications services. In: Hertzberger, B., Serazzi, G. (eds.) HPCN-Europe 1995. LNCS, vol. 919, pp. 886–891. Springer, Heidelberg (1995). https://​doi.​org/​10.​1007/​BFb0046731CrossRef
Metadaten
Titel
An FPGA Implementation of a Distributed Virtual Machine
verfasst von
Lee A. Jensen
Lance R. Williams
Copyright-Jahr
2018
DOI
https://doi.org/10.1007/978-3-319-92435-9_8

Premium Partner