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

par

dans

Dans cet article je vais vous par­ler d'une facette un peu moins connue de la bio­in­for­ma­tique en vous pré­sen­tant com­ment il est pos­sible, à l'heure actuelle, d'assembler un ser­veur d’analyse bio­in­for­ma­tique avec un bud­get ser­ré. Il ne s'agit pas d'une étude de mar­ché très pous­sée mais d'un simple exemple du maté­riel qu'il est pos­sible d'utiliser pour réa­li­ser un ser­veur de déve­lop­pe­ment per­for­mant. En tant que bio­in­for­ma­ti­cien, il est impor­tant de savoir com­ment fonc­tionne une machine, mon­ter soi-même un ser­veur est un très bon moyen de se fami­lia­ri­ser avec le maté­riel que l'on uti­lise quo­ti­dien­ne­ment. De plus, cela n'a rien de bien com­pli­qué et per­met de réa­li­ser des éco­no­mies assez consé­quentes com­pa­ré à l'achat d'un sys­tème pré-mon­té. Dans un pre­mier temps, et c’est sans doute la règle de base dans ce type de démarche, il est impor­tant de faire un état des lieux et de se poser les bonnes ques­tions pour esti­mer les besoins réels avant de se lan­cer dans un achat com­pul­sif. Ça peut paraître idiot mais com­bien de labos, après avoir reçu une bourse, se sont empres­sés d’acheter la toute der­nière machine à PCR-élec­tro­pho­rèse-cafépour fina­le­ment ne jamais s’en ser­vir ? C’est bien­tôt la fin de l’année bud­gé­taire, il reste quelques fonds pour ache­ter du maté­riel et amé­lio­rer l’infrastructure, fai­sons preuve de bon sens et inves­tis­sons dans quelque chose d'utile : du matos infor­ma­tique ! 😉

Chris­Dag (CC-by-SA 2.0)

Dans notre groupe de recherche, il manque sérieu­se­ment d’un ser­veur de test /​ déve­lop­pe­ment /​ ana­lyse. L’idéal, serait une machine assez poly­va­lente et puis­sante qui nous per­met­trait de déve­lop­per et tes­ter tran­quille­ment nos appli­ca­tions et ana­lyses sans uti­li­ser notre ser­veur de pro­duc­tion. Le tout, si pos­sible, pour un coût infé­rieur à 3000€. Cette machine sera uti­li­sée pour dif­fé­rents types de tra­vaux : ana­lyse de don­nées NGS, déve­lop­pe­ment de bases de don­nées, sta­tis­tiques, ali­gne­ment de séquences, GPGPU, … Le nombre d'utilisateurs est faible (<5), une machine aux carac­té­ris­tiques sui­vantes sera donc adap­tée :

  • 6/​12 coeurs
  • 64 GB de ram
  • 12 Tb de sto­ckage en RAID

Notre four­nis­seur habi­tuelnous pro­pose le tout pour un bud­get d’environ 10000€. Un peu trop cher pour l'utilisation que l'on sou­haite en faire. Voyons ce que l'on peut réa­li­ser avec du maté­riel acces­sible au grand public.

  • Carte mère :
    • Les contraintes pour le choix de la carte mère seront : un nombre maxi­mum de slots pour la mémoire vive et un maxi­mum de ports SATA pour les disques durs. Les cartes mères grand public actuelles ont une limite de 8 slots pour la RAM. La plu­part peuvent accueillir une capa­ci­té maxi­male de 64GB (8*8GB) mais cer­taines peuvent sup­por­ter jusqu'à 128GB de RAM (8*16GB). Le nombre de ports SATA est éga­le­ment un cri­tère impor­tant, car il per­met­tra de faire évo­luer la machine si neces­saire.
    • Cette carte MSI semble par­fai­te­ment cor­res­pondre à ce que l’on recherche.
    • ~350€
  • Pro­ces­seur :
    • Intel i7 3930k
    • Il s'agit d'un pro­ces­seur puis­sant par­fai­te­ment com­pa­tible avec la carte mère sélec­tion­née. Ce pro­ces­seur pos­sède de 6 coeurs, capables d'executer jusqu'a 12 taches en paral­lèles, ce qui est tres inter­es­sant pour le mul­ti­threa­ding.
    • ~550€
  • Mémoire RAM :
    • 8x8Gb pour un total de 64Gb.
    • ~300€
  • Sto­ckage :
    • Ici, nous avons déci­der d’utiliser 5 disques de 3TB montes en RAID 6. Cela per­met­tra d’obtenir un volume de sto­ckage de 9TB, lar­ge­ment suf­fi­sant dans notre cas.
    • 130 x 5 = 650€
  • Sys­tème d’exploitation :
    • N’importe quelle dis­tri­bu­tion GNU/​Linux fera l’affaire. Ubun­tu ser­ver sera sans doute notre choix final. Basée sur Debian, cette dis­tri­bu­tion per­met­tra d'installer faci­le­ment tous les outils dont on aura besoin.
    • 0€
    • Le sys­tème sera ins­tal­lé sur un disque dur SSD. Cela per­met­tra d'augmenter l’exécution des taches et pour évi­ter les mau­vaises sur­prises deux disques iden­tiques seront mon­tés en RAID1, une capa­ci­té de 128GB sera suf­fi­sante pour ins­tal­ler le sys­tème.
    • 90 x 2 = 180€
    • Carte gra­phique :
      • Option­nel dans la plu­part des cas, mais comme nous avons l'intention d'utiliser/développer cer­taines appli­ca­tions , nous en ajou­te­rons une. Pas besoin d’une machine de guerre dans notre cas, une GeForce GTX560 sera par­faite.
      • 190€
  • Autres :
    • Boi­tier
    • Ali­men­ta­tion
    • Ven­ti­la­teurs
    • Sys­tème de refroi­dis­se­ment pour le pro­ces­seur
    • 350€ (assez large)

Le bud­get total est d’environ 2500€, un coût rela­ti­ve­ment faible pour un ser­veur de bio­in­for­ma­tique poly­va­lent et aux per­for­mances tout à fait cor­rectes. Un ser­veur simi­laire (livré mon­té!) cou­te­rait ~4 fois plus, c'est un des avan­tages du DIY qui s'applique à de nom­breux domaine, un exemple avec cette  PCR mai­son ;). Assem­bler son propre ser­veur per­met éga­le­ment une grande flexi­bi­li­té, le choix de la confi­gu­ra­tion peut-être tota­le­ment adap­té en fonc­tion des ses besoins et de son bud­get. Cepen­dant, vous res­tez le seul juge quant au choix du maté­riel à uti­li­ser et il est donc facile de finir avec une machine qui ne cor­res­pon­dra pas à vos attentes. De plus, le mon­tage et confi­gu­ra­tion pren­dra cer­tai­ne­ment plus de temps qu'une machine plug and play, ce qui est éga­le­ment un cri­tère impor­tant. Je pense com­man­der une confi­gu­ra­tion à peu près simi­laire à celle-ci avant la fin de l'année. D'ici là, si vous avez des sug­ges­tions ou retours d’expériences  n’hésitez pas à nous les faire par­ta­ger.

 

En remer­ciant max et Sp4M pour la relec­ture et leur remarques construc­tives.



Pour continuer la lecture :


Commentaires

11 réponses à “Monter un serveur de test pour des besoins d’analyses en bioinformatique”

  1. Un article vrai­ment inté­res­sant car le besoin est cou­rant dans des petites équipes de bio­in­for­ma­tique qui n'ont pas de pla­te­forme de cal­cul en sou­tien.

    J'irai un peu plus loin en met­tant un sys­tème hyper­vi­seur per­met­tant de gérer des machines vir­tuelles tel Prox­mox.
    En effet nous avons fait le constat que la plu­part de nos ser­veurs étaient sou­vent sous-exploi­tés et que les VMs étaient une réponse effi­cace en terme de faci­li­té de ges­tion, de déploie­ment et de sau­ve­garde.

    Cette solu­tion, alliée à la votre, per­met­trai de gérer des envi­ron­ne­ments de déve­lop­pe­ment très variés, backu­pés et com­plè­te­ment indé­pen­dants les uns des autres. Et tout cela pour des coups vrai­ment en des­sous des mar­chés comme vous le mon­triez.

    1. Mer­ci. En effet, j'ai enten­du dire que l'utilisation de machines vir­tuelles pou­vait etre tres effi­cace. Je ne connais­sais pas Prox­mox, ca a l'air d'etre un ters bon outils de ges­tion de VM, je vais aller voir ca de plus pret. Mer­ci pour l'info !

  2. Sym­pa l'article : juste pour l'info, un mar­ché a été négo­cié entre les aca­dé­miques au sens large et le four­nis­seur que tu cites qui per­met d'avoir des tarif très agres­sif et très loin du prix que tu cites dans ton article avec du sup­port, du conseil et une garan­tie J+1 sur 3 ans très appré­ciable quand on monte un pro­jet de type pro­fes­sion­nel.

    1. C'est vrai que les fabri­cants ont sou­vent des 'par­te­na­riats' avec les grandes entreprises/​universites/​etc, ren­dant les tarifs plus abor­dables. Mais cela peut varier gran­de­ment d'un pays a l'autre. Nous avons ega­le­ment cer­tains accords com­mer­ciaux ici, mais rien de tres inter­es­sant pour les ser­veurs de ce type (on a de bons prix pour les ecrans par contre!).

  3. […] Mon­ter un ser­veur de test pour des besoins d’analyses en bio­in­for­ma­tique | bioin​fo​-fr​.net […]

  4. Bon­jour

    Pour vos cal­culs pour­quoi vous ne pas­ser pas par la com­mu­nau­tée des béné­voles BOINC ?
    http://​boinc​-af​.org/

    Pas­sion et dyna­misme anime cette com­mu­nau­tée.

    Ami­ca­le­ment.

  5. Avatar de Cyperus

    Tout à fait d'accord avec le "DIY" ! Dans mon ancien labo ils ont mon­té un ser­veur à 24 coeurs, 200Gb de RAM et 6Tb en RAID pour ~4000€ avec un Ubun­tu Ser­ver, soit pas loin d'un tier du prix exi­gé par des reven­deurs offi­ciels. Ils ont expli­qué ça lors d'une pré­sen­ta­tion comme étant "a proof of concept". Très effi­cace !

  6. Bon­jour,

    Article inté­res­sant.
    J'ai eu à don­ner mon avis sur une confi­gu­ra­tion de ser­veur de cal­cul récem­ment.
    Je n'y connais pas grand chose en maté­riel, et ma réac­tion a juste été "ça a l'air bien".
    Je pense que celui qui ne s'y connaît pas devra se conten­ter du dis­cours des com­mer­ciaux (ou mieux des amis).
    Sinon, très vite les blo­cages arrivent, par exemple :
    "Vaut-il mieux prendre un pro­ces­seur 6 cœurs à 550 € ou bien un 4 cœurs, mieux caden­cé à moi­tié prix et prendre plus de ram ou une meilleure carte mère ?"

    Pour reve­nir à l'article, il est tout de même sym­pa de savoir qu'une autre voie est pos­sible.

    1. J'ai tes­té : la phrase magique pour avoir un vrai conseil de la part d'un ven­deur, sur­tout en infor­ma­tique : Com­men­cez par un "Que me conseillez-vous ?", c'est le ven­deur qui par­le­ra. Mais ne vous arrê­tez pas là, et enchaî­nez avec un : "D'accord, et sinon, votre avis de pro­fes­sio­nel, quel est-il ?". Sur­prises garan­ties…

  7. Bon article, c'est clair que pour du dev/​test avec bud­get ser­ré un tel DIY a un très bon rap­port perf/​prix (en plus d'être sym­pa à conce­voir!).

    Par contre, il ne faut pas occul­ter les avan­tages des ser­veurs four­nis par un pres­ta­taire : gamme supé­rieure (Xeon + RAM ECC + contrô­leur RAID dédié), form fac­tor avan­ta­geux si on a déjà une baie (un tel ser­veur tiens en 1U ou une blade), ali­men­ta­tions redon­dante si besoin, et sur­tout sup­port tech­nique comme dit pré­cé­dem­ment. C'est clai­re­ment plus cher (sans atteindre 10K€, la config en lien a 2 CPU!), mais le saut est néces­saire dès qu'il s'agit d'un ser­veur de prod ou qu'il n'y a pas le fan de hard­ware du labo pour s'en occu­per. ^^

    En ce qui concerne votre config, c'est une belle machine. J'attire juste votre atten­tion sur la confi­gu­ra­tion SATA visée. Il sem­ble­rait que le RAID 6 n'est pas pos­sible sur cette carte mère (http://​fr​.msi​.com/​p​r​o​d​u​c​t​/​m​b​/​B​i​g​-​B​a​n​g​-​X​P​o​w​e​r​-​I​I​.​h​t​m​l​#​/​?​d​i​v​=​D​e​t​ail); de plus, vous ris­quez d'avoir des pro­blè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 pre­mière grappe. Il ne vous reste "que" 4 ports sur les­quels le RAID est dis­po (SATA3~6), un RAID5 avec 4 disques 3To vous lais­se­ra vos ~9To dis­po mais avec un seul disque en panne pos­sible. Tout ça pour dire que je pense qu'il y a un disque de pré­vu de trop ! A moins que le ASM1061 per­mette le RAID, mais appa­rem­ment non (http://​www​.asme​dia​.com​.tw/​e​n​g​/​e​_​s​h​o​w​_​p​r​o​d​u​c​t​s​.​p​h​p​?​c​a​t​e​_​i​n​d​e​x​=​1​1​7​&​i​t​e​m​=​118).

    Sinon je pense que vous avez bien réflé­chi votre choix d'alimentation ; pour les lec­teurs de cet article j'aimerais détailler ce point qui est loin d'être secon­daire ou à négli­ger. Un des moyens d'avoir un matos qui fonc­tionne effi­ca­ce­ment et qui dure long­temps est de choi­sir une ali­men­ta­tion de qua­li­té. Les marques recon­nues sont (très) for­te­ment conseillées (Antec, Sea­so­nic…), car ce sont des alims qui peuvent vrai­ment four­nir la puis­sance affi­chée tout en gar­dant des ten­sions stables et lisses même en forte charge (ce qui sau­ve­garde les com­po­sants). De plus, elles pré­sentent une faible baisse tem­po­raire de ten­sion lors d'un appel mas­sif de puis­sance (au hasard, une appli­ca­tion GPGPU qui com­mence à cal­cu­ler). Elles sont aus­si dotées de cir­cuits de pro­tec­tion effi­caces qui per­mettent d'éviter endom­ma­ger les com­po­sants en cas de sou­ci côté réseau élec­trique, mais éga­le­ment d'éviter de cla­quer elles-mêmes en cas de sou­ci côté matos (j'en ai fait l'expérience :-P).
    En plus de ça, une cer­ti­fi­ca­tion 80+ (je vous conseille­rais au moins 80+ Argent pour une telle machine) est sou­hai­table. Cette cer­ti­fi­ca­tion garan­tie une cer­taine effi­ca­ci­té éner­gé­tique de l'alimentation entre 20% et 80% de charge, sachant que l'optimum se situe autour de 50%. Plus effi­cace veut dire moins de consom­ma­tion, moins de cha­leur à dis­si­per, moins de bruit (dans notre cas on s'en fiche), et glo­ba­le­ment une haute qua­li­té de com­po­sants.
    Dans cette gamme de pro­duit, vous gagnez des petits plus comme la modu­la­ri­té de l'alim. A la louche, pour cette config je conseille­rais une ~800W 80+ Argent (~150€). Si vous pen­sez que le ser­veur sera très uti­li­sé (>50% CPU 24h/​24 + CUDA pen­dant des heures), 1000W seraient peut-être plus judi­cieux.
    Un petit ondu­leur pour­rait-être un plus éga­le­ment.

    Bon mon­tage !

  8. Bon­jour,

    Juste un mot pour vous remer­cier pour cet article. C'est ce qui m'a don­né l'idée de faire mon­ter une machine opti­mi­sée pour mon usage, et cela m'a per­mis de réa­li­ser des éco­no­mies signi­fi­ca­tives. En gros, i3930k, 32go, disque SSD de 128go, bonne alim, bons ven­ti­los, et une carte mère MSI per­met­tant un over­clock assez sûr => per­for­mances de 165 Gflop, pour envi­ron 1000 Euros HT. La même per­for­mance chez une marque, avec plein de trucs qui ne me seraient pas utiles, ce serait au moins 6000 Euros.
    Et main­te­nant je vais faire mon­ter deux ser­veurs de plus, ce qui m'amène à près de 0.5 Tera­flop exploi­tables par R.

Laisser un commentaire