Récemment, tout le monde s’est mis à utiliser différents outils dans le but d’optimiser de gros transferts de données de, vers et entre super-ordinateurs. Historiquement, nous avons vu des outils tels que FDT, BBCP qui essayaient de surpasser la performance obtenue par les autres méthodes de transfert classique, comme scp, rsync, ftp, etc. Un outil en particulier est en train de gagner en popularité et est déployé sur la plupart des super-ordinateurs : GridFTP et son interface, Globus.

The Globus frontend interface.

L’interface usager de Globus.

Avant de sauter dans le train à pieds joints, j’ai pensé qu’il serait bien d’avoir une idée de ce que ce service peut apporter de plus. Les buts principaux de Globus sont de rendre le transfert de données plus rapide sur un réseau à grande bande passante et de simplifier le partage de données entre les utilisateurs.

Vitesse

En faisant cette recherche, j’ai lu plusieurs commentaires mentionnant que l’utilisation de scp était mauvaise et que l’on pouvait observer une augmentation de 25x de la vitesse de transfert en utilisant plutôt GridFTP. J’ai été un peu surpris qu’une méthode de transfert aussi vieille et respectée que scp échoue aussi lamentablement.

Après avoir déployé et configuré Globus, ce qui implique toutes sortes de paramétrages techniques, j’étais prêt à effectuer une comparaison simple. En passant, aux dires de personnes moins portées sur l’informatique (typiquement nos collaborateurs biologistes), ce processus est encore trop complexe pour être utile. J’ai effectué deux séries de test, le premier entre notre institut et un super-ordinateur local à travers un lien 1Gbps et le deuxième, entre deux super-ordinateurs de Montréal connectés par un lien 10 Gbps sur le réseau du RISQ (si je ne me trompe pas). Voici les résultats que j’ai obtenus :

Source Destination Lien Taille du transfert scp GridFTP
Station de travail briaree 1 Gbps ethernet 14 GB 105 MB/s 89 MB/s
briaree guillimin 10 Gbps ethernet 14 GB 152 MB/s 149 MB/s
briaree guillimin 10 Gbps ethernet 129 GB NA 159 MB/s

Donc, comme scp atteint presque la limite théorique d’un lien 1Gbps (125MB/s), il n’y a pas beaucoup de place à l’amélioration en partant et, comme on peut voir, les transferts initiés par Globus sont même plus lents.

Peut-être que ces résultats sont reliés à notre configuration actuelle et que l’on verrait de bien meilleurs résultats sur des réseaux plus rapides (utilisant Inifiband par exemple), mais la vitesse n’est définitivement pas une raison de désinstaller scp dès maintenant, pas encore.

Partage de données

Globus a pour but de fournir une façon « simple » pour gérer les transferts et le partage de données entre collaborateurs. Dans ce contexte, il performe relativement bien, en présentant à l’usager une interface simple pour initier des transferts entre serveurs. Un peu comme ce que l’on retrouve avec un outil comme Filezilla à l’exception que les deux points de terminaison (endpoint) du transfert peuvent tous deux être des serveurs distants qui vont communiquer directement.

Globus permet aussi de facilement partager un répertoire (endpoint) avec un autre utilisateur en offrant des fonctionnalités de partage similaires à celles offertes sur les sites de services d’entreposage de données comme Dropbox, Google Drive, Owncloud, etc.
La différence principale ici est que Globus n’entrepose aucune donnée; il agit seulement comme un intermédiaire entre deux points. Et ce modèle soulève une grande préoccupation concernant la confidentialité des données. Pour faire tout ce travail, Globus requiert que vous fournissiez les identifiants (clés d’encryption) requis pour accéder aux deux points de partage (deux serveurs par exemple). Il opère sur ces serveurs comme s’il était vous. Vous devez alors faire confiance à cette entité extérieure, en espérant qu’elle fasse la bonne chose avec vos accès.
Évidemment, les gens chez Globus utilisent toute sorte de jargon rassurant pour promouvoir leur service, mais cela ne change pas le fait qu’une tierce partie peut maintenant lire n’importe quelles données de votre compte usager.

Donc, non merci. Il existe sûrement un cas où cela a beaucoup de sens d’utiliser Globus (pour des transferts WAN peut fiable peut-être), mais pour l’instant, je vais plutôt me contenter de continuer à utiliser le très respectable scp.