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

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Ταξινόμηση Κειμένων με Νευρωνικά Δίκτυα. Γ. Ταμπουρατζής Ινστιτούτο Επεξεργασίας του Λόγου ΙΝΣΤΙΤΟΥΤΟ ΕΠΕΞΕΡΓΑΣΙΑΣ ΤΟΥ ΛΟΓΟΥ10/12/2002 INSTITUTE FOR LANGUAGE.
Advertisements

Τι είναι ο προγραμματισμός
A Scalable Content- Addressable Network Sylvia Ratnasamy, Paul Francis, Mark Handley, Richard Karp, Scott Shenker Proceedings of ACM SIGCOMM ’01 Sections.
Chord: A scalable Peer-to-Peer Lookup Service for Internet Applications Παρουσίαση: Αθανασόπουλος, Αλεξάκης, Δεβελέγκα, Πεχλιβάνη, Φωτιάδου, Φωτόπουλος.
Declarative Overlays Πέτρος Μανιάτης, Intel Research Berkeley σε συνεργασία με Tyson Condie (UCB), David Gay (IRB), Minos Garofalakis (IRB), Joseph M.
ΕΙΣΑΓΩΓΗ ΣΤΑ ΔΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΑΣ
POINTERS, AGGREGATION, COMPOSITION. POINTERS TO OBJECTS.
A Peer-to-peer Framework for Caching Range Queries O. D. Sahin A. Gupta D. Agrawal A. El Abbadi Παρουσίαση: Καραγιάννης Τάσος, Κρεμμυδάς Νίκος, Μαργαρίτη.
Τι είναι ο υπολογιστής; Τι είναι ο προγραμματισμός
H διαδικασία ανάπτυξης λογισμικού. Tι θα γνωρίσουμε •Τις φάσεις ανάπτυξης του λογισμικού. •Γιατί χρειάζεται να γίνει ανάλυση του προβλήματος. •Τι θα πρέπει.
ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ ΤΜΗΜΑΤΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ
Συνάφεια Κρυφής Μνήμης σε Επεκτάσιμα Μηχανήματα. Συστήματα με Κοινή ή Κατανεμημένη Μνήμη  Σύστημα μοιραζόμενης μνήμης  Σύστημα κατανεμημένης μνήμης.
Βάσεις Δεδομένων 1 T.Manavis– N.Kyritsis.
Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications ΠΑΡΑΔΕΙΓΜΑΤΑ.
ΜΑΘ-3122/106 Προγραμματισμός
Peer-to-Peer Systems Ευθυμία Ρόβα Βίκυ Τζιοβάρα Μαρία Χριστοδουλίδου.
A Scalable Content- Addressable Network Sylvia Ratnasamy, Paul Francis, Mark Handley, Richard Karp, Scott Shenker Proceedings of ACM SIGCOMM ’01 ΠΑΡΟΥΣΙΑΣΗ:
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΝΝΟΙΑ ΤΟΥ ΑΛΓΟΡΙΘΜΟΥ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΜΑΡΤΙΟΣ 2012 Π. Σοφράς.
Βάσεις Δεδομένων (ΚΒΔ)
Εισαγωγικές Έννοιες Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο.
Επιμέλεια: ΘΟΔΩΡΗΣ ΜΑΝΑΒΗΣ
1 Εισαγωγή στις Βάσεις Δεδομένων  Ανάγκη Αποθήκευσης και Διαχείρισης Δεδομένων  Συστήματα Αρχείων  Συστήματα Βάσεων Δεδομένων  Παραδοσιακές και Σύγχρονες.
ΤCP/IP Τι είναι; Σύντομο Ιστορικό
Υπηρεσίες δικτύων επικοινωνίας
ΠΡΩΤΟΚΟΛΛΑ ΕΠΙΚΟΙΝΩΝΙΑΣ Παράγραφος 1.7. ΠΡΩΤΟΚΟΛΛΑ ΕΠΙΚΟΙΝΩΝΙΑΣ Είσαι εκεί; Εδώ είμαι Είσαι έτοιμος να λάβεις ένα μήνυμα; Είμαι έτοιμος Πάρε το πρώτο.
ΗΥ 150 – ΠρογραμματισμόςΞενοφών Ζαμ π ούλης ΗΥ-150 Προγραμματισμός Αλγόριθμοι και Προγράμματα.
ΘΠ06 - Μεταγλωττιστές Πίνακας Συμβόλων. Πίνακας Συμβόλων (Symbol Table) (Ι)  Είναι μια δομή στην οποία αποθηκεύονται τα ονόματα ενός προγράμματος και.
Διδάσκων: Παύλος Παυλικκάς1 Ολυμπιάδα Πληροφορικής Γράφοι – Graphs (Εισαγωγή)
1 Εισαγωγή στις Βάσεις Δεδομένων  Ανάγκη Αποθήκευσης και Διαχείρισης Δεδομένων  Συστήματα Αρχείων  Συστήματα Βάσεων Δεδομένων  Παραδοσιακές και Σύγχρονες.
Τμήμα Πληροφορικής Πανεπιστημίου Κύπρου ΕΠΛ 371 – Προγραμματισμός Συστημάτων Ονόματα: Αντώνης Μαυρής, Γιώργος Ματθαίου, Χρίστος Κυριάκου Ταυτότητες: ,
Ανάπτυξη Πρωτοτύπου Λογισμικού
ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ 2: ΘΕΜΑΤΑ ΘΕΩΡΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ Η/Υ
ΘΠ06 - Μεταγλωττιστές Πίνακας Συμβόλων Φροντιστήριο - 30/04/2009.
ΕΙΣΑΓΩΓΗ Tο PRISM είναι ένα πιθανοκρατικό εργαλείο μοντελοποίησης, για μοντελοποίηση μη ντετερμινιστικών συστημάτων. Βασίζεται στην κατασκευή ενός ακριβούς.
ΔΙΑΓΡΑΜΜΑ ΔΡΑΣΤΗΡΙΟΤΗΤΩΝ
Chord: A Scalable Peer -to-peer Lookup Service for Internet Applications Authors: Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan.
1.5 Γλώσσες Προγραμματισμού
CHORD A Scalable Peer-to-peer Lookup Service for Internet Applications Μαρίνα Δρόσου Νικόλαος Μπουντουρόπουλος Οδυσσέας Πετρόχειλος Παναγιώτης Δομουχτσίδης.
ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ 2: ΘΕΜΑΤΑ ΘΕΩΡΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ Η/Υ
Κεφάλαιο 10 – Υποπρογράμματα
A Scalable Content-Addressable Network Μυρτώ Ντέτσικα Παναγιώτα Νικολαΐδου Ελένη Γεώργα Λαμπρινή Κώνστα Βαγγέλης Λάππας Γρηγόρης Τζώρτζης Γιώργος Καρπάθιος.
Προγραμματισμός Γιατι γραφουμε προγραμματα (προηγ. διαλεξη)
1 Chord: A scalable Peer to Peer Lookup Service for Internet Applications Νικόλαος Καλλιμάνης Σπυρίδων-Δημήτριος Αγάθος Ευγενία Σταθοπούλου.
Σημασιολογική Ολοκλήρωση Ολοκλήρωση Πληροφορίας Το πρόβλημα της ολοκλήρωσης πληροφορίας (information integration) προκύπτει από την ύπαρξη ετερογενών.
Ανάπτυξη ενός Συστήματος Ομοτίμων στο PlanetLab Σπυρίδων-Δημήτριος Αγάθος Νικόλαος Καλιμάνης Κώστας Λίλλης.
University of Crete HY566-Semantic Web CS566 – Semantic Web Computer Science Department - UoC Heraklion 1 April, 2003 Παπαγγελής Μάνος, Κοφφινά Ιωάννα,
Δομές Δεδομένων 1 Θέματα Απόδοσης. Δομές Δεδομένων 2 Οργανώνοντας τα Δεδομένα  Η επιλογή της δομής δεδομένων και του αλγορίθμου επηρεάζουν το χρόνο εκτέλεσης.
1 REPUTATION & TRUST MANAGEMENT IN P2P Γεωργούλας Κώστας Σταθοπούλου Ευγενία.
ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ Διδάσκοντες:Γιάννης Μαΐστρος Στάθης Ζάχος Νίκος Παπασπύρου
Τι κρατάει το Internet μαζί? 1. Η διευθυνσιοποίηση (addressing): πως δηλ. αναφερόμαστε σε μια μηχανή στο δίκτυο. 2. Η δρομολόγηση (routing): πως να φτάσουμε.
ΗΥ-340 Γλώσσες και Μεταφραστές Φροντιστήριο Syntax Directed Translation and alpha Language.
Data Management in p2p A Comparative Study of Pub/Sub Methods in Structured P2P Networks Μαρίνα Δρόσου – ΑΜ 135 Μυρτώ Ντέτσικα – ΑΜ 144 Γρηγόριος Τζώρτζης.
Data Management in p2p Publish/Subscribe P2P Systems Μαρίνα Δρόσου – ΑΜ 135 Μυρτώ Ντέτσικα – ΑΜ 144 Γρηγόριος Τζώρτζης – ΑΜ 147.
Διαχείριση Δικτύων Ευφυή Δίκτυα Άσκηση 2: Συλλογή πληροφοριών για τη διαμόρφωση και την κατάσταση λειτουργίας του δικτύου. Εργαστήριο Διαχείρισης και Βέλτιστου.
ΚΕΦΑΛΑΙΟ Το αλφάβητο της ΓΛΩΣΣΑΣ
Εισαγωγή στην Έννοια του Αλγορίθμου και στον Προγραμματισμό
Δρ.Ιωάννης Κοροβέσης ΕΚΕΦΕ ΔΗΜΟΚΡΙΤΟΣ ΕΠΕΤΥΠ Δικτύων - Ινστιτούτο Πληροφορικής & Τηλεπικοινωνιών
Δομές δεδομένων και Αλγόριθμοι Κεφάλαιο 3. Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον Δεδομένα Δεδομένα (data) Δεδομένα (data) –αφαιρετική αναπαράσταση.
Πληροφορική 2 Γλώσσες Προγραμματισμού 1. Γλώσσες προγραμματσιμού  Επιτρέπουν την κωδικοποίηση των αλγορίθμων  Η εκτέλεση ενός προγράμματος θα πρέπει.
ΤΙΤΛΟΣ ΕΡΓΑΣΙΑΣ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ανδρέου Βασίλης.
Cloud Computing Το cloud computing παρέχει υπηρεσίες υπολογισμού, λογισμικού, πρόσβασης σε δεδομένα και αποθήκευσης που δεν απαιτούν ο τελικός χρήστης.
Ασκήσεις WEKA Νευρωνικά δίκτυα.
Java DataBase Connectivity
Κεφάλαιο 10: Υπηρεσίες και εφαρμογές Διαδικτύου
ΕΠΙΠΕΔΟ ΔΙΚΤΥΟΥ–ΔΙΑΔΙΚΤΥΩΣΗ
Web, Web 2.0, Web 3.0 και Web X.0 ΚΕΦΑΛΑΙΟ 9.
Εισαγωγή στις Αρχές της Επιστήμης των Η/Υ
Στοιχεία Δομημένου Προγραμματισμού
Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον ΑΕΠΠ
2Ο ΓΕΛ ΙΛΙΟΥ ΕΡΕΥΝΗΤΙΚΗ ΕΡΓΑΣΙΑ Β’ ΛΥΚΕΙΟΥ
Μεταγράφημα παρουσίασης:

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

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

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

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

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

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

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

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.

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

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

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

Υλοποίηση – 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)

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

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

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

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

Βιβλιογραφία  [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