Il s'agit de la commande NPtcp qui peut être exécutée dans le fournisseur d'hébergement gratuit OnWorks en utilisant l'un de nos multiples postes de travail en ligne gratuits tels que Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS
PROGRAMME:
Nom
NetPIPE- Nettravail Pprotocole Indépendant Pperformance Eexpert
SYNOPSIS
NPtcp [-h nom_hôte_récepteur] [-b TCP_buffer_sizes] [options]
mpirun [-fichiermachine liste d'hôtes] -np2 NPmpi [-a] [-S] [-z] [options]
mpirun [-fichiermachine liste d'hôtes] -np2 NPmpi2 [-f] [-g] [options]
NPpvm [choix]
Voir les sections TEST ci-dessous pour une description plus complète de la façon d'exécuter NetPIPE dans
chaque environnement. La section OPTIONS décrit les options générales disponibles pour tous
modules. Voir le fichier README de la tar-ball à
http://www.scl.ameslab.gov/Projects/NetPIPE/ pour la documentation sur l'InfiniBand, GM,
Modules SHMEM, LAPI et memcpy.
DESCRIPTION
NetPIPE utilise une simple série de tests de ping-pong sur une gamme de tailles de messages pour fournir un
mesure complète de la performance d'un réseau. Il rebondit des messages de taille croissante
entre deux processus, que ce soit à travers un réseau ou au sein d'un système SMP. Tailles des messages
sont choisis à intervalles réguliers, et avec de légères perturbations, pour fournir un
évaluation du système de communication. Chaque point de données implique de nombreux tests de ping-pong pour
fournir un timing précis. Les latences sont calculées en divisant le temps aller-retour en
la moitié pour les petits messages (moins de 64 octets).
Le temps de communication pour les petits messages est dominé par la surcharge dans le
couches de communication, ce qui signifie que la transmission est liée à la latence. Pour les plus grands
messages, le débit de communication devient la bande passante limitée par un certain composant dans le
sous-système de communication (bus PCI, liaison carte réseau, switch réseau).
Ces mesures peuvent être effectuées au niveau de la couche de transmission de messages (MPI, MPI-2 et PVM) ou à
les couches de communication natives qui s'exécutent (TCP/IP, GM pour les cartes Myrinet,
InfiniBand, SHMEM pour les systèmes Cray T3E et LAPI pour les systèmes IBM SP). Des travaux récents sont
visant à mesurer certaines propriétés internes du système telles que le module memcpy qui
mesure les taux de copie de la mémoire interne, ou un module de disque en cours de développement qui mesure
les performances à divers périphériques d'E/S.
Certaines utilisations de NetPIPE incluent :
Comparaison de la latence et du débit maximal de différentes cartes réseau.
Comparer les performances entre différents types de réseaux.
Rechercher des inefficacités dans la couche de transmission de messages en la comparant à la
couche de communication native.
Optimiser la couche de transmission de messages et régler les paramètres du système d'exploitation et du pilote pour une
performances du sous-système de communication.
NetPIPE est fourni avec de nombreux modules lui permettant de s'interfacer avec une grande variété de
couches de communication. Il est assez facile d'écrire de nouvelles interfaces pour d'autres
protocoles en utilisant les modules existants comme exemples.
TESTS TCP
NPtcp peut maintenant être lancé de deux manières, en démarrant manuellement NPtcp sur les deux systèmes ou en
en utilisant un script nplaunch. Pour démarrer manuellement NPtcp, le récepteur NetPIPE doit être démarré
d'abord sur le système distant à l'aide de la commande :
NPtcp [options]
puis l'émetteur primaire est démarré sur le système local avec la commande
NPtcp -h nom_hôte_récepteur [choix]
Toutes les options utilisées doivent être les mêmes des deux côtés.
Le script nplaunch utilise ssh pour lancer le récepteur distant avant de démarrer le local
émetteur. Pour utiliser rsh, modifiez simplement le script nplaunch.
nplanch NPtcp -h nom_hôte_récepteur [choix]
Votre -b TCP_buffer_sizes L'option définit la taille du tampon du socket TCP, ce qui peut grandement
influencer le débit maximal sur certains systèmes. Un graphique de débit qui s'aplatit
peut soudainement être un signe que les performances sont limitées par la taille des tampons de socket.
TESTS Propriétés Mitelman et MPI-2
L'utilisation de l'interface MPI pour NetPIPE dépend de l'implémentation MPI utilisée. Tous
exigera que le nombre de processus soit spécifié, généralement avec un -np 2 argument.
Les environnements de clusters peuvent nécessiter une liste des hôtes utilisés lors de l'exécution de chaque tâche.
Mettez la liste des hôtes dans hostlist puis, pour OpenMPI, exécutez NetPIPE en utilisant :
mpirun --fichier hôte liste d'hôtes -np 2 NPmpi [options NetPIPE]
Pour MPICH2, utilisez plutôt :
mpirun -fichiermachine liste d'hôtes -np 2 NPmpi [options NetPIPE]
Pour tester les communications unilatérales de la norme MPI-1, compilez en utilisant :
a prendre une mpi2
Exécuter comme décrit ci-dessus et MPI utilisera des appels MPI_Put() unilatéral dans les deux sens,
avec chaque récepteur bloquant jusqu'à ce que le dernier octet ait été écrasé avant de faire rebondir le
message en retour. Utilisez le -f option pour forcer l'utilisation d'une clôture à bloquer plutôt qu'un
écraser le dernier octet. Les -g L'option utilisera les fonctions MP_Get() pour transférer le
data plutôt que MP_Put().
TESTS PVM
Démarrez le système pvm en utilisant :
pvm
et ajout d'une deuxième machine avec la commande PVM
ajouter nom_hôte_récepteur
Quittez l'interface de ligne de commande PVM en utilisant quit, puis exécutez le récepteur PVM NetPIPE sur un
système avec la commande :
NPpvm[options]
et exécutez l'émetteur TCP NetPIPE sur l'autre système avec la commande :
NPpvm -h récepteur nom d'hôte [choix]
Toutes les options utilisées doivent être les mêmes des deux côtés. Le script nplaunch peut également être utilisé
avec NPpvm comme décrit ci-dessus pour NPtcp.
TESTS MÉTHODOLOGIE
NetPIPE teste les performances du réseau en envoyant un certain nombre de messages à chaque taille de bloc,
à partir de la borne inférieure sur les tailles des messages.
La taille du message est incrémentée jusqu'à ce que la limite supérieure de la taille du message soit atteinte ou
le temps de transmission d'un bloc dépasse une seconde, ce qui se produit en premier. Tailles des messages
sont choisis à intervalles réguliers, et pour de légères perturbations d'entre eux pour fournir une plus
évaluation complète du sous-système de communication.
Votre NetPIPE le fichier de sortie peut être représenté graphiquement à l'aide d'un programme tel que gnuplot (1). La sortie
le fichier contient trois colonnes : le nombre d'octets dans le bloc, le taux de transfert en bits
par seconde, et le temps de transfert du bloc (la moitié du temps aller-retour). Les deux premiers
les colonnes sont normalement utilisées pour représenter graphiquement le débit en fonction de la taille du bloc, tandis que la troisième colonne
fournit la latence. Par exemple, le débit versus bloc Taille le graphique peut être créé
en représentant graphiquement les octets en fonction des bits par seconde. Échantillon gnuplot(1) commandes pour un tel graphe
serait
définir l'échelle logarithmique x
tracer "np.out"
OPTIONS
-a mode asynchrone : réception prépost (modules MPI, IB)
-b TCP_buffer_sizes
Définissez les tailles de tampon TCP d'envoi et de réception (module TCP uniquement).
-B Mode rafale où toutes les réceptions sont pré-postées à la fois (modules MPI, IB).
-f Utilisez une clôture pour bloquer pour l'achèvement (module MPI2 uniquement).
-g Utilisez MPI_Get() au lieu de MPI_Put() (module MPI2 uniquement).
-h nom d'hôte
Spécifiez le nom de l'hôte récepteur auquel se connecter (TCP, PVM, IB, GM).
-I Invalider le cache pour mesurer les performances sans effets de cache (affecte principalement IB
et modules memcpy).
-i Effectuez un contrôle d'intégrité au lieu d'une évaluation des performances.
-l start_msg_size
Spécifiez la limite inférieure de la taille des messages à tester.
-n répétitions
Réglez le nombre de répétitions pour chaque test sur une constante. Sinon, le nombre de
répétitions est choisi pour fournir un timing précis pour chaque test. Soyez très prudent si
spécifier un nombre faible pour que le temps du test de ping-pong dépasse le temporisateur
précision.
-O décalage_source, décalage_dest
Spécifiez les décalages source et destination des tampons à partir de la page parfaite
alignement.
-o nom_fichier_sortie
Spécifiez le nom du fichier de sortie (la valeur par défaut est np.out).
-p taille_perturbation
NetPIPE choisit les tailles des messages à intervalles réguliers, les augmentant
exponentiellement de la limite inférieure à la limite supérieure. A chaque point, il
teste également les perturbations de 3 octets au-dessus et 3 octets en dessous de chaque point de test pour trouver
particularités du système. Cette valeur de perturbation peut être modifiée à l'aide de la -p
option, ou désactivé à l'aide -p 0 .
-r Cette option réinitialise les sockets TCP après chaque test (module TCP uniquement). Il est
nécessaire à certains tests de streaming pour obtenir de bonnes mesures depuis la fenêtre de socket
la taille peut autrement s'effondrer.
-s Définissez le mode de diffusion en continu où les données ne sont transmises que dans un seul sens.
-S Utilisez des envois synchrones (module MPI uniquement).
-u borne supérieure
Spécifiez la limite supérieure de la taille du message testé. Par défaut,
NetPIPE s'arrêtera lorsque le temps de transmission d'un bloc dépasse une seconde.
-z Recevoir des messages à l'aide de MPI_ANY_SOURCE (module MPI uniquement)
-2 Définir le mode bidirectionnel où les deux côtés envoient et reçoivent en même temps
(pris en charge par la plupart des modules). Vous devrez peut-être utiliser -a choisir asynchrone
communications pour MPI afin d'éviter les blocages. Pour TCP, la taille de test maximale sera
limité par les tailles de tampon TCP.
Utilisez NPtcp en ligne en utilisant les services onworks.net