Bonjour,
Oui tu peux faire pleins de choses en prenant le temps de découper tes
fichiers, scripter tout cela, etc...
Mais si tu dois copier des fichiers de centaines de Go toutes les
heures avec 140ms de latence (par ex Paris - San Francisco (ou
Hollywood)) avec 0.1% de loss en pointe sur ton lien giga (comme tout
lien longue distance), tu vas bien rigoler avec une seule connexion TCP
et ta window size a 16M (disclosure: on a essayé).
Donc ça c'est l'option 1... "je suis le meilleur et TCP on peut le
tweaker à mort pour que ca fasse ce que je veux", ça va être long et
pénible, mais "je suis le meilleur". Le parallélisme applicatif /
multiplexing ça n'existe juste pas... ce serait en effet une bonne
solution pour tout faire en TCP, mais très très peu de softs sont prévus
en ce sens et ils sont très orientés "logs" et pas du tout "tous types
de fichiers" (on parlait de vidéo(s) au début). Du coup tu dois tout
coder/scripter...
Et sinon tu as l'option 2, pragmatique et bien moins génératrice de
problèmes (par ex vs découpage + multiplexing TCP), tu lis ce que des
gens à priori assez smart et reconnus dans le monde du HPC ont écrit
pour résoudre le problème (http://udt.sourceforge.net/people.html), tu
vois que c'est exactement ce que fait la solution commerciale leader du
marché et tu essayes... Comme tu es humble, une fois que tu as pu
vérifier que ça fonctionne, que c'est compatible multi-plateformes /
multi-partenaires et que ça te simplifie la vie, tu te dis "ah bah oui,
on va faire ça"... et tu passes au problème suivant ;)
Bonnes fêtes à tous,
Philippe Bourcier
On 2013-12-24 21:28, Radu-Adrian Feurdean wrote:
On Tue, Dec 24, 2013, at 19:54, Philippe Bourcier wrote:
En gros si t'as des liens à forte latence (100+ ms) entre 2 DCs,
c'est
bien utile car ça transforme ton transfert TCP des technos de
transfert
les plus courantes en transfert UDP, ce qui de fait te permet de
maxer
ton lien (iperf style)... ou de définir un débit max que tu veux
utiliser sur ton lien (et ça c'est très pratique).
Pour un lien satelitte (500+ ms) pourquoi pas, surtout en cas de
conditions meteo defavorables (precipitations, nuages et vent - pas
le
meilleur traitement pour une parabole). Mais pour des liens
terrestres,
il faut aller quand-meme assez loin pour que ca a un vrai sens. On
peut
jouer avec le parametrage de la pile TCP (tcp memory, congestion
window,
sack, tcp_hybla, tcp_westwood, .....) et on peut jouer aussi avec le
paralellisme applicatif. Il y a dans la majorite des cas des choses a
faire avant d'arriver au trasnfert via UDP. Un lien giga a 100ms, ca
se
rempli sans trop de difficultes en TCP.
Bonnes fetes !
---------------------------
Liste de diffusion du FRnOG
http://www.frnog.org/
--
Philippe Bourcier
web : http://sysctl.org/
blog : http://zsysctl.blogspot.com
---------------------------
Liste de diffusion du FRnOG
http://www.frnog.org/