Não consigo descobrir qual é o modelo de uma "conexão" com o InfiniBand?
Especificamente, estou procurando fazer transferências RDMA. O objetivo final é escrever RDMA com Immediate, mas estou começando apenas com uma transferência RDMA.
Se for para ser comparado a uma conexão IP, você inicia uma conexão, emite comandos nessa conexão e encerra a conexão.
Se é para ser comparado a uma consulta / resposta HTTP, você realiza uma solicitação independente e é isso.
Cada uma delas tem APIs bastante distintas, mas não consigo encontrar os padrões para essas nas APIs.
Por exemplo, quando eu construo as estruturas necessárias para uma transferência RDMA, eu forneço minhas informações de endereço e a vaddr / rkey da memória remota ... mas em nenhum lugar eu posso encontrar onde fornecer as informações de endereço do destino interface do host.
Quase todos os exemplos que vi têm uma coleção horrível de chamadas C e estrutura complicada (OO, pessoas?) e, além disso, usam o IBConnectionManager ou usam sockets para passar as outras informações, nublando ainda mais a base do API. Ninguém parece ter uma descrição clara do que é realmente necessário para executar RDMA-Write ou RDMA-Write-With-Immediate.
Então: Como faço isso?
Tags networking api