Κατέβασμα παρουσίασης
Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε
ΔημοσίευσεCallia Psomas Τροποποιήθηκε πριν 10 χρόνια
2
Accessing Nearby Copies of Replicated Objects in a Distributed Environment (ANCRODE algorithm) By C.Greg Plaxton, Rajmohan Rajaraman, Andrea W. Richa
3
Εισαγωγή: Κατανεμημένα αντικείμενα; Πολλαπλάσιος ο βαθμός πολυπλοκότητας στα κατανεμημένα συστήματα: -πολλαπλές μηχανές -πολλαπλοί χρήστες -πολλαπλοί εταιρισμοί Μεγάλη η ανάγκη για επικοινωνία σε ένα(;) τέτοιο περιβάλλον... Τα αντικείμενα παρέχουν την απαραίτητη τεχνοτροπία για την χαλιναγώγηση της πολυπλοκότητας αυτής: Abstraction, Encapsulation, Concurrency control
4
Εισαγωγή: Συστήματα κατανεμημένων αντικειμένων. Ανάπτυξη τεχνολογιών δικτύων υψηλών ταχυτήτων «επιβάλλει» τη μεταπήδηση σε συστήματα κατανεμημένων αντικειμένων: π.χ. αποκεντρωμένες βάσεις δεδομένων (www). Ταυτόχρονα με τους πληθύνοντες χρήστες αυξάνεται η ανάγκη για αποδοτική εκμετάλλευση των διαθέσιμων πόρων (σύνδεσμοι, μνήμη επεξεργαστή, buffers συνδέσμων και επεξεργαστών κλπ.) Ανάγκη επινόησης νέων αλγορίθμων για αυτόν ακριβώς τον λόγο.
5
Προσπέλαση κατανεμημένων αντικειμένων Λειτουργίες: read, write, insert, delete Σχεδιαστικές επιλογές: trade-off μεταξύ χρονικών και αποθηκευτικών χαρακτηριστικών. ΧρόνοςΧώρος (=memory overhead) √ Πληροφορία τοπικά X Καθόλου πληροφορία Η προτεινόμενη λύση τοποθετείται κάπου στη μέση, ενώ δεν καταγίνεται με την write λειτουργία.
6
ANCRODE access scheme Σκοπός η μείωση του read κόστους με το δυνατόν λιγότερο memory overhead. Ο μηχανισμός διαχείρησης και εντοπισμού των αντικειμένων στο δίκτυο βασίζεται στην ακόλουθη ιδέα: Για αντικείμενο Α: -στο δίκτυο ενσωματώνεται ένα «εικονικό», ισόρροπο (ώς προς το βάθος) δέντρο Τ με n κόμβους. -Κάθε κόμβος υψηλότερα από κάποιον άλλον που περιέχει ένα αντίτυπο του Α, ενημερώνεται ανάλογα και είναι πληροφορημένος σχετικά.
7
ANCRODE access scheme (continued read(): αναζήτηση τοπικά στην μνήμη για αντίτυπο ή για πληροφορία για εύρεσή του στους «κατώτερους» κόμβους. Ατυχής αναζήτηση έχει ώς αποτέλεσμα την ανάθεση της αναζήτησης στον γονικό κόμβο κ.ο.κ. Η διατήρηση μιας τέτοιας δομής για κάθε Α i ξεχωριστά σε κάθε κόμβο θα ήταν σημαντικό overhead. Για το λόγο αυτό στην προτεινόμενη μεθοδολογία ενσωματώνονται οι επιμέρους δεντδρικές δομές σε μια εννιαία.
8
Το υπολογιστικό μοντέλο V το σύνολο n κόμβων Α το σύνολο m αντικειμένων Αντικείμενα-objID των log(m) bit. Επικοινωνία-ανταλλαγή τουλάχιστoν 1 word μηνυμάτων. -Κόστος αποστολής μηνύματος μήκους l : f ( l )c(u,v) με f αύξουσα με f (1) = 1 Τοπική μνήμη-Μερική για αντικείμενα, μερική για πληροφορία ελέγχου. Τοπική επεξεργασία-Αμελητέα Μέτρα πολυπλοκότητας-Κόστος ανάγνωσης -Local memory size -Κόστος λειτουργιών insert, delete -Adaptability (ενημέρωση χ κόμβων σε insert/delete).
9
Simple ANCRODE Access Scheme ενδομΗχα.. Κάθε κόμβος ανεξάρτητα από το ID του, αποκτάει (τυχαία) ένα label (log n-bits), Αντικείμενο Α, με α k το k-bit suffix του ID του. α 3 of 10111 = 111 Κατασκευάζεται ο πίνακας γειτνίασης (neighbour table): για κάθε κόμβο x, κάθε ακέραιο k από 1...log n, και κάθε k-bit string α, φτιάχνεται εγγραφή με τον κοντινότερο y κόμβο ώστε το k-bit suffix του label του να είναι ίδιο με α. (ενσωμάτωση των ξεχωριστών σε άλλη περίπτωση δενδρικών δομών για κάθε αντικείμενο σε μία εννιαια δομή.) Αν δεν υπάρχει τέτοιος y κόμβος, π άρε τον επόμενο πλησιέστερο...
10
Simple ANCRODE Access Scheme e.g. Έστω A με ID= 111 και 4 κόμβοι με labels: 00 ( 0 ), 01 ( 1 ), 10 ( 2 ) και 11 ( 4 ). Insert(A) στον κόμβο με label 01. Ο 10 το έχει στην τοπική μνήμη, πρέπει όμως να ενημερώσει τον πίνακά του και ορισμένους κόμβους. Ενδεικτικά: k-level [how many bits to consider] nearest neighbour 1 01 c( 1, 4 ) > c( 1, 1 ) 2 11 (unique exact match) 3 11 (closest match) Ανάγκη ενημέρωσης της λίστας δεικτών σε αντικείμενα των κόμβων 11 και 01
11
Simple ANCRODE Access Scheme Κόμβος 01 αναζητάει στην τοπική μνήμη το Α και δεν το βρίσκει. Ερευνά τότε έναν έναν τους γείτονές του. Έστω αρχικά στον 11. Ο 11 έχει δείκτη στο Α εξαιτίας της ενημέρωσής του κατά την διαδικασία Insert. O 01 δέχεται ώς αποτέλεσμα το φθηνότερο από όλα και εφόσον αυτό το αντικείμενο βρίσκεται εντός ενός ορίου κόστους.
12
Μέγεθος πίνακα: Θ(n). Καλύτερα Θ(log n) ! Implicit clustering: (υποσύνολα κόμβων που μοιράζονται τους ίδιους γείτονες). Η ιδέα: για ένα k string α συνήθως υπάρχουν περισσότεροι κόμβοι που έχουν τον ίδιο (i, α ) ώς γείτονα, ιδίως όταν i > k.. Εξομοίωσε λοιπόν όλους τους κόμβους να έχουν ένα κοινό γείτονα αγνοώντας πιθανές διαφορές χάριν της μείωσης του μεγέθους του πίνακα.
13
Read() revised. Μετά το clustering η διαδικασία ανάγνωσης αναθεωρείται ώς εξής: Πλέον αν το αντικείμενο δεν υπάρχει τοπικά, ούτε όμως και στον εξεταζόμενο γείτονα z του x, η αναζήτηση μετατίθεται σε έναν κατάλληλο γείτονα του z αντί έναν άλλον του x. Πρόβλημα: βαθιά αναζήτηση. [Ο i th κόμβος x i αποτιμά τους γείτονές του με βάση την απόστασή τους από τον ίδιο και όχι από τον x 0 ]
14
Λοιπές παραλλαγές Στον πίνακα d + 1 κοντινότεροους αντί για έναν γειτονικό κόμβο ανά εγγραφή ( d σταθερά). Προσαρμογή της read και insert. Συνέπεια: αύξηση της πιθανότητας επιτυχούς αναζήτησης αντικειμένων. Labels: ετικέτες με βάση 2 b αντί βάση 2 αριθμούς. (b σταθερά)
15
ANCRODE Access Scheme εκτός από τα labels, οι κόμβοι ταξινομούνται βάση της β : V ->[n]. Neighbor table: για κάθε κόμβο ο πίνακας στον κόμβο x αποτελείται από (log n)/b εγγραφές στις οποίες κρατούνται οι primary-, secondary- και reverse κόμβοι. Primary: ο (i, j) γείτονας y του x, –(i)έτσι ώστε τα suffix των labels του για όλα τα k στο [i] να είναι ίδια, y[i]=j και με ελάχιστο c(x,y). –(ii)y ο κόμβος με μέγιστο β (y) και με όσο δυνατόν μεγαλύτερο ταιριαστό προς το j, suffix. Secondary: υποσύνολο U = οι κοντινότεροι στον x κόμβοι με κόστος όχι περισσότερο από το ελάχιστο εμφανιζόμενο στο W i,j Reverse: αν w είναι ο (i, j) reverse γείτονας του x, ο x είναι primary (i, j) γείτονας του w.
16
ANCRODE Access Scheme Pointer List Ptr (x): σύνολο από (A,y,C) τριπλέτες όπου y ο κόμβος με το αντικείμενο Aκαι C ένα άνω όριο κόστους c(x,y). Max 1 δείκτης/αντικείμενο. Primary neighbour sequence k είναι η αλληλουχία κόμβων με αρχικό ένα u 0, u k είναι κόμβος με το αντικείμενο Α, και u i+1 είναι ο primary (i, A[i]) γείτονας του u i, για κάθε i. e.g. για τον 10001 κόμβο:
17
Read() O x θέλει να διαβάσει ένα αντικείμενο Α. H διαδικασία προυποθέτει τη προώθηση της read-απαίτησης κατά μήκος της primary neighbour sequence για το Α (εγγραφές στον πίνακα με string α k = 001, k=3). Ταυτόχρονα ο κόμβος x i-1 ενημερώνει τον x i για το μεταξύ τους κόστος αποστολής του Α. -Άν ο x i είναι η ρίζα του Α απλώς το αποστέλει. -Ειδάλλως επικοινωνεί με τον primary και τους secondary κόμβους του μήπως υπάρχει (A,z,C 1 ) με C 1 <=C. Επιλέγεται εκείνος ο κόμβος με το μικρότερο C (αν υπάρχει), και η αναζήτηση θεωρείται επιτυχής αν C <= constant cost limit. Διαφορετικά η αναζήτηση προωθείται στον x i+1 κόμβο
18
e.g. για ccl=2, x 0 : read(A), C read(A) =2+1.
19
Insert(Α) σε έναν κόμβο y Ενημέρωση της pointer list του primary για το αντικείμενο Α ( (i, α)- neighbour): -Είτε εισαγωγή μιας νέας τριπλέτας -Είτε αντικατάσταση της προυπάρχουσας αν το κόστος πρόσβασης στην νέα copy είναι μικρότερο. Μια αλλαγή σε μια τριπλέτα σημαίνει προώθηση του insert(A) απο τον y i στον y i+1 κόμβο κοκ.
20
Delete(Α) από έναν κόμβο y Εξεταζεται αν υπάρχει κάποια τριπλέτα της μορφής (A,y,-). Αν όχι η διαδικασία ολοκληρώνεται. Σε αντίθετη περίπτωση διαγράφεται η εγγραφή από την pointer list, και ελέγχεται άν υπάρχει reverse κόμβος στον neighbour table που έχει αυτό το αντικείμενο. Αν ναι θα πρέπει να ξαναεισάγει τον διεγραμμένο δείκτη αλλά στην ενημερωμένη του μορφή i.e. (A,w, C +c(w,y i )) Ενημέρωσε κόμβους στην primary neighbour sequence. (προωθώντας το delete(A) στον y i+1 ).
21
Ιδιότητες του ANCRODE a) η ταυτότητα (ονομασία) ενός αντικειμένου είναι ανεξάρτητη από τον κόμβο στον οποίο αυτό βρίσκεται. Συνέπειες ώς προς replication και migration. b) Εξαιτίας της κατανομής της πληροφορίας ελέγχου και των διαμοιραζόμενων αντικειμένων δεν ευνοούνται τα “hot spots” στο δίκτυο. (a) + (b) => κλιμακωτό
22
Μοντέλο κόστους... Latency, throughput κλπ ώς μέτρα επιδόσης δικτύου. Η ιδανικές επιδόσεις είναι συναρτήσεις περισσοτέρων παραμέτρων (edge- delays, -capacities, buffer space, communication overhead, patterns of user communication etc.) Πολυπλοκότητα με την οποία αλληλεπιδρούν οι παράγοντες αυτοί. Απλουστευμένη θεώρηση μιας συνάρτησης, για τη σύλληψη των επιδράσεων αυτών, ώς ρυθμιστή του κόστους επικοινωνίας μεταξύ δύο κόμβων του δικτύου.
23
Μοντέλο κόστους... (συνέχεια) Μεταξύ των άλλων η σημαντικότερη παραδοχή: Για κάθε κόμβο x και κόστος r, Αυτό έρχεται σε συμφωνία με τις συνήθης δικτυακές τοπολογίες αναφορικά στο μοντέλο κόστους τους: x-D meshes constant degree-trees (# of input-output links) fat-trees Αναφορικά στο Ιnternet?
24
Constant dimension meshes
25
Fat tree
26
Σύνοψης ANCRODE: ένα κατανεμημένο πρωτόκολλο για αποδοτική διαχείρηση της πληροφορίας σχετικά με την τοποθεσία δεδομένων. Διασφάλιση λογαριθμικής απόκρισης σε επερωτήσεις. Επερωτήσεις δεν χρειάζεται να ταξιδεύουν μακρύτερα από το κοντινότερο κλειδί, αντικείμενο θεωρήσεων περί τοπολογίας δικτύου.
Παρόμοιες παρουσιάσεις
© 2024 SlidePlayer.gr Inc.
All rights reserved.