Les Newsletters Interstices
    Niveau intermédiaire
    Niveau 2 : Intermédiaire

    Quand les bactéries se mêlent du calcul des ordinateurs

    Médecine & Sciences du vivant
    Architecture & Systèmes
    La modélisation des cellules permettra-t-elle de trouver des solutions aux problèmes que nos ordinateurs ne savent pas résoudre ? Pour le chercheur Hugues Berry, c'est une piste à explorer...

    Ecoutez l'interview d'Hugues Berry

    Hugues Berry

    Des processeurs multi-cœurs

    Les architectures des microprocesseurs résultent d’une évolution rapide, qui a débuté dans les années 60, quand Gordon Moore a observé que le nombre de transistors par circuit intégré croissait exponentiellement et prédit que cette tendance durerait (Loi de Moore). En réalité, à cause de la multiplication du nombre de transistors et de l’augmentation de leur densité, les scientifiques se trouvent maintenant confrontés à d’autres problèmes : il devient difficile d’augmenter la vitesse de fonctionnement des processeurs actuels. Les entreprises qui les produisent, comme Intel, conçoivent aujourd’hui des processeurs multi-cœurs, c’est-à-dire équipés de plusieurs nœuds (ou unités de calcul) calculant en parallèle.

    Le cœur d’un microprocesseur est son noyau de calcul, le centre « nerveux » —  il contient les registres, les unités d’exécution, etc. — dans lequel la majorité des calculs s’effectuent. Le terme « multi-cœur » est employé pour décrire un microprocesseur composé de plusieurs cœurs gravés au sein de la même puce et qui travaillent en parallèle. Ce type d’architecture permet d’augmenter la puissance de calcul sans augmenter la fréquence d’horloge, et donc de réduire la quantité de chaleur dissipée.

    La différence majeure entre les processeurs multi-cœurs et les ordinateurs utilisant plusieurs processeurs est qu’un microprocesseur multi-cœur n’est en fait qu’un seul microprocesseur (un seul circuit intégré), mais qui contient plusieurs cœurs de traitement complets, chacun avec ses registres, ses unités d’exécution, sa mémoire cache et un système de mise en commun, alors qu’un ordinateur multiprocesseurs a plusieurs processeurs distincts et séparés physiquement.

    D’une façon générale, comme chaque cœur peut être considéré comme une unité de calcul relativement autonome, on assimile le processeur multi-cœurs à un petit réseau, dans lequel chaque cœur correspond à un des nœuds du réseau.

    Or, comme nous l’explique Hugues Berry dans ce neuvième épisode du podcast d’Interstices, cette solution pose elle-même des problèmes difficiles, en particulier parce qu’elle suppose de savoir décomposer tous les programmes en une multitude de tâches élémentaires. Les informaticiens ne maîtrisent pas encore le calcul massivement parallèle et robuste aux pannes. Et puis, à long terme, pour améliorer les performances des processeurs, il ne sera plus possible de jouer sur la taille des composants, alors limitée par les progrès de la technologie. En effet, on ne pourra pas aller au-delà de l’échelle atomique !

    Des calculs bio-inspirés

    Alors comment faire pour continuer à augmenter la puissance de calcul de nos ordinateurs ? Les chercheurs du projet ALCHEMY étudient des solutions alternatives. L’une d’elles consisterait à s’inspirer des systèmes biologiques. S’inspirer du vivant et de son organisation pour élaborer de nouvelles méthodes de calcul, cela peut paraître étrange… Et pourtant, comme nous le raconte Hugues Berry, ces systèmes présentent quelques similitudes qu’il est possible d’exploiter.

    Dans les systèmes biologiques, les interactions sont très nombreuses. Le fonctionnement d’une cellule est un phénomène qui s’observe à différentes échelles. Afin de le maîtriser, il faut comprendre comment fonctionne la multitude de molécules qu’une cellule contient et les interactions entre celles-ci, mais aussi, au niveau d’une population de cellules, comment ces systèmes moléculaires interagissent entre eux et avec l’environnement. Dans un premier temps, il faut donc étudier les systèmes biologiques en tant que systèmes, puis mettre au point des méthodes permettant de prendre en compte la dynamique de ces processus biologiques, en s’aidant de diverses techniques de modélisation et de simulation.

    Il s’agit ainsi d’analyser leurs comportements, puis d’essayer de traduire ces comportements en langage informatique. Modéliser les mécanismes en jeu dans les cellules de notre cerveau, lorsqu’on reconnaît un visage par exemple, pourrait alors servir à généraliser de tels processus.

    Des calculs implémentés sur les bactéries

    Une autre piste étudiée par Hugues Berry serait d’utiliser physiquement les bactéries (organismes vivants unicellulaires) ou les cellules comme un moyen de calcul. De la même façon qu’un électronicien combine des transistors et des portes logiques dans une configuration précise pour obtenir un comportement donné et les implémente dans un circuit électronique, il s’agit ici de combiner des gènes ou protéines (artificiels ou non) en un réseau moléculaire capable d’effectuer la tâche recherchée, et d’inclure ces réseaux dans une bactérie. Bien entendu, tout ceci n’en est encore qu’au stade de la recherche.

    On pourrait ainsi imaginer que des bactéries, une fois programmées, puissent distinguer les cellules cancéreuses des non-cancéreuses. Pour savoir si une cellule est cancéreuse en observant le niveau moléculaire, il faut mesurer les quantités de plusieurs protéines à la surface de la cellule ou à l’intérieur de celle-ci. Ces quantités mesurées sont ensuite utilisées comme variables d’entrée d’une fonction dont la valeur de sortie donne, par exemple, une probabilité que la cellule soit cancéreuse. Implémenter ce calcul, c’est-à-dire cette fonction compliquée, dans la bactérie est un problème aujourd’hui très difficile, que l’on espère pouvoir résoudre en utilisant certains outils de l’informatique : les langages, la compilation, la modélisation, et d’une manière plus générale, l’architecture.

    En retour, ce travail devrait permettre de mieux comprendre comment programmer les futurs ordinateurs à très grands nombres de cœurs, en les organisant comme des systèmes de cellules biologiques, qui par essence effectuent des calculs parallèles.

    Newsletter

    Le responsable de ce traitement est Inria. En saisissant votre adresse mail, vous consentez à recevoir chaque mois une sélection d'articles et à ce que vos données soient collectées et stockées comme décrit dans notre politique de confidentialité

    Niveau de lecture

    Aidez-nous à évaluer le niveau de lecture de ce document.

    Si vous souhaitez expliquer votre choix, vous pouvez ajouter un commentaire (Il ne sera pas publié).

    Votre choix a été pris en compte. Merci d'avoir estimé le niveau de ce document !

    Hugues Berry

    Directeur de recherche Inria dans l'équipe Beagle à Lyon.

    Voir le profil

    Joanna Jongwane

    Rédactrice en chef d'Interstices, Direction de la communication d'Inria

    Voir le profil