Espace tuple

Définition - Que signifie Tuple Space?

Un espace tuple est une exécution du modèle de mémoire associative pour le calcul distribué / parallèle. Il propose une bibliothèque de tuples, accessibles simultanément. Les tuples sont des termes avec zéro ou plusieurs arguments et une clé.

La collection de tuples prend en charge certaines opérations de base, telles que l'ajout d'un tuple à l'espace (écriture) et la suppression d'un tuple de l'espace (prise). La collection de tuple est conservée et gérée sur un réseau de plusieurs serveurs d'espace de tuple. Plusieurs threads sur des machines uniques ou distinctes accèdent simultanément à l'espace. Certains ajoutent des n-uplets à l'espace tandis que d'autres les suppriment dans un processus qui peut être considéré comme une métaphore du tableau noir.

Definir Tech explique Tuple Space

Les espaces tuple sont la théorie sur laquelle le langage de Linda est basé. Des implémentations d'espace tuple sont également développées pour Java (JavaSpaces), Lua, Lisp, Python, Prolog, Ruby, .NET, Smalltalk et Tcl.

L'abstraction d'espace de tuple est un choix efficace pour l'encapsulation dans un module. Il constitue une structure utile avec une interface bien définie. Par conséquent, il peut être réutilisé et modularisé.

Quelques-unes des opérations de base prises en charge par l'espace tuple sont les suivantes:

  • write (tuple): Utilisé pour ajouter un tuple à l'espace
  • take (template tuple): Utilisé pour exécuter une recherche associative d'un tuple qui correspond au modèle. Une fois trouvé, le tuple est supprimé de l'espace puis ramené.
  • waitToTake (template tuple): utilisé pour effectuer une recherche associative pour un tuple qui correspond au modèle. Il bloque jusqu'à ce qu'un match soit localisé. Il supprime ensuite et ramène le tuple correspondant de l'espace.
  • read (template tuple): Identique à "take" expliqué ci-dessus, à l'exception que le tuple ne sera pas supprimé de l'espace tuple
  • waitToRead (template tuple): Identique à "waitToTake" expliqué ci-dessus, à l'exception du fait que le tuple ne sera pas supprimé de l'espace de tuple
  • scan (template tuple): Identique à "read" expliqué ci-dessus, à l'exception qu'il renvoie une collection complète de tuples qui correspondent
  • count (template tuple): Identique à "scan", expliqué ci-dessus, à l'exception qu'il renvoie un nombre de tuples correspondants au lieu de la collection de tuples elle-même.

Quelques exemples d'implémentations d'espace de tuple incluent Apache River, le projet Blitz, l'espace d'objets de vol, GigaSpaces et Linda dans un environnement mobile (LIME), entre autres.