Ιεραρχίες Κόμβων Δομημένες σε Δακτύλιο για Ρ2Ρ Συστήματα Βασισμένα σε RDF Σχήματα

Download Report

Transcript Ιεραρχίες Κόμβων Δομημένες σε Δακτύλιο για Ρ2Ρ Συστήματα Βασισμένα σε RDF Σχήματα

Ιεραρχίες Κόμβων Δομημένες σε Δακτύλιο
για Ρ2Ρ Συστήματα Βασισμένα σε RDF
Σχήματα
Παρουσίαση Μεταπτυχιακής Διατριβής:
Νικόλαος Κρεμμυδάς
Επιβλέπουσα καθηγήτρια:
Ευαγγελία Πιτουρά
Κίνητρο για την εργασία

Υπάρχοντα Ρ2Ρ συστήματα παρέχουν περιορισμένες
δυνατότητες διαχείρισης δεδομένων



Οργανισμοί (π.χ. εκπαιδευτικοί) απαιτούν
«πλουσιότερες» λειτουργίες


Αναζήτηση με βάση κλειδί χρησιμοποιεί καθορισμένο
σύνολο από attributes
Ικανοποιητικά για διαμοίραση αρχείων
Ανταλλαγή, αναζήτηση κ ενοποίηση δομημένων
δεδομένων
P2P Συστήματα που βασίζονται σε Σχήμα επιτρέπουν
τέτοιες λειτουργίες
Στη συνέχεια θα δούμε…







Ρ2Ρ Συστήματα
RDF Σχήματα
Γενικό Πρόβλημα κ τεχνικές επίλυσης
Παρουσίαση δικής μας λύσης (σύστημά μας)
Πειραματική μελέτη Συστήματός μας
Πειραματική σύγκριση με άλλα Συστήματα
Συμπεράσματα/μελλοντική δουλειά
Ρ2Ρ Συστήματα

Κατανεμημένα δίκτυα κόμβων, χωρίς κεντρικό
έλεγχο


Πλεονεκτούν έναντι client-server δικτύων




Ανεκτικά σε σφάλματα
Κλιμακούμενα
Γρήγοροι χρόνοι για εισαγωγή/διαγραφή κόμβων και
αναζήτηση ερωτημάτων
Μετρικές στα Ρ2Ρ:



Ομότιμοι κόμβοι: κρατούν ίδιο όγκο πληροφορίας,
έχουν ίδιες υποχρεώσεις
Hops (πόσο γρήγορα γίνεται μια λειτουργία)
Μηνύματα (πόσοι κόμβοι απασχολούνται)
Τύποι Ρ2Ρ: Δομημένα κ Αδόμητα
Δομημένα Ρ2Ρ Συστήματα




Κόμβοι συνδέονται ώστε να σχηματίζουν
δομή
Δεδομένα διαμοιράζονται στους κόμβους
Λογαριθμικοί χρόνοι για εισαγωγή/
διαγραφή κόμβου κ αναζήτηση
ερωτήματος
Παραδείγματα: Chord, Can, P-Grid
Αδόμητα Ρ2Ρ Συστήματα





Κόμβοι συνδέονται τυχαία μεταξύ τους
Ο(1) χρόνος για εισαγωγή/διαγραφή
κόμβου
Υψηλοί χρόνοι για αναζήτηση ερωτήματος
Βασίζονται σε ειδικούς αλγορίθμους για
αναζήτηση ερωτημάτων
Παραδείγματα: Gnutella, Random Walks
RDF Δεδομένα



RDF (Resource Description
Framework): σημασιολογική
απεικόνιση μετά-δεδομένων
Βασικό δομικό στοιχείο RDF
δεδομένων: Υποκείμενο,
Αντικείμενο, Κατηγόρημα
RDF στοιχεία απεικονίζονται
με URIs, π.χ. με URL μιας
ιστοσελίδας
Σχ. 1: RDF statement
RDF Σχήμα





RDFS (RDF Schema):
σημασιολογική
απεικόνιση βάσης μετάδεδομένων
Δομικά στοιχεία: τριάδα
σχήματος
Τριάδα: 2 Κλάσεις - 1
Ιδιότητα
Δημιουργούνται
ιεραρχίες από κλάσεις κ
ιδιότητες
RDFS περιγράφονται με
namespaces
S0: www.cs.uoi.gr/rdf_schemas/schema1.rdf
Σχ. 2: Ένα RDF Σχήμα και το
αντίστοιχο namespace
Υπαγωγή RDF Σχημάτων




Έστω 2 Σχήματα S1 και
S2
Οριζόντια υπαγωγή: Αν
κάθε τριάδα του S2 ανήκει
κ στο S1, S1 υπάγει
οριζόντια S2
Κάθετη υπαγωγή: Αν για
κάθε τριάδα Τ2 του S2
υπάρχει τριάδα Τ1 του S1,
ώστε Τ2 isA Τ1, S1 υπάγει
κάθετα S2
Αν S1 υπάγει οριζόντια ή
(και) κάθετα S2, S1
υπάγει S2
Σχ. 3: Οριζόντια υπαγωγή σχημάτων
Σχ. 4: Κάθετη υπαγωγή σχημάτων
Περιγραφή Προβλήματος



Κόμβοι με βάσεις μετά-δεδομένων
Κόμβοι εκφράζουν τις βάσεις τους με RDF
Σχήματα
Μπορούμε να δομήσουμε δίκτυο κόμβων,
ώστε:



Γρήγορη αναζήτηση ερωτήματος
Γρήγορη εισαγωγή/διαγραφή κόμβου
Εναλλακτικά, μπορούμε να βρούμε
αλγόριθμο ώστε να έχουμε γρήγορη
αναζήτηση ερωτήματος σε αδόμητο δίκτυο
Σχετική Δουλειά

“Super-Peer-Based Routing Strategies for RDF-Based Peer-toPeer Networks” by W. Nejdl, M. Wolpers, W.Siberski, C.
Schmitz, M. Schlosser, I. Brunkhorst.



“Efficient Query Routing in RDF/S schema-based P2P
Systems” by L. Sidirourgos, G. Kokkinidis, T. Dalamagas [12].
“Index Structures and Algorithms for Querying Distributed
RDF Repositories” by H. Stuckenschmidt, R. Vdovjak, G.
Houben, J. Broekstra.


Κόμβοι κρατάνε μεγάλο όγκο πληροφορίας για διατήρηση
υπερκύβου
Μεγάλοι χρόνοι για αναζήτηση ερωτήματος
“Remindin': Semantic Query Routing in Peer-to-Peer
Networks based on Social Metaphors” by C. Tempich, S.
Staab, A. Wranik.

Μεγάλοι χρόνοι για αναζήτηση ερωτήματος
Τι ψάχνουμε...;



Σύστημα στο οποίο, κόμβοι κρατάνε
μικρό όγκο πληροφορίας
Εισαγωγή/διαγραφή κόμβου σε
μικρό χρόνο
Αναζήτηση ερωτήματος σε μικρό
χρόνο
To Σύστημά μας…




Ιεραρχίες κόμβων
Ιεραρχίες δομούνται σε
δακτύλιο
Κόμβοι με σχήματα
που υπάγονται σε
σχήματα άλλων
κόμβων, δομούνται
στην ίδια ιεραρχία
Ριζικός κόμβος
ιεραρχίας κρατάει
γενικότερο σχήμα
Σχ. 5 Τοπολογία συστήματος
Υποθέσεις για το σύστημά μας





Καθολικό Σχήμα
Κάθε κόμβος εκδίδει σχήμα που
υπάγεται στο καθολικό σχήμα
Ένας κόμβος εκδίδει ένα σχήμα
Σχήματα βρίσκονται σε κόμβους που
τα εκδίδουν
Δημιουργία τοπολογίας σχημάτων
που εκδίδουν κόμβοι
Τοπολογία Συστήματος (Δακτύλιος)





Δακτύλιος (παρόμοιος με
chord) κρατάει ριζικά
σχήματα ιεραρχιών
(υπερσχήματα)
Υπερσχήματα δεν υπάγονται
από κανένα άλλο σχήμα
Κάθε υπερσχήμα παίρνει mbit id (n=2m)
Κάθε υπερσχήμα κρατάει
πίνακα με logn άλλα
υπερσχήματα (fingertables),
όπως Chord
i-οστή θέση πίνακα σχήματος
N κρατάει σχήμα s: s =
successor (N+2i-1)
Σχ. 6 Τοπολογία δακτυλίου με
fingertables
Τοπολογία Συστήματος (Ιεραρχίες)



Ιεραρχίες σχημάτων
κάτω από
υπερσχήματα
Κάθε σχήμα κρατάει
σχήματα του πατέρα
και των παιδιών του
Κάθε σχήμα ιεραρχίας
υπάγεται από σχήμα
πατέρα του κ υπάγει
σχήματα παιδιών του
Σχ. 7 Τοπολογία Δακτυλίου με Ιεραρχίες
Εισαγωγή Σχήματος





Έστω κόμβος p
εκδίδει σχήμα S
S επικοινωνεί με
τυχαίο σχήμα Q
Q προωθεί S στο
υπερσχήμα SP
SP στέλνει με
broadcast το S στα
υπόλοιπα
υπερσχήματα
Σχήμα S
συγκρίνεται με
λοιπά υπερσχήματα
Σχ. 8 Τοπολογία συστήματος Σχ. 9 SP1 κάνει broadcast το
δεδομένη στιγμή
σχήμα S
Αποδοτικό broadcast στο δακτύλιο



Έστω κόμβος N0 ξεκινάει
broadcast
N0 στέλνει μήνυμα σε κάθε
finger(i) με limit =
finger(i+1)
Κάθε κόμβος Ν που
λαμβάνει μήνυμα στέλνει
το μήνυμα στα fingers:


Ν<Ν.finger(i)<limit
Κόστος (s: αριθμός
υπερσχημάτων):


Ο(logs) hops
s-1 μηνύματα
Σχ. 10 Broadcast στο δακτύλιο σε
logn hops
Εισαγωγή Σχήματος(1/3)

Αν S υπάγει
υπερσχήματα SPi:




SPi διαγράφονται
από δακτύλιο
SPi συνδέονται με S
ως παιδιά του
S παίρνει θέση στο
δακτύλιο
Ανανεώνονται
fingertables λοιπών
υπερσχημάτων
Σχ.11 Τοπολογία συστήματος μετά τη
διαγραφή των SP0 και SP1, τη σύνδεση τους
με S και την εισαγωγή του S στο δακτύλιο
Εισαγωγή Σχήματος(2/3)

Αν S υπάγεται από
υπερσχήμα SP:





S προωθείται στην ιεραρχία
SP
S συγκρίνεται με παιδιά SP
Αν S δεν υπάγεται κ δεν
υπάγει κανένα παιδί s, τότε S
συνδέεται με SP ως παιδί του
Αν S υπάγει κάποιο παιδί s,
τότε S ενώνεται με SP ως
παιδί του κ με s, ως πατέρας
του
Αν S υπάγεται από κάποιο
παιδί s, τότε προωθείται στο
s κ.ο.κ.
Σχ. 12 Τοπολογία συστήματος
μετά την εισαγωγή του
σχήματος S στην ιεραρχία SP3
Εισαγωγή Σχήματος(3/3)

Αν S δεν υπάγεται ούτε υπάγει
κανένα υπερσχήμα:



S παίρνει θέση στο δακτύλιο
Ανανεώνονται τα fingertables
λοιπών υπερσχημάτων
Κόστος (s: # υπερσχημάτων,
h: μέγιστο ύψος ιεραρχίας, k
# διαγραφέντων
υπερσχημάτων):


k*Ο(logs) + O(h) hops
O(s) + O(h) μηνύματα
Σχ. 13 Τοπολογία συστήματος
μετά την εισαγωγή του
σχήματος S στο δακτύλιο
Διαγραφή Σχήματος

Διαγραφή υπερσχήματος




Διαγραφή σχήματος ιεραρχίας


Ανανέωση fingertables
λοιπών υπερσχημάτων
Εισαγωγή παιδιών
υπερσχήματος
Ανανέωση fingertables
λοιπών υπερσχημάτων
Σχ. 14 Διαγραφή υπερσχήματος
Σύνδεση παιδιών σχήματος
με πατέρα
Κόστος (c: #παιδιών
υπερσχήματος):

c*Ο(log(s)) hops κ μηνύματα
Σχ. 15 Διαγραφή σχήματος
ιεραρχίας
Αναζήτηση ερωτήματος (1/3)



Έστω σχήμα ΡΧ εκδίδει
ερώτημα: «Θέλω όλους
τους καλλιτέχνες με όλα
τα δημιουργήματά τους
που υπάρχουν σε
μουσεία»
ΡΧ στέλνει ερώτημα σε
υπερσχήμα (SP3)
SP3 δεν μπορεί να
απαντήσει ερώτημα κ το
κάνει broadcast
Σχ. 16 Τοπολογία συστήματος κ σχήματα
ιεραρχιών που απαντούν στο ερώτημα
Αναζήτηση ερωτήματος (2/3)



SP0 απαντάει με τους
«καλλιτέχνες και τα
δημιουργήματά τους» κ
προωθεί αυτό το μέρος του
ερωτήματος στην ιεραρχία
του
SP1 δεν μπορεί να
απαντήσει ερώτημα
SP2 απαντάει με τους
«δημιουργήματα και τα
μουσεία όπου εκτίθενται» κ
προωθεί αυτό το μέρος του
ερωτήματος στην ιεραρχία
του
Σχ. 17 Αναζήτηση ερωτήματος κ σχήματα
ιεραρχιών που απαντούν στο ερώτημα
Αναζήτηση ερωτήματος (3/3)



SP0 κ SP2 συνενώνουν
απαντήσεις από ιεραρχίες
τους κ στέλνουν στο SP3
SP3 στέλνει απάντηση
στο ΡΧ
Κόστος (ν: αριθμός
σχημάτων μεγαλύτερης
ιεραρχίας)


Ο(logs) + O(h) hops
O(s*ν) μηνύματα (χείριστη
περίπτωση)
Σχ. 18 Απάντηση στο ερώτημα
Εξισορρόπηση φόρτου







Περιμένουμε λίγες ιεραρχίες να είναι πιο «δημοφιλείς»
από άλλες
Αυτές οι ιεραρχίες θα υπερφορτωθούν από
ερωτήματα, δημιουργώντας φαινόμενο bottleneck
Θέτουμε όριο στα ερωτήματα/χρόνο που μπορεί να
απαντήσει μια ιεραρχία
Q: #ερωτημάτων που απαντήθηκαν από ιεραρχία, σε
χρόνο T
Qm= Q/T: μέση τιμή Q
Αν στο επόμενο διάστημα χρόνου: Q≥2Qm, τότε,
σχήμα που συνδέθηκε τελευταίο με ιεραρχία,
διαγράφεται κ τοποθετείται στο δακτύλιο σαν
υπερσχήμα
Δημιουργείται υπερσύνδεσμος μεταξύ ιεραρχίας κ
καινούριου υπερσχήματος
Πειράματα

Μελέτη του συστήματός μας:




Για διαφορετικές επικαλύψεις σχημάτων (20%, 80%
και τυχαία)
Εισαγωγή σχήματος για διαφορετικά μεγέθη
σχημάτων (2, 12 και 20 τριάδες)
Αναζήτηση ερωτήματος για διαφορετικά μεγέθη
ερωτήματος, σε σχέση με τα μεγέθη σχημάτων
Σύγκριση συστήματός μας με 2 άλλα
συστήματα


Για εισαγωγή/διαγραφή σχήματος
Για αναζήτηση ερωτήματος
Παράμετροι συστήματος (1/2)
Συμβολισμός
Περιγραφή
n
Αριθμός κόμβων συστήματος
ν
Αριθμός σχημάτων μεγαλύτερης ιεραρχίας
s
Αριθμός υπερσχημάτων (ιεραρχιών)
p
Αριθμός διαγραφέντων υπερσχημάτων κατά
την εισαγωγή σχήματος
c
Αριθμός παιδιών ενός διαγραφέντος
υπερσχήματος
h
Ύψος υψηλότερης ιεραρχίας
Παράμετροι συστήματος (2/2)



Καθολικό σχήμα: ιεραρχία με ύψος 7 κ
fan-out = 4
Ένας κόμβος εκδίδει μοναδικό σχήμα
Αλγόριθμοι για ενημέρωση fingertables:
Αλγόριθμοι Chord (O(log2s))


Εισαγωγή σχήματος: p*Ο(log2s) + O(h) hops
Διαγραφή σχήματος: c*Ο(log2s) hops
Διαφορετικές επικαλύψεις σχημάτων
(Εισαγωγή σχήματος)
Εισαγωγή κόμβου (μέγεθος σχημάτων = 3)
Εισαγωγή κόμβου (μέγεθος σχημάτων = 3)
450
Συνολικά hops
350
300
20% επικάλυψη
250
80% επικάλυψη
200
τυχαία
επικάλυψη
150
100
Συνολικά μυνήματα
400
9000
8000
7000
6000
5000
4000
3000
2000
1000
0
20% επικάλυψη
80% επικάλυψη
Τυχαία επικάλυψη
500
1000
2500
5000
7500
10000
Πλήθος κόμβων
50
0
500
1000
2500
5000
7500
10000
Πλήθος κόμβων
Σχ. 19 Εισαγωγή κόμβου (συνολικά hops)
Σχ. 20 Εισαγωγή κόμβου (συνολικά μηνύματα)
Διαφορετικές επικαλύψεις σχημάτων
(Διαγραφή κόμβου)
Διαγραφή κόμβου (μέγεθος σχημάτων = 3)
250
8
Ύψος
6
80% επικάλυψη
20% επικάλυψη
4
Τυχαία σχήματα
2
0
500
1000
2500
5000
7500
Πλήθος κόμβων
Σχ. 21 Μέγιστα ύψη ιεραρχιών
10000
Συνολικά hops (μηνύματα)
Μέγιστα ύψη ιεραρχιών για διαφορετικές επικαλύψεις
σχημάτων
200
150
20% επικάλυψη
τυχαία επικάλυψη
80% επικάλυψη
100
50
0
500
1000
2500
5000
7500
10000
Πλήθος κόμβων
Σχ. 22 Διαγραφή κόμβου (συνολικά μηνύματα κ
hops)
Διαφορετικές επικαλύψεις σχημάτων
(Αναζήτηση ερωτήματος)
Αναζήτηση ερωτήματος (μέγεθος ερωτήματος = 3 &
μέγεθος σχηματων = 3)
Αναζήτηση ερωτήματος (μέγεθος ερωτήματος = 3)
25
Συνολικά hops
20% επικάλυψη
15
80% επικάλυψη
τυχαία επικάλυψη
10
Συνολικά μηνύματα
10000
20
8000
20% επικάλυψη
6000
80% επικάλυψη
4000
Τυχαία επικάλυψη
2000
0
500
5
1000
2500
5000
7500
10000
Πλήθος κόμβων
0
500
1000
2500
5000
7500
10000
Πλήθος κόμβων
Σχ. 23 Αναζήτηση ερωτήματος (συνολικά
hops)
Σχ. 24 Αναζήτηση ερωτήματος (συνολικά
μηνύματα)
Εισαγωγή σχήματος για διαφορετικά
μεγέθη σχημάτων (1/2)
Εισαγωγή κόμβων με διαφορετικά μεγέθη σχημάτων
Εισαγωγή κόμβων με διαφορετικά μεγέθη σχημάτων
3500
250
Εισαγωγή μικρών σχημάτων
πρώτα
200
150
Εισαγωγή μεγάλων
σχημάτων πρώτα
100
τυχαία εισαγωγή σχημάτων
50
0
Συνολικά μηνύματα
Συνολικά hops
300
3000
Εισαγωγή μικρών σχημάτων
πρώτα
2500
2000
1500
Εισαγωγή μεγάλων
σχημάτων πρώτα
1000
Τυχαία εισαγωγή σχημάτων
500
0
500
1000
2500
5000
7500
10000
Πλήθος κόμβων
Σχ. 25 Εισαγωγή κόμβου (συνολικά hops)
500
1000
2500
5000
7500
10000
Πλήθος κόμβων
Σχ. 26 Εισαγωγή κόμβου (συνολικά μηνύματα)
Εισαγωγή σχήματος για διαφορετικά
μεγέθη σχημάτων (2/2)
Αριθμός υπερσχημάτων κατά την εισαγωγή κόμβων για
διαφορετικές περιπτώσεις μεγέθους σχημάτων
1000
1800
900
1600
800
700
600
Μικρά σχήματα πρώτα
500
Μεγάλα σχήματα πρώτα
400
Τυχαία εισαγωγή σχημάτων
300
200
Αριθμός υπερσχημάτων
Αριθμός διαγραφέντων
υπερσχημάτων
Συνολικά υπερσχήματα που διαγράφηκαν κατά την εισαγωγή
των κόμβων
1400
1200
Μικρά σχήματα πρώτα
1000
Τυχαία εισαγωγή σχημάτων
800
Μεγάλα σχήματα πρώτα
600
400
200
100
0
0
500
1000
2500
5000
7500
10000
Κόμβοι που εισήχθησαν
Σχ. 27 Αριθμός διαγραφέντων υπερσχημάτων
500
1000
2500
5000
7500
10000
Πλήθος κόμβων
Σχ. 28 Αριθμός υπερσχημάτων στο πλήθος των
κόμβων
Αναζήτηση ερωτήματος για διαφορετικά
μεγέθη ερωτήματος
Αναζήτηση ερωτήματος (μέγεθος σχημάτων = 3)
Αναζήτηση ερωτήματος (μέγεθος σχημάτων = 3)
20
4000
18
3500
14
12
μέγεθος ερωτήματος = 3
10
μέγεθος ερωτήματος = 12
8
μέγεθος ερωτήματος = 20
6
Συνολικά μηνύματα
Συνολικά hops
16
4
3000
2500
μέγεθος ερωτήματος = 3
μέγεθος ερωτήματος = 12
2000
μέγεθος ερωτήματος = 20
1500
1000
500
2
0
0
500
1000
2500
5000
7500
10000
500
1000
Πλήθος κόμβων
Αναζήτηση ερωτήματος (μέγεθος σχήματος = 20)
5000
7500
10000
Αναζήτηση ερωτήματος (μέγεθος σχήματος = 20)
20
5000
18
4500
16
4000
14
12
μέγεθος σχημάτων = 3
10
μέγεθος σχημάτων = 12
8
μέγεθος σχημάτων = 20
6
Συνολικά μηνύματα
Συνολικά hops
2500
Πλήθος κόμβων
3500
3000
μέγεθος ερωτήματος = 3
2500
μέγεθος ερωτήματος =12
2000
μέγεθος ερωτήματος = 20
1500
4
1000
2
500
0
0
500
1000
2500
5000
Πλήθος κόμβων
7500
10000
500
1000
2500
5000
Πλήθος κόμβων
Σχ. 29 Αναζήτηση ερωτήματος για διαφορετικά
σχήματα κ διαφορετικά ερωτήματα
7500
10000
Σύγκριση Συστημάτων

Αδόμητο σύστημα



Εισαγωγή/διαγραφή σχήματος: Ο(1)
Αναζήτηση ερωτήματος: Ω(n) μηνύματα, ~n hops
“Efficient Query Routing in RDF/S schema-based P2P
Systems” by L. Sidirourgos, G. Kokkinidis, T.
Dalamagas [12].


Εισαγωγή/διαγραφή σχήματος: K*O(logn) hops και
μηνύματα, K όλα τα δυνατά οριζόντια υποσχήματα
σχήματος
Αναζήτηση ερωτήματος: S*Ο(logn) hops και μηνύματα,
S όλα τα δυνατά κάθετα υποσχήματα του καθολικού
σχήματος που υπάγονται στο σχήμα του ερωτήματος
Σύστημα [12] (1/2)



Κόμβοι εισάγονται σε
δακτύλιο chord
Σχήματα κάθε κόμβου
κατακερματίζονται στους
κόμβους του δικτύου,
ώστε να διατηρείται
διάταξη σχημάτων
Σχήματα που υπάγονται
σε άλλα τοποθετούνται
πιο μπροστά από αυτά
στον κύκλο του chord
Σχ. 30 Τοπολογία [12]
Σύστημα [12] (2/2)

Εισαγωγή κόμβου




Διαγραφή κόμβου




Κόμβος εισάγεται στο chord
Κατακερματίζει το σχήμα του, καθώς κ κάθε οριζόντιο
υποσχήμα
Κόστος (Κ: όλα τα δυνατά οριζόντια υποσχήματα σχήματος του
ερωτήματος):K*O(logs) hops και μηνύματα
Κόμβος διαγράφεται από chord
Διαγράφονται κ όλα τα οριζόντια υποσχήματα του σχήματός
του
Κόστος:K*O(logs) hops και μηνύματα
Αναζήτηση ερωτήματος:


Αναζητάται σχήμα ερωτήματος κ όλα δυνατά κάθετα
υποσχήματα του που μπορεί να υπάρχουν στο σύστημα
Κόστος (S: όλα τα δυνατά κάθετα υποσχήματα του καθολικού
σχήματος που υπάγονται στο σχήμα του ερωτήματος):
S*Ο(logs) hops και μηνύματα
Παράμετροι συστημάτων (1/2)
Συμβολισμός
Περιγραφή
n
Αριθμός κόμβων συστήματος
ν
Αριθμός σχημάτων μεγαλύτερης ιεραρχίας
s
Αριθμός υπερσχημάτων (ιεραρχιών)
p
Αριθμός διαγραφέντων υπερσχημάτων κατά την εισαγωγή
σχήματος
c
Αριθμός παιδιών ενός διαγραφέντος υπερσχήματος
h
Ύψος υψηλότερης ιεραρχίας
S
Αριθμός δυνατών υποσχημάτων καθολικού σχήματος που είναι
κάθετα υποσχήματα του ερωτήματος
K
Αριθμός οριζόντιων υποσχημάτων σχήματος
Παράμετροι συστήματος (2/2)





Καθολικό σχήμα: ιεραρχία με ύψος 5 κ
fan-out = 4
Μέγεθος σχημάτων = 12 τριάδες
Σχέση κόμβων-σχημάτων: 1-1
Αλγόριθμοι για ενημέρωση fingertables:
Αλγόριθμοι Chord (O(log2s))
Σύστημά μας:



Εισαγωγή σχήματος: p*Ο(log2s) + O(h) hops
Διαγραφή σχήματος: c*Ο(log2s) hops
Σύστημα [12]:


Εισαγωγή/διαγραφή σχήματος: Κ*Ο(log2n)
Αναζήτηση ερωτήματος: S*O(log2n)
Εισαγωγή σχήματος
Εισαγωγή κόμβου
Εισαγωγή κόμβου
300
1200
250
Συνολικά hops
[12] με 2
200
[12] με 5
[12] με 7
150
[12] με 10
Σύστημα μας
100
Αδόμητο
50
Συνολικά μηνύματα
1000
[12] με 1
[12] με 1
[12] με 2
800
[12] με 5
[12] με 7
600
[12] με 10
Σύστημα μας
400
Αδόμητο
200
0
0
500
1000
2500
5000
7500
10000
Πλήθος κόμβων
Σχ. 31 Εισαγωγή κόμβου (συνολικά hops)
500
1000
2500
5000
7500
10000
Πλήθος κόμβων
Σχ. 32 Εισαγωγή κόμβου (συνολικά μηνύματα)
Διαγραφή σχήματος
Διαγραφή κόμβου
350
Συνολικά μηνύματα
300
[12] με 1
250
[12] με 2
[12] με 5
200
[12] με 7
150
[12] με 10
Σύστημα μας
100
Αδόμητο
50
0
500
1000
2500
5000
7500
10000
Πλήθος κόμβων
Σχ. 33 Διαγραφή κόμβου (συνολικά μηνύματα κ
hops)
Αναζήτηση ερωτήματος (1/2)
Αναζήτηση ερωτήματος (μέγεθος ερωτήματος = 3)
Αναζήτηση ερωτήματος (μέγεθος ερωτήματος = 3)
10000
200
9000
180
160
[12] με 1
7000
[12] με 2
6000
[12] με 5
5000
[12] με 7
4000
[12] με 10
Σύστημά μας
3000
Συνολικά hops
Συνολικά hops
8000
Αδόμητο
2000
[12] με 1
140
[12] με 2
120
[12] με 5
100
[12] με 7
80
[12] με 10
60
Σύστημά μας
40
1000
20
0
0
500
1000
2500
5000
7500
10000
500
1000
Πλήθος κόμβων
2500
5000
7500
10000
Πλήθος κόμβων
Αναζήτηση ερωτήματος (μέγεθος ερωτήματος = 12)
Αναζήτηση ερωτήματος (μέγεθος ερωτήματος = 12)
8000
600
7000
500
5000
[12]
Αδόμητο
4000
Σύστημά μας
3000
Συνολικά hops
Συνολικά hops
6000
400
[12]
300
Σύστημά μας
200
2000
100
1000
0
0
500
1000
2500
5000
Πλήθος κόμβων
7500
10000
500
1000
2500
5000
Πλήθος κόμβων
Σχ. 34 Αναζήτηση ερωτήματος για διαφορετικά
σχήματα κ διαφορετικά ερωτήματα (hops)
7500
10000
Αναζήτηση ερωτήματος (2/2)
Αναζήτηση ερωτήματος (μέγεθος ερωτήματος = 3)
Αναζήτηση ερωτήματος (μέγεθος ερωτήματος = 3)
60000
1200
1000
[12] με 1
[12] με 2
40000
[12] με 5
[12] με 7
30000
[12] με 10
Σύστημά μας
20000
Αδόμητο
Συνολικά μηνύματα
Συνολικά μηνύματα
50000
10000
[12] με 1
800
[12] με 2
[12] με 5
600
[12] με 7
[12] με 10
400
Σύστημά μας
200
0
0
500
1000
2500
5000
7500
10000
500
1000
Πλήθος κόμβων
Αναζήτηση ερωτήματος (μέγεθος ερωτήματος = 12)
5000
7500
10000
Αναζήτηση ερωτήματος (μέγεθος ερωτήματος = 12)
60000
3000
50000
2500
40000
[12]
Αδόμητο
30000
Σύστημά μας
20000
10000
Συνολικά μηνύματα
Συνολικά μηνύματα
2500
Πλήθος κόμβων
2000
[12]
1500
Σύστημά μας
1000
500
0
0
500
1000
2500
5000
Πλήθος κόμβων
7500
10000
500
1000
2500
5000
Πλήθος κόμβων
Σχ. 35 Αναζήτηση ερωτήματος για διαφορετικά
σχήματα κ διαφορετικά ερωτήματα (μηνύματα)
7500
10000
Συμπεράσματα (1/2)






Δομημένο σύστημα με κόμβους που εκδίδουν
RDF Σχήματα
Κόμβοι με υπαγώμενα σχήματα δομούνται
στην ίδια ιεραρχία
Ιεραρχίες τοποθετούνται σε δομή δακτυλίου,
για γρήγορη εύρεσή τους
Όσο μεγαλύτερη επικάλυψη σχημάτων στο
δίκτυο, τόσο καλύτερα αποδίδει το σύστημα
Το σύστημα αποδίδει καλύτερα, όταν πρώτα
εισάγονται μεγαλύτερα σχήματα
Χρόνος απάντησης (hops) δεν εξαρτάται από
μέγεθος ερωτήματος ή μέγεθος σχήματος
Συμπεράσματα (2/2)

Πλεονεκτήματα





Εισαγωγή/διαγραφή κόμβου δεν εξαρτάται από
μέγεθος σχήματος
Χρόνος απόκρισης ερωτήματος (hops) δεν
εξαρτάται από μέγεθος ερωτήματος
Λογαριθμικοί χρόνοι (hops) για
εισαγωγή/διαγραφή κόμβου κ αναζήτηση
ερωτήματος
Λογαριθμικός αριθμός μηνυμάτων για διαγραφή
κόμβου
Μειονεκτήματα


Απαιτούμενο πλήθος μηνυμάτων για απόκριση
ερωτήματος εξαρτάται από μέγεθος ερωτήματος
Γραμμικό πλήθος μηνυμάτων για εισαγωγή κόμβου
κ αναζήτηση ερωτήματος
Μελλοντική δουλειά



Εύρεση δρομολόγησης σχημάτων στο
δακτύλιο, για αποφυγή broadcast
Επέκταση εργασίας, ώστε να μην είναι εκ
των προτέρων γνωστή μια καθολική
ιεραρχία
Πειραματική μελέτη για εύρεση χρονικού
διαστήματος στο οποίο θα μετράται
πλήθος ερωτημάτων που δέχτηκε μια
ιεραρχία, ώστε να γίνεται πιο σωστά
εξισορρόπηση φόρτου
Ερωτήσεις???
Backup
Backup slides…
RDF Δεδομένα




RDF (Resource Description
Framework): σημασιολογική
απεικόνιση μετά-δεδομένων
Βασικό δομικό στοιχείο RDF
δεδομένων: Υποκείμενο,
Αντικείμενο, Κατηγόρημα
RDF στοιχεία απεικονίζονται
με URIs, π.χ. με URL μιας
ιστοσελίδας
RDF περιγράφονται στο
πλαίσιο xml-rdf σύνταξης
<?xml version = "1.0" encoding = "UTF-8"?>
<rdf: RDF xmlns:rdf = "http://www.w3org/1999/02/22 rdf-syntax-ns#"
xmlns:dc = "http://www.purl.org/DC"
<rdf:Description about = "http://rama.cpe.fr/ index.html">
<dc:Creator>
<rdf:Description about = "mailto@[email protected]">
</dc:Creator>
</rdf:Description>
</rdf:RDF>
RDF Σχήμα





RDFS (RDF Schema):
περιγραφή συνόλου
RDF δεδομένων
Δομικά στοιχεία: τριάδα
σχήματος
Τριάδα: 2 Κλάσεις - 1
Ιδιότητα
RDFS περιγράφονται με
namespaces
RDF δεδομένα είναι
στιγμιότυπα RDF
κλάσεων
S0: www.cs.uoi.gr/rdf_schemas/schema1.rdf
Αλγόριθμοι σύγκρισης (1/3)




Καθολικό ιεραρχία
κλάσεων (κ ιδιοτήτων)
αριθμείται με pre-order
αρίθμηση
Κάθε κόμβος-κλάση
κρατάει διάστημα
[α,β]: α id κλάσης, β:
id τελευταίου απογόνου
Δημιουργούνται
επίπεδα τριάδων
Κόμβοι αποθηκεύουν
σχήματα ανά επίπεδο
Αλγόριθμοι σύγκρισης (2/3)



Κάθε επίπεδο έχει
τριάδες διαταγμένες
με βάση ιδιότητα
Άμεσος αλγόριθμός:
συγκρίνει όλες τις
τριάδες ενός
σχήματος με όλες
τις τριάδες του
άλλου
Κόστος:Ο(n2)
Αλγόριθμοι σύγκρισης (3/3)




Αλγόριθμος βασισμένος σε επίπεδα
Κάθε τριάδα ενός σχήματος
ελέγχεται με όλα τα επίπεδα του
δεύτερου
Μέσα σε κάθε επίπεδο γίνεται ΔΔΑ
με βάση ιδιότητα τριάδας
Κόστος: Ο(nlog2n)
Πειράματα αλγορίθμων σύγκρισης
σχημάτων (1/2)
Σύγκριση μεταξύ 2 Σχημάτων που είναι ανεξάρτητα
μεταξύ τους
Χρόνος (αριθμός συγκρίσεων
τριάδων)
90
80
70
50
Αλγόριθμος
βασισμένος σε
επίπεδα
40
Άμεσος
60
30
20
10
0
2
6
10
14
18
22
Αριθμός Τριάδων
26
30
Χρόνος (αριθμός συγκρίσεων
τριάδων)
Σύγκριση μεταξύ 2 Σχημάτων όταν το ένα είναι
υποσύνολο του άλλου
35
30
25
20
Αλγόριθμος βασισμένος σε
επ ίπ εδα
15
Άμεσος
10
5
0
2
6
10
14
18
22
Αριθμός τριάδων
26
30
Πειράματα αλγορίθμων σύγκρισης
σχημάτων (2/2)
Σύγκριση μεταξύ 2 τυχαίων Σχημάτων
Σύγκριση μεταξύ 2 Σχημάτων που έχουν 50%
επικάλυψη
60
160
140
120
Αλγόριθμος βασισμένος
σε επ ίπ εδα
100
Άμεσος
80
60
40
20
Χρόνος (Αριθμός συγκρίσεων
τριάδων)
Χρόνος (Αριθμός σύγκρισης
τριάδων)
180
50
Αλγόριθμος
βασισμένος σε
επίπεδα
40
30
Άμεσος
20
10
0
0
2
6
10
14
18
22
Αριθμός Τριάδων
26
30
2
6
10
14
18
22
Αριθμός Τριάδων
26
30