"sqlio -a" - CPU Mask for Affinity

Q

What is the CPU Mask for Affinity option, "sqlio -p"?

✍: FYIcenter.com

A

The CPU Mask for Affinity option, "sqlio -p", specifies a group of CPUs, using a binary number to mask them, to run SQLIO.

The default value is "", all CPUs. In this case, all CPUs are used.

Example 1 - Run SQLIO with the first CPU, 8 = 0x8 = 0b1000:

C:\fyicenter\SQLIO>sqlio -a8

1 thread reading for 30 secs from file testfile.dat
        using 2KB IOs over 128KB stripes with 64 IOs per run
        affinity mask is 0x8 (8)
initialization done
CUMULATIVE DATA:
throughput metrics:
IOs/sec:  2596.15
MBs/sec:     5.07

Example 2 - Run SQLIO with the first CPU and the third CPU, 10 = 0xa = 0b1010:

C:\fyicenter\SQLIO>sqlio -a10
1 thread reading for 30 secs from file testfile.dat
        using 2KB IOs over 128KB stripes with 64 IOs per run
        affinity mask is 0xa (10)
initialization done
CUMULATIVE DATA:
throughput metrics:
IOs/sec:  2246.17
MBs/sec:     4.38

Example 3 - Run SQLIO with the last 3 CPUs, 7 = 0x7 = 0b0111:

C:\fyicenter\SQLIO>sqlio -a7

1 thread reading for 30 secs from file testfile.dat
        using 2KB IOs over 128KB stripes with 64 IOs per run
        affinity mask is 0x7 (7)
initialization done
CUMULATIVE DATA:
throughput metrics:
IOs/sec:  3605.25
MBs/sec:     7.04

Example 4 - Run SQLIO with all 4 CPUs, 15 = 0xf = 0b1111:

C:\fyicenter\SQLIO>sqlio -a15

1 thread reading for 30 secs from file testfile.dat
        using 2KB IOs over 128KB stripes with 64 IOs per run
        affinity mask is 0xf (15)
initialization done
CUMULATIVE DATA:
throughput metrics:
IOs/sec:  3466.34
MBs/sec:     6.77

As you can see, the impact of running more CPUs is not obvious. May be we should re-test with multiple threads and multiple outstanding tests in the asynchronous queue.

 

"sqlio -k" - Kind of I/O

"sqlio -p" - CPU Number for Affinity

Getting Started with Microsoft SQLIO

⇑⇑ SQLIO Disk I/O Benchmark Test Tutorials

2019-05-14, 103👍, 0💬