Στις μέρες μας, οι υποδομές Cloud Computing προσφέρουν μεγάλη ευελιξία και απομόνωση για την εκτέλεση ενός μεγάλου πλήθους εφαρμογών και υπηρεσιών. Οι υποδομές αυτές αποτελούνται κατά κανόνα από συστοιχίες υπολογιστών (clusters), με πολυπύρηνους επεξεργαστές, στις οποίες αναπτύσσεται ένα περιβάλλον εικονικών μηχανών, το οποίο αναλαμβάνει την ασφάλεια, απομόνωση και τον κατάλληλο διαμοιρασμό των πόρων στις διάφορες υπηρεσίες. Οι συστοιχίες αυτές προσφέρουν πολύ μεγάλη επεξεργαστική ισχύ, γεγονός που τις καθιστά ιδανικές για πληθώρα εφαρμογών που απαιτούν υπολογιστική ισχύ (High Performance Computing applications). Ω\-στόσο ένα από τα σοβαρότερα προβλήματα εκτέλεσης εφαρμογών υψηλής επίδοσης σε εικονικά περιβάλλοντα είναι το κόστος της επικοινωνίας. Έχουν γίνει πολλές προσπάθειες ώστε να ενισχυθεί η απομόνωση μεταξύ των εικονικών μηχχανών που φιλοξενούνται στο ίδιο φυσικό μηχάνημα (co-resident VMs). Η απομόνωση είναι πολύ σημαντική παράμετρος από την σκοπιά της ασφάλειας αλλά πολλές φορές επιτυγχάνεται σε βάρος της απόδοσης. Η απομόνωση είναι πολύ σημαντική παράμετρος από την σκοπιά της ασφάλειας αλλά πολλές φορές επιτυγχάνεται σε βάρος της απόδοσης. Στην περίπτωση όπου εικονικές μηχανές που φιλοξενούνται στο ίδιο φυσικό μηχάνημα χρειάζεται να επικοινωνήσουν, η ισχυρή απομόνωση προκαλεί επιβραδύνει την επικοινωνία. Οι Cloud providers δε δίνουν τη δυνατότητα στους χρήστες να επιλέγουν τη φυσική τοποθεσία εκτέλεσης των εικονικών μηχανών τους, με αποτέλεσμα κάποιες από αυτές να συνυπάρχουν στο ίδιο φυσικό μηχάνημα. Έτσι, αν δεν υπάρχει πρόβλεψη για αυτήν την περίπτωση, η επικοινωνία μεταξύ εικονικών μηχανών που βρίσκονται στο ίδιο μηχάνημα δε γίνεται βέλτιστα. Στόχος της παρούσας εργασίας είναι η μελέτη και αποτίμηση μεθόδων επικοινωνίας εικονικών μηχανών που συνυπάρχουν στο ίδιο φυσικό μηχάνημα χωρίς την αλλαγή της προγραμματιστικής διεπαφής. Συγκεκριμένα μελετάται ένας νέος μηχανισμός επικοινωνίας εικονικών μηχανημάτων (virtual machines – VMs) που βρίσκονται στο ίδιο φυσικό μηχάνημα. O μηχανισμός λέγεται V4V (virtual for virtual) και το εικονικό περιβάλλον δημιουργείται από τον ελεγκτή εικονικών μηχανών Xen. Χτίζουμε πάνω σε αυτόν τον μηχανισμό και δημιουργούμε το V4Vsockets ένα πλαίσιο το οποίο είναι συμβατό με την προγραμματιστική διεπαφή Socket αλλά παρακάμπτει τα επίπεδα του πρωτοκόλλου TCP/IP. Μετράμε την επίδοση τόσο του V4Vsockets όσο και την επίδοση του κλασσικού τρόπου επικοινωνίας που προσφέρει το Xen και τα αποτελέσματα δείχνουν ταχύτερη μεταφορά δεδομένων για το V4Vsockets.
Nowadays, with the advent of virtualization techniques, Cloud Co\-mputing infrastructures are becoming a great trend, providing flexi\-bility, dedicated execution and isolation to a vast number of services. These infrastructures, built on clusters of multicores, offer huge pro\-cessing power, ideal for mass deployment of compute-intensive appli\-cations. However, bridging the gap between I/O techniques in virtuali\-zed environments and application demands seems to be a major chal\-lenge. Therefore, lowering the cost of communication in virtualized environments is an intriguing task, especially in a high-performance computing context. Great effort has been put on strengthening the isolation barrier between co-existing VMs. Isolation is an important requirement from a security point of view; in some cases, however, it is achieved at the expense of efficiency. When applications hosted on co-resident VMs need to communicate, this isolation barrier implies communication overhead. Cloud providers do not give users the oppor\-tunity to choose the physical location of their virtual machines, and therefore some VMs may coexist on the same physical machine. Thus, if this case is not taken into account, a communication intensive appl\-ication which requires data transfer between two or more co-resident VMs will present suboptimal performance. The purpose of this thesis is to study, evaluate and compare communication methods between VMs hosted on the same physical machine. A major require\-ment is that the communication API remains intact. Specifically, we examine a novel mechanism using the Xen hypervisor, called Virtual-to-Virtual$^2$ (V4V), which provides inter-domain communication, and serves as the transport layer of our approach. We use TCP/IP protocol semantics and build on this mechanism, creating V4Vsockets, a socket-compliant interface to V4V that supports socket operations bypassing all transport layers of the underlying stack (IP layers, software bridges etc.). We evaluate the performance of V4Vsockets compared to conven\-tional TCP/UDP sockets and our experimental results seem extremely promi\-sing. V4Vsockets show improved performance when transferring both small and large messages.