Hostname: page-component-848d4c4894-4rdrl Total loading time: 0 Render date: 2024-07-06T12:12:38.916Z Has data issue: false hasContentIssue false

The Reduceron reconfigured and re-evaluated

Published online by Cambridge University Press:  10 July 2012

MATTHEW NAYLOR
Affiliation:
Department of Computer Science, University of York, York, North Yorkshire, UK (e-mail: mfn@cs.york.ac.uk, colin@cs.york.ac.uk)
COLIN RUNCIMAN
Affiliation:
Department of Computer Science, University of York, York, North Yorkshire, UK (e-mail: mfn@cs.york.ac.uk, colin@cs.york.ac.uk)
Rights & Permissions [Opens in a new window]

Abstract

Core share and HTML view are not available for this content. However, as you have access to this content, a full PDF is available via the ‘Save PDF’ action button.

A new version of a special-purpose processor for running lazy functional programs is presented. This processor – the Reduceron – exploits parallel memories and dynamic analyses to increase evaluation speed, and is implemented using reconfigurable hardware. Compared to a more conventional functional language implementation targeting a standard RISC processor running on the same reconfigurable hardware, the Reduceron offers a significant improvement in run-time performance.

Type
Articles
Copyright
Copyright © Cambridge University Press 2012

References

Augustsson, L. (1992) BWM: A concrete machine for graph reduction. In Proceedings of the 1991 Glasgow Workshop on Functional Programming. New York: Springer, pp. 3650.CrossRefGoogle Scholar
Boeijink, A., Holzenspies, P. K. F. & Kuper, J. (2011) Introducing the PilGRIM: A processor for executing lazy functional languages. In Implementation and Application of Functional Languages (IFL 2010, Revised Selected Papers), Hage, Jurriaan & Morazán, Marco T. (eds), LNCS 6647. Berlin, Germany: Springer-Verlag, pp. 5471.Google Scholar
Burn, G. L., Peyton Jones, S. L. & Robson, J. D. (1988) The Spineless g-machine. In Proceedings of the 1988 Conference on Lisp and Functional Programming. New York: ACM, pp. 244258.CrossRefGoogle Scholar
Dijkstra, E. W. (1980) A mild variant of Combinatory Logic [online]. EWD735. Available at: http://www.cs.utexas.edu/users/EWD/ewd07xx/EWD735.PDF. Accessed 26 June 2012.Google Scholar
Fasel, J. H. & Keller, R. M. (eds.) (1987) Graph Reduction, Proceedings of a Workshop, LNCS 279. New York: Springer.CrossRefGoogle Scholar
Flanagan, C., Sabry, A., Duba, B. F. & Felleisen, M. (1993) The essence of compiling with continuations. In Proceedings of the ACM SIGPLAN 1993 Conference on Programming Language Design and Implementation (PLDI '93). New York: ACM, pp. 237247.CrossRefGoogle Scholar
Frankau, S. (2004) Hardware Synthesis from a Stream-Processing Functional Language. PhD Thesis, University of Cambridge, Cambridge, UK.Google Scholar
Gill, A. & Hutton, G. (2009) The worker/wrapper transformation. J. Funct. Program. 18 (2), 227251.CrossRefGoogle Scholar
Hennessy, J. & Patterson, D. (1992) Computer Architecture; A Quantitative Approach. Waltham, Massachusetts: Morgan Kaufmann.Google Scholar
Hutton, G. (2002) The countdown problem. J. Funct. Program. 12 (6), 609616 (Cambridge University Press).CrossRefGoogle Scholar
Jansen, J. M., Koopman, P. & Plasmeijer, R. (2007) Efficient Interpretation by transforming data types and patterns to functions. Trends Funct. Program. 7, 157172, Intellect.Google Scholar
Jones, R. & Lins, R. (1996) Garbage Collection: Algorithms for Automatic Dynamic Memory Management. San Francisco, CA: Wiley.Google Scholar
Kennaway, R. & Sleep, R. (1988) Director strings as combinators. ACM Trans. Program. Lang. Syst. 10 (4), 602626.CrossRefGoogle Scholar
Longbottom, R. (November 2009) Dhrystone Benchmark Results On PCs [online]. Available at: http://www.roylongbottom.org.uk/dhrystone%20results.htm. Accessed 26 June 2012.Google Scholar
Mycroft, A. & Sharp, R. (2000) A Statically allocated parallel functional language. In Proceedings of the 27th International Colloquium on Automata, Languages and Programming. New York: Springer, pp. 37–28.CrossRefGoogle Scholar
Naylor, M. (2009a) An algorithm for arity-reduction, Reduceron memo 12 [online]. Available at: http://www.cs.york.ac.uk/fp/reduceron/memos/Memo12.lhs). Accessed 26 June 2012.Google Scholar
Naylor, M. (2009b) Design of the Octostack, Reduceron memo 27 [online]. Available at: http://www.cs.york.ac.uk/fp/reduceron/memos/Memo27.lhs.Google Scholar
Naylor, M. & Runciman, C. (2008) The Reduceron: Widening the von Neumann bottleneck for graph reduction using an FPGA. In Implementation and Application of Functional Languages (IFL 2007, Revised Selected Papers), LNCS 5083. Berlin, Germany: Springer, pp. 129146.Google Scholar
Naylor, M. & Runciman, C. (2010) The Reduceron reconfigured. In Proceedings of the 15th ACM SIGPLAN International Conference on Functional Programming (ICFP '10). New York: ACM, pp. 7586.CrossRefGoogle Scholar
Naylor, M., Runciman, C. & Reich, J. (2009) Reduceron home page [online]. Available at: http://www.cs.york.ac.uk/fp/reduceron/. Accessed 26 June 2012.Google Scholar
Nielson, H. R. & Nielson, F. 2007 Semantics with Applications: An Appetizer. New York: Springer.CrossRefGoogle Scholar
Peyton Jones, S. L. (1987) The Implementation of Functional Programming Languages. Upper Saddle River, NJ: Prentice Hall.Google Scholar
Scheevel, M. (1986) NORMA: A graph reduction processor. In Proceedings of the 1986 Conference on LISP and Functional Programming. New York: ACM, pp. 212219.Google Scholar
Scott, D. (1968) A System of Functional Abstraction. Notes of lectures delivered at University of California, Berkeley in 1962/1963. Stanford, CA: Stanford University.Google Scholar
Sharp, R. (2002) Higher-Level Hardware Synthesis. PhD Thesis, University of Cambridge, Cambridge, UK.Google Scholar
Stoye, W. (1985) The Implementation of Functional Languages Using Custom Hardware. PhD Thesis, University of Cambridge, Cambridge, UK.Google Scholar
Turner, D. A. (1979) A New implementation technique for applicative languages. Softw. Pract. Exp. 9 (1), 3149.CrossRefGoogle Scholar
Ward, M. (2000) Supercombinator Soft Machines. M Eng. Project Dissertation, University of York, York, North Yorkshire, UK.Google Scholar
Weicker, R. (1984) Dhrystone: A synthetic systems programming benchmark. Commun. ACM 27 (10), 10131030.CrossRefGoogle Scholar
Xilinx (April 2009) MicroBlaze Soft Processor v7.20 [online]. . Available at: http://www.xilinx.com/tools/microblaze.htm. Accessed 26 June 2012.Google Scholar
Submit a response

Discussions

No Discussions have been published for this article.