Οι υποδομές cloud computing προσφέρουν μεγάλη υπολογιστική ισχύ και φιλοξενούν ένα ευρύ φάσμα εφαρμογών που κυμαίνονται από υπηρεσιοστρεφείς εφαρμογές μέχρι επιστημονικές προσομοιώσεις υψηλών απαιτήσεων. Οι εφαρμογές υψηλών απαιτήσεων (HPC applications) συνήθως εκτελούνται κατανεμημένα, σε μεγάλο αριθμό κόμβων, με αποτέλεσμα η επικοινωνία μεταξύ των κόμβων να παίζει σημαντικό ρόλο στη συνολική επίδοση. Η εκτέλεσή τους σε εικονικά περιβάλλοντα προϋποθέτει την απαλοιφή των ενδιάμεσων επιπέδων του virtualization που προσδίδουν σημαντική επιβάρυνση τόσο στη ρυθμαπόδοση της επικοινωνίας όσο και στο χαμηλό χρόνο απόκρισης κατά την ανταλλαγή μηνυμάτων μεταξύ των κόμβων. Ταυτόχρονα, πρέπει να διατηρούνται τα πλεονεκτήματα του εικονικού περιβάλλοντος, όπως η ευελιξία στην εκτέλεση, το απομονωμένο περιβάλλον καθώς και η ευκολία στη διαχείριση των υποδομών. Οι σύγχρονες μέθοδοι για Είσοδο / Έξοδο σε εικονικά περιβάλλοντα είτε παρουσιάζουν μειωμένη επίδοση στην επικοινωνία, είτε απαιτούν εξειδικευμένο υλικό που πολυπλοκοποιεί τις υποδομές και μειώνει σημαντικά την ευελιξία στη διαχείρισή τους.
Στην παρούσα εργασία παρουσιάζεται μια εκτενής μελέτη των μεθόδων Ε/Ε σε εικονικά περιβάλλοντα με έμφαση στη δικτυακή επικοινωνία. Αρχικά περιγράφουμε τις βασικές αρχές των σύγχρονων δικτύων διασύνδεσης υψηλής επίδοσης. Στη συνέχεια αναλύουμε τα επίπεδα του λειτουργικού συστήματος που λαμβάνουν μέρος στην ανταλλαγή μηνυμάτων και περιγράφουμε με λεπτομέρεια τις επιλογές για Ε/Ε σε πλατφόρμες virtualization. Με βάση τη σχετική βιβλιογραφία, που προτείνει κυρίως λύσεις λογισμικού, σχεδιάζουμε και υλοποιούμε το Xen2MX: ένα δίκτυο διασύνδεσης σχεδιασμένο να παρέχει επικοινωνία υψηλής επίδοσης σε εικονικά περιβάλλοντα. Το Xen2MX είναι πλήρως συμβατό με το Myrinet/MX, χωρίς να απαιτεί την ύπαρξη εξειδικευμένων προσαρμογέων δικτύου. Συνδυάζει τα χαρακτηριστικά διαμοιρασμού μνήμης της πλατφόρμας virtualization Xen, με τεχνικές επικοινωνίας μηδενικών αντιγράφων (zero-copy) για να παρέχει στις εικονικές μηχανές απευθείας πρόσβαση στο δίκτυο με το χαμηλότερο δυνατό χρόνο απόκρισης.
Cloud computing infrastructures provide vast processing power and host a diverse set of computing workloads, ranging from service-oriented deployments to HPC applications. As HPC applications scale to a large number of VMs, providing near-native network I/O performance to each peer VM is an important challenge. To deploy communication-intensive applications in the cloud, we have to fully exploit the underlying hardware, while at the same time retaining the benefits of virtualization: consolidation, flexibility, isolation, and ease of management. Current approaches present either limited performance or require specialized hardware that increases the complexity of the setup.
In this work, we present Xen2MX, a paravirtual interconnection framework, binary compatible with Myrinet/MX and wire compatible with MXoE. Its design is based on the Open-MX protocol, a port of the Myrinet/MX over generic Ethernet adapters. Xen2MX combines the zero-copy characteristics of Open-MX with Xen's memory sharing techniques; the objective is to construct the most efficient data path for high-performance communication in virtualized environments that can be achieved with software techniques.
Experimental evaluation of our prototype implementation shows that Xen2MX is able to achieve nearly the same raw performance as Open-MX running in a non-virtualized environment. On the latency front, Xen2MX reduces the RTT latency to less than 60% of the generic paravirtual setup with a software bridge and performs as close as 96% to the directly attached case (IOV). Regarding throughput, Xen2MX is able to nearly saturate a 10Gbps link, achieving 1159MB/s, compared to 1192MB/s of the directly-attached case. Xen2MX scales efficiently with the number of VMs, saturating the link for even smaller messages when 40 single-core VMs put pressure on the network adapters.