Cluster de Calcul

Bonjour à tous

J’ai un serveur assez puissant avec de la grosse capacité de stockage sous debian 8.2 que je voudrais utiliser comme serveur maitre.

A coté de cela, j’ai deux autres serveurs sous debian 8.2 avec un faible stockage (500Go), mais 48go de ram, des disques sas, et du gros processeurs.

Je voudrais avec ses 3 serveurs étudier la possibilité de faire un cluster de calcul, le serveur de stockage étant le maitre et distribuant aux deux autres serveurs les taches de calcul en fonction de leur disponibilité.

Une fois les calculs effectués, les résultats seront rapatriés dans le “serveur maitre”, qui a ce moment la renvoi la demande de calcul au serveur quinefaitrien.

J’ai cherché sur le net des infos sur les paquets à utiliser et la configuration (sur une base debian bien sur) mais rien trouvé de clair à part pour du serveur HA avec heartbeat et tout le reste.

Pouvez vous svp m’orienter vers des sources où je pourrais trouver les infos utiles pour monter ce cluster de calcul.

Par avance merci

[quote=“Minus”]Bonjour à tous

J’ai un serveur assez puissant avec de la grosse capacité de stockage sous debian 8.2 que je voudrais utiliser comme serveur maitre.

A coté de cela, j’ai deux autres serveurs sous debian 8.2 avec un faible stockage (500Go), mais 48go de ram, des disques sas, et du gros processeurs.

Je voudrais avec ses 3 serveurs étudier la possibilité de faire un cluster de calcul, le serveur de stockage étant le maitre et distribuant aux deux autres serveurs les taches de calcul en fonction de leur disponibilité.

Une fois les calculs effectués, les résultats seront rapatriés dans le “serveur maitre”, qui a ce moment la renvoi la demande de calcul au serveur quinefaitrien.

J’ai cherché sur le net des infos sur les paquets à utiliser et la configuration (sur une base debian bien sur) mais rien trouvé de clair à part pour du serveur HA avec heartbeat et tout le reste.

Pouvez vous svp m’orienter vers des sources où je pourrais trouver les infos utiles pour monter ce cluster de calcul.

Par avance merci[/quote]

En matière de gestion de ‘clustering’ j’utilise le couple corosync/pacemaker pour du cluster actif/actif avec au choix du drdb pour la réplication ou del’ocfs ou du glsuterfs pour du système de fichier répartie.

L’utilisation de heartbeat est trivial sur nombre de cluster actif/passif couplé avec du drdb.

Maintenant la grande interrogation c’est quel type de calcul tu souhaite mettre ne place et quels solution software soit-tu mettre ne place (à l’image d’un boinc).

Ben grosso modo les calculs qui sont lancés sont des calculs type ANSYS, Abaqus, Catia, Nx unigraphics, et ensuite des calculs en dev python.

Pour les différentes solutions, étant donné que je suis totalement novice de ce coté la (je n’ai monté que des clusters de haute disponibilité avec heartbeat et drdb), je prend ce qu’il y a du moment que c’est facile d’administration pour moi et d’utilisation pour les utilisateurs.

La description de ton besoin n’est pas claire pour moi.
est ce que tu veux faire du calcul parallèle ?
Est ce que tu veux séparer la partie calcul (CPU + RAM) de la partie stockage ?

Bonjour,

Vous nous dites :
j’ai deux autres serveurs sous debian 8.2 avec un faible stockage (500Go), mais 48go de RAM
et :
les calculs qui sont lancés sont des calculs type ANSYS, Abaqus, Catia, Nx unigraphic

Je suppose donc que ces trois serveurs ne sont pas dans votre salon, que c’est du matériel professionnel. Je vous ferai remarquer que 500Go n’est pas vraiment un faible stockage. (des calculs parallèles de sloshing avec OpenFoam mettent quelques semaines pour remplir 400Go)

Les calculs que vous envisagez d’effectuer sont de type éléments finis, sont assez gourmands en mémoire mais demandent aussi d’avoir un disque rapide directement attaché au serveur qui réalise le calcul. (il faut un système de fichiers scratch).

Je constate aussi que les logiciels listés sont (on ne peut plus ) privateurs, avec des licences exorbitantes et ne sont disponibles que sur des distributions officiellement “supportées”. Je mets le terme entre guillemets car rien ne vous empêche de monter un serveur peu-puissant avec une distribution officielle (RedHat SLES) pour simplement installer ces softs et exporter via NFS/autofs ces binaires (/opt/simulia dans le cas Abaqus) (Il y a 4 ans j’avais fait acheter un serveur 1CPU 8 coeurs simplement pour y mettre la SLES)

Sans vouloir être indiscret quel est votre budget pour les licences et combien prévoyez vous en temps et en argent pour la formation ?

Si c’est pour vous former, code aster (logiciel français EDF) est dans Debian.

Bonjour

Pas de soucis pour la formation et code aster on connait également très bien

Pour les logiciels, oui le support ne fonctionne que si l’installation se fait sur du redhat, mais ca fonctionne très bien sur du debian ou ubuntu.

Il n’y a que NX qui est allergique à tout sauf Redhat.

Actuellement le montage est le suivant:

serveur de stockage
partition /
partition data contenant le repertoire /opt/ ou sont installés les programmes et /home des users.
partition swap

serveur de calcul 1
partition /
partition swap
partition scratch

Montage de la partition data du serveur de stockage dans le serveur de calcul 1 et les homes du serveur de calcul 1 sont redirigé vers le home de la partition data du serveur de stockage

J’ai fini ce montage la semaine derniere et ça fonctionne nickel

Maintenant j’ai un autre serveur de calcul dit N°2 qui fonctionne de la même manière avec un autre serveur de stockage.

les ingés se connectent sur le serveur de calcul, font leur tambouille sur le scratch et ensuite rapatrie les resultats dans leur home

Ce que je cherche à savoir, c’est si il est possible de combiner la puissance du serveur de calcul 1 et 2, pour en quelque sorte en faire une seule et même unité de calcul, comme une sorte de RAID0 de serveur de calcul.

Je ne suis pas du tout un spécialiste dans ce type de montage, donc c’est une découverte pour moi.

C’est plus clair pour moi. Pour faire ce que tu décris, il faut déja que les logiciels applicatifs utilisés soient à minima capables de traiter des calculs en parallèle sur une carte maulticore.
sur ce type de carte, il y a des système d’échanges de données rapide entre coeur, chose que tu ne peux pas faire si les cores sont dans plusieurs serveurs séparés. Il faut donc déja que les échanges de données entre les 2 serveurs de calculs puissent se faire avec un gros débit pour faire “comme si” tous les cores étaient sur la même carte mère, c’est le SMP. Voila pour la partie matériel.
ensuite, il te faut mettre tes serveurs dans un cluster de calcul distribué (HPC High Performance Cluster). C’est différent d’un cluster type “haute disponibilité” dont les tutos sont légion sur le net.

Coté software, regarde wiki.debian.org/HighPerformanceComputing

Pour rêver un peu:
computing.llnl.gov/tutorials/linux_clusters/

Merci beaucoup ça m’éclaire énormement

je vais pouvoir dans un premier temps étudier tout cela et revenir ici pour avoir des précisions si besoin est.

encore merci