Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1092 connectés 

 


Passer d'un cache 2Mo (b) à un cache 8Mo (a)




Attention si vous cliquez sur "voir les résultats" vous ne pourrez plus voter

 Mot :   Pseudo :  
 
 Page :   1  2  3  4  5  6  7  8  9  10  11  12
Auteur Sujet :

Intérêt du cache 8Mo [Ca ne sert à rien (?), benchmark inside]

n°2681347
glacote
Posté le 22-08-2003 à 11:19:13  profilanswer
 

Reprise du message précédent :
Au fait concernant mmap:
http://www.gnu.org/software/libc/NEWS
"Read-only stdio streams now use mmap to speed up operation by eliminating copying and buffer underflows"

mood
Publicité
Posté le 22-08-2003 à 11:19:13  profilanswer
 

n°2682191
glacote
Posté le 22-08-2003 à 17:07:49  profilanswer
 

Déçu, même le jour-à-troll personne ne veut plus jouer avec moi ...
Bon bah je vais aller poser ma question sur les forum de wanadoo.fr et msn.fr ...

n°2682583
usa_satria​ni
S.P.Q.R.
Posté le 22-08-2003 à 20:58:16  profilanswer
 

intéret : la garantie 3 ans :o

n°2683574
bjone
Insert booze to continue
Posté le 23-08-2003 à 13:00:24  profilanswer
 

glacote a écrit :

Merci encore pour ces réponses ...
1) Sources: pilote "ide-scsi" du noyau Linux, sorte de wrapper qui implémente les commandes SCSI et les traduits en IDE. Sous Linux tous les graveurs de CD sont en fait gérés comme des graveurs SCSI, quitte à émuler (ce n'est plus vrai avec la dernière version de cdrecord).
 
2) Pas compris le coup du "DMA implique que ça passe par le cache".
   Je suis bien d'accord qu'il faut un petit tampon de quelques secteurs (512ko) pour le transfert, mais ça n'a rien à voir avec le fait que les données demandées se trouvent ou non dans le cache. Si tu demandes des nouvelles données, les têtes vont les chercher, les posent dans le cache d'où elles sont ensuites émises sur la nappe => south bridge => north-bridge => RAM. Mais pour faire ça avoir plus que 512ko ne sert à rien, c'est juste un tampon de synchronisation/temporisation, non ?
 
3) Sur l'agencement secteurs physiques/LBA (visiblement j'aurais dû faire un topic à part), je ne suis définitivement pas d'accord (désolé). Soif n°LBA = f(n°physique). Même si f est hyper-compliquée, voire impossible à calculer pour le CPU (qui ne connait pas le délai calibrage thermique, la durée de traitement du DSP, les micro-variations de vitesse de rotation, etc.), ça ne change rien. Je prétends encore et toujours qu'après avoir lu le secteur LBA n, de numéro physique f-1(n), les têtes de lecteur sont juste au-dessus de f-1(n+1), qui peut se trouver très loin de f-1(n) si tu veux, peu importe. Mon argument "qui tue" pour ça c'est que quand tu fais un accès DMA, tu ne demandes que des secteurs consécutifs. Donc pour avoir le meilleur débit possible et éviter les latences indésirables, le disque dur a intérêt à faire en sorte que quand il vient de finir de lire le secteur n il soit pile poil prêt à lire le secteur n+1.
La conséquence c'est que l'agencement physique n'a aucune importance: même le contrôleur intégré, quand il vient de lire/d'écrire le secteur f-1(n), le mieux qu'il puisse faire n'est pas de lire/d'écrire un secteur à côté, puisque les têtes/bras ne sont pas prêts pour ça, le mieux qu'il puisse faire c'est de lire/d'écrire le secteur f-1(n+1), par définition.
 
4) "Le cache ne joue réellement que sur les petits transferts".
Tout-à-fait d'accord. Ce que je ne comprends pas, c'est pourquoi l'OS ferait tout un tas de petits transferts alors qu'il peut ne faire que quelques gros transferts. Il peut le faire au moins aussi bien que le fait le cache intégré au disque, c'est mon argument de base.
Soit tes accès sont par nature désordonnés/petits/fragmentés et même le cache intégré au disque ne parvient à rien. Soit tes accès sont désordonnés mais localisés à quelques Mo particuliers, et alors là le cache intégré de 8Mo est utile. Mais dans ce cas, l'OS peut tout aussi bien regrouper lui-même les lectures-écritures.
Je ne dis pas que l'OS pourrait supprimer tous les petits accès. Je dis que chaque fois que le contrôleur intégré peut le faire, l'OS pourrait le faire aussi bien.
 
5) Pas compris pourquoi on ne peut pas implémenter l'algo du contrôleur intégré au niveau de l'OS. Merci de cocher ce qui te paraît faux:
J'ai toutes les informations nécessaires (liste des secteurs LBA à lire), même plus (FAT/table des inoeuds, problème de la fragmentation). (?)
J'ai beaucoup plus de RAM, plus rapide. (?)
J'ai au moins autant de puissance de calcul disponible. (?)
 
6) Pas d'accord sur la puissance de calcul, please ! Une carte 3D, elle traite un volume énorme de données = opérations simples sur un gros volume. Le langage de programmation des  shaders n'est même pas Turing (pas de boucle while, nombre maximal d'instructions borné) !
Là ce qu'on cherche à faire, c'est décider avec une heuristique compliquée quelles plages de données on va précharger/vider de la RAM. Rien à voir avec les traiter/modifier/etc. Je suis bien d'accord qu'une puce spécialisée peut largement écraser un CPU, mais sur un algo qui traite peu de données et fait un raisonnement compliqué, j'en doute très fortement. Je renouvelle ma question: combien de cycles faut-il à un x86 pour choisir dans une liste de 1000 addresses de plages de données pour en choisir une et la virer/la recharger en RAM ? Un algo du genre Least-Recently-Used, c'est en 0(1) (virer la première plage, qui est la plus ancienne), et une insertion triée dans une liste chaînée c'est au pire du pire du 0(n). Donc ça coûte quoi, 10,000 cycles ? Soit 7 micro-secondes ? Et le contrôleur intégré à < 100MHz arriverait à faire la même chose en 700 cycles (avec 1000 plages ??) ? Halte au sketch !
Le contoleur intégré, il est surtout optimisé pour traiter les données, et là OK, il faut ça beaucoup plus efficacement que le CPU (il suffit de désactiver le DMA pour le voir).
 
Merci à ceux qui auront l'abnégation louable d'essayer encore de me tirer de ce faux pas ...


 
je suis assez d'accord avec toi dans l'ensemble.
mais le fait est là: dans certains benchs les 8 mo sont sensiblement plus rapides que les 2 mo...
n'ayant pas trouvé de lien sur l'implémentation des firmware de HD, je crois que l'on va devoir tourner en boucle....

n°2686735
glacote
Posté le 25-08-2003 à 10:07:55  profilanswer
 

Bon bah merci à tous ceux qui ont bien voulu jouer avec moi ...
Je garde ces deux questions sous le coude :
 
1) comment sont agencés les secteurs physiques sur un disque, et pourquoi ?
   Est-ce que l'hypothèse "quand le disque a fini de lire le secteur physique de numéro LBA n,
   tout est prêt (têtes/actuateur/DSP) pour lire le secteur physique de numéro LBA n+1, situé  
   possiblement très loin" est vraie ?
 
2) Quel est l'algorithme qui recharge le page-cache lorsqu'une lecture physique est devenue nécessaire (demandes de nouvelles données pas encore présentes dans le cache) ? Plus précisément comment se fait le "read-ahead" lorsque le rechargement se fait depuis un disque dur, combien de données sont rechargées, etc. ?
 
Je reposte ici s'il y a du nouveau ...

n°2691472
glacote
Posté le 27-08-2003 à 11:28:16  profilanswer
 


Citation de http://www.suse.de/~bastian/Export/linking.txt
(on parle de charger une biblioothèque en mémoire).
"This is further optimized by the fact that the Linux kernel only loads parts of
the library (on a page by page basis) when these parts are actually used."
Autrement dit il n'y aurait aucun read-ahead dans la gestion du buffer-cache.
Oops pour la question 2 ? Il va vraiment aller le lire, ce fichu code source ...

n°2691540
glacote
Posté le 27-08-2003 à 11:54:51  profilanswer
 

Bah c'était pourtant facile à trouver:

Code :
  1. # cat /proc/sys/vm/max-readahead
  2. => 31
  3. # cat /proc/sys/vm/min-readahead
  4. => 3
  5. # echo 131072 > /proc/sys/vm/max-readahead
  6. # echo 131072 > /proc/sys/vm/min-readahead


On va bien voir ce que ça change ...

n°2691543
[Albator]
MDK un jour, MDK toujours !
Posté le 27-08-2003 à 11:56:28  profilanswer
 

glacote a écrit :

Bah c'était pourtant facile à trouver:

Code :
  1. # cat /proc/sys/vm/max-readahead
  2. => 31
  3. # cat /proc/sys/vm/min-readahead
  4. => 3
  5. # echo 131072 > /proc/sys/vm/max-readahead
  6. # echo 131072 > /proc/sys/vm/min-readahead


On va bien voir ce que ça change ...


 
Tiens nous au courant, ça m'intéresse :)

n°2691767
bjone
Insert booze to continue
Posté le 27-08-2003 à 13:08:58  profilanswer
 

ça risque de développer des performances pourries de foutre une aussi grande lecture par anticipation....

n°2692279
glacote
Posté le 27-08-2003 à 17:00:59  profilanswer
 

Bon désolé je n'ai plus trop le temps (en fait il faudrait faire
1) script qui met soit 3/31 soit +infini/+infini, par exemple infini=131072,
   au tout début du démarrage.
2) enregistrer une session avec beaucoup d'applis ouvertes.
3) démarrer avec 3/31, tout fermer et chronométrer le temps pour tout rouvrir
4) idem avec +infinity/+infinity
Ca permettrait d'avoir un avis sur les capacités du cache de l'OS en utilisation desktop.
Pour l'utilisation serveur, une autre machine qui fait en boucle (100 fois) des accès à 4Mo  de fichiers par NFS constituerait un joli benchmark.
J'essaierai plus tard, là pas le temps.
 
Au passage (http://216.239.51.104/search?q=cac [...] r&ie=UTF-8)

Code :
  1. There are numerous virtual memory tuning parameters found under
  2. /proc/sys/vm/*. The behavior of many of these parameters has changed
  3. in this errata. For example, many of these parameters previously had
  4. no effect. Within this errata, this set of vm tuning parameters does
  5. have system effect. Users are strongly discouraged against tuning the
  6. set of parameters listed below as negative consequences such as system
  7. hangs may occur. If your system has previously modified these
  8. parameters, that tuning should no longer be performed.


et l'indispensable Léa:
http://lea-linux.org/admin/optimise.php3?little=ok
 

mood
Publicité
Posté le 27-08-2003 à 17:00:59  profilanswer
 

n°2693723
bjone
Insert booze to continue
Posté le 28-08-2003 à 10:41:54  profilanswer
 

mesurer l'impact du read-ahead lors d'un relancement d'une appli n'est pas la bonne chose à faire.
 
si tu lances une appli, puis tu mesures le temps à la relancer, à priori quelque soit le read-ahead, l'os lira tout depuis le cache.
 
le read-ahead a une influance sur le chargement des données non-cachées auparavant, et si il est trop grand, en multi-tâche où plusieures appli font des accès disques en concurrence un read-ahead trop grand peut avoir des répercussions négatives sur la souplesse du système.
 
glacote > tu peux faire un purgage explicite du caches entre les étapes ?
 
(purger le cache avant chaque lancement de session chronométré ?)


Message édité par bjone le 28-08-2003 à 10:46:35
n°2703485
glacote
Posté le 02-09-2003 à 13:23:39  profilanswer
 

BJOne a écrit :


glacote > tu peux faire un purgage explicite du caches entre les étapes ?
 
(purger le cache avant chaque lancement de session chronométré ?)


 
1) Je suppose qu'un

Code :
  1. for i in 0 4096; do  for j in min max; do echo $i > /proc/sys/vm/${j}-readahead done done


va notamment vider le cache, mais pas sûr (?)
 
2) Quelqu'un veut essayer de faire des timings (plus de machine chez moi, pas le temps au boulot, et en plus comme ça je ne serai pas de parti pris) ?
 
3) Répercussions négatives si read-ahead trop grand : OK. Il faut chercher par tâtonnements une valeur plus raisonnable, genre 1024 (soit 4Mo avec des pages de 4ko).

n°2704236
peewai
renversant
Posté le 02-09-2003 à 19:57:45  profilanswer
 

alors ca sert ou pas?
 
ca serait bien de maj le premier post (qui date de 2 mois...)

n°2704409
K-Surf
undercover
Posté le 02-09-2003 à 21:17:02  profilanswer
 

peewai a écrit :

alors ca sert ou pas?
 
ca serait bien de maj le premier post (qui date de 2 mois...)


 
je plussoie  :D  
 
une conclusion objective rédigé par tous serait le bienvenue  :whistle:  
 

n°2704833
skeye
Posté le 03-09-2003 à 07:15:59  profilanswer
 

peewai a écrit :

alors ca sert ou pas?
 
ca serait bien de maj le premier post (qui date de 2 mois...)


Dans le pratique ca sert, point.
Après glacote essaye de nous démontrer qu'on pourrait s'en passer mais:
1) ca reste de la théorie.
2) on n'a aucune preuve que ca marche.

n°2704946
glacote
Posté le 03-09-2003 à 09:56:21  profilanswer
 

Désolé plus le temps. Je ferai des tests fin septembre quand j'aurai acheté mes disques pour mon RAID-5 (4 ou 8 Disques, pas décidé). J'essairai de prendre des 2Mo et des 8Mo.
EDIT: skeye OK. Conclusion: donnez-m'en une, je la copierai-collerai.


Message édité par glacote le 03-09-2003 à 10:02:41
n°2733090
glacote
Posté le 19-09-2003 à 09:16:19  profilanswer
 

http://forum.hardware.fr/message.p [...] formulaire
Bon apparamment:
1) le command queueing (= utiliser un gros cache (ex. 16Mo dans le benchmark) pour réorganiser les écritures) améliore considérablement les perfs. (+30% ?)
2) c'est déjà fait au niveau software dans le noyau Linux.
Bon, qui veut bien aller les lire, ces fichus fichiers sources ?

n°2745450
bjone
Insert booze to continue
Posté le 27-09-2003 à 14:53:51  profilanswer
 

glacote, ça devrait te faire plaisir ça:
 
http://www.materiel.be/news.php?start=0#news2749

n°2748260
glacote
Posté le 29-09-2003 à 13:24:20  profilanswer
 

BJOne a écrit :

glacote, ça devrait te faire plaisir ça:
 
http://www.materiel.be/news.php?start=0#news2749


Ok, cf mon post juste au-dessus.
Cela dit, ça n'explique toujours pas pourquoi, ça veut juste dire au mieux
que l'argument "oui mais en pratique le cache est utile" est faux.
Moi, c'est sûr que j'aimerais bien avoir raison, mais je voudrais surtout savoir
pourquoi: command queueing en ide ?? ordonnancement des secteurs LBA/secteurs physiques ?
implémentation sous Linux/Windows du cache disque ?
Bref, dès que j'ai fini mon water-cooling pour disques, j'achète des disques, et là je m'y mets sérieusement (benchmarks, avec/sans cache, etc.).

n°2748266
glacote
Posté le 29-09-2003 à 13:27:44  profilanswer
 

D'ailleurs, quelqu'un connaît-il un disque de > 160Go qui existe en version avec 8Mo et 2Mo de cache ? Pas trouvé sur rue-montgallet.com ...

n°2748412
fff
fff ... from Paname
Posté le 29-09-2003 à 15:16:11  profilanswer
 

glacote a écrit :

D'ailleurs, quelqu'un connaît-il un disque de > 160Go qui existe en version avec 8Mo et 2Mo de cache ? Pas trouvé sur rue-montgallet.com ...


 
ben l'Hitachi Deskstar 7K250 arrive, en 160Go (et 120) PATA il existe en 2 & 8Mo de cache...
pareil pour le Maxtor DiamondMax Plus 9 les 80,120 & 160Go PATA existent en 2 et en 8Mo
 
PS : super post  :jap:

n°2748414
fff
fff ... from Paname
Posté le 29-09-2003 à 15:19:15  profilanswer
 

fatigué le gamin !!  :lol:  :sleep:  
 
j'avais pris le > pour =
apparement tout ce qui est + de 160 en PATA a 8Mo et pareil avec le SATA...  :??:

n°2748465
glacote
Posté le 29-09-2003 à 15:57:42  profilanswer
 

fff a écrit :

fatigué le gamin !!  :lol:  :sleep:  
 
j'avais pris le > pour =
apparement tout ce qui est + de 160 en PATA a 8Mo et pareil avec le SATA...  :??:  


C'est un peu ce qui m'embête ... j'ai bien un 120Go 2Mo, mais pas l'envie d'acheter une 120Go 8Mo juste pour faire des tests.
Alternativement, est-ce que quelqu'un sait comment désactiver partiellement le cache
d'un disque (genre modifier son BIOS intégré pour lui faire croire que c'est
un 2Mo, même s'il embarque 8Mo). J'accepte que la modification soit
irréversible, tant que le disque reste utilisable.

n°2748487
MagicBuzz
Posté le 29-09-2003 à 16:10:50  profilanswer
 

Simple constatation :
 
Il y a 4 ans, les HD faisaient 10 Go et les bonnes séries étaient dotées de 2 Mo de cache. Les plateaux tournaient à 5400 trm, la densité des plateaux étaient 20 fois inférieure, et les débits moindres d'autant.
 
En informatique on s'apperçoit vite que passer de 2 Mo à 8 Mo est ridicule par rapport au reste des chiffres. Le plus ridicule dans l'histoire, c'est que 8 Mo sur un bus SATA ça correspond grossomodo au temps d'accès d'une tête, et qu'en lecture continue, la densité actuelle des HD permet de plafonner sans problème à quasi la vitesse du bus. Deplus, les fichiers font très rarement moins de 8 Mo (mise à par quelques images et MP3 qui ne nécessitent pas de vitesse de lecture/écriture élevée, qui a des fichiers aussi petits sur son disque ?) donc le cache sera insufissant pour éviter une lecture ou écriture physique sur le disque pour complèter les informations à transfèrer.
 
Sur les cartes RAID, on trouve maintenant du cache jusqu'à 2 Go (et plus sur les très gros matos) ce qui a un sens par rapport au volume d'information qui transitent par le bus.
 
En bref, pour voir un changement significatif de vitesse, il faudra avoir un grand minimum de 256 Mo de cache par disque.
 
Passer de 2 Mo à 8 Mo, c'est comme décider de fixer une amare de paquebot avec un clou plutôt qu'une punaise : dans l'absolu, d'un point de vue purement mathématique, oui, ça tiendra beaucoup mieu. Seulement, ce qu'on lui demande de supporter est infinimenent plus élevé, et au final ça change rien. A la première vaguelette, le paquebot et ses 10000 tonnes va virer votre clou. La c'est à coup de DivX de 800 Mo que vous allez un peu faire fumer votre malheureux cache de 8 Mo ;)
 
Donc, 2 Mo ou 8 Mo changent rien

n°2748513
glacote
Posté le 29-09-2003 à 16:30:47  profilanswer
 

Meci pour ces remarques

MagicBuzz a écrit :

Simple constatation :
Le plus ridicule dans l'histoire, c'est que 8 Mo sur un bus SATA ça correspond grossomodo au temps d'accès d'une tête, et qu'en lecture continue, la densité actuelle des HD permet de plafonner sans problème à quasi la vitesse du bus. Deplus, les fichiers font très rarement moins de 8 Mo (mise à par quelques images et MP3 qui ne nécessitent pas de vitesse de lecture/écriture élevée, qui a des fichiers aussi petits sur son disque ?) donc le cache sera insufissant pour éviter une lecture ou écriture physique sur le disque pour complèter les informations à transfèrer.


Argument intéressant.
Cela dit:
1) "on sature le bus": pas d'accord, on en est à 50Mo/s en lecture max.
2) "presque tous les fichiers font plus de 8Mo": bof.
C'est en particulier faux le plus souvent pour les .mp3/.ogg, les .doc/.sxw, les .html,
les .jar/.java/.c/.cpp, les .so/.dll, etc.
De toute façon ce qui compte c'est combien d'accès aléatoires tu vas faire: sur gros fichier de xxx Mo lu séquentiellement le cache ne sert à rien, il est utile lorsqu'il te permet d'éviter des rotationnal latency. Donc dans le cas ou tu enchaîne un grand nombre de petits accès.
3) La question fondamentale est surtout de savoir si on ne pourrait pas remplacer le cache intégré par la RAM. Je pourrais te refaire le même argumentaire à l'encontre des cartes contrôleurs avec 2Go de cache intégré ...
 
 
 
 
 

n°2748525
MagicBuzz
Posté le 29-09-2003 à 16:42:13  profilanswer
 

glacote a écrit :


2) "presque tous les fichiers font plus de 8Mo": bof.
C'est en particulier faux le plus souvent pour les .mp3/.ogg, les .doc/.sxw, les .html,
les .jar/.java/.c/.cpp, les .so/.dll, etc.
De toute façon ce qui compte c'est combien d'accès aléatoires tu vas faire: sur gros fichier de xxx Mo lu séquentiellement le cache ne sert à rien, il est utile lorsqu'il te permet d'éviter des rotationnal latency. Donc dans le cas ou tu enchaîne un grand nombre de petits accès.


Ce que je voulais dire, c'est surtout que le volume de données transfèrées est incoparablement plus important que le cache. Hors, sur un seul petit fichier de 3 Mo, que tu le charges en 0.01 s ou 0.1 seconde, ça change absoluement rien. Par contre, si tu as 200 Mo de fichiers à transferer, si ton cache fait 8 Mo, tu vas avoir aussi peu de chances (pour de 1/1000) pour que ton cache contienne un fichier dont tu vas en effet avoir besoin.
 
Parceque le cache, c'est bête comme choux : quand le HD lit un fichier, il continue à lire physiquement jusqu'à ce que le cache soit plein, ce qui fait que lorsqu'il passe au fichier suivant, il a une chance pour que le fichier soit déjà chargé en cache. Mais là, 8 Mo comparé à un disque de 250 Go qu'on trouve aujourd'hui, je te laisse faire le calcul... Ca change rigoureusement rien que tu aie 2, 8 ou 32 Mo. Faudrait bosser avec au moins 128 Mo pour avoir une chance quele cache serve de temps en temps.
 
PS: dans tout les cas, quelque soit la taille du cache, avoir un disque défragmenté impactera les perfs de façon bien plus significative que le cache physique, tout comme le cache logiciel (qui lui, sur mon PC atteinds par moment 1 Go) est bien plus significatif que le cache physique dont le fonctionnement est inadapté à l'utilisation des disques durs. Les gains notables se font sur les lecteurs dont les temps d'accès sont très lents, et pour un rapport cache/taille du disque de l'ordre du %, comme les CD.

n°2748597
glacote
Posté le 29-09-2003 à 17:33:09  profilanswer
 

MagicBuzz a écrit :


Parceque le cache, c'est bête comme choux : quand le HD lit un fichier, il continue à lire physiquement jusqu'à ce que le cache soit plein, ce qui fait que lorsqu'il passe au fichier suivant, il a une chance pour que le fichier soit déjà chargé en cache. Mais là, 8 Mo comparé à un disque de 250 Go qu'on trouve aujourd'hui, je te laisse faire le calcul... Ca change rigoureusement rien que tu aie 2, 8 ou 32 Mo. Faudrait bosser avec au moins 128 Mo pour avoir une chance quele cache serve de temps en temps.
 
PS: dans tout les cas, quelque soit la taille du cache, avoir un disque défragmenté impactera les perfs de façon bien plus significative que le cache physique, tout comme le cache logiciel (qui lui, sur mon PC atteinds par moment 1 Go) est bien plus significatif que le cache physique dont le fonctionnement est inadapté à l'utilisation des disques durs. Les gains notables se font sur les lecteurs dont les temps d'accès sont très lents, et pour un rapport cache/taille du disque de l'ordre du %, comme les CD.


OK, merci.
1) je ne suis pas sûr que le cache intégré soit purement "read-ahead".
  En tout cas le cache de l'OS sûrement pas, il le fait au moins
  au niveau des secteurs (= lit en avance les prochains secteurs du fichier
  en cours, qui ne sont pas forcément ceux qui suivent le dernier secteur
  lu: fragmentation ...)
2) comment fais-tu pour mesurer ton cache disque (sous Win32) ?
 
 
 

n°2748619
MagicBuzz
Posté le 29-09-2003 à 17:50:21  profilanswer
 

Bah tu regardes la mémoire occupée, et la taille de tous les programmes qui tournent, la différence est pour la majeure partie la taille du cache.
 
Et surtout, quand tu copies un CD entier sur le disque sans faire un seul accès disque sauf tout à la fin de la copie, tu en déduit que le cache est d'au moins 600 Mo ;)

n°2749231
bjone
Insert booze to continue
Posté le 29-09-2003 à 23:41:14  profilanswer
 

l'argument taille d'exploitation/taille cache n'est pas valable à partir du moment ou tu fonctionnes avec un read-ahead où le firmware essayes d'exploiter des patterns prévisibles....
 
sur un cpu, tu traites bien plus que ce que le cache peut contenir, et la présence du cache a une importance critique.
 
en fait le soft de maxtor reviens dans un sens à ce que l'on disait, le cache générique d'un OS ne peut pas connaitre les specs du matériel du HD pour en tirer parti.
 
après j'avoues que j'ai pas essayer le soft de maxtor pour voir comment il se comporte....

n°2749236
bjone
Insert booze to continue
Posté le 29-09-2003 à 23:45:58  profilanswer
 

Citation :


Parceque le cache, c'est bête comme choux : quand le HD lit un fichier, il continue à lire physiquement jusqu'à ce que le cache soit plein, ce qui fait que lorsqu'il passe au fichier suivant, il a une chance pour que le fichier soit déjà chargé en cache.


 
pas d'accord. les caches matériels et logiciels fonctionnent par ligne/bloc, et si tu fais un accès disque, le firmware ne va pas non plus invalider tous ses blocs/lignes de cache au moindre read-head.
 
justement le firmware doit segmenter dynamiquement sa RAM, en fonction de tampons d'écritures, bloc déjà chargés, et zone de read-head.

n°2749412
glacote
Posté le 30-09-2003 à 08:55:39  profilanswer
 

BJOne a écrit :


en fait le soft de maxtor reviens dans un sens à ce que l'on disait, le cache générique d'un OS ne peut pas connaitre les specs du matériel du HD pour en tirer parti.


:??:
Ca sort d'où, ça ? C'est peut-être vrai, mais là je ne comprends pas.
Peut-être que le fait que MaxBoost ne marche qu'avec les Maxtor est
purement marketing, mais pas sûr.
En tout cas je voudrais bien comprendre ce qui soutient cet argument
(qui est effectivement le point central de la discussion).

n°2749421
glacote
Posté le 30-09-2003 à 09:16:02  profilanswer
 
n°2749949
Profil sup​primé
Posté le 30-09-2003 à 19:22:22  answer
 

Citation :

Conclusion : 8Mo ne servent à rien, sauf à avoir 3 ans de garantie au lieu d'un.


et encore c'est pas evident je suis tombé sur un maxtor 150go 8mo de cache garantie 1ans :(

n°2750540
partymaker
Posté le 01-10-2003 à 04:58:39  profilanswer
 

_SeB_ a écrit :

Citation :

Conclusion : 8Mo ne servent à rien, sauf à avoir 3 ans de garantie au lieu d'un.


et encore c'est pas evident je suis tombé sur un maxtor 150go 8mo de cache garantie 1ans :(


 
+1 :/


---------------
"La douleur fait penser l'homme, la pensée rend l'homme sage, la sagesse rend la vie acceptable..."  
n°2750541
partymaker
Posté le 01-10-2003 à 05:00:43  profilanswer
 

Comme je disais sur l'autre post la!!
 
en cache écriture, sa fais un bon gain...    
 
Celeron 2.1Ghz
Asus P4P800
dual Channel
1Gb de Ram
DiamondMax +8 40Gb
 
Buffered Read => 45Mb\Sec
Sequential Read => 55Mb\Sec
Random Read => 7Mb\Sec
Buffered Write => 431Mb\Sec  :ouch:  :ouch:  :ouch:  :ouch:  :ouch:  :love:
Sequential Write => 47Mb\Sec
Random Write => 11Mb\Sec
Average Access Time => 6ms
 
Screenshot disponible sur demande  


---------------
"La douleur fait penser l'homme, la pensée rend l'homme sage, la sagesse rend la vie acceptable..."  
n°2750545
wave
Posté le 01-10-2003 à 06:02:21  profilanswer
 

MagicBuzz a écrit :


Simple constatation :
 
Il y a 4 ans, les HD faisaient 10 Go et les bonnes séries étaient dotées de 2 Mo de cache. Les plateaux tournaient à 5400 trm, la densité des plateaux étaient 20 fois inférieure, et les débits moindres d'autant.
 
En informatique on s'apperçoit vite que passer de 2 Mo à 8 Mo est ridicule par rapport au reste des chiffres. Le plus ridicule dans l'histoire, c'est que 8 Mo sur un bus SATA ça correspond grossomodo au temps d'accès d'une tête, et qu'en lecture continue, la densité actuelle des HD permet de plafonner sans problème à quasi la vitesse du bus. Deplus, les fichiers font très rarement moins de 8 Mo (mise à par quelques images et MP3 qui ne nécessitent pas de vitesse de lecture/écriture élevée, qui a des fichiers aussi petits sur son disque ?) donc le cache sera insufissant pour éviter une lecture ou écriture physique sur le disque pour complèter les informations à transfèrer.
 
Sur les cartes RAID, on trouve maintenant du cache jusqu'à 2 Go (et plus sur les très gros matos) ce qui a un sens par rapport au volume d'information qui transitent par le bus.
 
En bref, pour voir un changement significatif de vitesse, il faudra avoir un grand minimum de 256 Mo de cache par disque.
 
Passer de 2 Mo à 8 Mo, c'est comme décider de fixer une amare de paquebot avec un clou plutôt qu'une punaise : dans l'absolu, d'un point de vue purement mathématique, oui, ça tiendra beaucoup mieu. Seulement, ce qu'on lui demande de supporter est infinimenent plus élevé, et au final ça change rien. A la première vaguelette, le paquebot et ses 10000 tonnes va virer votre clou. La c'est à coup de DivX de 800 Mo que vous allez un peu faire fumer votre malheureux cache de 8 Mo    
 
Donc, 2 Mo ou 8 Mo changent rien


:lol:
en quelques lignes de théories improvisées, tu arrives à démontrer le contraire de ce qu'on constate en pratique!
d'ailleurs d'après toi le cache disque sert à quoi?
à regarder un film en divx 2 fois de suite en ne le lisant qu'une fois?:D
a titre indicatif, la taille moyenne d'un fichier dans mon répertoire windows (XP) est de 122Ko.
il faut savoir que quand windows rame, en général il fait plusieurs accès simultanés au même disque.
un test simple: dupliquer un fichier de 600Mo sur le même disque, avec un chrono. En général le débit est incroyablement + lent que les 50% qu'on pourrait espérer si le disque passait réellement la moitié de son temps à lire et autant à écrire.
rien que l'ouverture d'une page web, ça crée plein de petits fichiers, parfois parrallelement à une modification du fichier swap.
pourquoi?
simplement parce que le disque passe une grande partie de son temps à déplacer les têtes de lecture.
 
on peut aussi se demander pourquoi les 6 Mo supplémentaires sur un disque de 8Mo donne un gain appréciable alors qu'on a des centaines de Mo de cache dans la RAM principale qui est + rapide.
La raison est la même.
Le cache disque de windows est mal géré, pas la peine de chercher + loin. Quelque soit la gestion de son contenu, il ne regroupe visiblement pas les ordres de lecture et d'écriture avant de les envoyer au disque. Sinon une telle chute du débit serait impossible lors d'accès multiples au disque, sinon cette fonction serait inutile sur les disques SCSI, et sinon les 8Mo de cache intégrés ne serviraient à rien face à l'énorme cache de windows.
La solution?
Au lieu de proposer un cache intégré couteux, on peut très bien prendre un peu de RAM du PC (rapide et pas chère, pourquoi se priver?) pour grouper les commandes d'écriture et de lecture, qui contiennent généralement beaucoup de clusters successifs, le but étant d'en réunir suffisemment pour que la tête passe + de temps à traiter des clusters contigus qu'à se déplacer.
 
un exemple de réorganisation des ordres donnés au disque:
On lit 2 fichiers non fragmentés en même temps, le disque a un débit de 40Mo/s et un temps d'accès de 10ms, et les clusters sont de 8Ko.

  • premier cas: pas de cache intégré.

on lit un cluster (8Ko, 0.2ms), on déplace la tête vers l'autre fichier (10ms), on lit un cluster (8Ko, 2ms), on retourne au premier fichier (10ms).
Total: 20.4ms, 16Ko. Débit effectif: 784Ko/s!!!

  • avec 2 Mo de cache utilisés idéalement:

on lit 2Mo soit 256 clusters (50ms).
on déplace la tête vers le 2è fichier: 10ms.
on lit 2Mo: 50ms.
on retourne au 1er fichier: 10ms.
Total: 120ms, 4Mo. Débit effectif: 33Mo/s.

  • avec 8 Mo de cache:

on lit 8Mo (200ms), on déplace la tête (10ms), on lit 8Mo (200ms), on déplace la tête (10ms).
Total: 16Mo, 420ms. Débit effectif: 38Mo/s.
 
Dans ce cas on voit qu'avec 2Mo on commence à exploiter pas trop mal le disque, mais on y gagne quand-même avec 8Mo.
 
Les disques IDE ne font malheureusement pas cette réorganisation, windows non plus (ou très mal), alors l'utilitaire de maxtor, s'il le fait, arrive à point pour combler ces lacunes.
 
En attendant, on est bien obligé de constater que le cache intégré sert quand-même à quelquechose, sans doute parce que même sans réorganiser les commandes qui y parviennent, il permet sans doute de lire par anticipation pour se rapprocher un peu du cas que j'ai décrit (chose malheureusement impossible pour l'écriture). L'usage n'étant que la lecture par anticipation explique sans doute pourquoi on ne trouve pas + de 8Mo, au-delà on perdrait surtout du temps à remplir le cache sans savoir si ça sert à quelquechose.


Message édité par wave le 01-10-2003 à 06:16:31
n°2750605
glacote
Posté le 01-10-2003 à 09:00:44  profilanswer
 

OK je suis globalement d'accord.
En un mot, plus le cache est près du CPU, mieux c'est.
Donc mieux vaut l'avoir en RAM (derrière le north-bridge) que sur le
disque (derrière North bridge + south bridge + une nappe à 133Mo/s).
Je voudrais juste savoir:
1) quel est l'algo de read-ahead et celui de réorganisation des écritures
   de win32 ? Celui du noyau Linux 2.4 ?
2) Comment convertir secteur physique <=> secteur logique LBA. Si c'est
   trivial, pourquoi le cache des OS n'est-il pas infiniment plus performant ?
   Si cette conversion est complexe/inconnue de l'OS, alors c'est sûr que
   le cache intégré est utile. Autre façon de se poser la question:
   MaxBoost est-il réservé aux Maxtor pour des raisons marketing, ou
   parce qu'il tuerait les performances avec d'autres disques ?

n°2750829
Eric B
Posté le 01-10-2003 à 12:22:09  profilanswer
 

Saviez vous qu'il y a des disques durs 2.5" (portable) avec 16Mo de cache ?

n°2750887
Adodonicoc​o
Posté le 01-10-2003 à 13:05:56  profilanswer
 

Eric B a écrit :

Saviez vous qu'il y a des disques durs 2.5" (portable) avec 16Mo de cache ?


peut-etre p[our eviter de faire bouger les tetes, et d'eviter de ce crois l'echauffemetn ? la perte inutile d'energie ?
a voir

n°2750920
Miky 2001
N'y pense même pas !!!
Posté le 01-10-2003 à 13:24:29  profilanswer
 

Pour avoir testé deux disques identique mais l'un avec 2 et l'autre 8mo et bien la différence éxiste... enfin surtout dans les benchs...... :)  
 
Sinon plus rapide comme disque d'exploitation et pour la différence de prix......

n°2750921
bjone
Insert booze to continue
Posté le 01-10-2003 à 13:25:52  profilanswer
 

partymaker a écrit :

Comme je disais sur l'autre post la!!
 
en cache écriture, sa fais un bon gain...    
 
Celeron 2.1Ghz
Asus P4P800
dual Channel
1Gb de Ram
DiamondMax +8 40Gb
 
Buffered Read => 45Mb\Sec
Sequential Read => 55Mb\Sec
Random Read => 7Mb\Sec
Buffered Write => 431Mb\Sec  :ouch:  :ouch:  :ouch:  :ouch:  :ouch:  :love:
Sequential Write => 47Mb\Sec
Random Write => 11Mb\Sec
Average Access Time => 6ms
 
Screenshot disponible sur demande  
 


 
attention, ça sent les écritures cachées alors qu'elles ne devraient pas.
 
au niveau OS, tu peux demander à faire des écritures volontairement cachées ou volontairement non cachées, et normalement les benchs demandent des accès non cachés....
 
il y a longtemps à la sortie des premiers chipset UDMA, Intel avait fait un driver UDMA qui cachait même quand on lui demandait pas, un disque UDMA explosant un SCSI :lol:
 
forcément à l'époque Intel avait dit que c'était un bug, le reste du monde pensait que c'était une triche :D (c'est marrant comme les choses se répétent :D)

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5  6  7  8  9  10  11  12

Aller à :
Ajouter une réponse
 

Sujets relatifs
[Question de nOOb inside] - Mettre à jour son BIOS[Topic Unique] Monter un système Sata-Raid (Sil3112 Inside)
Une nouvelle config (cm, proc, ram). Que choisir?? (athlon inside)[écran] à quoi sert le moiré?
Disque dur Maxtor Diamond 9+ (8Mo)Utilitaire Maxtor qui ne détecte rien
Mémoire tampon disque dur... Utilitéde 8Mo en utilisation standard?A koi sert un carte tuner tv exactement ?
les IFO sur le DVD ca sert a quoi ?reconnaitre un 8Mo d'un 2Mo
Plus de sujets relatifs à : Intérêt du cache 8Mo [Ca ne sert à rien (?), benchmark inside]


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR