type serie pricing machines d3v2 acu c++ azure hpc infiniband azure-virtual-network

c++ - serie - type vm azure



Tener Windows Azure A8 nodos con InfiniBand soporta cómo enviar N bytes de uno y recibir en otro? (2)

Me gusta la promesa InfiniBand de la red de 40 Gbit / s. Mis necesidades no se asignan al modelo MPI con un nodo central + esclavos, y si es posible, prefiero no usar MPI en absoluto. Necesito una API simple para conectar / enviar / recibir / cerrar (o sus versiones asincrónicas). Sin embargo, al leer los documentos de MS Azure y los documentos de Microsoft HPC Pack, no puedo encontrar ninguna API para C / C ++ o .Net que permita utilizar InfiniBand como transporte para mi aplicación. ¿Entonces mi pregunta es simple cómo usar InfiniBand para conectarse a otros nodos y enviar paquetes de datos a ellos y recibirlos en el otro extremo? (Al igual que algunos Socket API o algo así)

ND-SPI en Azure o DAPL-ND en Azure conectar / enviar / recibir / cerrar tutorial es lo que estoy buscando.


... No puedo encontrar ninguna API para C / C ++ o .Net que permita usar InfiniBand como transporte para mi aplicación. ¿Entonces mi pregunta es simple cómo usar InfiniBand para conectarse a otros nodos y enviar paquetes de datos a ellos y recibirlos en el otro extremo?

La API C para el acceso directo a InfiniBand se conoce como ''verbos''.

Entre los numerosos recursos en línea para presentar este tema, encontré que http://blog.zhaw.ch/icclab/infiniband-an-introduction-simple-ib-verbs-program-with-rdma-write/ es relativamente accesible.

La máxima autoridad en el software InfiniBand es OpenFabrics. El sitio web de OFED vincula documentos y descargas.

Noté en "OFS para Windows" que hay un enlace a la Descripción general de la Interfaz del proveedor de Kernel Direct de red (NDKPI) , que podría satisfacer sus necesidades, pero nunca lo he usado porque no uso Windows.


Estoy de acuerdo con el comentario de Hristo de que será MUCHO más fácil usar un API de mayor nivel que MPI, en lugar de una biblioteca IB "nativa".
Y solo para aclarar, MPI no impone Master-Slave. Una vez que todos los procesos han terminado y tienen un comunicador, tiene toda la flexibilidad del mundo. Cualquiera puede enviar datos a cualquiera. Y con MPI 2.0 tiene comunicación unilateral, donde un trabajador puede esencialmente alcanzar la memoria de otra persona.