NPAC Technical Report SCCS-481
Optimization of a Dynamic Random Surface Code for RISC Processor
Mark Bowick, Paul Coddington, Leping Han, Geoffrey Fox, Geoffrey Harris, Enzo Marinari
Submitted April 01 1993
Abstract
To get near optimal performance from RISC processors the programmer must be
very careful to structure the code in such a way as to make best use of the
data cache, by keeping data as local as possible. This is a
non-trivial problem for applications with dynamic data structures such
as the simulation of dynamically triangulated random surfaces, which we
use an an example.
This is very similar to problems of data locality on parallel processors,
where there is an even greater penalty in accessing data which is
non-local.
Based on the idea of memory having a hierarchy structure, and the
particular characteristics of certain RISC chips, we outline a fairly
systematic method for optimizing the program. These methods are quite
general, and can be applied to any numerically intensive program run
on a fast RISC processor. We have benchmarked the results of these
optimization techniques on the Intel i860, IBM RS/6000, HP 7000,
DECstation 5000, and Sun SPARC 1+. The results showed significant
improvement in speed.