Call-chain Software Instruction Prefetching in J2EE Server Applications
Priya Nagpurkar, Harold Cain, Mauricio Serrano, Jong-Deok Choi, and Chandra Krintz
The International Conference on
Parallel Architectures and Compilation Techniques,
(PACT)
September, 2007, Brasov, Romania
PDF
Abstract
We present a detailed characterization of instruction cache
performance for IBM's J2EE-enabled web server, WebSphere Application
Server (WAS). When running two J2EE benchmarks on WebSphere, we find
that instruction cache misses cause a 12% performance penalty on
current-generation Power5-based multiprocessor systems. To mitigate
this performance loss, we describe a new call-chain based algorithm
for inserting software prefetch instructions,
and evaluate its potential for improved instruction cache
performance. The performance of this algorithm depends on the
selection of several independent parameters which control the distance
and number of prefetches inserted for a particular method. Through
characterization of the WebSphere applications, we select these
parameters, and ultimately find that our call-chain based insertion
algorithm achieves significant reduction in instruction cache miss rate for
Java methods.