dc.contributor.author |
Τσιρώνης, Νικόλαος
|
el |
dc.contributor.author |
Tsironis, Nikolaos
|
en |
dc.date.accessioned |
2017-02-03T09:41:02Z |
|
dc.date.available |
2017-02-03T09:41:02Z |
|
dc.date.issued |
2017-02-03 |
|
dc.identifier.uri |
https://dspace.lib.ntua.gr/xmlui/handle/123456789/44289 |
|
dc.identifier.uri |
http://dx.doi.org/10.26240/heal.ntua.13811 |
|
dc.rights |
Default License |
|
dc.subject |
Διαδιεργασιακή επικοινωνία |
el |
dc.subject |
Επικοινωνία μηδενικών αντιγράφων |
el |
dc.subject |
Εικονική μνήμη |
el |
dc.subject |
Οδηγός συσκευής |
el |
dc.subject |
Μεταφορά δεδομένων |
el |
dc.subject |
Zero-copy |
en |
dc.subject |
Virtual memory |
en |
dc.subject |
Device driver |
en |
dc.subject |
Linux |
en |
dc.subject |
Inter process communication |
en |
dc.title |
Μηχανισμός διαδιεργασιακής επικοινωνίας μηδενικών αντιγράφων για το ΛΣ Linux με δωρεά σελίδων εικονικής μνήμης |
el |
heal.type |
bachelorThesis |
|
heal.classification |
Επιστήμη υπολογιστών/πληροφορική |
el |
heal.classificationURI |
http://data.seab.gr/concepts/77de68daecd823babbb58edb1c8e14d7106e83bb |
|
heal.language |
el |
|
heal.access |
free |
|
heal.recordProvider |
ntua |
el |
heal.publicationDate |
2016-11-02 |
|
heal.abstract |
The advent of multi-core and many-core hardware means that explicit message-passing between concurrent processes running on different cores is a common operation. Additionally, operating system kernels and user applications have a need to efficiently communicate.
In contemporary multi-core and many-core hardware explicit message-passing between concurrent processes running on different cores is a common operation. Additionally, operating system kernels need to efficiently communicate with user applications.
During the transmission of a message, one or more copies of the transmitted data are usually made. Eliminating these copies has the potential to increase transmission throughput and decrease latency. However, current zero-copy communication schemes, such as those that employ shared memory segments, rely on endpoints trusting each other. Thus, they cannot be used as a communication mechanism between arbitrary processes.
The objective of this study is the design and implementation of two zero-copy inter-process communication mechanisms. These mechanisms are based on virtual memory gifting and they make no assumptions about the communicating endpoints. Thus, arbitrary processes can use them to safely communicate. The development framework is the Linux kernel.
Throughout the course of our work, the problems concerning the design will be presented in detail in any individual stage and the corresponding choices will be justified. Finally, an experimental evaluation of the mechanisms in a real system will occur, providing results not only for further evaluation, but also as a source of useful conclusions. |
en |
heal.abstract |
Μια από τις πιο κοινές λειτουργίες των ταυτόχρονων διεργασιών, στα σύγχρονα πολυ-πύρηνα συστήματα, είναι η ανταλλαγή μηνυμάτων. Επιπρόσθετα, το λειτουργικό σύστημα και οι εφαρμογές χρήστη έχουν ανάγκη να επικοινωνήσουν αποτελεσματικά και με τις ελάχιστες δυνατές επιβαρύνσεις.
Συνήθως, όταν μεταδίδεται ένα μήνυμα, δημιουργούνται ένα ή περισσότερα αντίγραφα αυτού. Η εξάλειψη αυτών των αντιγράφων έχει την προοπτική να αυξήσει το ρυθμό μετάδοσης των δεδομένων και να μειώσει την καθυστέρηση της μεταφοράς τους. Ωστόσο, οι υπάρχουσες προσεγγίσεις για επικοινωνία μηδενικών αντιγράφων, όπως η χρήση μοιραζόμενης μνήμης, προϋποθέτουν την ύπαρξη ``εμπιστοσύνης'' ανάμεσα στις διεργασίες και δεν μπορούν να χρησιμοποιηθούν για την επικοινωνία αυθαίρετων διεργασιών.
Στην παρούσα εργασία σχεδιάζουμε και υλοποιούμε δύο μηχανισμούς διαδιεργασιακής επικοινωνίας μηδενικών αντιγράφων. Οι μηχανισμοί αυτοί βασίζονται στη δωρεά σελίδων εικονικής μνήμης, ανάμεσα στις εμπλεκόμενες διεργασίες, και μπορούν να χρησιμοποιηθούν για την επικοινωνία τυχαίων διεργασιών. Το περιβάλλον ανάπτυξης είναι ο πυρήνας του λειτουργικού συστήματος Linux.
Καθ’ όλη τη διάρκεια της εργασίας παρουσιάζονται τα προβλήματα σχεδιασμού, που προκύπτουν σε κάθε επιμέρους στάδιο, και αιτιολογούνται οι αντίστοιχες επιλογές. Τέλος, οι μηχανισμοί αξιολογούνται πειραματικά σε ένα πραγματικό σύστημα και εξάγονται χρήσιμα συμπεράσματα. |
el |
heal.advisorName |
Κοζύρης, Νεκτάριος |
el |
heal.committeeMemberName |
Κοζύρης, Νεκτάριος |
el |
heal.committeeMemberName |
Παπασπύρου, Νικόλαος |
el |
heal.committeeMemberName |
Γκούμας, Γεώργιος |
el |
heal.academicPublisher |
Εθνικό Μετσόβιο Πολυτεχνείο. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Τομέας Τεχνολογίας Πληροφορικής και Υπολογιστών |
el |
heal.academicPublisherID |
ntua |
|
heal.numberOfPages |
170 σ. |
el |
heal.fullTextAvailability |
true |
|