|
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
|
G. L. Burn , S. L. Peyton Jones , J. D. Robson, The spineless G-machine, Proceedings of the 1988 ACM conference on LISP and functional programming, p.244-258, July 25-27, 1988, Snowbird, Utah, United States
[doi> 10.1145/62678.62717]
|
| |
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
|
Simon L. Peyton Jones , Chris Clack , John Salkild , Mark Hardie, GRIP—A high-performance architecture for parallel graph reduction, Proc. of a conference on Functional programming languages and computer architecture, p.98-112, October 1987, Portland, Oregon, United States
|
 |
24
|
|
| |
25
|
|
| |
26
|
PI~TSBURG~ SUPERCOMPUTE~ CENTER. Faczlities and Serwces Guide. Pittsburgh, Penn., 1989.
|
 |
27
|
S. Prybylski , M. Horowitz , J. Hennessy, Performance tradeoffs in cache design, Proceedings of the 15th Annual International Symposium on Computer architecture, p.290-298, May 30-June 02, 1988, Honolulu, Hawaii, United States
|
 |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Amer Diwan , David Tarditi , Eliot Moss, Memory subsystem performance of programs using copying garbage collection, Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.1-14, January 16-19, 1994, Portland, Oregon, United States
|
|
|
|
|
|
|
|
|
|
|
|
|
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...
|