190 likes | 289 Views
TOWARDS SCALABILITY IN TUPLE SPACES. Philipp Obreiter, Guntram Gräf Telecooperation Office (TecO) University of Karlsruhe. 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.
E N D
TOWARDS SCALABILITYIN TUPLE SPACES Philipp Obreiter, Guntram Gräf Telecooperation Office (TecO) University of Karlsruhe
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 Goals Scalable 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) F int string 1234 5678 “Hello“ “World“
F Obreiter/Gräf: Towards Scalability in Tuple Spaces x modulo y fraction x modulo 3 x modulo 5 1/2 6/9 2/4 4/6 0 1 0 1 2 4 2 3 Hierarchy of fields
Obreiter/Gräf: Towards Scalability in Tuple Spaces (int,F) (F, string) (int,(int,int)) (int,string) (F,“Hello“) (1234,(56,78)) (int,“Hello“) (1234,string) (5678,“Hello“) Hierarchy of tuples (,match)
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 fromR(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 Conceiving a distribution W(t) t t Abstract representation • uncouples abstraction of tuples and adjustment to p • is an efficient data structure W(t) abstract representation R(t) R(t) directly indirectly
Obreiter/Gräf: Towards Scalability in Tuple Spaces (F) (printer,F,F) (F,1200dpi,F) (scanner,F,F) (printer,1200dpi,F) (scanner,1200dpi,F) (F,1200dpi,x.x.x.x) P1 S4 P3 S3 P2 P4 P5 S1 S2 S5 Indexing based on hashing (I)
Obreiter/Gräf: Towards Scalability in Tuple Spaces (F) (printer,F,F) (F,1200dpi,F) (scanner,F,F) (printer,1200dpi,F) (scanner,1200dpi,F) (F,1200dpi,x.x.x.x) P1 S4 P3 S3 P2 P4 P5 S1 S2 S5 Indexing based on hashing (II) {1} {7} {2} {6} {12} {8} {5} {8} {3} {5}
Obreiter/Gräf: Towards Scalability in Tuple Spaces (F) (printer,F,F) (F,1200dpi,F) (scanner,F,F) (printer,1200dpi,F) (scanner,1200dpi,F) (F,1200dpi,x.x.x.x) P1 S4 P3 S3 P2 P4 P5 S1 S2 S5 Indexing based on hashing (III) {7} {3}
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 domains1,... p • (,) permissible with (t):= {q | q(t) }
Obreiter/Gräf: Towards Scalability in Tuple Spaces disjoint/complete tuple domains x1 5 T6 4 T4 3 T5 2 T3 1 T1 T2 x2 -1 0 1 2 3 4 5
Obreiter/Gräf: Towards Scalability in Tuple Spaces disjoint/complete tuple domains x1 1 2 5 T6 4 T4 3 3 T5 2 4 5 T3 1 T1 T2 x2 -1 0 1 2 3 4 5
x2 = 0 Obreiter/Gräf: Towards Scalability in Tuple Spaces x1 = 2 2 x1 = 4 x2 = 3 4 5 3 2 Tree of tuple domains
Obreiter/Gräf: Towards Scalability in Tuple Spaces Overlapping/incomplete tuple domains x1 2 5 T6 1 4 T4 3 3 T5 2 T3 1 T1 T2 x2 -1 0 1 2 3 4 5
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
Rate Obreiter/Gräf: Towards Scalability in Tuple Spaces Efficiency of the distribution 1 .8 pruning rate .6 .4 .2 overhead n 0 50 100 150 200 250 300 350 400 450 500
Obreiter/Gräf: Towards Scalability in Tuple Spaces Questions?