Anomalie de Belady

En informatique, l'anomalie de Bélády est une anomalie de comportement observée en informatique pour l'algorithme de remplacement des lignes de cache FIFO. Augmenter le nombre de voies de la mémoire cache peut accroître le taux de défauts de cache. Ce phénomène n'est pas spécifique aux mémoires caches N-associatives mais est général à toutes les applications où l'algorithme FIFO est utilisé. Par exemple, dans les mémoires cache de haut niveau (gestion de pages…), ce phénomène est également observable.

Histoire

Jusqu'en 1970, il était communément admis qu'une augmentation du nombre de voies améliorait la performance de l'algorithme de remplacement FIFO. László Bélády démontra que le résultat est opposé pour certaines situations atypiques et remit ainsi en question l'efficacité de cet algorithme. De nos jours, des algorithmes pseudo-LRU ou LRU lui sont préférés.

Principe

Prenons l'exemple d'une mémoire cache associative de degré 3 et d'une seconde de degré 4. Comparons leurs résultats pour la séquence : 3 2 1 0 3 2 4 3 2 1 0 4. On suppose que ces lignes sont mappées sur le même ensemble.

Voies accédées 3 2 1 0 3 2 4 3 2 1 0 4
Voie 1 333 00 044 4444
Voie 2  2 223 333311 1
Voie 3   1 11 222 2 200
Voies accédées 3 2 1 0 3 2 4 3 2 1 0 4
Voie 1 333 33 344 4 400
Voie 2  2 2222 233 334
Voie 3   1 111112 222
Voie 4    00 0000 111
(en rouge les défauts de cache)

Nous voyons ainsi que nous obtenons 9 défauts de cache pour 3 voies et 10 pour 4 voies. Le résultat est contraire à l'intuition première, d'où le nom d'anomalie de Belady. Bien évidemment ce genre de situations n'est pas la plus courante et l'algorithme FIFO présente un comportement normal pour la majorité des séquences. Néanmoins, cela a entravé le développement de l'algorithme FIFO dans l'industrie et a justifié aux yeux de nombreuses personnes son remplacement par des algorithmes plus efficaces (LRU, pseudo-LRU…) mais également par une politique aléatoire…

Lien externe

  • Portail de l’informatique
Cet article est issu de Wikipedia. Le texte est sous licence Creative Commons - Attribution - Partage dans les Mêmes. Des conditions supplémentaires peuvent s'appliquer aux fichiers multimédias.