26
TOWARDS SCALABILITY IN TUPLE SPACES Philipp Obreiter, Guntram Gräf Telecooperation Office (TecO) University of Karlsruhe

TOWARDS SCALABILITY IN TUPLE SPACES

Embed Size (px)

DESCRIPTION

TOWARDS SCALABILITY IN TUPLE SPACES. Philipp Obreiter, Guntram Gräf Telecooperation Office (TecO) University of Karlsruhe. Goals. Scalable tuple space without schematic restrictions Procedure: formalize and classify tuples analyze former indexing strategies - PowerPoint PPT Presentation

Citation preview

TOWARDS SCALABILITYIN TUPLE SPACES

Philipp Obreiter, Guntram Gräf

Telecooperation Office (TecO)University of Karlsruhe

Obreiter/Gräf: Towards Scalability in Tuple Spaces

GoalsScalable tuple space

– without schematic restrictions

Procedure:

• formalize and classify tuples

• analyze former indexing strategies

• deduce a new indexing strategy

• conceive the architecture and implementation of a scalable tuple space

Obreiter/Gräf: Towards Scalability in Tuple Spaces

Hierarchy of fields (F,matchF)

“Hello“ “World“1234 5678

int string

F

Obreiter/Gräf: Towards Scalability in Tuple Spaces

Hierarchy of tuples (,match)

(int,F)

(int,(int,int))

(F, string)

(int,string) (F,“Hello“)

(int,“Hello“)

(1234,string)

(1234,(56,78))

(5678,“Hello“)

Obreiter/Gräf: Towards Scalability in Tuple Spaces

Taxonomy of schemes

• Degrees of freedom:(A) class hierarchy

(B) instance hierarchy

(C) semantic tuples

(D) nested tuples

(E) tuple hierarchy

• Scheme ABCDE imposes restrictions on degrees of freedom

Obreiter/Gräf: Towards Scalability in Tuple Spaces

Linda scheme: 23111 A

EB

C D

0

0

0

0 0

1

11

1

2

2 31

Obreiter/Gräf: Towards Scalability in Tuple Spaces

TSpaces/JavaSpaces scheme: 00110 A

EB

C D

0

0

0

0 0

1

11

1

2

2 31

Obreiter/Gräf: Towards Scalability in Tuple Spaces

Distribution model• Set of p servers {1,...,p}

• Distribution (W,R) for tuple t– writes to W(t) {1,...,p}

– reads from R(t) {1,...,p}

condition for correctness

match(t1,t2) W(t2) R(t1)

1 2 3 4 5 6

R W

Obreiter/Gräf: Towards Scalability in Tuple Spaces

abstractrepresentation

Conceiving a distribution

Abstract representation

– uncouples abstraction of tuples and adjustment to p

– is an efficient data structure

t W(t) t

directly indirectly

R(t)

W(t)

R(t)

Obreiter/Gräf: Towards Scalability in Tuple Spaces

Indexing based on hashing (I)

(printer,F,F)

P1

(F)

(scanner,F,F)(F,1200dpi,F)

(printer,1200dpi,F) (scanner,1200dpi,F)

P2P3

P4

(F,1200dpi,x.x.x.x)

P5

S4

S5S3

S2S1

Obreiter/Gräf: Towards Scalability in Tuple Spaces

Indexing based on hashing (II)

(printer,F,F)

P1

(F)

(scanner,F,F)(F,1200dpi,F)

(printer,1200dpi,F) (scanner,1200dpi,F)

P2P3

P4

(F,1200dpi,x.x.x.x)

P5

S4

S5S3

S2S1

{1}

{5}

{6}

{8} {3} {8}{5}{12}

{2}{7}

Obreiter/Gräf: Towards Scalability in Tuple Spaces

Indexing based on hashing (III)

(printer,F,F)

P1

(F)

(scanner,F,F)(F,1200dpi,F)

(printer,1200dpi,F) (scanner,1200dpi,F)

P2P3

P4

(F,1200dpi,x.x.x.x)

P5

S4

S5S3

S2S1

{3} {7}

Obreiter/Gräf: Towards Scalability in Tuple Spaces

Indexing based on hypercubes• Fields:

– hierarchical structure intervals instead of points

– correctness: matchF(f1,f2) F(f2) F(f1)

• Tuples:– tuple complex multi-dimensional index

– induces transformation to hypercubes

• Distribution:– Partition hyperspace into tuple domains 1,... p

– (,) permissible with (t) := {q | q(t) }

Obreiter/Gräf: Towards Scalability in Tuple Spaces

disjoint/complete tuple domains

-1 0 1 2 3 4 5

1

2

3

4

5

x1

x2

T3T2

T4

T5

T6

T1

Obreiter/Gräf: Towards Scalability in Tuple Spaces

disjoint/complete tuple domains

1

3

2

-1 0 1 2 3 4 5

1

2

3

4

5

x1

x2

T3T2

T4

T5

T6

T14 5

Obreiter/Gräf: Towards Scalability in Tuple Spaces

Overlapping/incomplete tuple domains

-1 0 1 2 3 4 5

1

2

3

4

5

x1

x2

T3T2

T4

T5

T6

T1

3

1 2

Obreiter/Gräf: Towards Scalability in Tuple Spaces

ClientClient

AgentAgent

Components of the architecture

F

TupleSpaceServer

TupleSpaceServer

TupleSpaceServer

Tuplespaceserver

-server -serverAgentserver

Agent

Client (t)t (t)

Obreiter/Gräf: Towards Scalability in Tuple Spaces

Cache validation of the agents

F-server:

– read-only cache, hence valid

-server:– subtrees own sequence numbers– cache entry invalidated, if contacting TS Server

with deprecated sequence number Extended k-d tree guarantees correctness

Obreiter/Gräf: Towards Scalability in Tuple Spaces

SATUS

• Implementation of a Scalable Tuple Spaces

• Management interface

• Extension to four tiers

• Built-in standard fields

• Validated with respect to:– Efficiency of the distribution– Efficiency of adaptive tuple domains

Obreiter/Gräf: Towards Scalability in Tuple Spaces

Adaptive tuple domains

0 50 100

.5

Response time

n150 200 250 300 350 400

1

1.5

2.5

2

Obreiter/Gräf: Towards Scalability in Tuple Spaces

Questions?

Obreiter/Gräf: Towards Scalability in Tuple Spaces

Nested tuples

• Field complex on itself, hence proposed indexing mechanism not directly applicable

• If depth limited, unnest

• Split into several tuples (atomicity?)

• Include complex classes into the field hierarchy

Obreiter/Gräf: Towards Scalability in Tuple Spaces

Scalability

Five dimensions:

• size of tuples

• number of tuples in the tuple space

• number of considered tuple spaces

• throughput of the tuple space

• number of clients

Obreiter/Gräf: Towards Scalability in Tuple Spaces

Hierarchy of fields

x modulo y fraction

F

1/2 2/4

6/9 4/6

x modulo 5x modulo 3

0 12

0 1

23

4

Obreiter/Gräf: Towards Scalability in Tuple Spaces

Tree of tuple domains

x2 = 0

2x1 = 2

x2 = 3 x1 = 4

4 5 3 2

Obreiter/Gräf: Towards Scalability in Tuple Spaces

Efficiency of the distribution

0 50 100

.2

Rate

n150 200 250 300 350 400 450 500

.4

.6

1

.8pruning

rate

overhead