Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

MPI's Socket Communication Integration Test on 'local' system for the TVB-NEST/launcher application #111

Closed
7 tasks done
ringleschavez opened this issue Feb 23, 2022 · 5 comments
Assignees
Labels
Development Researching Discovering new approaches or testing new ideas

Comments

@ringleschavez
Copy link
Collaborator

ringleschavez commented Feb 23, 2022

Aspect Detail
Summary The integration-test of the MPI's Socket communication approach for the TVB-NEST/launcher code.
Task Area Research, Development
Assignee @ringleschavez
Information Exclusively Point-to-Point approach must be tested, i.e. one-to-one
Prerequisites
Dependencies #74 #82

Summary

Having worked on the TVB-NEST-demo on "local" VM, there were found different issues related to the MPI's "socket-style"
communication approach.

In order to become aware of the scope and limitations about of the mentioned approach, the Integration-Test
on TVB-NEST/launcher will allow to have a set of test showing how the MPI's Socket-Style communication approach
could be used in the Co-Simulation Framework.

Tasks

  • Designing and developing the Integration-Test XML Configuration Files
  • Developing the Socket-Server python scripts for the Integration-Test used by the TVB-NEST/launcher application
  • Implementing the Socket-Client python scripts for the Integration-Test used by the TVB-NEST/launcher application
  • Making up the Integration-Test and performing preliminary test on 'local' system (VM).
  • Fixing found issues
  • Tidying up the configuration files and python scripts.
  • Performing the pull-request.

Requirements

  • A 'local' (VM) with a MPI library and MPI4PY able to compile and run in order to perform preliminary tests of the MPI's Socket-Style communication approach.

Acceptance criteria

  • Integration-Test for the TVB-NEST/launcher application demonstrating the usage of the MPI's Socket-Style communication functional to the Co-Simulation Framework.

Remarks

  • It would be worth to perform tests by using MPICH and OpenMPI.
  • Similarly, testing the blocking and non-blocking calls could be a different Integration-Test.
  • Finally, both communication method could be tested as well, namely, "memory buffer communication" (Comm.Send, Comm.Recv) and "Python objects communication" (Comm.send, Comm.recv).

References:

[1] https://mpi4py.readthedocs.io/en/stable/overview.html#collective-communications
[2] https://mpi4py.readthedocs.io/en/stable/tutorial.html#point-to-point-communication
[3] https://www.hlrs.de/about-us/media-publications/teaching-and-training-material/MPI-course-material/
[4] https://pages.tacc.utexas.edu/~eijkhout/pcse/html/mpi-proc.html#Socket-stylecommunications
[5] https://web.corral.tacc.utexas.edu/CompEdu/pdf/pcse/

@ringleschavez ringleschavez added Researching Discovering new approaches or testing new ideas Development labels Feb 23, 2022
@ringleschavez ringleschavez self-assigned this Feb 23, 2022
@ringleschavez
Copy link
Collaborator Author

Former list of task until 2022-02-27:
Creating a Socket-Server program
Creating a Socket-Client program
Testing MPI Socket-Server on receive mode
Testing MPI Socket-Server on send mode
Testing MPI Socket-Server on mixed mode (receive/send)
Testing MPI Socket-Server on 1-to-n approach
Integration-Test Configuration Files
Python scripts for the Integration-Test used by the TVB-NEST/launcher application

@ringleschavez
Copy link
Collaborator Author

ringleschavez commented Mar 7, 2022

Message Checking

Examples how MPI.Comm.Probe could be used for checking received messages beforehand.

https://github.com/mpi4py/mpi4py/blob/master/test/test_p2p_buf.py
https://github.com/mpi4py/mpi4py/blob/master/demo/mpi-ref-v1/ex-2.29.py

@ringleschavez
Copy link
Collaborator Author

@ringleschavez
Copy link
Collaborator Author

Important information about the OpenMPI rendezvous server ompi-server: issue # 6916 by rhc54

@ringleschavez
Copy link
Collaborator Author

Important information about the OpenMPI rendezvous server ompi-server: issue # 6916 by rhc54

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
Development Researching Discovering new approaches or testing new ideas
Projects
None yet
Development

No branches or pull requests

1 participant