towards scalability in tuple spaces

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

Upload: kasimir-wyatt

Post on 31-Dec-2015

32 views

Category:

Documents


0 download

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

TRANSCRIPT

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