Índice:
Definição - O que significa Tuple Space?
Um espaço de tupla é uma execução do modelo de memória associativa para computação distribuída / paralela. Ele oferece uma biblioteca de tuplas, que podem ser acessadas simultaneamente. Tuplas são termos com zero ou mais argumentos e uma chave.
A coleção de tuplas suporta algumas operações básicas, como adicionar uma tupla ao espaço (gravação) e remover uma tupla do espaço (tirar). A coleção de tupla é mantida e gerenciada em uma rede de vários servidores de espaço de tupla. Vários threads em máquinas únicas ou distintas acessam simultaneamente o espaço. Alguns adicionam tuplas ao espaço, enquanto outros as removem em um processo que pode ser referido como uma metáfora do quadro-negro.
Techopedia explica Tuple Space
Espaços de tupla são a teoria na qual a linguagem Linda se baseia. As implementações de espaço de tupla também são desenvolvidas para Java (JavaSpaces), Lua, Lisp, Python, Prolog, Ruby, .NET, Smalltalk e Tcl.
A abstração de espaço de tupla é uma escolha eficaz para encapsulamento em um módulo. Constitui uma estrutura útil com uma interface bem definida. Portanto, pode ser reutilizado e modularizado.
Algumas das operações básicas suportadas pelo espaço da tupla são as seguintes:
- write (tupla): Usado para adicionar uma tupla ao espaço
- take (tupla do modelo): usado para executar uma pesquisa associativa por uma tupla que corresponda ao modelo. Uma vez encontrada, a tupla é excluída do espaço e depois trazida de volta.
- waitToTake (tupla de modelo): Usado para executar uma pesquisa associativa por uma tupla que corresponda ao modelo. Ele bloqueia até que uma correspondência seja localizada. Em seguida, ele remove e traz de volta a tupla correspondente do espaço.
- read (tupla de modelo): O mesmo que "take" explicado acima, com a exceção de que a tupla não será removida do espaço da tupla
- waitToRead (tupla de modelo): O mesmo que "waitToTake" explicado acima, com a exceção de que a tupla não será removida do espaço da tupla
- scan (tupla de modelo): o mesmo que "lido" explicado acima, com a exceção de que ele retorna uma coleção completa de tuplas que correspondem
- count (tupla de modelo): o mesmo que "varredura", explicado acima, com a exceção de devolver uma contagem de tuplas correspondentes em vez da coleção de tuplas em si.