ANALYSE UND KONZEPTION VON TUPLE SPACES IM HINBLICK AUF SKALIERBARKEIT Philipp Obreiter Telecooperation Office (TecO) Universitaet Karlsruhe Betreuer:

Slides:



Advertisements
Ähnliche Präsentationen
WPM Künstliche Intelligenz Projekt: “Schiffe-Versenken”
Advertisements

Prolog Implementierung Spielregeln
Der R-Baum Richard Göbel.
Temporale Logiken: LTL und CTL
Datenbankentwurf Abstraktionsebenen des Datenbankentwurfs
Mehrbenutzersynchronisation
Partitionierungstechniken in Datenbanksystemen
Programmierung 1 - Repetitorium WS 2002/2003 Programmierung 1 - Repetitorium Andreas Augustin und Marc Wagner Homepage:
Programmierung 1 - Repetitorium WS 2002/2003 Programmierung 1 - Repetitorium Andreas Augustin und Marc Wagner Homepage:
Der k-d-Baum Richard Göbel.
DVG Einfache Klassen Einfache Klassen. DVG Einfache Klassen 2 Strukturen Beispiel: Personendaten bestehen aus –String name –String vorname.
TelegraphCQ Manuel Hertlein.
WS 03/041 Algorithmentheorie 01 - Einleitung Prof. Dr. S. Albers Prof. Dr. Th. Ottmann.
Software-Engineering II Eingebettete Systeme, Softwarequalität, Projektmanagement Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt.
Seminar Textmining WS 06/07
Pflege der Internetdienste
Bauinformatik Grundlagen Algorithmen und Datenstrukturen in Java
der Universität Oldenburg
An Axiomatic Proof Technique for Parallel Programs
Anfrage-Optimierung und -Bearbeitung in Verteilten DBMS
FH-Hof Verwaltung von Zeichenketten Richard Göbel.
Der R-Baum Richard Göbel.
DOM (Document Object Model)
Time-triggered E Sensor- eingaben P Programm A Ausgabe Aktorik.
WS 03/04 Algorithmentheorie 03 - Randomisierung Prof. Dr. S. Albers Prof. Dr. Th. Ottmann.
Geometrisches Divide and Conquer
Symbolisches Model Checking mit Binary Decision Diagrams
Gottfried Vossen 5. Auflage 2008 Datenmodelle, Datenbanksprachen und Datenbankmanagementsysteme Kapitel 22: Grundlagen der Crash Recovery.
Geometrische Objekte in Datenbanken Martin Pfeifle Institut für Informatik, Universität München Lehr- und Forschungseinheit für Datenbanksysteme Prof.
Programmiermethodik SS2007 © 2007 Albert Zündorf, University of Kassel 1 4. Methodenentwurf Gliederung: 1. Einführung 2. Objektdiagramme zur Analyse von.
3. Klassendiagramme in Java implementieren
Heaps und Priority Queues
DVG Klassen und Objekte
DVG Einfache Klassen 1 Einfache Klassen. 2DVG Einfache KlassenStrukturen Beispiel: Personendaten bestehen aus String name String name.
1 Kapitel 5: Mehrdimensionale Suchstrukturen. 2 Mehrdimensionale Suchstrukturen Alterzwischen 20 und 30 Einkommenzwischen 2000 und 3000 PLZzwischen
Bestimmung des ggT zweier Zahlen
Recovery AIFB SS Recovery 5.1 Fehler im Datenbankbetrieb(1/10) (1)Transaktionsfehler (TF) (2)Systemfehler (SF) (3)Speicherfehler (SpF) Fehlerfallen.
Analyse (1) Oberstes Gebot: Typsicherheit muss in Sicht und Basis jeweils für sich gelten. Basisschema muss unverändert bleiben. Bei rein syntaktischer.
Implementierung von S2PL (1) Scheduler als Verwalter von Sperren auf Datenelementen sowie Warteschlangen für Sperren (Sperren-Verwalter). Transaktion 1Transaktion.
ERWEITERUNG VON TUPLE SPACES IN RICHTUNG EINER MIDDLEWARE FUER eCOMMERCE Philipp Obreiter Telecooperation Office (TecO) Universitaet Karlsruhe.
FH-Hof Algorithmen und Datenstrukturen - Einführung Richard Göbel.
Gottfried Vossen 5. Auflage 2008 Datenmodelle, Datenbanksprachen und Datenbankmanagementsysteme Kapitel 21: Concurrency Control.
Datenmodelle, Datenbanksprachen und Datenbankmanagementsysteme
Datenmodelle, Datenbanksprachen und Datenbankmanagementsysteme
Distanzbasierte Sprachkommunikation für Peer-to-Peer-Spiele
2 Distanzbasierte Sprachkommunikation für Peer-to-Peer-Spiele.
mittels Systemanalyse
20:00.
Technische Informatik II (INF 1211) Aufgabenteil (mit Unterlagen)
6.5 Lindas Tupelraum Interaktion von Prozessen über zentralen Umschlagplatz für alle zwischen Prozessen ausgetauschten Daten: Tupelraum (tuple space) (Carriero/Gelernter,
Syntaxanalyse Bottom-Up und LR(0)
Geoinformation II Vorlesung 2 SS 2001 AVL-Bäume.
Geoinformation II (6. Semester)
Geoinformation II Vorlesung 3 SS 2001 Polygon Overlay.
1 J4 Hash-Join R und S werden mittels der gleichen Hashfunktion h – angewendet auf R.A und S.B – auf (dieselben) Hash- Buckets abgebildet Hash-Buckets.
Mehrbenutzersynchronisation
A. Walkowski ariadne – GI-Dienste für Notfall- Management-Systeme GI-Tage 2003, Münster Alexander Walkowski.
Abtragen von Strecken P Q O H t 1-t und Daraus folgt:
00:13 Matthias Ansorg FH Gießen-Friedberg1 / 24 Multidimensionale Datenstrukturen - semantische und logische Modellierung Teilvortrag: logische Modellierung.
1. Grundkörper: Verschmelzung Vierkantpyramide und Vierkantpyramide Vierkantpyramide stehend xyz G1G G2G2 0 0 G3G G4G4 0 0 S1S Vierkantpyramide.
Technische Informatik II (INF 1211) Aufgabenteil (Mit Unterlagen)
Programmiervorkurs WS 2014 Referenzdatentypen
Magst du Mathe? Rechnen Reisepass
Mehrbenutzersynchronisation
Prüfung auf Serialisierbarkeit (3)
Landkarten Landkarten sind Tesselationen mit folgenden Eigenschaften:
Java-Kurs - 6. Übung Besprechung der Hausaufgabe
Seminarleiter-Zuordnung (S1-S8)
Technische Informatik II
Gottfried Vossen 5. Auflage 2008 Datenmodelle, Datenbanksprachen und Datenbankmanagementsysteme Kapitel 23: Verteilte Transaktionsverarbeitung.
 Präsentation transkript:

ANALYSE UND KONZEPTION VON TUPLE SPACES IM HINBLICK AUF SKALIERBARKEIT Philipp Obreiter Telecooperation Office (TecO) Universitaet Karlsruhe Betreuer: Guntram Gräf, Martin Gaedke

Ziele Skalierbarer Tuple Space –ohne zusätzliche Beschränkungen –minimale Zahl zusätzlicher Informationen Vorgehen: Formalisierung/Klassifikation von Tupeln Analyse bisheriger Indexverfahren Herleitung eines neuen Indexverfahrens Konzeption der Architektur/Implementierung eines skalierbaren Tuple Spaces

Fieldhierarchie (F,match F ) HelloWorld intstring F

Tupelhierarchie (,match ) (int, F ) (int,(int,int)) ( F, string) (int,string) ( F,Hello) (int,Hello) (1234,string) ( 1234, ( 56,78 )) ( 5678,Hello )

Taxonomie von Schemata Freiheitsgrade: (A) Klassenhierarchie (B) Instanzhierarchie (C) Semantische Tupel (D) Verschachtelte Tupel (E) Tupelhierarchie Schema ABCDE schränkt Freiheitsgrade ein

Linda Schema: A E B C D

TSpaces/JavaSpaces Schema: A E B C D

Verteilungsmodell Menge von p Servern {1,...,p} Verteilung ( W, R ) für Tupel t –schreibt auf W (t) {1,...,p} –liest von R (t) {1,...,p} Korrektheitsbedingung match (t 1,t 2 ) W (t 2 ) R (t 1 ) RW

abstrakte Darstellung Konzeption einer Verteilung Abstrakte Darstellung –entkoppelt Abstraktionsvorgang und Anpassung an p –ist effiziente Datenstruktur t W (t) t direkt indirekt R (t) W (t) R (t)

Hashindizierung (I) (printer, F, F ) P1 (F) (scanner, F, F )( F,1200dpi, F ) ( printer,1200dpi, F )( scanner,1200dpi, F ) P2 P3 P4 ( F,1200dpi,x.x.x.x ) P5 S4 S5 S3 S2S1 {1} {5} {6} {8}{3} {8} {5} {12} {2} {7} {1,...,p}

Hashindizierung (II) (printer, F, F ) P1 (F) (scanner, F, F )( F,1200dpi, F ) ( printer,1200dpi, F )( scanner,1200dpi, F ) P2 P3 P4 ( F,1200dpi,x.x.x.x ) P5 S4 S5 S3 S2S1 {3} {7} {3} {1,...,p} {7} {1,...,p}

Indizierung durch Hyperquader Fields: –hierarchische Struktur Intervalle statt Punkte –Korrektheit: match F (f 1,f 2 ) F (f 2 ) F (f 1 ) Tupel: –Tupel komplex mehrdimensionaler Index –induziert Trafo auf Hyperquader Verteilung: –Aufteilung des Hyperraums in Tupeldomänen 1,... p –(, ) zulässig mit (t) := {q | q (t) }

disjunkte/vollständige Tupeldomänen x1x1 x2x2 T3T3 T2T2 T4T4 T5T5 T6T6 T1T1 4 5

überlappende/unvollständige Tupeldomänen x1x1 x2x2 T3T3 T2T2 T4T4 T5T5 T6T6 T1T

Client Agent Komponenten der Architektur F Tuple Space Server Tuple Space Server Tuple Space Server Tuple Space Server -Server Agenten- server Agent Client (t) t

F -Server Fieldhierarchie nicht a priori bekannt Aufgaben des F -Server: Bereitstellen der Klassendefinitionen Adaptive Trafo von Fields auf Intervalle –für 12 automatisierbar durch relative Intervalle ?Garbage collection von Indexbereichen

-Server und Tuple Space Server Tupeldomänen müssen adaptiv sein Überlauf eines TS Servers: –Teil der Tupel auf freien TS Server verschieben –Einblenden der neuen Tupeldomänen Unterlauf eines TS Servers: –lokale Vereinigung (mit Buddy) –Delegation oder Sperren Extended k-d tree als Tupeldomänenbaum

Cache-Validation der Agenten F -Server: –Lesecache, also stets gültig -Server: –Unterbäume tragen Sequenznummern –Cacheeintrag invalidiert, wenn mit veralterter Sequenznummer auf TS Server zugegriffen Extended k-d tree garantiert Korrektheit

SATUSSATUS Implementierung eines skalierbaren Tuple Spaces Management Schnittstelle Erweiterung auf 4-tier Architektur Eingebaute Standardfields Validiert hinsichtlich: –Effizienz der Verteilung –Effizienz der Tupeldomänenadaption

Adaption der Tupeldomänen Response time n

Fazit? Vorgehen: Formalisierung/Klassifikation von Tupeln Analyse bisheriger Indexverfahren Herleitung eines neuen Indexverfahrens Konzeption der Architektur/Implementierung eines skalierbaren Tuple Spaces Skalierbarer Tuple Space? –ohne zusätzliche Beschränkungen? –minimale Zahl zusätzlicher Informationen?

Fragen?

Verschachtelte Tupel Field selber komplex, daher Indizierung nicht direkt anwendbar Bei beschränkter Schachtelungstiefe unnesten Aufteilung in mehrere Tupel (Atomizität?) Aufnahme komplexer Klassen in die Fieldhierarchie

Skalierbarkeit Fünf Dimensionen: Größe der Tupel Zahl der Tupel im Tuple Space Zahl der eingesetzten Tuple Spaces Durchsatz des Tuple Spaces Zahl der Clients

Fieldhierarchie x modulo y fraction F 1/22/4 6/94/6 x modulo 5x modulo

Tupeldomänenbaum x 2 = 0 2 x 1 = 2 x 2 = 3 x 1 =

Adaptive Trafo i 11 [0,0] f 1 [0,100] [0,30][30,100] i 12 [10,20] z=0.3 [0,0][0.1,0.2] f 2 [30,44] [44,44] z=1 size=0.2 i 21 [30,37] i 22 [38,42] [0,0.5][0.6,0.9] f 3 [45,100] [45,45][45,100] z=0 size=0.8 f 4 [45,100] [45,78][78,100] z=0.6 size=1

Effizienz der Verteilung Rate n pruning rate overhead