Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

P2 Declarative Networking Θεόδωρος Αθανασιάδης Α.Μ. 133.

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "P2 Declarative Networking Θεόδωρος Αθανασιάδης Α.Μ. 133."— Μεταγράφημα παρουσίασης:

1 P2 Declarative Networking Θεόδωρος Αθανασιάδης Α.Μ. 133

2 Το πρόβλημα  Η σχεδίαση, ανάπτυξη και δοκιμή ενός υπερκείμενου δικτύου είναι μία δύσκολη και χρονοβόρα διαδικασία.  Παρόλο που πολλές λειτουργίες είναι κοινές μεταξύ των υπερκείμενων δικτύων, οι προγραμματιστές συχνά αναγκάζονται να αντιμετωπίσουν τα ίδια προβλήματα.  Η εύρεση των αποτυχιών σε ένα κατανεμημένο δίκτυο μεγάλης κλίμακας είναι δύσκολη.  Η συνολική επίβλεψη ενός υπερκείμενου δικτύου είναι σημαντική για την δοκιμή και αξιολόγηση ενός δικτύου.

3 P2  To P2 είναι ένα σύστημα ανάπτυξης και εκτέλεσης παράλληλων αλγορίθμων ειδικά σχεδιασμένο για την υλοποίηση υπερκείμενων κατανεμημένων δικτύων.  Στόχος του είναι η ταχεία ανάπτυξη και δοκιμή υπερκείμενων δικτύων.  Τα βασικά του πλεονεκτήματα είναι η ευκολία διατύπωσης των προδιαγραφών του overlay και η δυνατότητα επαναχρησιμοποίησης του κώδικα.  Η σύνταξη του είναι εξαιρετικά περιεκτική. To overlay π.χ. του Chord μπορεί να εκφραστεί μόνο με 47 λογικούς κανόνες.

4 Αρχιτεκτονική P2  Βασικά μέρη της αρχιτεκτονικής : Data Model Specification Language Data Flow

5 Αρχιτεκτονική P2 (Data Model)  Το overlay μοντελοποιείται παρόμοια με μία σχεσιακή βάση δεδομένων.  Χρησιμοποιούνται πλειάδες για την αναπαράσταση της κατάστασης του συστήματος.  Για παράδειγμα οι εξωτερικές συνδέσεις του routing table ενός κόμβου μπορούν να αναπαρασταθούν με μία πλειάδα της μορφής : [my address, neighbor address, link weight].

6 Αρχιτεκτονική P2 (Language)  Χρησιμοποιείται μία γλώσσα υψηλού επιπέδου που ονομάζεται OverLog και αποτελεί μία παραλλαγή της Datalog.  Ένα πρόγραμμα Overlog αποτελείται από : Δηλώσεις πινάκων (tables) Ορισμό κανόνων (rules) Επερωτήσεις (queries)

7 Αρχιτεκτονική P2 (Overlog Κανόνες)  Οι κανόνες έχουν την μορφή, :-. : : Όνομα κανόνα. : λίστα από σχέσεις που πρέπει να ικανοποιούνται : σύνολο πλειάδων που παράγονται από τον κανόνα  Τα κόμματα μεταξύ των σχέσεων στο εκφράζουν λογική σύζευξη (AND).  H σειρά των σχέσεων στο δεν έχει σημασία.

8 A Παράδειγμα C W B P : [A,X][X,Y][Y,C], με κόστος Y X Y path(B,C,[B,A]+P,W+Y) :- link(A,B,W), path(A,C,P,Y) σημαίνει ότι αν ο A έχει μία αμφίδρομη σύνδεση κόστους W προς τον B και ο κόμβος A έχει ένα μονοπάτι P προς τον κόμβο C με κόστος Y, τότε ο B έχει ένα μονοπάτι προς τον C μέσω του Α με κόστος W+Y.

9 Αρχιτεκτονική P2 (Data Flow)  Η overlog γλώσσα μεταγλωττίζεται σε μία εκτελέσιμη μορφή.  Χρησιμοποιούνται data flow graphs για την εκτέλεση και προσομοίωση του συστήματος.  Η αναπαράσταση της ανταλλαγή μηνυμάτων σε ένα δίκτυο και η υλοποίηση κάποιου δικτυακού πρωτοκόλλου με data flow graphs προσφέρει μεγαλύτερη επεκτασιμότητα και ευελιξία σε σχέση με την κλασσική προσέγγιση των αυτομάτων.

10 Project  Υλοποίηση του υπερκείμενου δικτύου CAN σε γλώσσα OverLog.  Θα αξιολογηθεί κατά την ανάπτυξη το σύστημα P2 σχετικά με τις δυνατότητες του και τα πλεονεκτήματα που προσφέρει.  Θα αξιολογηθεί η ωριμότητα του συστήματος. Αυτή την στιγμή το σύστημα βρίσκεται σε Alpha Stage.

11 Υλοποίηση  Υλοποιήθηκαν Εισαγωγή κόμβου Αναζήτηση στο CAN Περιοδικό Update κόμβων Αποχώρηση κόμβου  Αποτελέσματα Χρειάστηκαν 5 tables Συνολικά 36 κανόνες

12 Υλοποίηση – Tables materialize(neighbor, infinity, infinity, keys(1,2)) materialize(zone, infinity, infinity, keys(1,2)) materialize(landmark,infinity,1,keys(1)) materialize(join,10,5,keys(1)) materialize(leave,10,5,keys(1)) Περιέχουν πλειάδες της μορφής neighbor(MyAddress,NeighborAddress,RefreshTime,isValid) zone(Address,Dim,ZoneMin,ZoneMax) landmark(MyAddress,LandmarkAddress) join(Address,ID) leave(Address,ID)

13 Υλοποίηση – Περιοδικό Update  R1 :-  R2 Dim, ZoneMin,ZoneMax) :- isValid == TRUE.  R3 :-

14 Υλοποίηση – Περιοδικό Update  R4 X, TimeX, isValid) :- _, _, _), TimeX := := FALSE.  R5 X) :- – LastRefreshTime > TIMEOUT.  R6 delete :-  R7 delete :-

15 Συμπεράσματα  Πλεονεκτήματα : Μικρό πλήθος κανόνων απαιτούνται για την περιγραφή του CAN σε αντίθεση με τυπικές υλοποιήσεις σε C,C++. Οι κανόνες έχουν εύκολα αναγνώσιμη και συμπαγής μορφή. Λεπτομέρειες υλοποίησης όπως την μετάδοση μηνυμάτων τις αναλαμβάνει το P2. Η μορφή του κώδικα σε Overlog είναι αρκετά γενική ώστε να μπορεί να επαναχρησιμοποιηθεί ο κώδικας σε υλοποιήσεις παρόμοιων υπερκείμενων δικτύων. Μεγάλες δυνατότητες debugging και ενδοσκόπησης του δικτύου και της εκτέλεσης του κώδικα.

16 Συμπεράσματα  Μειονεκτήματα : Η εκμάθηση μία δηλωτικής γλώσσας όπως η Overlog είναι μία χρονοβόρα διαδικασία. Η καμπύλη εκμάθησης δεν είναι γραμμική. Μικρός αριθμός παραδειγμάτων χρήσης της γλώσσας. Το σύστημα P2 είναι αρκετά ανώριμο ακόμα για να χρησιμοποιηθεί εκτεταμένα.

17 Βιβλιογραφία  [1] B.T. Loo, T. Condie, J. M. Hellerstein P. Maniatis, T. Roscoe, and I. Stoica. Implementing Declarative Overlays. In 20th ACM Symposium on Operating Systems Principles (SOSP),  [2] I. Stoica, R. Morris, D. Liben-Nowell, D. R. Karger, M. F.Kaashoek, F. Dabek, and H. Balakrishnan. Chord: a scalable peer-to-peer lookup protocol for internet applications. In Proceeding ACM Sigcomm 2001, San Diego, CA, Aug  [3] S. Ratnasamy, P. Francis, M. Handley, R. Karp, and S. Shenker. A Scalable Contents-Addressable Network. In ICSI Technical Report, Jan  [4] B.T. Loo, J. M. Hellerstein and I. Stoica. Customizable routing with declarative queries. In Third Workshop on Hot Topics in Networks (HotNets-III), Nov


Κατέβασμα ppt "P2 Declarative Networking Θεόδωρος Αθανασιάδης Α.Μ. 133."

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google