Astuce :
Monter un serveur de test pour des besoins d’analyses en bioinformatique

Dans cet article je vais vous parler d'une facette un peu moins connue de la bioinformatique en vous présentant comment il est possible, à l'heure actuelle, d'assembler un serveur d’analyse bioinformatique avec un budget serré. Il ne s'agit pas d'une étude de marché très poussée mais d'un simple exemple du matériel qu'il est possible d'utiliser pour réaliser un serveur de développement performant. En tant que bioinformaticien, il est important de savoir comment fonctionne une machine, monter soi-même un serveur est un très bon moyen de se familiariser avec le matériel que l'on utilise quotidiennement. De plus, cela n'a rien de bien compliqué et permet de réaliser des économies assez conséquentes comparé à l'achat d'un système pré-monté. Dans un premier temps, et c’est sans doute la règle de base dans ce type de démarche, il est important de faire un état des lieux et de se poser les bonnes questions pour estimer les besoins réels avant de se lancer dans un achat compulsif. Ça peut paraître idiot mais combien de labos, après avoir reçu une bourse, se sont empressés d’acheter la toute dernière machine à PCR-électrophorèse-cafépour finalement ne jamais s’en servir? C’est bientôt la fin de l’année budgétaire, il reste quelques fonds pour acheter du matériel et améliorer l’infrastructure, faisons preuve de bon sens et investissons dans quelque chose d'utile : du matos informatique ! 😉

ChrisDag (CC-by-SA 2.0)

Dans notre groupe de recherche, il manque sérieusement d’un serveur de test / développement / analyse. L’idéal, serait une machine assez polyvalente et puissante qui nous permettrait de développer et tester tranquillement nos applications et analyses sans utiliser notre serveur de production. Le tout, si possible, pour un coût inférieur à 3000€. Cette machine sera utilisée pour différents types de travaux: analyse de données NGS, développement de bases de données, statistiques, alignement de séquences, GPGPU, ... Le nombre d'utilisateurs est faible (<5), une machine aux caractéristiques suivantes sera donc adaptée:

  • 6/12 coeurs
  • 64 GB de ram
  • 12 Tb de stockage en RAID

Notre fournisseur habituelnous propose le tout pour un budget d’environ 10000€. Un peu trop cher pour l'utilisation que l'on souhaite en faire. Voyons ce que l'on peut réaliser avec du matériel accessible au grand public.

  • Carte mère:
    • Les contraintes pour le choix de la carte mère seront: un nombre maximum de slots pour la mémoire vive et un maximum de ports SATA pour les disques durs. Les cartes mères grand public actuelles ont une limite de 8 slots pour la RAM. La plupart peuvent accueillir une capacité maximale de 64GB (8*8GB) mais certaines peuvent supporter jusqu'à 128GB de RAM (8*16GB). Le nombre de ports SATA est également un critère important, car il permettra de faire évoluer la machine si necessaire.
    • Cette carte MSI semble parfaitement correspondre à ce que l’on recherche.
    • ~350€
  • Processeur:
    • Intel i7 3930k
    • Il s'agit d'un processeur puissant parfaitement compatible avec la carte mère sélectionnée. Ce processeur possède de 6 coeurs, capables d'executer jusqu'a 12 taches en parallèles, ce qui est tres interessant pour le multithreading.
    • ~550€
  • Mémoire RAM:
    • 8x8Gb pour un total de 64Gb.
    • ~300€
  • Stockage:
    • Ici, nous avons décider d’utiliser 5 disques de 3TB montes en RAID 6. Cela permettra d’obtenir un volume de stockage de 9TB, largement suffisant dans notre cas.
    • 130 x 5 = 650€
  • Système d’exploitation:
    • N’importe quelle distribution linux fera l’affaire. Ubuntu server sera sans doute notre choix final. Basée sur Debian, cette distribution permettra d'installer facilement tous les outils dont on aura besoin.
    • 0€
    • Le système sera installé sur un disque dur SSD. Cela permettra d'augmenter l’exécution des taches et pour éviter les mauvaises surprises deux disques identiques seront montés en RAID1, une capacité de 128GB sera suffisante pour installer le système.
    • 90 x 2 = 180€
    • Carte graphique:
      • Optionnel dans la plupart des cas, mais comme nous avons l'intention d'utiliser/développer certaines applications , nous en ajouterons une. Pas besoin d’une machine de guerre dans notre cas, une GeForce GTX560 sera parfaite.
      • 190€
  • Autres:
    • Boitier
    • Alimentation
    • Ventilateurs
    • Système de refroidissement pour le processeur
    • 350€ (assez large)

Le budget total est d’environ 2500€, un coût relativement faible pour un serveur de bioinformatique polyvalent et aux performances tout à fait correctes. Un serveur similaire (livré monté!) couterait ~4 fois plus, c'est un des avantages du DIY qui s'applique à de nombreux domaine, un exemple avec cette  PCR maison ;). Assembler son propre serveur permet également une grande flexibilité, le choix de la configuration peut-être totalement adapté en fonction des ses besoins et de son budget. Cependant, vous restez le seul juge quant au choix du matériel à utiliser et il est donc facile de finir avec une machine qui ne correspondra pas à vos attentes. De plus, le montage et configuration prendra certainement plus de temps qu'une machine plug and play, ce qui est également un critère important. Je pense commander une configuration à peu près similaire à celle-ci avant la fin de l'année. D'ici là, si vous avez des suggestions ou retours d’expériences  n’hésitez pas à nous les faire partager.

 

En remerciant max et Sp4M pour la relecture et leur remarques constructives.

Catégorie: Astuce | Tags: , , ,

11 commentaires sur “Monter un serveur de test pour des besoins d’analyses en bioinformatique

  1. Un article vraiment intéressant car le besoin est courant dans des petites équipes de bioinformatique qui n\'ont pas de plateforme de calcul en soutien.

    J\'irai un peu plus loin en mettant un système hyperviseur permettant de gérer des machines virtuelles tel Proxmox.
    En effet nous avons fait le constat que la plupart de nos serveurs étaient souvent sous-exploités et que les VMs étaient une réponse efficace en terme de facilité de gestion, de déploiement et de sauvegarde.

    Cette solution, alliée à la votre, permettrai de gérer des environnements de développement très variés, backupés et complètement indépendants les uns des autres. Et tout cela pour des coups vraiment en dessous des marchés comme vous le montriez.

    • Merci. En effet, j\'ai entendu dire que l\'utilisation de machines virtuelles pouvait etre tres efficace. Je ne connaissais pas Proxmox, ca a l\'air d\'etre un ters bon outils de gestion de VM, je vais aller voir ca de plus pret. Merci pour l\'info!

  2. Sympa l\'article : juste pour l\'info, un marché a été négocié entre les académiques au sens large et le fournisseur que tu cites qui permet d\'avoir des tarif très agressif et très loin du prix que tu cites dans ton article avec du support, du conseil et une garantie J+1 sur 3 ans très appréciable quand on monte un projet de type professionnel.

    • C\'est vrai que les fabricants ont souvent des \'partenariats\' avec les grandes entreprises/universites/etc, rendant les tarifs plus abordables. Mais cela peut varier grandement d\'un pays a l\'autre. Nous avons egalement certains accords commerciaux ici, mais rien de tres interessant pour les serveurs de ce type (on a de bons prix pour les ecrans par contre!).

  3. [...] Monter un serveur de test pour des besoins d’analyses en bioinformatique | bioinfo-fr.net [...]

  4. Bonjour

    Pour vos calculs pourquoi vous ne passer pas par la communautée des bénévoles BOINC?
    http://boinc-af.org/

    Passion et dynamisme anime cette communautée.

    Amicalement.

  5. Tout à fait d\'accord avec le \"DIY\" ! Dans mon ancien labo ils ont monté un serveur à 24 coeurs, 200Gb de RAM et 6Tb en RAID pour ~4000€ avec un Ubuntu Server, soit pas loin d\'un tier du prix exigé par des revendeurs officiels. Ils ont expliqué ça lors d\'une présentation comme étant \"a proof of concept\". Très efficace !

  6. Bonjour,

    Article intéressant.
    J\'ai eu à donner mon avis sur une configuration de serveur de calcul récemment.
    Je n\'y connais pas grand chose en matériel, et ma réaction a juste été \"ça a l\'air bien\".
    Je pense que celui qui ne s\'y connaît pas devra se contenter du discours des commerciaux (ou mieux des amis).
    Sinon, très vite les blocages arrivent, par exemple :
    \"Vaut-il mieux prendre un processeur 6 cœurs à 550 € ou bien un 4 cœurs, mieux cadencé à moitié prix et prendre plus de ram ou une meilleure carte mère ?\"

    Pour revenir à l\'article, il est tout de même sympa de savoir qu\'une autre voie est possible.

    • J\'ai testé : la phrase magique pour avoir un vrai conseil de la part d\'un vendeur, surtout en informatique : Commencez par un \"Que me conseillez-vous ?\", c\'est le vendeur qui parlera. Mais ne vous arrêtez pas là, et enchaînez avec un : \"D\'accord, et sinon, votre avis de professionel, quel est-il ?\". Surprises garanties...

  7. Bon article, c\'est clair que pour du dev/test avec budget serré un tel DIY a un très bon rapport perf/prix (en plus d\'être sympa à concevoir!).

    Par contre, il ne faut pas occulter les avantages des serveurs fournis par un prestataire: gamme supérieure (Xeon + RAM ECC + contrôleur RAID dédié), form factor avantageux si on a déjà une baie (un tel serveur tiens en 1U ou une blade), alimentations redondante si besoin, et surtout support technique comme dit précédemment. C\'est clairement plus cher (sans atteindre 10K€, la config en lien a 2 CPU!), mais le saut est nécessaire dès qu\'il s\'agit d\'un serveur de prod ou qu\'il n\'y a pas le fan de hardware du labo pour s\'en occuper. ^^

    En ce qui concerne votre config, c\'est une belle machine. J\'attire juste votre attention sur la configuration SATA visée. Il semblerait que le RAID 6 n\'est pas possible sur cette carte mère (http://fr.msi.com/product/mb/Big-Bang-XPower-II.html#/?div=Detail); de plus, vous risquez d\'avoir des problème de nombre de port. J\'imagine que votre RAID 1 de SSD sera sur les ports SATAIII (1 et 2), ce qui fera votre première grappe. Il ne vous reste \"que\" 4 ports sur lesquels le RAID est dispo (SATA3~6), un RAID5 avec 4 disques 3To vous laissera vos ~9To dispo mais avec un seul disque en panne possible. Tout ça pour dire que je pense qu\'il y a un disque de prévu de trop! A moins que le ASM1061 permette le RAID, mais apparemment non (http://www.asmedia.com.tw/eng/e_show_products.php?cate_index=117&item=118).

    Sinon je pense que vous avez bien réfléchi votre choix d\'alimentation; pour les lecteurs de cet article j\'aimerais détailler ce point qui est loin d\'être secondaire ou à négliger. Un des moyens d\'avoir un matos qui fonctionne efficacement et qui dure longtemps est de choisir une alimentation de qualité. Les marques reconnues sont (très) fortement conseillées (Antec, Seasonic...), car ce sont des alims qui peuvent vraiment fournir la puissance affichée tout en gardant des tensions stables et lisses même en forte charge (ce qui sauvegarde les composants). De plus, elles présentent une faible baisse temporaire de tension lors d\'un appel massif de puissance (au hasard, une application GPGPU qui commence à calculer). Elles sont aussi dotées de circuits de protection efficaces qui permettent d\'éviter endommager les composants en cas de souci côté réseau électrique, mais également d\'éviter de claquer elles-mêmes en cas de souci côté matos (j\'en ai fait l\'expérience :-P).
    En plus de ça, une certification 80+ (je vous conseillerais au moins 80+ Argent pour une telle machine) est souhaitable. Cette certification garantie une certaine efficacité énergétique de l\'alimentation entre 20% et 80% de charge, sachant que l\'optimum se situe autour de 50%. Plus efficace veut dire moins de consommation, moins de chaleur à dissiper, moins de bruit (dans notre cas on s\'en fiche), et globalement une haute qualité de composants.
    Dans cette gamme de produit, vous gagnez des petits plus comme la modularité de l\'alim. A la louche, pour cette config je conseillerais une ~800W 80+ Argent (~150€). Si vous pensez que le serveur sera très utilisé (>50% CPU 24h/24 + CUDA pendant des heures), 1000W seraient peut-être plus judicieux.
    Un petit onduleur pourrait-être un plus également.

    Bon montage!

  8. Bonjour,

    Juste un mot pour vous remercier pour cet article. C\'est ce qui m\'a donné l\'idée de faire monter une machine optimisée pour mon usage, et cela m\'a permis de réaliser des économies significatives. En gros, i3930k, 32go, disque SSD de 128go, bonne alim, bons ventilos, et une carte mère MSI permettant un overclock assez sûr => performances de 165 Gflop, pour environ 1000 Euros HT. La même performance chez une marque, avec plein de trucs qui ne me seraient pas utiles, ce serait au moins 6000 Euros.
    Et maintenant je vais faire monter deux serveurs de plus, ce qui m\'amène à près de 0.5 Teraflop exploitables par R.

Laisser un commentaire