Serveur de calcul perso

a marqué ce sujet comme résolu.

Bonjour,

À mon boulot, nous avons des serveurs de calcul. Cependant, ceux-ci tournent sous des systèmes antédiluviens1. J’en vient à me demander si ce ne serait pas plus intéressant2 de m’acheter un serveur de calcul, et d’y installer ce que je veux. En me renseignant un peu, j’ai vu qu’on pouvait trouver des trucs pas trop cher en reconditionné.

Les questions maintenant :

  • Je pars plutôt sur du Xeon, car 1- ça se trouve facilement d’occasion, 2- c’est ça qui est présent un peu partout dans les parcs que je côtoie, 3- j’utilise des logiciels bien parallélisés, donc un gros processeur seul n’a pas d’intérêt particulier. Mais est-ce une bonne idée, y a-t-il des alternatives ?
  • Je suis tombé sur des trucs comme ça (pour prendre un exemple pas cher). Je suis presque étonné que ce soit aussi peu cher : Xeon quad core (8 threads) sorti en 2010 pour moins de 100 €. C’est sans disque dur et sans alimentation ; ai-je loupé autre chose ? Y a-t-il anguille sous roche ?
  • Avez-vous déjà acheté des serveurs reconditionnés ? Si oui, des conseils, des retours, de bonnes adresses3 ?

Pour la mise en place, j’imagine qu’il suffit de lui coller un disque dur et une alimentation, mettre tout ça dans un rack, booter (sur un DVD ? une clé USB ?), puis installer le tout. Une fois le port ssh ouvert, c’est fini. Me fais-je des idées, et qu’en fait c’est plus compliqué ?

J’ai déjà fouillé un peu, mais je préfère m’assurer que je ne suis pas à côté de la plaque avant d’aller plus loin. Mon usage est basique : je me connecte en ssh, lance des calculs, et reviens quelques heures, jours ou semaines plus tard récupérer les résultats. J’en serai l’administrateur et utilisateur principal4.

Bref : est-ce réaliste ?


  1. Gcc 4.4 (2010), python 2.6… On est plusieurs (tous ceux qui font un peu de programmation) à se plaindre que plein de choses ne compilent pas car les bibliothèques système sont trop vieilles. On n’est pas hyper exigent : moins de 5 ans, quand on bosse dans la recherche, ça me parait raisonnable… 

  2. Plutôt que de me battre contre des moulins. 

  3. Ce sera moi qui paye, pour pouvoir travailler tranquille, donc au-dessus de 300 €, je commence à faire la grimace. 

  4. Je suis prêt à ouvrir ma porte à des amis doctorants qui sont dans le besoin. Mais on sera 4 à tout casser, avec peu ou prou les mêmes besoins. 

+0 -0

Concernant le point 2, une lame de calcul sans l’infra pour héberger lesdites lames (en particulier l’alim en courant continu et la ventilation), ça risque d’être compliqué à faire tourner.

Sinon, cf http://linuxfr.org/users/vejmarie/journaux/et-si-l-open-hardware-democratisait-l-usage-d-ordinateurs-reconditionnes qui peut te donner des pistes / idées.

Waw. Et dire qu’on se plaint de la vétusté de notre matériel, mais à côté de ça, je suis au paradis :o </3615malife>

Alors : réalisable, oui, ça l’est clairement. Le reconditionné nous "sauve la vie", on s’en sert pour les machines sur lesquelles nos étudiants font leurs TPs, et ils travaillent sur du matos du coup de 2008, si ma mémoire est bonne. En fait, ce qu’on constate, c’est que c’est pas la blade qui lâche, c’est le disque dur, l’alim ou la mémoire. D’où un conseil idiot, c’est de prendre un DD en double, on ne sais jamais.

Je sais pas ce que sont tes besoins en ressources calculatoire (en terme de mémoire et de nombre de processeurs), mais c’est pas impossible pour pas trop cher. À ce sujet, n’oublie pas non plus qu’en plus de l’espace de stockage, il te faut de la RAM (j’irais même plus loin, il te faut de la vieille RAM, donc n’oublie pas de regarder de ce côté là). Je n’ai aucune idée de comment l’alimentation de ces choses fonctionne exactement, mais je doute que tu puisse y arriver sans un rack.

Niveau système, n’importe quel Linux fera l’affaire (bon, pas la stable de Debian si tu veux que tes libs soient un minimum à jour), mais je te conseille quand même d’y installer un scheduler pour la gestion de la file d’attente et des ressources. Chez nous, on utilise SLURM, qui est libre et gratuit. Je sais pas à quel point c’est chiant à configurer, mais une fois que c’est fait, joie.

Si t’as des questions précise, je suis en très bon terme avec mon administrateur système (qui justement gère les machines reconditionnées pour les étudiants, mais aussi celles des chercheurs), je peux lui demander des conseils.

Peace ;)

EDIT: bien vu, Spacefox.

+2 -0

Pour l’infra, j’espère pouvoir négocier de mettre des lames perso dans l’infra du labo, mais c’est pas gagné (du tout)…

J’avais déjà lu le lien, et ça m’a aussi poussé à chercher : ils proposent du 2x8 cœurs (2x16 threads) avec 64 GB de mémoire, soit beaucoup plus que ce dont j’ai besoin pour 750 $ (700 €), soit plus que ce que je suis prêt à mettre. ^^

Concernant mes besoins : j’utilise un dérivé de lammps, et des programmes perso couteux en temps de calculs, mais léger en mémoire : typiquement quelques centaines de MB par threads au maximum (que ce soit le dérivé de lammps ou mes programmes). Par contre, les calculs peuvent tourner un moment. La machine sur laquelle pointe (indirectement) le lien de SpaceFox serait plus puissante que ce qu’on a au labo, donc pas besoin de taper aussi haut.

Typiquement, sur des XEON de 2010 (je ne sais pas lesquels exactement), mes calculs mettent jusqu’à une semaine pour 8 threads. Ce n’est pas énorme, c’est vraiment la disponibilité d’une machine à jour qui fait ses calculs dans un coin (pas ma machine de bureau, sur laquelle je veux pouvoir faire autre chose) qui manque. Si j’ai plus, je saurai l’utiliser intelligemment, mais pour 90 % de mes usages, un truc un peu plus puissant que le lien dans mon 1er message me suffirait.

Waw. Et dire qu’on se plaint de la vétusté de notre matériel, mais à côté de ça, je suis au paradis :o

Le pire, c’est que la puissance de calcul, on l’a. Je peux faire tourner ce que je veux en terme de calcul sans gêner personne, et ça marche. Mais les systèmes d’exploitation sont vieux et instables (dans le sens : aucune reproductibilité, des comportements bizarres régulièrement…). Et les permanents ne veulent pas y toucher, car ça marche pour eux (quoique, certains seraient bien content de changer de système). Je suis certain que quand j’aurai quitté le labo, les machines n’auront pas bouger d’un pouce d’un point de logiciel : ils veulent une homogénéité, donc les nouvelles (2014) machines ont le même système que les vieilles (à savoir CentOS 6, de mémoire), et comme les vieilles sont instables, on ne les touche plus…

Sinon, tu t’es intéressé à Amazon Web Services ? Il y a beaucoup d’offres EC2 orientées calcul qui te coûteront peut-être moins cher.

En pratique, je le demanderai en tant que particulier, donc je ne suis même pas sur d’être éligible.

En tout cas, merci pour réponses. ;)

+0 -0

Du coup, des machines dans le cloud à base de cœurs pas trop puissants comme https://www.scaleway.com/ risquent de ne pas aller pour faire tes calculs. C’est dommage, c’eut été une bonne solution.

PS : sinon, tu installes des VMs modernes sur tes systèmes antiques :)

C’est quoi tes besoins plus précisément ?

Tu fais tourner quoi dessus, et comment ?

victor

Plus précisément, c’est Ligggths, mais je doute que ça t’apporte plus d’info qu’un dérivé de lammps.

Je le compile, ainsi que des programmes perso, et lance des calculs durant d’une demi journée à une semaine.

Je peux difficilement être plus précis que ce que j’ai dit jusqu’ici : je fais des calculs qui coutent beaucoup de temps de calculs, peu d’IO (1Go / jour de calcul), avec une faible consommation mémoire (très inférieur à 1 GB par threads).

Mon problème est avant tout logiciel, mais pour pouvoir le résoudre, je dois avoir ma propre machine. Et là, même un Xeon un peu vieux avec 24 threads et 8GB de RAM réponds largement à mes besoins.

Est-ce que vous avez de bonnes adresses, est-ce qu’au contraire vous avez déjà testé le reconditionné et le déconseillez, est-ce que c’est plus compliqué que ça en a l’air ? C’est plutôt ça le but de ce sujet.

Attention avec lammps, comme tout bon programme de MD qui se respecte, il fait beaucoup d’I/O (en fait beaucoup de "O", mais c’est l’idée). Donc je reste sur mon idée d’un bon DD ou deux.

Je n’ai pas les chiffres sous les yeux, mais de mémoire, Le temps mis par les IO est très faible devant tout le reste (après vérification, c’est moins de 0,1 % du temps mis par le programme, c’est donc effectivement très faible). J’utilise un programme de type DEM (éléments discret), ce n’est pas tout à fait de la DM (beaucoup moins de voisins, en particulier).

+0 -0

C’est quoi tes besoins plus précisément ?

Tu fais tourner quoi dessus, et comment ?

victor

Plus précisément, c’est Ligggths, mais je doute que ça t’apporte plus d’info qu’un dérivé de lammps.

Gabbro

Ça m’apporte au contraire énormément d’infos (enfin, s’il s’agit de Liggghts*), et ça me fait me poser plus de questions. Est-ce qu’au lieu d’avoir un rack, t’aurais pas avantage à acheter du GPU d’occasion ?

* d’ailleurs le nom est marrant, bien trouvé et facile à retenir !

+0 -0

Pour des petits calculs aussi courts, il est parfaitement inutile de prendre un "vrai" serveur de calculs qui servira juste à exploser ton budget. Tu as l’air d’avoir surtout besoin de pouvoir avoir beaucoup de threads, donc avec un budget aussi serré, la seule solution est comme conseillé par victor, un GPU.

Aux dernières nouvelles, Liggghts ne marche pas avec les GPU (contrairement à Lammps) :

Is this [GPU for Liggghts] a new developement and if so, is there any documentation on how to use it?

no news on this - we’re following the developments on the LAMMPS side (that’s where the GPU package/lib comes from), but are not fully convinced of the merits for granular simulations. So no developments planned in the very near future

Christophe Kloss, dev liggghts, janvier 2016
+0 -0

j’utilise des logiciels bien parallélisés

Parallélisés comment ? Avec quelle bibliothèque ? Si c’est du parallélisme basé sur la norme MPI, alors tu peux prendre plusieurs petits serveurs en réseau et les faire travailler ensemble. Sinon bonne chance, il va te falloir un gros CPU.

Xeon quad core (8 threads)

4 coeurs physiques = 4 unités de calcul; donc les 8 threads se partagent 4 unités de calcul, ce qui n’a pas d’intérêt quand ton appli fait du calcul à mort.

C’est sans disque dur et sans alimentation ; ai-je loupé autre chose ?

L’alim c’est normal, elle est généralement achetée en fonction du rack dans lequel placer la blade. Sans disque dur aussi, parce que :

  • ils tombent souvent en panne (surtout sur les processus très demandeurs en I/O), et sont abîmés
  • ils stockent des données, donc ils sont conservés et réutilisés (ou détruits), mais ne devraient jamais être revendus
  • il peut arriver que les systèmes aient un bios qui permette de faire un boot PXE. On peut donc faire du diskless (système minimal en mémoire récupéré sur le réseau, avec juste ce qu’il faut pour calculer)

au-dessus de 300 €, je commence à faire la grimace

Heu … si tu as des calculs aussi lourds à faire tourner pour ton travail et que tu y vas de ta poche, c’est qu’il y a un problème. Et 300€ pour un calculateur, c’est peu. A ce prix tu peux avoir deux-trois cartes mères + CPUs, mais c’est pas du gros CPU quoi. Et il faut compter l’alim + réseau stable (croiser les doigts pour que ça passe n’aidera malheureusement pas).

des systèmes antédiluviens

Si tu as un compte SSH sur un serveur de calcul, tu peux toujours installer dans ton home tes propres compilateurs & versions de python. Je fais ça souvent pour éviter de polluer ma partition système. Et ça permet de tester rapidement.

Pour la mise en place, j’imagine qu’il suffit de lui coller un disque dur et une alimentation, mettre tout ça dans un rack, booter (sur un DVD ? une clé USB ?), puis installer le tout

Comme indiqué plus haut, un système diskless peut aussi faire l’affaire : que ce soit un DVD/USB ou par le réseau, tu mets tout en mémoire, comme ça ça ira plus vite. Par contre il te faudra un HDD pour stocker les données persistentes. Et l’administration système, c’est assez compliqué, donc demande s’il n’y a pas un admin sys qui aurait la gentillesse de te filer un coup de main (surtout pour la config réseau).

EDIT: après m’être rendu sur la page publique du code source de LIGGGHTS, il semblerait que les versions OpenCL et CUDA soient disponibles. Pareil pour OpenMPI. Je te conseille d’investir dans un GPU (pas trop cher, les quadro d’NVidia commencent à 100€), qui sera plus efficace niveau parallélisme que les CPUs.

+1 -0

Parallélisés comment ?

En MPI, en effet.

Heu … si tu as des calculs aussi lourds à faire tourner pour ton travail et que tu y vas de ta poche, c’est qu’il y a un problème.

On est d’accord, il y a un problème. ^^ Je voulais voir si cette idée était une alternative envisageable.

Au vu des réponses ici (et en particulier de la tienne), ça me semble de moins en moins réalisable. Par contre, le fait de chercher des alternatives (actuellement : aller squatter les serveurs du groupe voisin (même labo)) a eu son petit effet et semble avoir débloquer certains verrous politiques. De fait, j’ai des solutions plus réalistes qui se profilent.

Merci à vous tous. Si ça se rebloque, je reviendrai ici pour vous demander des conseils un peu plus concret (racks envisageables, machines potentielles…).

Édit : Liggghts suit Lammps, donc dispose de fichiers (lammps) pour les GPU. Mais ceux-ci ne sont pas utilisables pour Liggghts aux dernières nouvelles (janvier 2016). Ça aurait effectivement été une solution, mais dans mon cas, ça ne marche pas. :(

+0 -0

Ça peut compenser une installation MPI boguée jusqu’à la moelle, docker ? Malheureusement, le système même souffre soit d’instabilité, soit de configuration que je qualifierai gentiment d’exotique (et ça, j’y peut rien).

+0 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte