Espaço de tupla

Definição - O que significa Espaço Tupla?

Um espaço de tupla é uma execução do modelo de memória associativa para computação distribuída / paralela. Oferece uma biblioteca de tuplas, que pode ser acessada 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 (escrever) e remover uma tupla do espaço (tomar). 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 chamado de metáfora do quadro-negro.

Definirtec explica o Espaço Tuple

Espaços de tupla são a teoria na qual a linguagem Linda se baseia. Implementações de espaço 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, ele pode ser reutilizado e modularizado.

Algumas das operações básicas suportadas pelo espaço de tupla são as seguintes:

  • escrever (tupla): usado para adicionar uma tupla ao espaço
  • take (template tuple): Usado para executar uma pesquisa associativa por uma tupla que corresponda ao template. Uma vez encontrada, a tupla é excluída do espaço e então trazida de volta.
  • waitToTake (tupla de modelo): Usado para realizar uma pesquisa associativa por uma tupla que corresponda ao modelo. Ele bloqueia até que uma correspondência seja localizada. Em seguida, remove e traz de volta a tupla correspondente do espaço.
  • read (template tuple): O mesmo que "take" explicado acima, com a exceção de que a tupla não será removida do espaço da tupla
  • waitToRead (modelo de tupla): 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 "ler" explicado acima, com a exceção de que retorna uma coleção completa de tuplas que correspondem
  • count (template tuple): O mesmo que "scan", explicado acima, com a exceção de que retorna uma contagem de tuplas correspondentes em vez da própria coleção de tuplas.

Alguns exemplos de implementações de espaço de tupla incluem Apache River, o projeto Blitz, o Fly Object Space, GigaSpaces e Linda in a Mobile Environment (LIME), entre outros.