Intérêt du cache 8Mo [Ca ne sert à rien (?), benchmark inside] - Disque dur - Hardware
Marsh Posté le 20-06-2003 à 09:18:36
les 8Mo ne sont pas à 133Mo/s ; ils servent de tampon pour les données entre le disque et la ram ; ils tournent bien plus rapidement que ça heureusement
Marsh Posté le 20-06-2003 à 09:23:25
muzah a écrit : les 8Mo ne sont pas à 133Mo/s ; ils servent de tampon pour les données entre le disque et la ram ; ils tournent bien plus rapidement que ça heureusement |
Pas compris: je croyais que 133Mo/s c'était le débit maximum théorique par nappe entre le disque et la RAM (en cas de DMA). Dans ce cas, le débit ne peut absolument pas dépasser 133Mo/s, aussi vite qu'aille le cache par ailleurs. Qu'est-ce que j'ai raté ?
Marsh Posté le 20-06-2003 à 09:28:07
sa doit plutot améliorer les temps d'accés !!
Marsh Posté le 20-06-2003 à 09:30:08
c'est justement pour palier à cette vitesse "faible" du PCI que le cache important est le bienvenu !
Le disque dur va moins vite que le 133Mo/s du PCI ; les données sont stockées temporairement dans le cache et renvoyé via le PCI vers la RAM. Le cache comble les temps de latence dûs à la lenteur du disque.
Marsh Posté le 20-06-2003 à 09:30:43
biggugus a écrit : sa doit plutot améliorer les temps d'accés !! |
non non, les temps d'accès sont UNIQUEMENT dépendant de la mécanique du disque dur.
Marsh Posté le 20-06-2003 à 09:35:07
muzah a écrit : non non, les temps d'accès sont UNIQUEMENT dépendant de la mécanique du disque dur. |
sauf si les donnée que tu commence à lire sont dans le cache et que pendant que tu commence à les lire le disque remplit le cache avec la suite de la piste en espérant (et c'est le cas la plupart du temp) que les prochaine donné auquel tu va accéder sont bien celle ci.
edit: c'est le principe même du cache combiné à la prévision d'accés.
Marsh Posté le 20-06-2003 à 09:37:56
mainteant savoir si 8Mo apporte un gain significatif par raport à 2 Mo franchement j'ensais rien du tout.
Marsh Posté le 20-06-2003 à 09:38:00
à condition que cette fameuse "prévision" se fasse correctement
Marsh Posté le 20-06-2003 à 09:41:59
Bon c'est peut-être moi mais j'ai l'impression que ça n'est pas ça du tout qui se passe.
Que se passe-t-il quand je cherche à lire un (paquet de) secteur(s) ?
1) l'OS regarde s'il est dans son cache (RAM). Si oui, fin de l'histoire.
2) le contrôleur déclenche un transfert DMA depuis le disque vers la RAM
3) le disque reçoit la commande. Si c'est dans son cache, il renvoit les données directement
en RAM, sans passer par le PCI mais en passant par le south-bridge (qui contient le contrôleur
IDE) puis le northbridge (qui gère les communications entre le CPU et la RAM) jusqu'à la RAM.
Le lien southbridge-northbridge n'est pas le facteur limitant (hyper transport, etc.); le
facteur limitant, c'est la nappe, puisque la norme UDMA 133 est limitée à 133Mo/s par nappe.
4) si les données ne sont pas dans le cache, là il y a rotational latency + seek time, ce qui
prend infiniment plus de temps, soit de l'ordre de 10ms.
Je prétends donc que:
a) le débit est dans tous les cas limité à 133Mo/s
b) le gain à éviter les rotational latency + seek time est le même que si on faisait passer le cache disque de l'OS de 2Mo à 6Mo (chez moi Linux m'en met environ 300Mo ...)
c) la latence est moins bonne que celle de la RAM, car outre la traversée par le south-bridge je doute que les puces du disque dur soient de meilleure latence que de la DDR-SDRAM à 133MHz en Cas 2.
Est-ce faux ?
Marsh Posté le 20-06-2003 à 11:06:57
Il est beau mon sondage, il est beau !
D'ailleurs elle est belle aussi ma question, elle est belle !
Marsh Posté le 20-06-2003 à 14:11:25
ton sondage il pue.
Marsh Posté le 20-06-2003 à 14:36:17
ah tiens, le sujet m'intéresse car j'hésite aussi fortement entre les deux ; sauf que j'ai une config toute pourrie a coté...
Marsh Posté le 20-06-2003 à 19:17:37
Moi ce que je retiens de
http://www.hardware.fr/articles/414/page4.html
c'est que soit je suis débile, sois Win32 c'est vraiment de la m... (note: on est encore vendredi).
Je ne comprends toujours pas pourquoi [les 6Mo - 133Mo/s - > 50ns] du cache disque sont plus utiles
que les [300Mo - 4Go/s - 50ns] de ma RAM.
Marsh Posté le 20-06-2003 à 19:35:10
est ce que vous pensez que la différence se sent d'autant plus que la config est pourrie, ou au contraire, le disque sera de toute façon bridé par ma config (K6-2 500, udma 66) ?
Marsh Posté le 20-06-2003 à 20:41:43
glacote a écrit : Moi ce que je retiens de |
parce que ton cache ne fonctionne pas à 133Mo/s
Marsh Posté le 20-06-2003 à 21:10:13
oui c'est pas comparable, si tu le prends comme ca, ta ram elle est limitée a 133 mo/sec parceque, pour les 3/4 elle est remplie par le hdd et que le hdd c'est du 133 et...
ran pis arrete de te poser la question, pour 12? prends le 8 mo, au pire ca ameliore pas au mieux tu gagne en perfs
Marsh Posté le 20-06-2003 à 21:59:19
muzah a écrit : parce que ton cache ne fonctionne pas à 133Mo/s |
+1 !! entre le cache et la ram, il va bien plus vite que ça
Marsh Posté le 20-06-2003 à 22:15:18
interessant (bonsoir),
je saispas si j'ai bien tout compris quoi qu'il arrive c'est limité en debit à 133MO... point, c'est l'IDE qui est comme ça
maintenant je suppose qu'en fait les 8mo gagnent sur le previsionnel(comme dit plus haut) ... ou compensent sur les temps d'ecriture en admettant que le disque soit lent (et que le fichier à inscrire soit de moins de 8mo...)
je suis dans le juste ou bien?
Marsh Posté le 20-06-2003 à 22:26:43
deg-tcd a écrit : interessant (bonsoir), |
nan mais là, on est déjà en ATA/133 pas en IDE
sauf si tu veux parler de la nappe IDE et ça m'étonnerait que ça soit elle qui limite à 133
perso, je pense que les transferts entre la RAM et le cache du HDD sont plus rapides que ça. mais j'en mettrai pas ma main au feu
Marsh Posté le 21-06-2003 à 00:12:45
Bon bah je suis désolé d'insister mais je maintiens que quel que soit le cache, le débit HDD => RAM est limité à 133Mo/s.
J'offre toute ma considération à qui me postera des bench sérieux avec un débit > 133Mo/s, même si c'est du RAID (mais sur la même nappe alors, hein ...), quel que soit l'OS.
Quant au prix, je suis d'accord que pour 12? autant prendre le 8Mo, mais pour les 3 ans de garantie, pas pour le cache dont je persiste à penser qu'il ne sert à rien.
Pour être plus clair, je prétends qu'un cache géré en DDR-SDRAM par l'OS sera toujours plus efficace que n'importe quel cache intégré au DD, à cause au moins du débit.
Quelqu'un sait comment désactiver le cache du disque dur, pour voir ?
Marsh Posté le 21-06-2003 à 00:19:38
dans pcmark2002, je suis passé de 930 a 1290 en hdd en changant mon ibm 120gxp 40go par un 120Go 8mo de cache...
bon, je l'ai branché sur le sata, c'est p'tet ca aussi...
en tt cas la difference est sensible...
Marsh Posté le 21-06-2003 à 00:24:44
mogg a écrit : dans pcmark2002, je suis passé de 930 a 1290 en hdd en changant mon ibm 120gxp 40go par un 120Go 8mo de cache... |
OK, je veux bien croire qu'un bench qui teste le disque dira qu'avec le cache c'est mieux : encore heureux ! puisque c'est un test bas niveau.
Maintenant, si au lieu de faire des accès bas niveau les plus rapides possibles, je laisse l'OS optimiser ses accès en utilisant ma RAM, je ne comprends pas comment ça pourrait ne pas être infiniment mieux que le cache intégré.
Or en utilisation courante, c'est en passant par l'OS (et donc son cache disque) qu'on utilise le disque, pas en bas niveau.
Marsh Posté le 21-06-2003 à 01:41:27
bah, moi je te fais part de mon experience : les applis s'ouvrent plus rapidement et les transferts semblent plus rapides aussi...
après le bench c'est histoire de pouvoir mettre un chiffre sur ce constat...
Marsh Posté le 21-06-2003 à 02:11:20
mogg a écrit : dans pcmark2002, je suis passé de 930 a 1290 en hdd en changant mon ibm 120gxp 40go par un 120Go 8mo de cache... |
accésoirement tu ne serais pas par hasard passé aussi d'un 120gxp à un 180gxp ?
Marsh Posté le 21-06-2003 à 02:37:29
Bahh je dois dire que honètement quand j'ai acheté mon Maxtor 40Gb, j'ai hésité entre un 80Gb avec 8Mb de cache et un 80Gb 2Mb... J'ai effectivement vue 2 machines presques identiques avec un 8Mb et un 2Mb et la différence, si elle ne saute pas aux yeux, est tout de mème appréciable. Je veux dire, tout dépends de l'utilisation du PC mais pour naviguer sur des pages Internet et cie, sa vas facilement 2 fois + vite. Pour jouer, c'est minime mais subtil (Normal, trouvez un jeux de moins de 8Mb)
Mais bon, tant qu'a faire, prenez un Western digital Raptor a 10 000Rpm Qui as besoin de + de 36GB a part pour stocker un tapon de film en Divx et des tonnes de MP3?? Ou alors, un Raptor pour Windows et les jeux et une sous merde 5400rpm pour les films et MP3...
Mais si vous voulez vraiment un 7200RPM 80Gb ou +, la différence de prix est telement rendue faible qu'il vaut mieux prendre le 8Mb...
Marsh Posté le 21-06-2003 à 02:58:06
C'est aussi une sorte d'extension de garantie que de prendre une version a 8Mo de cache (3 ans de garantie au lieu de 1 an pour les versions 2Mo)
Au niveau perf ben je sais pas trop moi en fait
Marsh Posté le 21-06-2003 à 03:56:44
partymaker a écrit : Bahh je dois dire que honètement quand j'ai acheté mon Maxtor 40Gb, j'ai hésité entre un 80Gb avec 8Mb de cache et un 80Gb 2Mb... J'ai effectivement vue 2 machines presques identiques avec un 8Mb et un 2Mb et la différence, si elle ne saute pas aux yeux, est tout de mème appréciable. Je veux dire, tout dépends de l'utilisation du PC mais pour naviguer sur des pages Internet et cie, sa vas facilement 2 fois + vite. Pour jouer, c'est minime mais subtil (Normal, trouvez un jeux de moins de 8Mb) |
2 fois plus vite, la version à 8 meg va a 266 mb /s?
c'est vraiment du n'importe quoi
un autre clodo de la pire espèce qui raconte n'importe quoi
Marsh Posté le 21-06-2003 à 04:03:49
jpense pas k'il etait serieux quand il disait que ct 2 fois plus rapide
mais c'est vrai qu'il faut du culot pour balancer des truc du genre
c'est comme sa que des fausses idées circulent
Marsh Posté le 21-06-2003 à 06:45:28
os2 a écrit : |
lolll juste si le fichier fais pas + de 8Mb et qu'il est en cache Le disque dur fais pas d'accès et sa vas 2 fois + vite 110Mb\s contre env. 40 ou 50 pour la mécanique !!! Mais c évident que c juste une minoritée de cas!!! (Fichiers en cache de moins de 8Mb)
Marsh Posté le 21-06-2003 à 09:49:01
Bon, je regrette que ce topic parte un peu en live, mais je voudrais mettre les points sur les "i":
1) comment le disque dur peut-il transférer des données à la RAM ou au CPU plus vite que 133Mo/s en passant par un contrôler IDE Ata-133 ?
2) comment est-ce que le 8Mo du disques peuvent-ils être plus performants (latence) que la RAM à 50ns de latence ?
3) Pour mettre tout le monde d'accord, quelqu'un sait-il commen désactiver le cache intégré au disque dur ?
Marsh Posté le 21-06-2003 à 10:41:52
1) tu as raison c'est strictement impossible les nappes IDE et les controleurs ne peuvent pas transferer + de donnée, en fait si tu vut tout savoir le debit du cache est au max ~110 Mo/s (cf test de Hfr)
2 ) c'est simple pour pouvoir charger les données depuis la RAM, il faut qu'elle y soit, et pour ça il faut les rapatrier depuis le dur, donc de préférence depuis le cache ...
3 ) essaye même pas :-) regarde les test de Hfr, dans les benchs style test de débit, le cache est inutilisé et dans ce cas par exemple le WD 2Mo = WD 8Mo mais dès que l'on utilise un bench applicatif la différence est flagrante (+ 20%)
dans tout les cas lis ce test : http://www.hardware.fr/articles/448/page1.html , tout est expliquer ...
Marsh Posté le 21-06-2003 à 18:33:33
En fait les 2 ou 8Mb de cache ne sont pa plus performants que la mémoire centrale...
...mais que le disque lui mème!! Si des petit fichiers sont en cache, sa évite de gratter sur le disque et donc, sa améliore les performances...
Marsh Posté le 21-06-2003 à 18:38:19
C'est intéressant comme question
C'est vrai que 6 mo (8 - 2 ), comparé à ce que l'on peut avoir comme RAM et qui peut servir de cache, c'est quasiment rien
Marsh Posté le 21-06-2003 à 22:44:21
Les 8Mo de cache ne sont utiles ke pour un disque systeme, ce qui est ton cas.
La différence est faible (5% max).
Cependant, les 8Mo sont + prisés car a peine plus cher et 3ans de garantie au lieu de 1an.
Maintenant tu demandes des explications techniques, c cool, ca peut servir
Marsh Posté le 21-06-2003 à 23:43:35
Pour éviter un test de bas niveau : SiSoft Sandra. Je m'explique : le module benchmark est comme son nom l'indique un benchmark de système de fichiers (autrement dit il utilise les fonctions de l'os), et on peut désactiver l'option qui désactive le cache de Windows, en plus simple on peut laisser le cache de Windows actif. Reste plus qu'à trouver des volontaires qui ont le même modèle de disque en version 2 et 8 Mo pour voir la différence... Je pense quand même qu'il y a une différence, sinon pourquoi les constructeurs s'enquiquineraient à mettre autant de cache ? Maintenant, combien on gagne ?...
Toutefois sur certains disques récents (les ibm je crois) il y a une fonction qui trie les commandes dans l'ordre qui permet les meilleures perfs, et ça l'os ne le permet pas. Et je pense que pour utiliser cette fonction une grande mémoire cache est bienvenue...
Marsh Posté le 22-06-2003 à 19:29:50
Merci à tous pour vos réponses. Je suis désolé de paraître un peu lourd,
1) certes, si on teste le disque il ira plus vite avec 8Mo (Sandra ...)
2) mais je ne comprends pas comment il est possible que de mettre 8Mo de cache serve à quoi que ce soit quand on a 300Mo de RAM utilisés par l'OS comme cache disque. C'est pourtant visiblement le cas.
Quelqu'un a un avis ? Ce seraient les routines de l'OS chargées de gérées le cache disque qui occasionneraient 5% de performances en moins, par rapport à la puce intégrée au disque ? Sur un Athlon 2000+ et malgré la différence phénoménale de vitesse de la RAM par rapport au cache disque ??
Merci de vos lumières ...
PS: pour ce qui me concerne il est vraisemblable que mon prochain disque soit un 8Mo, mais juste pour l'extension de garantie.
Marsh Posté le 20-06-2003 à 09:15:59
Je voudrais en avoir le coeur net : quel est l'intérêt d'un disque doté de 8Mo de cache par rapport à seulement 2Mo au niveau performances (indépendamment de la garantie de 3ans, etc.) ?
Situation type : CM nForce2 avec 2x256Mo de RAM PC2700 en Cas 2, Athlon 2000+, 1 disque dur seul en master sur la première nappe IDE, le tout pour une utilisation en tant que serveur de fichier (par exemple un serveur nfs/samba sous Linux 2.4).
Exemple de choix de disque :
a) Seagate Barracuda 120Go 7200t/min, 2 Mo de cache, 103?
http://www.rue-montgallet.com/prix/details/6177/
b) Seagate Barracuda 120Go 7200t/min, 8 Mo de cache, 115?
http://www.rue-montgallet.com/prix/details/6697/
EDIT: comment se passent les accès disque.
1) Les applications accèdent à des fichiers; l'OS traduit ces requêtes en accès à des clusters physiques du disque.
2) L'OS gère par ailleurs un cache disque (en RAM); si le secteur demandé est dans le cache, fin de l'histoire. Le débit/ la latence sont ceux de la RAM: 4Go/s et 50ns dans le cas présent.
3) Sinon, l'OS va devoir le charger depuis le disque : plutôt que de le charger tout seul, il "prévoit" les prochains clusters qui seront demandés, et adresse au disque dur une requête pour un gros bloc de clusters contigus.
4) Cette requête est gérée par le contrôleur IDE (intégré au south-bridge), qui donne l'ordre au disque dur de transmettre lesdits clusters en RAM par un accès DMA (via le north-bridge donc, et sans passer par le CPU; le lien south-bridge => north-bridge n'est pas le facteur limitant: Hyper-transport, etc).
5) Le disque reçoit cette requête d'un grand nombre de clusters contigus à charger en RAM. S'ils sont présents dans le cache, il les envoie directement (le débit est alors limité par la nappe IDE, soit 133Mo/s en ATA-133 avec un seul disque en master sur la nappe). Sinon, il les lit physiquement depuis les plateaux et les envoie en RAM (le débit est alors limité par la technologie du disque, soit de l'ordre de 50 Mo/s; la latence est de l'ordre de 10ms).
Je prétends que la plupart des accès au disque sont donc des requêtes d'un grand nombre de secteurs contigus, qui n'ont pas été demandés récemment (car sinon ils seraient encore présents dans le cache de l'OS qui est beaucoup plus grand que celui du disque). En d'autres termes, le disque va pour presque tous les accès aller chercher les données sur les plateaux, et le cache ne lui servira donc à rien. Mieux vaut laisser la RAM faire le cache disque que le disque lui-même.
Conclusion : 8Mo ne servent à rien, sauf à avoir 3 ans de garantie au lieu d'un.
Le benchmark
http://parapet.ee.princeton.edu/~s [...] 84-zhu.pdf
argumente d'ailleurs en ce sens (merci à [tt]lozeerz[/tt]).
Les contre-arguments donnés jusqu'ici :
- coût en RAM : bof, 50? pour 512Mo de DDR contre 15? pour 6Mo de cache en plus (et la garantie)
- coût CPU : bof, car les données ne transitent pas par le CPU qui se contente d'émette une requête au contrôleur IDE pour faire un DMA.
- coût en bande passante mémoire : elle aurait de toute façon été utilisée si le disque avait été capable d'émettre ses données à 4Go/s ...
- l'agencement des secteurs sur le disque : ils ne sont pas consécutifs géographiquement, mais ordonnés de telle sorte que quand le traitement du secteur n est fini, la tête est au-dessus du secteur n+1. Mais la réallocation des secteurs défectueux casse cette propriété.
Pour conclure, la question est : dans quel cas des données pourraient-elles se trouver dans le cache intégré au disque sans être aussi présentes dans le cache de l'OS ? Prends l'algo de gestion du cache intégré au disque, implémente-le au niveau de l'OS en utilisant la RAM et ne garde que 512ko de cache intégré. Tu auras au moins les mêmes performances.
Message édité par glacote le 01-07-2003 à 17:45:03