Subject: bufq: readprio vs priocscan dbench results
To: None <tech-kern@netbsd.org>
From: Juan RP <juan@xtrarom.org>
List: tech-kern
Date: 10/10/2005 13:15:08
Hi,
I've been running dbench to benchmark our current bufq
strategies and here are the results:
Hardware used:
cpu0: AMD Athlon (686-class), 1500.15 MHz, id 0x681
total memory = 510 MB
wd0 at atabus2 drive 0: <Maxtor 6Y080P0>
wd0: drive supports 16-sector PIO transfers, LBA addressing
wd0: 78167 MB, 158816 cyl, 16 head, 63 sec, 512 bytes/sect x 160086528
sectors wd0: 32-bit data port
wd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 6 (Ultra/133)
wd0(viaide1:0:0): using PIO mode 4, Ultra-DMA mode 6 (Ultra/133) (using
DMA)
dbench tests
------------
Command args: -t 120 20
priocscan: Throughput 35.6146 MB/sec 20 procs
readprio: Throughput 31.6769 MB/sec 20 procs
disksort: Throughput 33.1262 MB/sec 20 procs
fcfs: Throughput 30.3667 MB/sec 20 procs
Command args: -t 120 45
priocscan: Throughput 17.6074 MB/sec 45 procs
readprio: Throughput 12.6694 MB/sec 45 procs
disksort: Throughput 10.6391 MB/sec 45 procs
fcfs: Throughput 9.65181 MB/sec 45 procs
Same tests modifying number of requests and number of queues
for readprio and priocscan strategies.
priocscan:
#define PRIOCSCAN_NQUEUE 6
const int priocscan_burst[] = {
1024, 512, 256, 128, 64, 4
};
Throughput 24.1751 MB/sec 45 procs
#define PRIOCSCAN_NQUEUE 9
const int priocscan_burst[] = {
8192, 4096, 2048, 1024, 512, 256, 128, 64, 4
};
Throughput 21.8407 MB/sec 45 procs
const int priocscan_burst[] = {
1024, 128, 4
};
Throughput 21.5945 MB/sec 45 procs
readprio:
PRIO_READ_BURST 128
PRIO_WRITE_REQ 32
Throughput 15.9354 MB/sec 45 procs
PRIO_READ_BURST 512
PRIO_WRITE_REQ 64
Throughput 14.6596 MB/sec 45 procs
PRIO_READ_BURST 256
PRIO_WRITE_REQ 64
Throughput 15.2081 MB/sec 45 procs
PRIO_READ_BURST 512
PRIO_WRITE_REQ 32
Throughput 15.6419 MB/sec 45 procs
Note: I was not using softdep and the partition is UFS2 with
16384/2048 bsize/fsize.
And the winner is... priocscan.