tu as de la RAM sur des slots RAM ... au format qui va bien.
tu as des DD IDE ou SCSI sur les slots qui vont bien.
mais la difference de vitesse d'acces R/W est collossale.
donc puisque le bus PCI est extensible ( contrairement aux slots pour la RAM ), si on pouvait coller des barettes de RAM sur un bus PCI ... ca serait cool.
surtout que la RAM est limité à l'archi du processeur, alors que les disques non.
donc un disque fait de barettes de RAM, est tres rapide et est beaucoup plus extensible.
apres une seconde lecture, j'admet avoir fait une lecture rapide un peu trop rapide :)
mais l'idee de mettre son swap dans un ramdisk ne me derange pas plus que ca ...
il y a qq annees ( je ne sais plus si cela se fait encore ), sur certains systeme, il y avait une copie de la ram dans le swap ... ce n'est pas plus etonnant.
Oui mais ce qu'ils font dans l'article là, c'est pas un pseudo disque dur avec des chips de RAM, mais bien du swap dans un ramdisk, dans ta vraie RAM. D'où la question que tout les gens sains d'esprit se posent : pourquoi exploiter cette RAM comme du swap plutôt que comme... de la RAM.
Il me semble que des éléments de réponse sont indiqués dans les commentaires qui suivent l'article, comme par exemple "Linux has a swap-early-algorithm".
Je ne sais pas si c'est vrai ou pas, mais en tout cas je constate que mon swap est parfois utilisé alors qu'il reste 100 ou 150 Mo de RAM libre...
Donc en forçant le swap à être dans la RAM, ça utilise finalement toute la RAM.
Tu as un lien interessant dans l'article sur un autre article de kerneltrap qui t'explique un peu ca.
Grosso modo il est possible que de la memoire soit swapée pour laisser de la place au cache disque. C'est une technique assez controversée et le vm swapiness est la dans les 2.6 pour regler plus ou moins ce probleme.
Apres il faut voir ce qui a ete swappé. Il est possible que cette portion de mémoire soit reellement inutile (bug par exemple mais pas seulement) et la mettre sur le disque et la meilleure des choses a faire.
Le probleme c'est que le comportement a adopte n'est pas unique. Et tout les utilisateurs ne veulent pas la meme choses (regarde les commentaires du lien). Autre probleme, linux change constamment sa VM sans la documenter. Ca devient un peu "tout et n'importe" quoi pour que les admins puissent faire quelque chose de correct. Ce qui est vrai avec un 2.6.X ne le sera peut etre pas avec un 2.6.X-yyy ou 2.6.X+1.
Le swap n'est pas une mauvaise chose en soit. Si l'algo est bien fait (parfait) il ne peut etre que benefique d'ailleur.
Pour en revenir au post original on notera que l'auteur n'a fourni aucun bench, mais s'est contenté d'un ca devrait etre mieux. Or la moindre des choses quand on pense ameillore les perfs c'est de fournir une preuve de ce qu'on avance, avec des cas classiques et pathologiques. Je ferais le test demain mais j'ai que 512Mo de RAM sous la main pour l'instant donc c'est pas optimal.
Si l'algo est bien fait (parfait) il ne peut etre que benefique d'ailleur.
Un algo de swap parfait ne peut pas exister. Certains algo seront plus performants selon l'utilisation de la machine, c'est tout.
Un algo de swap parfait à besoin d'effectuer de la divination, ce qui est ennuyeux en informatique.
Par contre l'article semble décrire des situations ou mettre des Ramdisk pour faire du SWAP permet d'obtenir des solutions plus performantes dans certains cas. Ca c'est clairement le signe d'un algorithme de swapping ou d'une VM en général plus que déficient :/
Perso je l'avais lu aussi en me disant « nan mais, ils sont fadas », mais en fait ça se comprends à la lecture de certains commentaires (oui je sais, c'est long...). En gros, les noyaux 2.4 sont designés pour fonctionner avec du swap, et ont dans certains cas une gestion moins stupide du cache d'io avec par exemple 768Mo de ram + 256Mo de "ramswap" que avec 1Go de ram et pas de swap du tout. Mais ça dépend vraiment des usecases, et ça n'est pas clair que ce bug de conception (c'est bien de ça qu'il s'agit) soit présent aussi dans les 2.6 (sans parler des différentes variantes comme celle du -ck, etc).
En lisant les commentaires, je me suis rendu compte moi que l'auteur de l'article avait trop fumé ou trop bu et qu'il accumule les n'importe quoi non seulement dans l'article mais aussi dans les commentaires.
Pour obtenir des performances globalement meilleurs il suffit d'ajouter de la RAM et de virer le swap, pas besoin de passer par des ramdisk et de rajouter une couche par dessus. (et surtout pas besoin de foutre de l'ext2 par dessus les ramdisk si l'on frise quand meme la folie, non mais ! pourquoi pas un reiserfs par dessus l'ext2 en loopback tant qu'on y est ?)
Bref tout ca n'a pas grand chose de sérieux, et si l'on observe des gains de perf en utilisant la technique du swap en ram cela ne peut provenir que d'un GRAVE bug de linux et non pas du génie de l'auteur.
Cet article peut démontrer la folie de son auteur, ou la médiocrité de la VM de linux, selon que les résultats des benchs sont prouvés ou non, et qu'il est prouvé qu'il n'y a pas de flaw ou non dans la procédure.
Mais le summum du ridicule est atteint quand l'auteur se met a faire de l'ext2 sur les ramdisk pour ensuite les monter, faire gentillement un fichier dans l'ext2 sur les ramdisk, transformer son fichier en espace de swap et activer le swap.
C'est ce qui s'appelle aller jusqu'au bout de la logique pourquoi faire simple quand on peut faire compliqué :)
Ben oui un gas suffisement tordu pour imaginer faire des ramdisk et s'en servir comme swap (ceci etant dit peut etre qu'il a démontré un grave flaw de linux, donc ca démarche n'aura pas été vaine à 100 % dans ce cas), ben il est aussi assez tordu pour ne pas faire directement un mkswap sur le block device du ramdisk mais pour passer par un splendide FS et un fichier dans le FS, histoire de charger un petit peu plus le proc et de faire monter ca machine en charge ;)
Des fois je me demande ou certains vont piocher leur imagination. Le pire c'est que je suis sur qu'il oserait soutenir que ca va plus vite en rajoutant la couche de l'ext2. Et ce qui me déprime, ce que ya tellement de truc shooté dans linux que si ca se trouve il aurait raison :p
Bon en lisant la suite des commentaires je me rends compte que l'auteur est un novice parfait en matière de technique de système d'exploitation, je lui pardonne tout :) (pour les connaisseur il savait meme pas qu'une page RO n'était pas écrite en swap mais relue directement depuis la source) (en fait si ca se trouve c'est pas un novice mais il est très mauvais et là je lui pardonne rien...)
# quel est le probleme ?
Posté par Mouns (site web personnel) . Évalué à 0.
tu as des DD IDE ou SCSI sur les slots qui vont bien.
mais la difference de vitesse d'acces R/W est collossale.
donc puisque le bus PCI est extensible ( contrairement aux slots pour la RAM ), si on pouvait coller des barettes de RAM sur un bus PCI ... ca serait cool.
surtout que la RAM est limité à l'archi du processeur, alors que les disques non.
donc un disque fait de barettes de RAM, est tres rapide et est beaucoup plus extensible.
il est ou le probleme ? :)
[^] # Re: quel est le probleme ?
Posté par ckyl . Évalué à 1.
Enfin le plus drole ce sont quand meme les 6 pages de commentaires.
(tu le fais expres ?)
[^] # Re: quel est le probleme ?
Posté par Mouns (site web personnel) . Évalué à 0.
mais l'idee de mettre son swap dans un ramdisk ne me derange pas plus que ca ...
il y a qq annees ( je ne sais plus si cela se fait encore ), sur certains systeme, il y avait une copie de la ram dans le swap ... ce n'est pas plus etonnant.
[^] # Re: quel est le probleme ?
Posté par fabien . Évalué à 2.
C'est un peu le principe du swap non ?! (donc rien d'etonnant) :)
[^] # Re: quel est le probleme ?
Posté par Gniarf . Évalué à 1.
[^] # Re: quel est le probleme ?
Posté par tgl . Évalué à 5.
[^] # Re: quel est le probleme ?
Posté par Vincent Richard (site web personnel) . Évalué à 3.
Je ne sais pas si c'est vrai ou pas, mais en tout cas je constate que mon swap est parfois utilisé alors qu'il reste 100 ou 150 Mo de RAM libre...
Donc en forçant le swap à être dans la RAM, ça utilise finalement toute la RAM.
Si quelqu'un peut nous en dire plus ?
[^] # Re: quel est le probleme ?
Posté par tgl . Évalué à 2.
> commentaires
Yep, tout à fait. Je répondais juste pour expliquer pourquoi cet article à fait ricaner pas mal de monde, mais je dis pas qu'ils ont raison.
[^] # Re: quel est le probleme ?
Posté par ckyl . Évalué à 1.
Grosso modo il est possible que de la memoire soit swapée pour laisser de la place au cache disque. C'est une technique assez controversée et le vm swapiness est la dans les 2.6 pour regler plus ou moins ce probleme.
Apres il faut voir ce qui a ete swappé. Il est possible que cette portion de mémoire soit reellement inutile (bug par exemple mais pas seulement) et la mettre sur le disque et la meilleure des choses a faire.
Le probleme c'est que le comportement a adopte n'est pas unique. Et tout les utilisateurs ne veulent pas la meme choses (regarde les commentaires du lien). Autre probleme, linux change constamment sa VM sans la documenter. Ca devient un peu "tout et n'importe" quoi pour que les admins puissent faire quelque chose de correct. Ce qui est vrai avec un 2.6.X ne le sera peut etre pas avec un 2.6.X-yyy ou 2.6.X+1.
Le swap n'est pas une mauvaise chose en soit. Si l'algo est bien fait (parfait) il ne peut etre que benefique d'ailleur.
Pour en revenir au post original on notera que l'auteur n'a fourni aucun bench, mais s'est contenté d'un ca devrait etre mieux. Or la moindre des choses quand on pense ameillore les perfs c'est de fournir une preuve de ce qu'on avance, avec des cas classiques et pathologiques. Je ferais le test demain mais j'ai que 512Mo de RAM sous la main pour l'instant donc c'est pas optimal.
[^] # Re: quel est le probleme ?
Posté par Guillaume Knispel . Évalué à 3.
Un algo de swap parfait ne peut pas exister. Certains algo seront plus performants selon l'utilisation de la machine, c'est tout.
Un algo de swap parfait à besoin d'effectuer de la divination, ce qui est ennuyeux en informatique.
Par contre l'article semble décrire des situations ou mettre des Ramdisk pour faire du SWAP permet d'obtenir des solutions plus performantes dans certains cas. Ca c'est clairement le signe d'un algorithme de swapping ou d'une VM en général plus que déficient :/
# Faut lire les commentaires
Posté par tgl . Évalué à 5.
[^] # Re: Faut lire les commentaires
Posté par Guillaume Knispel . Évalué à 5.
Pour obtenir des performances globalement meilleurs il suffit d'ajouter de la RAM et de virer le swap, pas besoin de passer par des ramdisk et de rajouter une couche par dessus. (et surtout pas besoin de foutre de l'ext2 par dessus les ramdisk si l'on frise quand meme la folie, non mais ! pourquoi pas un reiserfs par dessus l'ext2 en loopback tant qu'on y est ?)
Bref tout ca n'a pas grand chose de sérieux, et si l'on observe des gains de perf en utilisant la technique du swap en ram cela ne peut provenir que d'un GRAVE bug de linux et non pas du génie de l'auteur.
# Le meilleur moment de l'article.
Posté par Guillaume Knispel . Évalué à 3.
Mais le summum du ridicule est atteint quand l'auteur se met a faire de l'ext2 sur les ramdisk pour ensuite les monter, faire gentillement un fichier dans l'ext2 sur les ramdisk, transformer son fichier en espace de swap et activer le swap.
C'est ce qui s'appelle aller jusqu'au bout de la logique pourquoi faire simple quand on peut faire compliqué :)
Ben oui un gas suffisement tordu pour imaginer faire des ramdisk et s'en servir comme swap (ceci etant dit peut etre qu'il a démontré un grave flaw de linux, donc ca démarche n'aura pas été vaine à 100 % dans ce cas), ben il est aussi assez tordu pour ne pas faire directement un mkswap sur le block device du ramdisk mais pour passer par un splendide FS et un fichier dans le FS, histoire de charger un petit peu plus le proc et de faire monter ca machine en charge ;)
Des fois je me demande ou certains vont piocher leur imagination. Le pire c'est que je suis sur qu'il oserait soutenir que ca va plus vite en rajoutant la couche de l'ext2. Et ce qui me déprime, ce que ya tellement de truc shooté dans linux que si ca se trouve il aurait raison :p
Bon en lisant la suite des commentaires je me rends compte que l'auteur est un novice parfait en matière de technique de système d'exploitation, je lui pardonne tout :) (pour les connaisseur il savait meme pas qu'une page RO n'était pas écrite en swap mais relue directement depuis la source) (en fait si ca se trouve c'est pas un novice mais il est très mauvais et là je lui pardonne rien...)
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.