CACHE BEHAVIOR OF COMBINATOR GRAPH REDUCTION

被引:8
作者
KOOPMAN, PJ [1 ]
LEE, P [1 ]
SIEWIOREK, DP [1 ]
机构
[1] CARNEGIE MELLON UNIV,SCH COMP SCI,PITTSBURGH,PA 15213
来源
ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS | 1992年 / 14卷 / 02期
关键词
ABSTRACT MACHINE; COMBINATORS; GRAPH REDUCTION; SELF-MODIFYING CODE;
D O I
10.1145/128861.128867
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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.
引用
收藏
页码:265 / 297
页数:33
相关论文
共 39 条
[1]  
ABRAMSKY S, 1987, ABSTRACT INT DECLARA
[2]  
AUGESTEIJN A, 1984, COMBINATOGRAPHS SELF
[3]  
AUGUSTSSON L, 1984, ACM C LISP FUNCTIONA, P218
[4]   CAN PROGRAMMING BE LIBERATED FROM VON NEUMANN STYLE - FUNCTIONAL STYLE AND ITS ALGEBRA OF PROGRAMS [J].
BACKUS, J .
COMMUNICATIONS OF THE ACM, 1978, 21 (08) :613-641
[5]   THREADED CODE [J].
BELL, JR .
COMMUNICATIONS OF THE ACM, 1973, 16 (06) :370-372
[6]  
BURLEY R, 1987, DIGIT TECH, V4, P10
[7]  
BURN G, 1988, 1988 P ACM C LISP FU, P25
[8]  
FAIRBAIRN J, 1987, SEP P FUNCT PROGR LA, P34
[9]   A LISP GARBAGE-COLLECTOR FOR VIRTUAL-MEMORY COMPUTER SYSTEMS [J].
FENICHEL, RR ;
YOCHELSON, JC .
COMMUNICATIONS OF THE ACM, 1969, 12 (11) :611-+
[10]  
Hennessy J. L., 2011, COMPUTER ARCHITECTUR, V4th