Table des matières

LOLHPC

Un supercalculateur au LOLcal xD

!toc startlevel=“2” levels=“3”

Description

%%//%%en.wikipedia.org/wiki/High-performance_computing

Construction d’un supercalculateur à partir de matériel récupéré à l’in2p3

<html><img src=“http://www.mirsal.fr/~mirsal/lolhpc.jpg” alt=“Photo de la baie” /></html>

Participants

Référent(s)

Contributeur(s)

Compétence(s) recherchée(s)

HPC, Grid computing, clusters

Détails

Matériel(s) utilisé(s)

32 noeuds de calcul scientifique NEC récupérés à l’in2p3 (Institut National de Physique Nucléaire et de Physique des Particules) en chassis 1U montés dans une baie 19“

2x Xeon (21 à 2.8GHz et 11 à 3GHz) génération NetBurst (certainement ça Nocona)

4x512Mo DDR ECC reg (et 2 slot libres)

2x120Go sata, lecteur CD

dual lan, 1 port PCIX full size et 1 port PCIX half-size, module IPMI …

alimentation sur 3 arrivées, 1800W/prise

Conso mesurée : - 56W pour les switch - 240W / serveur sans calculs

Conso totale estimée : 7.7kW

Objectif(s)

Un supercalculateur fonctionnel dans le LOLcal

Milestone(s)

<HTML><ul></HTML> <HTML><li></HTML><HTML><p></HTML><html><s></html>Déplacer le tout dans la salle du fond:<html></s></html><HTML></p></HTML> <HTML><p></HTML>les deux portes ne font pas la même hauteur, je n’ai mesuré que la première avant de charger la baie ⇒ Fail de 3cm.<HTML></p></HTML> <HTML><p></HTML>→ Une après midi / soirée à 3-4 personnes<HTML></p></HTML> <HTML><p></HTML>Un supercalculateur au milieu du LOLcal, ça fait désordre xD<HTML></p></HTML> <HTML><p></HTML>Tâche effectuée puis annulée pour cause de travaux dans la salle du fond et réaménagement.<HTML></p></HTML><HTML></li></HTML> <HTML><li></HTML><HTML><p></HTML>Réaliser l’interconnexion des nœuds:<HTML></p></HTML> <HTML><p></HTML>La baie est câblée mais pas switchée. on a des switchs 100Mbit/s à dispo et suffisement de câbles pour réaliser le brassage. Il manque des serre-flex et des écrous et il faudrait idéalement récupérer deux switchs gigabit 24 ports.<HTML></p></HTML> <HTML><p></HTML>Tâche réalisée, mais à vérifier depuis le déménagement.<HTML></p></HTML><HTML></li></HTML> <HTML><li></HTML><HTML><p></HTML>Connecter la baie au reste du réseau du lol<HTML></p></HTML> <HTML><p></HTML>Il faut faire passer des câbles entre les deux salles, créer du vlan et de l’aggrégat.<HTML></p></HTML><HTML></li></HTML> <HTML><li></HTML><HTML><p></HTML>Préparer et installer la partie logicielle<HTML></p></HTML> <HTML><p></HTML>On ne va pas utiliser les SL pourries de l’in2p3. Ce qu’on va installer dépendra de ce qu’on va faire avec.<HTML></p></HTML><HTML></li></HTML> <HTML><li></HTML><HTML><p></HTML>Déplacer la baie pour stockage pendant les travaux de la salle du fond<HTML></p></HTML><HTML></li></HTML> <HTML><li></HTML><HTML><p></HTML>Mettre en place une solution pour le refroidissement et pour l’alimentation électrique.<HTML></p></HTML><HTML></li></HTML> <HTML><li></HTML><HTML><p></HTML>Calculeeeeer (ou pas) :)<HTML></p></HTML><HTML></li></HTML> <HTML><li></HTML><HTML><p></HTML>Mettre en place une politique iptable<HTML></p></HTML><HTML></li></HTML> <HTML><li></HTML><HTML><p></HTML>VLAN de management + VLAN pour l’interface et Internet<HTML></p></HTML><HTML></li></HTML> <HTML><li></HTML><HTML><p></HTML>Mettre un lien entre le switch de la box et les switchs du Supercalculateur<HTML></p></HTML><HTML></li></HTML> <HTML><li></HTML><HTML><p></HTML>Mettre en place NAT IPv4 et radv IPv6 sur le routeur<HTML></p></HTML><HTML></li></HTML> <HTML><li></HTML><HTML><p></HTML>Routage du range de management via le routeur<HTML></p></HTML><HTML></li></HTML><HTML></ul></HTML>

Ce qui est fait

Utilisation(s) possible(s)

Indiquer ci-dessous les idées d’utilisation, avec une estimation des besoins en CPU, RAM, espace disque, et consommation réseau.

CPU | RAM | Espace | Réseau Minage Bitcoin/litecoin |+++|+|+|+ Encodage vidéo (OpenMediaKit) |+++|++|+++|+++ [[http://www.povray.org/|Ray-tracing, rendu 3D |+++|++|+|+ Calcul scientifique (MPI, etc) |++|++|+|+ Cryptage (?) |++|/|/|/ Relais Tor |++|+|/|+++ Compilation distribué |+++|++|+|++ Noeud Boinc (calcul distribué) |+++|++|+|+ ”“”]]

Ce serait cool de proposer un accès à d’autres hackerspaces via dn42. Par contre, ce serait mieux avec une vraie connexion réseau (pas de l’ADSL).

Autre idée : hacker le protocole du KVM

Solution utilisable :

Stockage

On aimerait avoir les mêmes données (/home) sur chaque noeud : ainsi, on peut se connecter à n’importe quel noeud allumé pour lancer ses calculs.

Deux familles de solutions :

La première solution est à éviter : ça oblige à avoir une machine qui tourne tout le temps, il faut s’assurer de la redondance des données, les perfs seront catastrophiques dès que plusieurs noeuds feront des I/O, et ce serait dommage de ne pas utiliser les disques des noeuds du cluster.

On part plutôt sur la seconde solution (parce qu’en plus, c’est rigolo à faire). Il y a cependant un nouveau problème potentiel : le split brain (wikipedia).

Problème du split brain

Typiquement, tous les noeuds du cluster ne seront pas allumées en permanence. On aimerait par exemple pouvoir faire la chose suivante :

Il faut une solution de stockage réparti qui permette ça.

Répartition du stockage

Système de fichier réparti

Utilisation d’un vrai système de fichier réparti (soit kernelspace, soit userspace)

Ce dernier n’est pas vraiment un système de fichiers : c’est un périphérique bloc distribué, sur lequel on peut mettre n’importe quel système de fichier.

Synchronisation

On peut aussi faire le contraire : mettre n’importe quel système de fichier “classique” (ext4) sur chaque noeud, et synchroniser les données par-dessus. Ça paraît beaucoup plus hackish, mais ça peut marcher, et c’est surtout plus simple.

Gestion de la configuration

On ne veut pas s’embêter à installer/configurer/gérer les utilisateurs sur chaque noeud.

Plus précisément, on voudrait automatiser :

Il y a plein de solutions pour ça :

Référence(s)

Document(s)

Lien(s)