En quoi consiste exactement l'informatique distribuée?
L'informatique distribuée est une collection intrinsèquement parallèle d'éléments de traitement qui communiquent entre eux pour résoudre un ou plusieurs problèmes. Ces éléments de traitement sont suffisamment séparés les uns des autres pour qu'il ne soit pas pratique de construire entre eux un tissu de messagerie fiable et rapide, et il devient donc impossible qu'il y ait une connaissance globale de l'état du système. Les caractéristiques particulières de la messagerie avec les systèmes distribués sont que les messages vont se perdre, se faire brouillées, va se retardée - des solutions dans cet espace doivent tenir compte de cela. Ainsi, la programmation distribuée concerne le traitement des réseaux et des messages, le parallélisme et le manque d'informations globales.
La méthode la plus simple pour contourner les problèmes consiste à rendre un élément de traitement unique spécial, c'est-à-dire faisant autorité pour une information particulière. Ensuite, les autres éléments peuvent y faire référence à chaque fois, ou mettre en cache les informations et espérer qu'elles ne soient pas périmées (car elles ne peuvent pas compter être informées des changements). Il s'agit de l'architecture client / serveur classique.
L'informatique Internet est de l' informatique distribuée, mais sans la possibilité de contrôler ce que font réellement la plupart des nœuds distribués.
Est-ce que plusieurs threads parallèles essayant de se synchroniser pour accéder à une ressource constituent un problème dans le domaine de l'informatique distribuée?
Ils constituent une solution possible qui est utile lors de la construction du modèle client / serveur, mais au prix d'une augmentation potentiellement dramatique des conflits de ressources. Pour les lectures, ce n'est pas un gros problème (à condition qu'il y ait suffisamment de matériel) mais pour les écritures, c'est un gros problème en effet.
Ce que vous essayez d'éviter cependant, ce sont les verrous distribués. Le manque de messagerie fiable et opportune tue absolument les protocoles de décision distribués, à moins que vous n'utilisiez quelque chose comme le protocole Paxos , mais cela comporte de nombreuses mises en garde. Le problème fondamental de l'informatique distribuée est que "les mauvaises choses arrivent aux messages". Les protocoles de niveau relativement bas, comme TCP, atténuent les problèmes, mais vous pouvez toujours mal vous décoller.