1/ Théorie
:
Le système de
crédit utilisé par eMule permet de
pondérer la vitesse de montée d'un client dans
votre file d'attente en fonction des volumes
échangés avec ce client. Plus il vous envoie des
données, plus son crédit augmente et plus il
monte vite dans votre file d'attente.
Ces graphes représentent le
crédit d'un client en fonction du volume qu'il vous a
envoyé (Upoloaded Total) et du volume que vous lui avez
envoyé (Downloaded Total) en MB :
Le temps estimé que
devra
attendre un nouveau client à l'entrée de la file
est :
où Tj est le temps d'attente du client j arrivant dans une
file d'attente de longueur N
Ci est le crédit du client i
Tm est le temps moyen fictif pour traiter un envoi avec UN
slot qui
serait ouvert (fonction de votre vitesse d'émission et
moyenne d'envoi par session d'émission)
Une longue
file d'attente
augmente le
poids du
système
de crédit dans la gestion des clients : si vous avez 10
clients en attente, vous allez accorder un slot facilement à
un
nouveau client, si vous en avez 3000 vous allez les
sélectionner
en
accord avec votre système de crédit.
Ce qu'il faut comprendre c'est que
puisque les crédits sont accordés à un
client
donné et ne sont pas globaux, il faut avoir des
crédits chez le client chez qui vous chargez pour avancer
plus vite dans sa file d'attente.
2/ En Pratique :
Pour charger plus vite la seule solution
est de
maximiser le nombre de sources et de maximiser les crédits
chez
ces sources.
La différence est d'autant plus importante que les fichiers
chargés sont volumineux et ont peu de sources.
3/ Résultats
:
Ce graphe représente la distribution
des clients
avec en abcisse le volume d'échange en UL et en
ordonnée
le volume d'échange en DL.
Il montre une
utilisation des crédits, les clients ont des volumes
d'échange importants, l'utilisateur concentre ses
crédits
et donc partage peu sur des fichiers en chargement. il utilise ses
crédits et monte plus rapidement dans les files d'attente.
Par ailleurs vous pourrez remarquez que
la
distribution des clients correspond au système de
crédit
Lovelace (asymptote ratio 1.4:1). Je passe sur les
subtilités
des différences entre les systèmes de
crédit, en
pratique, l'intérêt en terme de vitesse est
marginal par
rapport au type (partiel ou complet) et au nombre de fichiers
partagés (mais en théorie le plus avantageux pour
sélectionner les "bons clients" est Lovelace,
présenté dans le deuxième graphe).
Plus
un clients partage ses fichiers, plus les crédits sont
"stockés", les clients sont accumulés mais avec
un faible
volume d'échange. Les clients s'amassent graphiquement
autour de
l'origine et les crédits sont inutilisés.
Idées
fausses :
Partagez beaucoup permet
d'accumuler des crédits et de charger plus vite
* Laisser tourner eMule permet
d'accumuler des crédits et de charger plus vite
* Il faut attendre quelques
temps après
l'installation d'eMule pour obtenir de bonnes performances
* Il existe des mods permettant de charger plus vite
=>Dès
la première session, avec un fichier clients.met vierge et
un
nouveau user hash vous obtenez de très bonnes performances
car
de
toutes façons vous n'aurez quasiment que des nouvelles
sources
à chaque session.
=> Aucun mod officiel ne permet
d'augmenter la vitesse de DL. La perfomance du système de
crédit dépend de votre système de
crédit
mais aussi de celui des clients chez qui vous chargez (
ex
:
Lovelace
<-> Lovelace > Lovelace <->
Officiel). Or
l'écrasante
majorité des clients utilisent le système de
crédit officiel. Les sytèmes de crédit
n'apportent
qu'une
modification
marginale.
5/ Pour aller plus
loin :
Enfin retour aux
sources :
"The credit system is
used to reward users contributing to the network, i.e. uploading to
other clients."
eMule-project.net
Si ce n'est pas faux dans
l'absolu, en pratique, vous
aurez compris que "contribuer au réseau"
ie partager des fichiers complets pour les laisser
à disposition du réseau, aboutit à
accumuler des crédits sans pouvoir les utiliser. Alors que
ne rien partager permet d'"optimiser" l'utilisation de vos
crédits :
Ce qui fait dire à certains
développeurs qu'on devrait supprimer le
système de crédit, ou bien proposer un
système de
crédit plat, avec une limite d'UL par client, style
Fine
CS dont le but est clair :
"
With this
type of credits attribution I'm only penalizing those clients that do
not upload enough only for non complete files. "
eMule-web.de
Mais quelqu'un
qui
charge un fichier
sans
donner en retour est peut être justement quelqu'un qui
contribue
au réseau en partageant ses fichiers complets et a donc peu
de
bande passante à accorder à ses fichiers partiels
qui
permettraient un retour...

Ensuite Fine CS pénalise les
clients à
partir d'un écart de 4 chunks sur les fichiers incomplets.
Soit,
donc admettons que Fine CS soit le crédit officiel, pour
charger
un nouveau fichier vous serez limités à 4 chunks
par
sources partielles à moins d'UL vers ces sources et donc...
vous
devez UL ce fichier en priorité pour faire sauter cette
limite !
Sinon pour changer le
comportement
"This
prevents using tactics like powersharing unfinished files to get more
credits. No tit-for-tat possible"il
faut que le CS soit utilisé par une majorité de
clients, et non de façon isolée (avec le
bémol sur
la limite à 4 chunks... ). Le moyen le plus simple et le
plus
sûr resterait de supprimer
le système de crédit...
Au
final le système de crédit est peu utile
voir
inutile en situation d'utilisation normale, et n'a un
intérêt que dans l'optique du partage
sélectif, qui
nuit à la diversité du partage sur eMule. A mon
avis, il
perdure uniquement sur le contre-sens largement entretenu qu'il
favorise les "bons
contributeurs au réseau".
En attendant rien n'a changé
depuis la création
du crédit peu après eMule en septembre 2002,
alors à bon entendeur...