A hardware-assisted tuple space, comprising a tuple memory for storing tuples
of
key-value pairs of data; an anti-tuple memory for storing anti-tuples of key-value
pairs of data; tuple attribute array memory for storing selected attributes of
respective ones of the tuples and anti-tuples; and an input/output and memory control
interface for (i) exchanging tuples and anti-tuples between an external process
and the tuple and anti-tuple memories, (ii) performing preliminary searches of
the tuple attribute array memory to identify possible matching tuples and anti-tuples,
and (iii) comparing the key-value pairs of the possible matching tuples and anti-tuples
to identify actual matching tuples and anti-tuples.