Sockets and RDMA Code example in ADIOS2 #4348
Replies: 1 comment 5 replies
-
The code doesn't necessarily look different in this situation than it does on a shared filesystem (with some caveats). On a cluster with a shared filesystem when the SST writer starts up it writes its "contact information" into a .sst file on the filesystem. When the reader starts it reads this file to get that contact information, they get in touch and get started. When the reader and writer don't share a filesystem, the easiest way to exchange contact information is for each side to have the engine parameter "RegistrationMethod" set to "screen" on each side. With this setting, instead of writing the contact information to a file, the writer will print it to stdout, and instead of looking for a file, the reader will prompt for it to be entered via stdin. Normally this lets you, for example, cut and paste the contact information from one window to another. The other question is what is in that "contact information". Normally it does contain an IP address and port, and possibly RDMA info. All this is setup by the writer, picking an available port within a certain range and choosing an IP address or hostname as best it can. Unfortunately, a machine might have have multiple network interface, meaning multiple IP addresses, etc. You might also want to control the port range used, stop RDMA from being used, etc. We have a utility, sst_conn_tool that can help sort out what options, environment variables, etc. are necessary. Docs on that tool are here: https://adios2.readthedocs.io/en/latest/ecosystem/utilities.html Please check it out and if you have further questions or issues, we're happy to help. |
Beta Was this translation helpful? Give feedback.
-
I am using ADIOS2 SST with an application but till now I was reading and writing on the same file system. I want to use ADIOS for two applications running on different machines. Can anyone point out examples of code in C or C++ where I can find how to use ADIOS2 for such a case in C or C++. I am not sure how to configure the IP address and the location of data write into the code.
Beta Was this translation helpful? Give feedback.
All reactions