Dennis,
Here are the results of running the trace files.
I use the larger file (the .libxt file), and
assumed 256 byte pages.  that gave me close to 300 pages.
I ran the file through LRU, LRU2 and 2Q and varied the number
of buffers. (as I noted, the LRU2 comparison is a bit unfair).
for 2Q, I always used 2 buffers for A1in and half the number
of lru+a1in buffers for A1out.

# buffers	LRU	LRU/2	2Q
4		.428	.443	.444
6		.479	.504	.511
8		.536	.551	.565
10		.578	.601	.607
12		.655	.676	.694
14		.713	.737	.743
16		.730	.758	.771
18		.759	.785	.800
20		.772	.799	.821
22		.795	.825	.839
24		.825	.848	.848
26		.839	.860	.862
28		.849	.869	.878
30		.861	.876	.894

40		.946	.938	.944

So, 2Q beats LRU even when we use a simple parameter assignment strategy.
the exception is for 40 buffers, when the hit rate is very high.
With such a high hit rate, you usually have locked the hot items
into the buffer with LRU, and LRU beats LRU2 and this version of 2Q
becasue it can react faster to changes in locality.

I tried changing the size of the A1 buffer.  I left the total
number of FIFO buffers constant.
for 40 buffers
|A1in|		hit rate
1		.941
2		.944
3		.946
4		.946
5		.946	
6		.946
7		.946

for 20 buffers
|A1in|		hit rate
1		.821
2		.821
3		.821
4		.818


My conclusions:
If your hit rate is low, you need to concentrate on locking the hottest
items into the buffer.  So, LRU2 and 2Q always beat LRU by a large
margin.  If the hit rate is high, LRU is already locking the hot
items into the buffer.  What matters to get the last few percent in
the hit rate is to react quickly to a change in locality.
LRU2 fails, its definition makes it a little slow to react
(though perhaps some addn'l hints can help).
2Q can match LRU if you make the size of the A1in queue large enough
(but not too large).  

Its not clear that 2Q is a better page replacement algorithm than
LRU for general programs, since you expect very high hit rates.
It will beat LRU for disk page buffering (you expect mnoderate hit
rates) and for database applications (since they have special 
characteristics and often a relatively low hit rate).

	Ted

I processed the traces from IBM.
They look good, 75514 unique pages out of 500000 references
Now I need to try run the processed file through
the simulators.  Here are some preliminary results.


3000 buffers	LRU	LRU/2	2Q
A1in=300	.730	.737	.7413 	(A1out=1200)
A1in=500			.7422   (A1out=1600)

1500 buffers	LRU	LRU/2	2Q
A1in=250	.6831	.6926	.6967  (A1out=750)

1000 buffers    LRU     LRU/2   2Q
A1in=160	.6544	.6629	.6680  (A1out=500)

500 buffers	LRU	LRU/2	2Q
A1in=80		.6055	.6020	.6097  (A1out=250)

250 buffers	LRU	LRU/2	2Q
A1in=50		.5396	.5367	.5448  (A1out=125)


I need to run some tuning experiments to find
the best parameters for LRU/2 and 2Q.

	Ted



Dennis,
I ran a few experiments and I found that setting A1in to 25%
and A1out to 35% gave good performance.
So, I ran a suite of experiments with that setting
(LRU/2 has a FIFO size of 25% also)
Here's the results.

# buffers       2Q      LRU2    LRU
50              .348    .345    .317
100             .436    .432    .413
300             .523    .516    .512
500             .616    .610    .606
700             .643    .639    .630
1000            .668    .665    .654
1200            .681    .678    .667
1500            .696    .693    .683
1700            .704    .702    .691
2000            .715    .712    .704
2500            .730    .727    .718
3000            .741    .738    .730
3500            .751    .747    .740
4000            .759    .755    .748
5000            .771    .768    .762
6000            .781    .778    .773
7000            .788    .786    .781
8000            .794    .792    .789
9000            .800    .798    .795

So,
2Q always beats LRU/2, and has a respectable lead over LRU.
This is comparable to the O'Neils results.  they
don't run experiments where the hit rate is better than .47
I'll send the chart tomorrow.

Also, I tried to print the charts from ghostview, and
I couldn't get anything.  apparently, the printer doesn't
want to print the encapsulated postscript.  It'll
print if you import into a .tex file, though.
	Ted

