Inhaltsverzeichnis:
Definition - Was bedeutet Tuple Space?
Ein Tupelraum ist eine Ausführung des assoziativen Speichermodells für verteiltes / paralleles Rechnen. Es bietet eine Bibliothek von Tupeln, auf die gleichzeitig zugegriffen werden kann. Tupel sind Begriffe mit null oder mehr Argumenten und einem Schlüssel.
Die Auflistung von Tupeln unterstützt einige grundlegende Operationen, z. B. das Hinzufügen eines Tupels zum Space (Schreiben) und das Entfernen eines Tupels aus dem Space (Nehmen). Die Tupel-Sammlung wird über ein Netzwerk von mehreren Tupel-Space-Servern aufbewahrt und verwaltet. Mehrere Threads auf einem oder mehreren Computern greifen gleichzeitig auf den Speicherplatz zu. Einige fügen Tupel zum Raum hinzu, während andere sie in einem Prozess entfernen, der als Tafelmetapher bezeichnet werden kann.
Techopedia erklärt Tuple Space
Tupelräume sind die Theorie, auf der die Linda-Sprache basiert. Tuple-Space-Implementierungen werden auch für Java (JavaSpaces), Lua, Lisp, Python, Prolog, Ruby, .NET, Smalltalk und Tcl entwickelt.
Die Tupel-Space-Abstraktion ist eine effektive Wahl für die Kapselung in einem Modul. Es ist eine nützliche Struktur mit einer genau definierten Schnittstelle. Daher kann es wiederverwendet und modularisiert werden.
Einige der vom Tupel-Space unterstützten Grundoperationen sind:
- write (Tupel): Fügt dem Space ein Tupel hinzu
- take (Template-Tupel): Wird verwendet, um eine assoziative Suche nach einem Tupel durchzuführen, das mit der Vorlage übereinstimmt. Einmal gefunden, wird das Tupel aus dem Raum gelöscht und dann zurückgebracht.
- waitToTake (Vorlagentupel): Wird verwendet, um eine assoziative Suche nach einem Tupel durchzuführen, das mit der Vorlage übereinstimmt. Es wird geblockt, bis eine Übereinstimmung gefunden wurde. Anschließend wird das übereinstimmende Tupel aus dem Feld entfernt und zurückgebracht.
- read (template tuple): Wie "take", mit der Ausnahme, dass das Tupel nicht aus dem Tupelraum entfernt wird
- waitToRead (Template-Tupel): Wie "waitToTake", mit der Ausnahme, dass das Tupel nicht aus dem Tupel-Space entfernt wird
- scan (template tuple): Entspricht dem oben erläuterten Befehl "read", mit der Ausnahme, dass eine vollständige Sammlung übereinstimmender Tupel zurückgegeben wird
- count (template tuple): Entspricht "scan" (siehe oben) mit der Ausnahme, dass die Anzahl der übereinstimmenden Tupel anstelle der Auflistung der Tupel selbst zurückgegeben wird.