@@ -39,30 +39,30 @@ The performance advantage realized from LOCALIO's ability to bypass
39
39
using XDR and RPC for reads, writes and commits can be extreme, e.g.:
40
40
41
41
fio for 20 secs with directio, qd of 8, 16 libaio threads:
42
- - With LOCALIO:
43
- 4K read: IOPS=979k, BW=3825MiB/s (4011MB/s)(74.7GiB/20002msec)
44
- 4K write: IOPS=165k, BW=646MiB/s (678MB/s)(12.6GiB/20002msec)
45
- 128K read: IOPS=402k, BW=49.1GiB/s (52.7GB/s)(982GiB/20002msec)
46
- 128K write: IOPS=11.5k, BW=1433MiB/s (1503MB/s)(28.0GiB/20004msec)
47
-
48
- - Without LOCALIO:
49
- 4K read: IOPS=79.2k, BW=309MiB/s (324MB/s)(6188MiB/20003msec)
50
- 4K write: IOPS=59.8k, BW=234MiB/s (245MB/s)(4671MiB/20002msec)
51
- 128K read: IOPS=33.9k, BW=4234MiB/s (4440MB/s)(82.7GiB/20004msec)
52
- 128K write: IOPS=11.5k, BW=1434MiB/s (1504MB/s)(28.0GiB/20011msec)
42
+ - With LOCALIO:
43
+ 4K read: IOPS=979k, BW=3825MiB/s (4011MB/s)(74.7GiB/20002msec)
44
+ 4K write: IOPS=165k, BW=646MiB/s (678MB/s)(12.6GiB/20002msec)
45
+ 128K read: IOPS=402k, BW=49.1GiB/s (52.7GB/s)(982GiB/20002msec)
46
+ 128K write: IOPS=11.5k, BW=1433MiB/s (1503MB/s)(28.0GiB/20004msec)
47
+
48
+ - Without LOCALIO:
49
+ 4K read: IOPS=79.2k, BW=309MiB/s (324MB/s)(6188MiB/20003msec)
50
+ 4K write: IOPS=59.8k, BW=234MiB/s (245MB/s)(4671MiB/20002msec)
51
+ 128K read: IOPS=33.9k, BW=4234MiB/s (4440MB/s)(82.7GiB/20004msec)
52
+ 128K write: IOPS=11.5k, BW=1434MiB/s (1504MB/s)(28.0GiB/20011msec)
53
53
54
54
fio for 20 secs with directio, qd of 8, 1 libaio thread:
55
- - With LOCALIO:
56
- 4K read: IOPS=230k, BW=898MiB/s (941MB/s)(17.5GiB/20001msec)
57
- 4K write: IOPS=22.6k, BW=88.3MiB/s (92.6MB/s)(1766MiB/20001msec)
58
- 128K read: IOPS=38.8k, BW=4855MiB/s (5091MB/s)(94.8GiB/20001msec)
59
- 128K write: IOPS=11.4k, BW=1428MiB/s (1497MB/s)(27.9GiB/20001msec)
60
-
61
- - Without LOCALIO:
62
- 4K read: IOPS=77.1k, BW=301MiB/s (316MB/s)(6022MiB/20001msec)
63
- 4K write: IOPS=32.8k, BW=128MiB/s (135MB/s)(2566MiB/20001msec)
64
- 128K read: IOPS=24.4k, BW=3050MiB/s (3198MB/s)(59.6GiB/20001msec)
65
- 128K write: IOPS=11.4k, BW=1430MiB/s (1500MB/s)(27.9GiB/20001msec)
55
+ - With LOCALIO:
56
+ 4K read: IOPS=230k, BW=898MiB/s (941MB/s)(17.5GiB/20001msec)
57
+ 4K write: IOPS=22.6k, BW=88.3MiB/s (92.6MB/s)(1766MiB/20001msec)
58
+ 128K read: IOPS=38.8k, BW=4855MiB/s (5091MB/s)(94.8GiB/20001msec)
59
+ 128K write: IOPS=11.4k, BW=1428MiB/s (1497MB/s)(27.9GiB/20001msec)
60
+
61
+ - Without LOCALIO:
62
+ 4K read: IOPS=77.1k, BW=301MiB/s (316MB/s)(6022MiB/20001msec)
63
+ 4K write: IOPS=32.8k, BW=128MiB/s (135MB/s)(2566MiB/20001msec)
64
+ 128K read: IOPS=24.4k, BW=3050MiB/s (3198MB/s)(59.6GiB/20001msec)
65
+ 128K write: IOPS=11.4k, BW=1430MiB/s (1500MB/s)(27.9GiB/20001msec)
66
66
67
67
FAQ
68
68
===
@@ -174,21 +174,21 @@ The RPC program number for the NFS_LOCALIO_PROGRAM is 400122 (as assigned
174
174
by IANA, see https://www.iana.org/assignments/rpc-program-numbers/ ):
175
175
Linux Kernel Organization 400122 nfslocalio
176
176
177
- The LOCALIO protocol spec in rpcgen syntax is:
177
+ The LOCALIO protocol spec in rpcgen syntax is::
178
178
179
- /* raw RFC 9562 UUID */
180
- #define UUID_SIZE 16
181
- typedef u8 uuid_t<UUID_SIZE>;
179
+ /* raw RFC 9562 UUID */
180
+ #define UUID_SIZE 16
181
+ typedef u8 uuid_t<UUID_SIZE>;
182
182
183
- program NFS_LOCALIO_PROGRAM {
184
- version LOCALIO_V1 {
185
- void
186
- NULL(void) = 0;
183
+ program NFS_LOCALIO_PROGRAM {
184
+ version LOCALIO_V1 {
185
+ void
186
+ NULL(void) = 0;
187
187
188
- void
189
- UUID_IS_LOCAL(uuid_t) = 1;
190
- } = 1;
191
- } = 400122;
188
+ void
189
+ UUID_IS_LOCAL(uuid_t) = 1;
190
+ } = 1;
191
+ } = 400122;
192
192
193
193
LOCALIO uses the same transport connection as NFS traffic. As such,
194
194
LOCALIO is not registered with rpcbind.
0 commit comments