infiniband - How to use SRQ with different connections in libibverbs -


how use srq when connected more 1 connections. lets say, there 3 connections namely process 0, 1 , 2. creating srq, need call

struct ibv_srq *ibv_create_srq(struct ibv_pd *pd, struct ibv_srq_init_attr *srq_init_attr); 

for above call need provide protection domain, in knowledge, protection domain allocated specific each connection call

ibv_alloc_pd(id->verbs) 

in id created each channel. basically, question how assign srq different qp belonging different connection id different protection domain, or in other words, different connections can have same protection domain?

a single srq or pd cannot shared among multiple processes. point of srq reduce number of receives need posted when single process has many qps. , sharing srq among processes wouldn't make sense. when post receive srq, buffer have come address space of 1 of processes. if receive on different process's qp used work request, process wouldn't able access data had received (since buffer belongs different process).

you can of course share srqs , other verbs data structures between multiple threads in single process.

the verbs object can shared among multiple processes xrc domain (xrcd). see ibv_open_xrcd() etc.


Comments

Popular posts from this blog

javascript - how to protect a flash video from refresh? -

android - Associate same looper with different threads -

visual studio 2010 - Connect to informix database windows form application -