nminoru / pib Goto Github PK
View Code? Open in Web Editor NEWPseudo InfiniBand HCA driver (for Linux)
License: Other
Pseudo InfiniBand HCA driver (for Linux)
License: Other
ib_atomic_bw、ib_atomic_lat の測定情報
Server
$ ib_atomic_bw -d pib_0
---------------------------------------------------------------------------------------
Device not recognized to implement inline feature. Disabling it
---------------------------------------------------------------------------------------
Atomic FETCH_AND_ADD BW Test
Dual-port : OFF Device : pib_0
Number of qps : 1 Transport type : IB
Connection type : RC
CQ Moderation : 100
Mtu : 4096[B]
Link type : IB
Outstand reads : 16
rdma_cm QPs : OFF
Data ex. method : Ethernet
---------------------------------------------------------------------------------------
local address: LID 0x02 QPN 0xe90f75 PSN 0x9ab1fa
remote address: LID 0x04 QPN 0xba1c8f PSN 0xa653e2
Client
$ ib_atomic_bw -d pib_1 localhost
---------------------------------------------------------------------------------------
Device not recognized to implement inline feature. Disabling it
---------------------------------------------------------------------------------------
Atomic FETCH_AND_ADD BW Test
Dual-port : OFF Device : pib_1
Number of qps : 1 Transport type : IB
Connection type : RC
TX depth : 128
CQ Moderation : 100
Mtu : 4096[B]
Link type : IB
Outstand reads : 16
rdma_cm QPs : OFF
Data ex. method : Ethernet
---------------------------------------------------------------------------------------
local address: LID 0x04 QPN 0xba1c8f PSN 0xa653e2
remote address: LID 0x02 QPN 0xe90f75 PSN 0x9ab1fa
---------------------------------------------------------------------------------------
#bytes #iterations BW peak[MB/sec] BW average[MB/sec] MsgRate[Mpps]
8 1000 1.66 1.48 0.193769
---------------------------------------------------------------------------------------
Server
$ ib_atomic_lat -d pib_0
---------------------------------------------------------------------------------------
Device not recognized to implement inline feature. Disabling it
---------------------------------------------------------------------------------------
Atomic FETCH_AND_ADD Latency Test
Dual-port : OFF Device : pib_0
Number of qps : 1 Transport type : IB
Connection type : RC
Mtu : 4096[B]
Link type : IB
Outstand reads : 16
rdma_cm QPs : OFF
Data ex. method : Ethernet
---------------------------------------------------------------------------------------
local address: LID 0x02 QPN 0xe90f76 PSN 0x6c2a4f
remote address: LID 0x04 QPN 0xba1c90 PSN 0x930942
---------------------------------------------------------------------------------------
Client
$ ib_atomic_lat -d pib_1 localhost
---------------------------------------------------------------------------------------
Device not recognized to implement inline feature. Disabling it
---------------------------------------------------------------------------------------
Atomic FETCH_AND_ADD Latency Test
Dual-port : OFF Device : pib_1
Number of qps : 1 Transport type : IB
Connection type : RC
TX depth : 1
Mtu : 4096[B]
Link type : IB
Outstand reads : 16
rdma_cm QPs : OFF
Data ex. method : Ethernet
---------------------------------------------------------------------------------------
local address: LID 0x04 QPN 0xba1c90 PSN 0x930942
remote address: LID 0x02 QPN 0xe90f76 PSN 0x6c2a4f
---------------------------------------------------------------------------------------
#bytes #iterations t_min[usec] t_max[usec] t_typical[usec]
8 1000 15.01 98.22 18.86
---------------------------------------------------------------------------------------
Server
$ ib_atomic_bw -d pib_0 -A CMP_AND_SWAP
---------------------------------------------------------------------------------------
Device not recognized to implement inline feature. Disabling it
---------------------------------------------------------------------------------------
Atomic CMP_AND_SWAP BW Test
Dual-port : OFF Device : pib_0
Number of qps : 1 Transport type : IB
Connection type : RC
CQ Moderation : 100
Mtu : 4096[B]
Link type : IB
Outstand reads : 16
rdma_cm QPs : OFF
Data ex. method : Ethernet
---------------------------------------------------------------------------------------
local address: LID 0x02 QPN 0xe90f77 PSN 0x985402
remote address: LID 0x04 QPN 0xba1c91 PSN 0xd03f5e
---------------------------------------------------------------------------------------
Client
$ ib_atomic_bw -d pib_1 -A CMP_AND_SWAP localhost
---------------------------------------------------------------------------------------
Device not recognized to implement inline feature. Disabling it
---------------------------------------------------------------------------------------
Atomic CMP_AND_SWAP BW Test
Dual-port : OFF Device : pib_1
Number of qps : 1 Transport type : IB
Connection type : RC
TX depth : 128
CQ Moderation : 100
Mtu : 4096[B]
Link type : IB
Outstand reads : 16
rdma_cm QPs : OFF
Data ex. method : Ethernet
---------------------------------------------------------------------------------------
local address: LID 0x04 QPN 0xba1c93 PSN 0xbb1ff7
remote address: LID 0x02 QPN 0xe90f79 PSN 0x316dee
---------------------------------------------------------------------------------------
#bytes #iterations BW peak[MB/sec] BW average[MB/sec] MsgRate[Mpps]
8 1000 1.70 1.67 0.219031
---------------------------------------------------------------------------------------
Server
$ ib_atomic_lat -d pib_0 -A CMP_AND_SWAP
---------------------------------------------------------------------------------------
Device not recognized to implement inline feature. Disabling it
---------------------------------------------------------------------------------------
Atomic CMP_AND_SWAP Latency Test
Dual-port : OFF Device : pib_0
Number of qps : 1 Transport type : IB
Connection type : RC
Mtu : 4096[B]
Link type : IB
Outstand reads : 16
rdma_cm QPs : OFF
Data ex. method : Ethernet
---------------------------------------------------------------------------------------
local address: LID 0x02 QPN 0xe90f78 PSN 0x55d67a
remote address: LID 0x04 QPN 0xba1c92 PSN 0x316cc3
---------------------------------------------------------------------------------------
Client
$ ib_atomic_lat -d pib_1 -A CMP_AND_SWAP localhost
---------------------------------------------------------------------------------------
Device not recognized to implement inline feature. Disabling it
---------------------------------------------------------------------------------------
Atomic CMP_AND_SWAP Latency Test
Dual-port : OFF Device : pib_1
Number of qps : 1 Transport type : IB
Connection type : RC
TX depth : 1
Mtu : 4096[B]
Link type : IB
Outstand reads : 16
rdma_cm QPs : OFF
Data ex. method : Ethernet
---------------------------------------------------------------------------------------
local address: LID 0x04 QPN 0xba1c92 PSN 0x316cc3
remote address: LID 0x02 QPN 0xe90f78 PSN 0x55d67a
---------------------------------------------------------------------------------------
#bytes #iterations t_min[usec] t_max[usec] t_typical[usec]
8 1000 8.55 164.53 9.27
---------------------------------------------------------------------------------------
Hello,
I think your driver would help us with automated testing of NetworkManager. I'm wondering if you've considered submitting it for mainline kernel inclusion so that we could rely on it being maintained and shipped with Linux distributions?
Thank you,
Lubo
insmod pib.ko addr=server_ip num_hca=1 phys_port_cnt=1
pib: In single-host-mode, the value of num_hca * phys_port_cn must be 2 or more.
diff --git a/driver/pib_main.c b/driver/pib_main.c
index 72f5c09..a68bab2 100644
--- a/driver/pib_main.c
+++ b/driver/pib_main.c
@@ -971,7 +971,7 @@ static int __init pib_init(void)
return -EINVAL;
}
- if (pib_num_hca * pib_phys_port_cnt < 2) {
+ if (!server_addr && pib_num_hca * pib_phys_port_cnt < 2) {
pr_err("pib: In single-host-mode, the value of num_hca * phys_port_cn must be 2 or more.\n");
return -EINVAL;
}
ib_read_bwが停止してしまう
ハードウェアが貧弱なのでそのせいかもしれません。ESXi5.5上のCentOSです。
# ib_read_bw -d pib_0 -a
---------------------------------------------------------------------------------------
Device not recognized to implement inline feature. Disabling it
---------------------------------------------------------------------------------------
RDMA_Read BW Test
Dual-port : OFF Device : pib_0
Number of qps : 1 Transport type : IB
Connection type : RC
CQ Moderation : 100
Mtu : 4096[B]
Link type : IB
Outstand reads : 16
rdma_cm QPs : OFF
Data ex. method : Ethernet
---------------------------------------------------------------------------------------
local address: LID 0x01 QPN 0xfcdfdb PSN 0x5d2d4b OUT 0x10 RKey 0x31b06000 VAddr 0x007f75894a7000
remote address: LID 0x03 QPN 0x27d939 PSN 0x8899fc OUT 0x10 RKey 0x84309000 VAddr 0x007fe9b02b0000
---------------------------------------------------------------------------------------
#bytes #iterations BW peak[MB/sec] BW average[MB/sec] MsgRate[Mpps]
pp_read_keys: Success
Couldn't read remote address
Unable to read to socket/rdam_cm
Failed to close connection between server and client
# ib_read_bw -d pib_1 -a server_ip
---------------------------------------------------------------------------------------
Device not recognized to implement inline feature. Disabling it
---------------------------------------------------------------------------------------
RDMA_Read BW Test
Dual-port : OFF Device : pib_1
Number of qps : 1 Transport type : IB
Connection type : RC
TX depth : 128
CQ Moderation : 100
Mtu : 4096[B]
Link type : IB
Outstand reads : 16
rdma_cm QPs : OFF
Data ex. method : Ethernet
---------------------------------------------------------------------------------------
local address: LID 0x03 QPN 0x27d939 PSN 0x8899fc OUT 0x10 RKey 0x84309000 VAddr 0x007fe9b02b0000
remote address: LID 0x01 QPN 0xfcdfdb PSN 0x5d2d4b OUT 0x10 RKey 0x31b06000 VAddr 0x007f75894a7000
---------------------------------------------------------------------------------------
#bytes #iterations BW peak[MB/sec] BW average[MB/sec] MsgRate[Mpps]
2 1000 0.09 0.06 0.032045
4 1000 0.17 0.12 0.031849
8 1000 0.35 0.25 0.032629
16 1000 0.70 0.49 0.032218
32 1000 1.40 0.99 0.032367
64 1000 2.39 1.90 0.031055
128 1000 4.74 3.79 0.031012
256 1000 9.64 7.41 0.030341
512 1000 22.21 15.54 0.031817
1024 1000 43.95 31.30 0.032048
2048 1000 79.26 61.98 0.031735
4096 1000 161.80 116.89 0.029924
8192 1000 184.29 134.07 0.017161
16384 1000 149.20 141.54 0.009058
32768 1000 144.68 144.27 0.004617
65536 1000 149.00 147.91 0.002367
131072 1000 1.65 1.64 0.000013
262144 1000 1.65 1.64 0.000007
524288 1000 1.64 1.64 0.000003
1048576 1000 141.82 141.82 0.000142
2097152 1000 134.89 134.66 0.000067
4194304 1000 121.97 121.76 0.000030
Problems with warm up
ibv_reg_mr seems to fail (returns NULL) when trying to register a 400KB region. It works for smaller buffers, e.g. 32k. Is there an option to allow larger memory regions?
クライアント側のでibnetdiscoverを実行した際にタイムアウトが発生する。
サーバ、クライアントとは、pibnetd/opensmを起動したホストをサーバ、指定いないホストをクライアントと呼んでいる。
# ibnetdiscover
#
# Topology file: generated on Sat Mar 15 10:09:39 2014
#
# Initiated from node 005056000aed0300 port 005056000aed0301
vendid=0x0
devid=0x1
sysimgguid=0x5056000aed
switchguid=0x5056000bed(5056000bed)
Switch 32 "S-0000005056000bed" # "Pseudo InfiniBand HCA switch" base port 0 lid 7 lmc 0
[1] "H-005056000aed0300"[1](5056000aed0301) # "Pseudo InfiniBand HCA driver" lid 1 12xQDR
[2] "H-005056000aed0300"[2](5056000aed0302) # "Pseudo InfiniBand HCA driver" lid 4 12xQDR
[3] "H-005056000aee0300"[1](5056000aee0301) # "Pseudo InfiniBand HCA driver" lid 6 12xQDR
[4] "H-005056000aee0300"[2](5056000aee0302) # "Pseudo InfiniBand HCA driver" lid 8 12xQDR
vendid=0x0
devid=0x1
sysimgguid=0x5056000aee0200
caguid=0x5056000aee0300
Ca 2 "H-005056000aee0300" # "Pseudo InfiniBand HCA driver"
[1](5056000aee0301) "S-0000005056000bed"[3] # lid 6 lmc 0 "Pseudo InfiniBand HCA switch" lid 7 12xQDR
[2](5056000aee0302) "S-0000005056000bed"[4] # lid 8 lmc 0 "Pseudo InfiniBand HCA switch" lid 7 12xQDR
# ibnetdiscover
src/query_smp.c:196; umad (DR path slid 0; dlid 0; 0,1,1 Attr 0x11:0) bad status 110; Connection timed out
src/query_smp.c:196; umad (DR path slid 0; dlid 0; 0,1,2 Attr 0x11:0) bad status 110; Connection timed out
src/query_smp.c:196; umad (DR path slid 0; dlid 0; 0,1,3 Attr 0x11:0) bad status 110; Connection timed out
src/query_smp.c:196; umad (DR path slid 0; dlid 0; 0,1,4 Attr 0x11:0) bad status 110; Connection timed out
#
# Topology file: generated on Sat Mar 15 12:05:33 2014
#
# Initiated from node 005056000aee0300 port 005056000aee0301
vendid=0x0
devid=0x1
sysimgguid=0x5056000aed
switchguid=0x5056000bed(5056000bed)
Switch 32 "S-0000005056000bed" # "Pseudo InfiniBand HCA switch" base port 0 lid 7 lmc 0
[3] "H-005056000aee0300"[1](5056000aee0301) # "Pseudo InfiniBand HCA driver" lid 6 12xQDR
vendid=0x0
devid=0x1
sysimgguid=0x5056000aee0200
caguid=0x5056000aee0300
Ca 2 "H-005056000aee0300" # "Pseudo InfiniBand HCA driver"
[1](5056000aee0301) "S-0000005056000bed"[3] # lid 6 lmc 0 "Pseudo InfiniBand HCA switch" lid 7 12xQDR
# ./pibnetd -v
pibnetd: Pseudo InfiniBand HCA switch v0.3.2
/sbin/service rdma start
insmod pib.ko addr=server_ip num_hca=1
/sbin/service opensm start
/sbin/service rdma start
insmod pib.ko addr=server_ip num_hca=1
ibv_devinfoで次のようになってしまう。
# ibv_devinfo
libibverbs: Warning: no userspace device-specific driver found for /sys/class/infiniband_verbs/uverbs1
libibverbs: Warning: no userspace device-specific driver found for /sys/class/infiniband_verbs/uverbs0
@Additional Development
@Base
@Core
@Development tools
@Ruby Support
@SNMP Support
@base
@core
compat-libstdc++-33
dhcp
libaio
openldap-servers
postfix
screen
-sendmail
yum install -y libibverbs-devel libibverbs-utils librdmacm librdmacm-utils librdmacm-devel infiniband-diags opensm
git clone https://github.com/nminoru/pib.git
cd pib/driver/
make
cd ../libpib/
make
cd ../pibnetd/
make
/sbin/service rdma start
Loading OpenIB kernel modules: [ OK ]
cd pib/driver/
insmod pib.ko
# /sbin/service opensm start
Starting IB Subnet Manager: [ OK ]
# ibv_devinfo
libibverbs: Warning: no userspace device-specific driver found for /sys/class/infiniband_verbs/uverbs1
libibverbs: Warning: no userspace device-specific driver found for /sys/class/infiniband_verbs/uverbs0
No IB devices found
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.