ACM Home Page
Please provide us with feedback. Feedback
Cache behavior of combinator graph reduction
Full text PdfPdf (2.18 MB)
Source ACM Transactions on Programming Languages and Systems (TOPLAS) archive
Volume 14 ,  Issue 2  (April 1992) table of contents
Pages: 265 - 297  
Year of Publication: 1992
ISSN:0164-0925
Authors
Philip J. Koopman, Jr.  Carnegie Mellon University
Peter Lee  Carnegie Mellon University
Daniel P. Siewiorek  Carnegie Mellon University
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 4,   Downloads (12 Months): 41,   Citation Count: 11
Additional Information:

abstract   references   cited by   index terms   review   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/128861.128867
What is a DOI?

ABSTRACT

The results of cache-simulation experiments with an abstract machine for reducing combinator graphs are presented. The abstract machine, called TIGRE, exhibits reduction rates that, for similar kinds of combinator graphs on similar kinds of hardware, compare favorably with previously reported techniques. Furthermore, TIGRE maps easily and efficiently onto standard computer architectures, particularly those that allow a restricted form of self-modifying code. This provides some indication that the conventional "stored program" organization of computer systems is not necessarily an inappropriate one for functional programming language implementations. This is not to say, however, that present day computer systems are well equipped to reduce combinator graphs. In particular, the behavior of the cache memory has a significant effect on performance. In order to study and quantify this effect, trace-driven cache simulations of a TIGRE graph reducer running on a reduced instruction-set computer are conducted. The results of these simulations are presented with the following hardware-cache parameters varied: cache size, block size, associativity, memory update policy, and write-allocation policy. To begin with, the cache organization of a commercially available system is used and then the performance sensitivity with respect to variations of each parameter are measured. From the results of the simulation study, a conclusion is made that combinator-graph reduction using TIGRE runs most efficiently when using a cache memory with an allocate-on-write-miss strategy, moderately large block size (preferably with subblock placement), and copy-back memory updates.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
 
2
AUGUSTEIJN, A., AND VAN DER HOEVEN, G. Combinatorgraphs as selLreducing programs. Tech. Rep. Univ. of Utrecht, 1984.
3
4
 
5
BARENDREGT, H.P. The Lambda Calculus: Its Syntax and Semant,cs. Elsevier, New York, 1981.
6
 
7
BURL~Y, R. An overview of the four systems in the VAX 8800 family. Digit. Tech. J. 4 (Feb. 1987), 10-19.
8
 
9
DIGITAL EQUIPMENT CORPORATION. DECstatmn 3100 Techmcal Overview (EZ-J4052-28). Maynard, Mass., 1989.
 
10
11
 
12
13
 
14
HUDAK, P., AND WADLER, P. Report on the Programmmg Language Haskell, Verswn 1.0, Res Rep. YALEU/DCS/RR-777, Apr. 1990.
15
16
 
17
KABAKIBO, A., MILUTINOVIC, V., SILBEY, A., AND FURHT B. A survey of cache memory in modern microcomputer and minicomputer systems. In Tutorial: Computer Architecture D Gajski, V. Milutinovic, H. Siegel, and B Furht, Eds. IEEE Computer Society Press, 1987, pp. 210-227.
 
18
19
 
20
KOOPMAN, P., LES, P, AND SIEWIO~EF.. Cache Performance of Combinator Graph Reduction In Proceedings of the 1990 International Conference on Computer Languages (New Orleans, Mar. 1990), IEEE, pp. 39-48.
21
22
 
23
24
 
25
 
26
PI~TSBURG~ SUPERCOMPUTE~ CENTER. Faczlities and Serwces Guide. Pittsburgh, Penn., 1989.
27
28
 
29
SIEWlOREK, D., AND KOOPMAN, P. A Case Study of a Parallel, Vector Workstatlon: The Titan Architecture. Academic Press, Boston. In press.
 
30
SMETSERS, J. E. W. Compiling Clean to abstract ABC-machine code. Tech. Rep. 89-20, Univ. of Nijmegen, 1989.
31
 
32
STALLMAN, R. GNU Project C Compiler. In UNIX Programmer's Manual. On-line system documentation, Unix version 4.3, 1988.
 
33
STOYE, W. The Implementation of Functional Languages using Custom Hardware, Tech. Rep. No. 81, Univ. of Cambridge Computer Laboratory, 1984.
 
34
TURNEa, D.A. SASL Reference Manual. Univ. of St. Andrews, 1976.
 
35
TURNER, D. A. A new implementation technique for applicative languages. Software-- Practice and Experience 9, I (Jan. 1979), 31-49.
 
36
TUaNER, D.A. Another algorithm for bracket abstraction. J. Symbolic Logic. 44, 2 (1979), 67-270.
37
 
38
WRAY, S. C., AND FAIRBAIRN, J. Non-strict languages--Programming and implementation. Draft, Oct. 16, 11988.
 
39
WRAY, S.C. Private communication, Oct. 24, 1988.

CITED BY  11


REVIEW

"Andrew Donald Booth : Reviewer"

A simulated machine, the Threaded Interpreted Graph Reduction Engine (TIGRE), has been created and used to investigate cache techniques on VAX and DEC computing systems. Alternative algorithms are compared, and data are presented that show bot  more...

Collaborative Colleagues:
Philip J. Koopman, Jr.: colleagues
Peter Lee: colleagues
Daniel P. Siewiorek: colleagues