Bah moi j'avais essayé mosix (quand c'etait encore libre).
Il y avait les problèmes suivants :
- un processus migre en entier (avec toutes ses pages mémoire) ou rien du tout.
- 10 Mbps, c'est effectivement pas beaucoup, je suis passé en 100 c'etait largement mieux (tes machines ralentissent de manière conséquente pendant la migration d'un processus, autant que ca soit court).
- les processus qui font beaucoup d'I/O, ou qui ont ouvert un périph local (ca inclut de l'opengl accéléré, par exemple) ne peuvent pas être déportés
- les processus utilisant les threads ne peuvent pas migrer non plus. Donc on perd beaucoup de la transparence (puisque la plupart des progs paralleles sont faits avec des threads pour le smp)
- il faut compiler un noyau avec smp, même sur des machines mono processeur
- ca oblige à avoir une version bien précise du noyau
- c'est en utilisant mosix que j'ai planté linux, jamais autrement (pricipalement si la machine fait du X en même temps).
- si une machine du cluster tombe, les autres machines qui avaient des processus migrés sur cette machine ne pourront plus s'éteindre (ça bloque au moment où il envoie kill à tous les processus).
- en utilisation "normale" du pc, le seul processus qui migrait était xfs. Les autres rien du tout.
Dans les bont côtés
- c'est vrai que c'est sympa de voir migrer les processus sans se fatiguer: si tu as écrit un programme en mpi et que tu veux pas t'embêter à coder la répartition de charge, tu en lances en gros 2* le nombre de cpu et tu les laisse se répartir ;)
- c'est sympa aussi de pouvoir ajouter/enlever dynamiquement des machines au cluster
- on peut controler la migration de processus à la main
- il y a le "mfs", mosix file system, qui permet de voir les fs des autres machines, sans faire de nfs ;)
- enfin c'est pratique pour frimer avec mtop genre "j'ai plein de cpu" ;)
Maintenant, tout ca ne s'applique peut-être plus à openmosix, mais je sais que la plupart des inconvénients sont toujours là.
A la fin, je m'en servais plus que pour compiler du code (mais maintenant avec distcc j'ai laissé tomber !).
[^] # Re: Clustering avec Linux
Posté par Stephane Marchesin . En réponse au journal Clustering avec Linux. Évalué à 2.
Il y avait les problèmes suivants :
- un processus migre en entier (avec toutes ses pages mémoire) ou rien du tout.
- 10 Mbps, c'est effectivement pas beaucoup, je suis passé en 100 c'etait largement mieux (tes machines ralentissent de manière conséquente pendant la migration d'un processus, autant que ca soit court).
- les processus qui font beaucoup d'I/O, ou qui ont ouvert un périph local (ca inclut de l'opengl accéléré, par exemple) ne peuvent pas être déportés
- les processus utilisant les threads ne peuvent pas migrer non plus. Donc on perd beaucoup de la transparence (puisque la plupart des progs paralleles sont faits avec des threads pour le smp)
- il faut compiler un noyau avec smp, même sur des machines mono processeur
- ca oblige à avoir une version bien précise du noyau
- c'est en utilisant mosix que j'ai planté linux, jamais autrement (pricipalement si la machine fait du X en même temps).
- si une machine du cluster tombe, les autres machines qui avaient des processus migrés sur cette machine ne pourront plus s'éteindre (ça bloque au moment où il envoie kill à tous les processus).
- en utilisation "normale" du pc, le seul processus qui migrait était xfs. Les autres rien du tout.
Dans les bont côtés
- c'est vrai que c'est sympa de voir migrer les processus sans se fatiguer: si tu as écrit un programme en mpi et que tu veux pas t'embêter à coder la répartition de charge, tu en lances en gros 2* le nombre de cpu et tu les laisse se répartir ;)
- c'est sympa aussi de pouvoir ajouter/enlever dynamiquement des machines au cluster
- on peut controler la migration de processus à la main
- il y a le "mfs", mosix file system, qui permet de voir les fs des autres machines, sans faire de nfs ;)
- enfin c'est pratique pour frimer avec mtop genre "j'ai plein de cpu" ;)
Maintenant, tout ca ne s'applique peut-être plus à openmosix, mais je sais que la plupart des inconvénients sont toujours là.
A la fin, je m'en servais plus que pour compiler du code (mais maintenant avec distcc j'ai laissé tomber !).