2014-09-11 1 views
1

Je suis un débutant à MPI. Je suis en train de lire le tutoriel sur mpitutorial.com. Malheureusement, les exemples ne vont pas dans le genre de connexion/communication que je veux approfondir. Ce que je veux établir est le suivant:Comment puis-je transférer des données entre plusieurs programmes indépendamment lancés en utilisant MPI

Je veux avoir un programme MPI central, auquel d'autres programmes qui ont été lancés indépendamment peuvent se connecter. Le programme central MPI assume un rôle similaire à celui d'un standardiste et standardiste de 1960. Cela implique que les programmes connectés reçoivent et envoient des données depuis et vers le programme MPI central. Une exception à l'analogie est que le programme MPI central modifie les données qu'il a reçues avant de l'envoyer.

Dans ce qui précède, considérez-moi comme le développeur du programme MPI central. Supposons que tous les programmes connectés sont développés indépendamment et pas par moi. Enfin, tous les programmes sont open-source. Je peux donc aussi modifier les programmes que je n'ai pas développés moi-même.

Quelqu'un pourrait-il m'expliquer comment je peux établir une telle connexion en utilisant MPI ou me diriger dans la bonne direction en me disant quels concepts de MPI je devrais étudier de manière approfondie?

Répondre

1

Ce que vous voulez est définitivement faisable avec MPI et il y a un chapter in the MPI standard dédié aux programmes qui suivent le modèle clien/server. Malheureusement, c'est un coin relativement obscur et mal documenté de l'univers MPI et le mécanisme lui-même est assez rudimentaire et avec beaucoup de défauts, le plus évident étant le fait qu'aucune opération d'acceptation non bloquante n'est présente dans la norme et de nombreuses implémentations MPI ne sont pas totalement sécurisées pour les threads. L'une des meilleures sources d'information dans ce cas est la norme MPI elle-même. Il y a aussi des questions comme this one et this one qui vous donneront une idée de la façon dont les choses pourraient être faites.

Questions connexes