Quelle configuration ordinateur choisir pour analyser les données vraiment multi-paramétriques ?

Processeur, RAM, disque, carte graphique… autant de choix possibles.

En 2019, les points clés sont :
– un processeur rapide, car les calculs peuvent être gourmands ; souvent une partie des calculs n’est pas parallélisé (donc n’utilise qu’un seul coeur), et il est intéressant d’avoir une bonne vitesse
– de la mémoire : 32 Go de RAM en 2×16 Go ce qui laisse la possibilité de doubler cette capacité
– un disque dur SSD : 512 Go c’est bien, cela permet au système d’exploitation Windows (ou Linux) ainsi qu’aux logiciels de travailler rapidement
– un disque dur additionnel de 2 To (ou 4 To) pour stocker les fichiers de travail ; c’est du stockage temporaire, pour le long terme, il faut s’appuyer sur le serveur de fichiers de votre laboratoire/institut
– 1 écran 24 ou 26 pouces, en notant qu’il est important de le choisir de bonne qualité et que c’est le nombre de pixels qui importe ; un 2ème pour travailler super confort (conseillé pour un bioinformaticien)
– une garantie 5 ans (pas chère dans le cadre des marchés publics)
– une carte vidéo indépendante de 2 Go (à voir selon l’écran)
– une carte réseau à 1 Gb/s pour des transferts rapides

D’une façon générale, étudier les calculs que vous allez effectuer pour choisir la bonne configuration ou utiliser correctement les capacités de votre machine (notamment le ratio RAM/coeur).

Processeur Les processeurs disposent tous de plusieurs coeurs. C’est intéressant car plusieurs programmes ou tâches peuvent fonctionner en même temps. Pour les calculs intensifs, c’est aussi très intéressant, mais il faut surtout identifier les ressources nécessaires. Pour se rendre compte du parallélisme, il faut lancer le gestionnaire de tâches sous Windows, lancer le calcul et regarder l’utilisation processeur : si l’algorithme utilise tous (ou presque) les coeurs, alors il est bien parallélisé (ie il effectue plusieurs calculs en même temps), mais vous verrez qu’à certains moments ces calculs doivent être rassemblés et un seul coeur fonctionne alors. De façon simpliste, il y a 2 façons de paralléliser un traitement qui va analyser un lot de plusieurs fichiers. Soit le traitement effectue l’analyse sur chacun des fichiers, l’un après l’autre : l’algorithme répartit son calcul sur les différents coeurs pour chaque fichier et doit être bien écrit pour réaliser cette prouesse. Soit le traitement divise le lot de fichiers en groupe et répartit chaque groupe sur un coeur : l’algorithme est mono-coeur et son écriture reste simple. Avec un ordinateur multi-processeurs, tous les coeurs sont mis en commun , comme s’il n’y avait qu’un processeur. Le multi-coeur a ses limites : la RAM est associée à un processeur (via une autoroute) et son usage est partagée par les coeurs du processeur : chaque coeur n’a pas sa propre route d’accès à la RAM !

RAM La mémoire vive doit être étudiée en fonction des ressources nécessaires par le calcul et le nombre de coeurs sur lesquels le calcul sera répartit. Lorsque le traitement d’un lot de fichiers consiste à répartir le calcul en sous-groupes, chaque coeur doit disposer d’une quantité suffisante de RAM pour effectuer le calcul sur 1 fichier. Si le calcul consomme 2 Go de RAM et qu’il  y a 8 coeurs, il faut prévoir 16 Go rien que pour le calcul. Si l’algorithme était parallélisé dès son écriture (ce n’est pas toujours possible), il ne consommerait certainement pas autant… Pour la RAM aussi, il faut utiliser le gestionnaire de tâches pour voir quelle est le besoin en RAM lors du traitement d’un fichier (en tenant compte d’une éventuelle parallélisation).