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

L'informatique distribuée est la méthode qui consiste à faire travailler ensemble plusieurs ordinateurs pour résoudre un problème commun. Elle fait apparaître un réseau informatique en tant qu'ordinateur unique et puissant qui fournit des ressources à grande échelle pour relever des défis complexes.

Par exemple, l'informatique distribuée permet de chiffrer de grands volumes de données, de résoudre des équations physiques et chimiques comportant de nombreuses variables et de rendre des animations vidéos tridimensionnelles de haute qualité. Les systèmes distribués, la programmation distribuée et les algorithmes distribués sont d'autres termes qui font tous référence à l'informatique distribuée. 

Quels sont les avantages de l'informatique distribuée ?

Les systèmes distribués offrent de nombreux avantages par rapport à l'informatique monosystème. Voici quelques exemples.

Capacité de mise à l'échelle

Les systèmes distribués peuvent évoluer en fonction de vos charges de travail et de vos exigences. Vous pouvez ajouter de nouveaux nœuds (c'est-à-dire davantage de dispositifs) au réseau d'informatique distribuée en cas de nécessité.

Disponibilité

Votre système d'informatique distribuée ne tombera pas en panne si l'un des ordinateurs s'arrête. La conception est tolérante aux pannes, car le système peut continuer à fonctionner même si des ordinateurs individuels sont défaillants.

Cohérence

Dans un système distribué, les ordinateurs partagent les informations et dupliquent les données entre eux. Cependant, le système gère automatiquement la cohérence des données au sein des différents ordinateurs. Ainsi, vous bénéficiez de la tolérance aux pannes sans compromettre la cohérence des données.

Transparence

Les systèmes d'informatique distribuée offrent une séparation logique entre les appareils utilisateurs et physiques. Vous pouvez interagir avec le système comme s'il s'agissait d'un ordinateur unique, sans vous soucier de la configuration des ordinateurs individuels. Vous pouvez avoir différents matériels, intergiciels, logiciels et systèmes d'exploitation qui travaillent ensemble pour un fonctionnement harmonieux de votre système.

Efficacité

Les systèmes distribués offrent des performances plus rapides tout en optimisant l'utilisation des ressources du matériel sous-jacent. Par conséquent, vous pouvez gérer n'importe quelle charge de travail sans vous soucier de pannes système liées aux pics de volumes ou à une sous-utilisation du matériel onéreux.

Quels sont les exemples de cas d'utilisation de l'informatique distribuée ?

De nos jours, l'utilisation de l'informatique distribuée s'est généralisée. Les applications mobiles et web constituent des exemples d'informatique distribuée, car plusieurs ordinateurs travaillent ensemble dans le backend pour permettre à l'application de vous fournir les bonnes informations. Cependant, lorsque les systèmes distribués s'accroissent, ils peuvent résoudre des problèmes plus complexes. Explorons quelques domaines dans lesquels différents secteurs utilisent les applications distribuées hautes performances.

Soins de santé et sciences de la vie

Les soins de santé et sciences de la vie s'appuient sur l'informatique distribuée pour modéliser et simuler les données complexes de sciences de la vie. L'analyse des images, la recherche de médicaments et l'analyse des structures géniques sont devenues plus rapides grâce aux systèmes distribués. Voici quelques exemples :

  • Accélérer la conception de médicaments basée sur la structure à travers la visualisation en 3D des modèles moléculaires.
  • Réduire les temps de traitement des données génomiques pour obtenir de manière précoce des informations concernant le cancer, la mucoviscidose et la maladie d'Alzheimer.
  • Développer des systèmes intelligents qui aident les médecins à diagnostiquer les maladies chez les patients en analysant un grand volume d'images complexes, comme les IRM, les radiographies et les tomographies.

 

Recherche en ingénierie

Les ingénieurs peuvent simuler des concepts physiques et mécaniques complexes sur les systèmes distribués. Ils utilisent cette recherche pour améliorer la conception des produits, créer des structures complexes et concevoir des véhicules plus rapidement. Voici quelques exemples :

  • La recherche en mécanique des fluides numérique étudie le comportement des liquides et met en œuvre ces concepts dans la conception des avions et les courses de voitures.
  • L'ingénierie assistée par ordinateur nécessite des outils de simulation gourmands en calcul pour tester de nouvelles ingénieries d'usines, de nouveaux produits électroniques et de nouveaux biens de consommation. 

Services financiers 

Les entreprises de services financiers utilisent les systèmes distribués pour effectuer des simulations économiques à haute vitesse qui permettent d'évaluer les risques de portefeuilles, de prédire l'évolution des marchés et de soutenir la prise de décisions dans le domaine financier. Elles peuvent créer des applications web qui emploient la puissance des systèmes distribués pour garantir les avantages suivants :

  • Proposer des primes à faible coût et personnalisées
  • Utiliser les bases de données distribuées pour soutenir en toute sécurité un très grand nombre de transactions financières
  • Authentifier les utilisateurs et protéger les clients contre la fraude 

Énergie et environnement 

Les entreprises du secteur de l'énergie doivent analyser d'importants volumes de données pour améliorer les opérations et passer aux solutions durables et écologiques. Elles utilisent les systèmes distribués pour analyser de grands volumes de flux de données provenant d'un vaste réseau de capteurs et d'autres dispositifs intelligents. Voici quelques exemples de tâches qu'elles peuvent effectuer :

  • Diffuser en continu et consolider les données sismiques pour la conception structurelle des centrales électriques
  • Surveiller en temps réel les puits de pétrole pour une gestion proactive des risques

Quels sont les différents types d'architectures d'informatique distribuée ?

En matière d'informatique distribuée, vous concevez des applications qui s'exécutent sur plusieurs ordinateurs plutôt que sur un seul. Pour ce faire, vous concevez des logiciels afin que les différents ordinateurs exécutent diverses fonctions et communiquent pour développer la solution finale. Il existe quatre principaux types d'architectures distribuées.

Architecture client-serveur

L'architecture client-serveur est la méthode d'organisation logicielle la plus courante sur un système distribué. Les fonctions sont séparées en deux catégories : clients et serveurs.

Clients

Les clients ont des informations et des capacités de traitement limitées. En revanche, ils effectuent des demandes au serveur, qui gère la plupart des données et des autres ressources. Vous pouvez envoyer des demandes au client, qui communique avec le serveur en votre nom.

Serveurs

Les ordinateurs serveur synchronisent et gèrent l'accès aux ressources. Ils répondent aux demandes du client en communiquant les données ou les informations de statut. En règle générale, un serveur peut gérer les demandes de plusieurs ordinateurs.

Avantages et inconvénients

L'architecture client-serveur est bénéfique en termes de sécurité et de facilitation de la gestion courante. Vous devez simplement vous concentrer sur la sécurisation des ordinateurs serveur. À l'identique, toute modification apportée aux systèmes de bases de données requiert des modifications uniquement sur le serveur.

L'inconvénient de l'architecture client-serveur réside dans le fait que les serveurs peuvent causer des goulots d'étranglement de la communication, surtout lorsque plusieurs ordinateurs envoient des demandes en simultané.

Architecture à trois niveaux

Dans les systèmes distribués à trois niveaux, les ordinateurs client demeurent le premier niveau auquel vous avez accès. De leur côté, les ordinateurs serveurs sont divisés en deux catégories :

Serveurs d'applications

Les serveurs d'applications font office de niveau intermédiaire pour la communication. Ils contiennent la logique applicative ou les fonctions de base que pour lesquels vous concevez le système distribué.

Serveurs de bases de données

Les serveurs de bases de données font office de troisième niveau pour stocker et gérer les données. Ils sont responsables de l'extraction et de la cohérence des données.

En répartissant la responsabilité en matière de serveur, les systèmes distribués à trois niveaux réduisent les goulots d'étranglement de communication et améliorent les performances d'informatique distribuée.

Architecture à N niveaux

Les modèles à N niveaux comprennent différents systèmes client-serveur qui communiquent entre eux pour résoudre le même problème. La plupart des systèmes distribués utilisent une architecture à N niveaux avec diverses applications d'entreprise qui travaillent ensemble comme un système, en arrière-plan.

Architecture poste à poste

Les systèmes distribués poste à poste attribuent des responsabilités égales à tous les ordinateurs interconnectés. Il n'existe pas de séparation entre les ordinateurs clients et serveurs, et n'importe quel ordinateur peut assumer toutes les responsabilités. L'architecture poste à poste est devenue courante pour le partage de contenu, le streaming de fichiers et les réseaux blockchains.

Comment fonctionne l'informatique distribuée ?

Dans l'informatique distribuée, les ordinateurs se communiquent les messages entre eux au sein de l'architecture de systèmes distribués. Les protocoles ou les règles de communication créent une dépendance entre les composants du système distribué. Cette interdépendance est appelée couplage. Il existe deux principaux types de couplage.

Couplage faible

Dans le couplage faible, les composants sont faiblement connectés, de sorte que les modifications apportées à un composant n'affectent pas les autres.  Par exemple, les ordinateurs client et serveur peuvent être faiblement couplés par le temps. Les messages provenant du client sont ajoutés à une file d'attente de serveurs, et le client peut continuer à effectuer d'autres fonctions jusqu'à ce que le serveur réponde à son message.

Couplage fort

Les systèmes distribués hautes performances utilisent souvent le couplage fort. Les réseaux locaux rapides sont généralement connectés à plusieurs ordinateurs, pour créer un cluster. Dans l'informatique de cluster, chaque ordinateur est configuré pour effectuer la même tâche. Les systèmes de contrôle central, appelés intergiciels de mise en clusters, contrôlent et planifient les tâches. Ils assurent aussi la coordination entre différents ordinateurs.

Qu'est-ce que l'informatique parallèle ?

L'informatique parallèle est un type d'informatique dans lequel un ou plusieurs ordinateurs dans un réseau effectuent de nombreux calculs ou processus simultanément. Bien que les termes informatique parallèle et informatique distribuée soient souvent utilisés de façon interchangeable, ils ont quelques nuances.

Informatique parallèle et informatique distribuée

L'informatique parallèle est une forme particulièrement et étroitement couplée d'informatique distribuée. Dans le cadre du traitement parallèle, tous les processeurs ont accès à la mémoire partagée pour échanger des informations entre eux. Par ailleurs, en ce qui concerne le traitement distribué, chaque processeur possède une mémoire privée (mémoire distribuée). Les processeurs utilisent le transfert de messages pour échanger des informations.

Qu'est-ce que la grille informatique ?

En matière de grille informatique, les réseaux informatiques géographiquement distribués travaillent ensemble pour effectuer les tâches courantes. L'une des fonctions des grilles distribuées est de pouvoir les constituer à partir de ressources de calcul appartenant à plusieurs individus ou organisations.

Grille informatique et informatique distribuée

La grille informatique est de l'informatique distribuée à haute échelle qui met l'accent sur les performances et la coordination entre de multiples réseaux. En interne, chaque grille agit comme un système informatique étroitement couplé. Cependant, en externe, les grilles ont un couplage plus faible. Chaque grille exécute des fonctions individuelles et en communique les résultats aux autres grilles.

Qu'est-ce que le calcul haute performance AWS ?

Avec le calcul haute performance (HPC) AWS, vous pouvez accélérer l'innovation grâce à des réseaux rapides et à une infrastructure d'informatique distribuée quasiment illimitée. Par exemple, vous pouvez utiliser les services suivants :

  • Amazon Elastic Cloud Compute (EC2) pour prendre en charge pratiquement toutes les charges de travail grâce à des capacités de calcul sécurisée et redimensionnable.
  • AWS Batch pour prendre en charge des centaines de milliers de tâches de calcul dans les services de calcul AWS.
  • AWS ParallelCluster pour créer rapidement les environnements de calcul HPC et les clusters HPC.

Démarrez avec dans l'informatique distribuée sur AWS en créant un compte gratuitement dès aujourd'hui.

Informatique distribuée AWS : prochaines étapes

Consulter les ressources supplémentaires relatives au produit
Créer gratuitement un compte

Obtenez un accès instantané à l'offre gratuite AWS. 

S'inscrire 
Commencer à créer dans la console

Commencez à créer dans la console de gestion AWS.

Se connecter