Please use this identifier to cite or link to this item: http://artemis.cslab.ece.ntua.gr:8080/jspui/handle/123456789/18324
Full metadata record
DC FieldValueLanguage
dc.contributor.authorΡέτσα, Μαρία-
dc.date.accessioned2022-06-06T08:22:04Z-
dc.date.available2022-06-06T08:22:04Z-
dc.date.issued2022-06-05-
dc.identifier.urihttp://artemis.cslab.ece.ntua.gr:8080/jspui/handle/123456789/18324-
dc.description.abstractΤο RPC (Remote Procedure Call) ή κλήση απομακρυσμένης διαδικασίας, είναι ένα πρωτόκολλο που χρησιμοποείται για την επικοινωνία μεταξύ διεργασιών – προγραμμάτων που βρίσκονται σε διαφορετικά συστήματα, τα οποία επικοινωνούν μεταξύ τους μέσω κάποιου δικτύου, χωρίς να χρειάζεται οι διεργασίες να γνωρίζουν τις λεπτομέρειες του δικτύου αυτού. Το RPC καθιστά το μοντέλο προγραμματισμού διακομιστή – πελάτη ιδιαίτερα εύκολο στην υλοποίησή του, γι’ αυτό και είναι ιδιαίτερα δημοφιλές στα σύγχρονα κατανεμημένα συστήματα και σε αρχιτεκτονικές μικροϋπηρεσιών. Το gRPC (google RPC) είναι ένα ανοιχτού κώδικα framework για την υποστήριξη του RPC πρωτοκόλλου που βασίζεται στα Google Protocol Buffers και λειτουργεί πάνω από HTTP/2 συνδέσεις. Παρουσιάζει πολλά πλεονεκτήματα τόσο στο κομμάτι της υλοποίησης και συντήρησης ενός συστήματος, όσο και σε επίπεδο απόδοσης. Το gRPC είναι ανεξάρτητο της πλατφόρμας και της γλώσσας προγραμματισμού που χρησιμοποιείται καθώς έχει τη δυνατότητα να παράγει αυτόματα κώδικα σε πληθώρα γλωσσών, ο οποίος μπορεί να χρησιμοποιηθεί από τη βασική εφαρμογή. Επίσης με τη χρήση του HTTP/2 πρωτοκόλλου επιτυγχάνεται πολυπλεξία των διαφόρων streams μεταξύ πελάτη και διακομιστή πάνω από την ίδια TCP σύνδεση χωρίς να απαιτείται να δημιουργηθεί, εδραιωθεί και τέλος να τερματιστεί μία νέα σύνδεση για κάθε νέα κλήση απομακρυσμένης διαδικασίας. Στο gRPC η κάθε ροή που εξυπηρετεί μία κλήση απομακρυσμένης διαδικασίας είναι ισότιμη, και επομένως δεν υπάρχει κάποιος τρόπος διαφοροποίησης των rpc με βάση την προτεραιότητά τους. Υπάρχουν περιπτώσεις όμως στις οποίες κάτι τέτοιο θα ήταν επιθυμητό. Ο διαχωρισμός των rpc θα μπορούσε να επιτευχθεί με τη δημιουργία νέου καναλιού με ξεχωριστή σύνδεση για κάθε ένα από αυτά, ωστόσο τότε θα υπήρχε χρήση περισσότερων πόρων, και θα χανόταν το πλεονέκτημα της ύπαρξης μόνο μίας TCP σύνδεσης στο gRPC. Στόχος της διπλωματικής αυτής ήταν μια προσέγγιση επίλυσης του προαναφερθέντος προβλήματος. Συγκεκριμένα, αναπτύχθηκε ένα κομμάτι λογισμικού στην πλευρά του πελάτη, πριν από το gRPC επίπεδο, το οποίο έχει το ρόλο ενός χρονοδρομολογητή: δέχεται από τον πελάτη αιτήματα να κάνει κλήσεις απομακρυσμένης διαδικασίας με διαφορετικές προτεραιότητες, και βάσει αυτών επιτρέπει στην κλήση με την μεγαλύτερη προτεραιότητα κάθε φορά να καταλαμβάνει το κανάλι, χωρίς να πολυπλέκεται, ώστε να στέλνεται και να εξυπηρετείται πρώτη. Η λύση αυτή προσθέτει μία χρονική επιβάρυνση λόγω των καθυστερήσεων στη διαδικασία της χρονοδρομολόγησης, ωστόσο επιτυγχάνει καλύτερο QoS (ποιότητα υπηρεσίας) σε σχέση με την δημιουργία νέας σύνδεση για κάθε προτεραιότητα, καθώς δεν υπάρχει σπατάλη περισσότερων πόρων από όσους χρειάζονται.en_US
dc.languageelen_US
dc.subjectκλήση απομακρυσμένης διαδικασίαςen_US
dc.subjectπρωτόκολλοen_US
dc.subjectgRPCen_US
dc.subjectHTTP/2en_US
dc.subjectπελάτηςen_US
dc.subjectδιακομιστήςen_US
dc.subjectχρονοδρομολογητήςen_US
dc.subjectποιότητα υπηρεσίαςen_US
dc.subjectTCP σύνδεσηen_US
dc.subjectπροτεραιότητα κλήσηςen_US
dc.subjectιεράρχηση προτεραιοτήτωνen_US
dc.subjectεξοικονόμηση πόρωνen_US
dc.subjectπολυπλεξία πακέτωνen_US
dc.titleΙεράρχηση προτεραιοτήτων μηνυμάτων σε ένα gRPC κανάλιen_US
dc.description.pages85en_US
dc.contributor.supervisorΒαρβαρίγος Εμμανουήλen_US
dc.departmentΤομέας Επικοινωνιών, Ηλεκτρονικής και Συστημάτων Πληροφορικήςen_US
Appears in Collections:Διπλωματικές Εργασίες - Theses

Files in This Item:
File Description SizeFormat 
thesis_Maria_Retsa.pdf2.57 MBAdobe PDFView/Open


Items in Artemis are protected by copyright, with all rights reserved, unless otherwise indicated.