Qu’est-ce que l’informatique distribuée ?

Formes illustrant un orage

Auteurs

Phill Powell

Staff Writer

IBM Think

Ian Smalley

Staff Editor

IBM Think

Qu’est-ce que l’informatique distribuée ?

L’informatique distribuée utilise de nombreuses ressources informatiques situées à différents emplacements d’exploitation pour une finalité unique.

Les systèmes d’informatique distribuée permettent de réaliser des opérations à grande échelle. C’est cette technologie qui se cache derrière des expériences immersives comme les jeux en ligne massivement multijoueurs (MMO), où des milliers de personnes interagissent en temps réel. Pour assurer une expérience fluide et continue, ces systèmes doivent fonctionner de manière parfaitement coordonnée, en répartissant les charges entre plusieurs machines.

Elle permet aux fournisseurs de coordonner cette synchronisation et cette puissance de traitement informatique en vue d’un objectif commun.

Et ce n’est là qu’un exemple parmi les nombreuses applications étendues des services d’informatique distribuée aujourd’hui, notamment la création de graphismes 3D saisissants pour des animations vidéo, l’entraînement de réseaux neuronaux imitant le fonctionnement du cerveau humain, et la résolution d’équations extrêmement complexes en chimie et en physique

En général, le modèle d’informatique distribuée est particulièrement adapté aux traitements des tâches et workloads les plus exigeants, ainsi qu'aux problématiques computationnelles complexes. C’est pourquoi il repose sur l’utilisation de plusieurs composants interconnectés et d’une mémoire partagée.

Design 3D de balles roulant sur une piste

Les dernières actualités et informations en matière d’IA 


La newsletter hebdomadaire Think vous apporte toute l’actualité sur l’IA, le cloud et bien d’autres sujets. 

Comment fonctionne l’informatique distribuée ?

L’informatique distribuée réunit plusieurs ordinateurs, serveurs et réseaux pour accomplir des tâches informatiques de tailles et d’objectifs très variés. Dans les petits systèmes informatiques distribués dont les composants sont proches les uns des autres, ces éléments peuvent être connectés par un réseau local (LAN).

Dans les systèmes distribués plus vastes, où les composants sont séparés géographiquement, ceux-ci sont reliés via des réseaux étendus (WAN). Les composants d’un système distribué partagent des informations à travers le type de réseau utilisé. L’exemple le plus connu d’un système distribué est Internet. Peut-être l’exemple le plus controversé récemment est celui des cryptomonnaies.

Composants de l'informatique distribuée

Même dans sa forme la plus simple, un système d’informatique distribuée repose généralement sur trois composants essentiels :

  • Contrôleur principal du système
  • Entrepôt de données système
  • Base de données

Cela dit, il n’existe pas de règles strictes sur le nombre de composants requis ni sur les conditions précises définissant un environnement d’informatique distribuée. Il peut s’agir de quelques composants interconnectés, ou au contraire, d’un réseau beaucoup plus vaste.

C’est d’ailleurs l’un des principaux atouts de ce modèle : la possibilité d’évoluer facilement en ajoutant de nouvelles machines. Un autre avantage essentiel est la redondance : si un ordinateur du réseau tombe en panne, le système continue de fonctionner sans interruption, car la charge de travail est répartie.

Ce concept de redondance accrue va de pair avec l’importance accordée à la tolérance aux pannes. La tolérance aux pannes est un processus correctif qui permet à un système d’exploitation de répondre à une défaillance logicielle ou matérielle et de la corriger tout en maintenant le système en fonctionnement. La tolérance aux pannes est désormais considérée comme un indicateur général de viabilité continue d’une entreprise face à une panne perturbatrice.

Ainsi, les systèmes informatiques distribués ne sont pas limités en nombre de composants. Il n’est pas non plus nécessaire que ces composants soient physiquement proches ni connectés via un réseau local. Grâce aux capacités élargies des réseaux étendus, les ordinateurs d’un système distribué peuvent être séparés par des continents tout en restant opérationnels.

Connexion des réseaux informatiques distribués

L’objectif des systèmes d’informatique distribuée est de faire en sorte que le réseau, quelle que soit sa taille ou la localisation de ses composants, fonctionne comme un seul et même ordinateur. Cette coordination est rendue possible grâce à un système élaboré d’échange de messages entre les différents composants.

Ces échanges sont régis par des protocoles de communication, qui établissent une relation entre les composants. Cette relation est appelée « couplage », généralement classée selon deux formes :

  • Couplage lâche : les composants sont faiblement liés, ce qui signifie que des modifications apportées à l’un n’ont pas d’impact sur l’autre.
  • Couplage étroit : Le niveau de synchronisation et de parallélisme est tel dans les composants étroitement couplés qu’un processus appelé « clustering » utilise des composants redondants pour assurer la viabilité continue du système.

L’informatique distribuée gère aussi bien les effets positifs que négatifs de la concurrence, c’est-à-dire l’exécution simultanée de plusieurs séquences d’instructions. Parmi les qualités principales de la concurrence figure la possibilité de calcul parallèle de plusieurs threads d’exécution. (Le calcul parallèle ne doit pas être confondu avec le traitement parallèle, qui consiste à diviser des tâches d’exécution en plusieurs tâches plus petites.)

Les aspects négatifs de la concurrence incluent souvent une latence accrue et même des goulots d’étranglement où le trafic ralentit fortement en raison d’une surcharge du système distribué causée par un trop grand nombre de requêtes simultanées.

Il convient de noter que la concurrence diffère du multithreading. Le multithreading permet à un programme d’exécuter plusieurs tâches en arrière-plan, tandis que la concurrence mobilise davantage de ressources, car plusieurs threads s’exécutent simultanément et accèdent aux mêmes ressources partagées.

AI Academy

Se préparer à l’IA avec le cloud hybride

Dirigé par des leaders d’opinion IBM, le programme a pour but d’aider les chefs d’entreprise à acquérir les connaissances nécessaires qui leur permettront d’orienter leurs investissements IA vers les opportunités les plus prometteuses.

Avantages de l’informatique distribuée

Parfait pour les projets de grande envergure

Certains workloads sont gigantesques, bien au-delà de ce qu’un système unique peut supporter. L’informatique distribuée répartit ces charges sur plusieurs équipements, permettant ainsi de gérer efficacement les tâches importantes.

Permet le partage des ressources

L’informatique distribuée repose sur le concept d’actifs partagés, et elle favorise le partage de ressources telles que les données, les logiciels et le matériel entre les différents composants d’une même instance distribuée.

Idéal pour un trafic variable

Le trafic en ligne des entreprises peut connaître des variations soudaines et importantes, en raison de l’actualité ou d’autres facteurs externes. L’informatique distribuée offre la flexibilité nécessaire pour absorber ces pics sans compromettre la performance.

Performances optimisées

L’informatique distribuée augmente les performances en divisant de grandes tâches de traitement en tâches de calcul plus petites, partagées entre de nombreux ordinateurs. Cela se traduit par une vitesse de traitement cumulative et une capacité de stockage totale accrue.

Rentabilité

Certes, les systèmes distribués impliquent des coûts initiaux plus élevés que les architectures centralisées, car ils nécessitent plusieurs machines et une infrastructure adaptée. Mais à long terme, ces coûts sont compensés par les gains d’efficacité : temps de réponse plus courts, latence réduite et meilleure répartition de la charge, ce qui rend ce modèle plus rentable sur la durée.

Types d’informatique distribuée

Les types d’informatique distribuée sont classés selon l’architecture informatique distribuée qu’ils utilisent.

Système client-serveur

Les systèmes client-serveur reposent sur une architecture client-serveur, qui permet leur utilisation sur plusieurs systèmes interconnectés. Dans ce modèle, le client envoie une requête au serveur, généralement sous la forme d’une commande à exécuter ou d’une demande de ressources informatiques supplémentaires. Le serveur traite la requête, effectue la tâche demandée ou alloue les ressources nécessaires, puis renvoie une réponse au client pour l’informer de l’action effectuée.

Système pair-à-pair

Tandis que les systèmes centralisés utilisent une architecture client-serveur, un système pair-à-pair (ou peer-to-peer) repose sur une architecture entre pairs. Les systèmes pairs utilisent des nœuds, qui peuvent fonctionner comme client ou serveur : soit en identifiant des besoins et en émettant des requêtes, soit en y répondant et en rapportant les opérations effectuées. Comme son nom l’indique, il n’y a pas de hiérarchie dans un système pair-à-pair, ce qui permet aux programmes de communiquer librement entre eux et d’échanger des données via les réseaux de pairs.

Middleware

Le middleware agit comme un intermédiaire entre deux applications distinctes. Autrement dit, il s’agit d’un logiciel qui s’intercale entre deux applications pour leur fournir des services communs. Le middleware joue également un rôle d’interprète : il agit comme un traducteur entre différentes applications interopérables fonctionnant sur des systèmes variés, ce qui leur permet d’échanger librement des données.

Système à trois niveaux

Les systèmes à trois niveaux doivent leur nom au nombre de couches utilisées pour représenter la fonctionnalité d’un programme. Contrairement à l’architecture client-serveur classique où les données sont stockées côté client, le système à trois niveaux stocke les données dans une couche intermédiaire, appelée couche de données. La couche applicative entoure la couche de données d’un côté, et la couche de présentation de l’autre. Les systèmes à trois niveaux sont couramment utilisés dans diverses applications web.

Système à N niveaux

Parfois appelés systèmes distribués multitier, les systèmes à N niveaux n’ont aucune limite en matière de fonctions réseau, qu’ils redirigent vers d’autres applications pour traitement. L’architecture des systèmes à N niveaux est similaire à celle des systèmes à trois niveaux. Ils servent souvent de base architecturale à de nombreux services web et systèmes de données.

Autres paradigmes de l’informatique distribuée

L’informatique distribuée permet l’utilisation de différents paradigmes de programmation (ou styles de programmation) :

  • Blockchain : Une blockchain est une base de données ou un registre distribué, à la fois répliqué et synchronisé sur les différents ordinateurs d’un réseau. Elle garantit la réalisation de l’un des objectifs clés de l’informatique distribuée, la redondance, car chaque ordinateur de la chaîne détient une copie du registre source, évitant ainsi toute perte de données due à un point de défaillance unique.
  • Informatique en grille : l’informatique en grille ou « grid computing » est une forme d’informatique distribuée qui traite des workloads non interactifs, généralement à l’aide d’un ensemble de frameworks de grille et de logiciels middleware. La grille, accessible via une interface utilisateur, est hautement évolutive et fonctionne comme un système de fichiers de très grande taille.
  • Microservices : Les microservices représentent une autre forme d’informatique distribuée, dans laquelle les applications sont décomposées en composants plus petits, souvent appelés « services ». Les cadres de services sont reliés entre eux par une interface de programmation d’applications (API), qui permet l’interaction entre les composants.

Cas d’utilisation de l’informatique distribuée par secteur

Secteur bancaire

Les services bancaires en ligne illustrent bien la souplesse de l’informatique distribuée : les opérations sont exécutées simultanément à différents endroits, souvent avec des serveurs répartis entre plusieurs agences bancaires, chacun hébergeant des services clés (relation client, sécurité, traitement des transactions, etc.). Tout se déroule de manière instantanée et fluide, conformément aux attentes des clients.

Informatique

L’intelligence artificielle (IA) et le machine learning (ML)  révolutionnent de nombreux domaines technologiques, et leur impact est particulièrement visible dans le secteur informatique lui-même. Ces technologies en plein essor s’appuient massivement sur l’informatique distribuée. Les algorithmes derrière l’IA et le ML nécessitent d’énormes volumes de données pour entraîner leurs modèles, et c’est l’informatique distribuée qui fournit la puissance de traitement nécessaire.

Énergie

L’informatique distribuée est également utilisée dans les secteurs de l’énergie et de l’environnement. Côté énergie, elle aide la technologie des réseaux intelligents (smart grid) à réguler l’utilisation et optimiser la consommation. Les smart grids utilisent aussi l’informatique distribuée pour recueillir des données environnementales provenant de différents dispositifs, comme les capteurs et les compteurs intelligents.

Finances

Des professionnels de certains domaines de la finance utilisent déjà des systèmes d’informatique distribuée. Prenons par exemple la gestion des risques, où les institutions financières ont besoin de vastes ensembles de données pour exécuter des calculs massifs, dans le but d’éclairer les décisions sur les probabilités et les évaluations de risques. L’informatique distribuée garantit que les charges de calcul sont réparties uniformément entre plusieurs systèmes.

La science

L’informatique distribuée a contribué à de nombreuses disciplines scientifiques et participé à certains des plus grands accomplissements de la science. Parmi les exemples figurent le Grand collisionneur de hadrons, le plus puissant accélérateur de particules au monde, dont les expériences exigent une collecte et une analyse de données à très grande échelle. De même, l’informatique distribuée a joué un rôle essentiel dans le Projet Génome humain, qui visait à cartographier les séquences de l’ADN humain. Elle est également utilisée dans les prévisions météorologiques et les modèles climatiques.

Solutions connexes
IBM Cloud Infrastructure Center 

IBM Cloud Infrastructure Center est une plateforme logicielle compatible avec OpenStack pour gérer l’infrastructure de clouds privés sur IBM zSystems et IBM LinuxONE.

Découvrir Cloud Infrastructure Center
Solutions d’infrastructure informatique

Découvrez des serveurs, des solutions de stockage et des logiciels conçus pour votre stratégie d’entreprise en matière de cloud hybride et d’IA.

Découvrir les solutions d’infrastructure informatique
Solutions d’infrastructure cloud

Trouvez la solution d’infrastructure cloud adaptée aux besoins de votre entreprise et ajustez les ressources en fonction de la demande.

Solutions cloud
Passez à l’étape suivante

Transformez l’infrastructure de votre entreprise grâce aux solutions de cloud hybride IBM prêtes pour l’IA. Découvrez des serveurs, des solutions de stockage et des logiciels conçus pour sécuriser, faire évoluer et moderniser votre entreprise, ou accédez à des informations d’experts pour améliorer votre stratégie d’IA générative.

Découvrir les solutions d’infrastructure informatique Télécharger l’eBook