Στην παρούσα διπλωματική εργασία μελετάται η συμπεριφορά των δικτύων διασύν-
δεσης υψηλής επίδοσης σε εικονικά περιβάλλοντα.
Η εργασία βασίστηκε στο δίκτυο διασύνδεσης που υλοποιήθηκε κατά τη διάρκεια
της διπλωματικής εργσίας "Σχεδίαση και Υλοποίηση μηχανισμού απευθείας απομα-
κρυσμένης πρόσβασης στη μνήμη με χρήση προγραμματιζόμενου προσαρμογέα δι-
κτύου 10GbE", στο Εργαστήριο Υπολογιστικών Συστημάτων. Στα πλαίσια της εργα-
σίας αυτής, σχεδιάστηκε και υλοποιήθηκε το πρωτόκολλο SLURPoE (Simple RDMA
Protocol over Ethernet), η υλοποίηση του οποίου τροποποιήθηκε ώστε να ενταχθεί σε
εικονικά περιβάλλοντα, και συγκεκριμένα στον ελεγκτή εικονικής μηχανής Xen, με
χρήση του μοντέλου διαχωρισμένου οδηγού (split driver model), στην διπλωματική
εργασία "Ένταξη Σημασιολογίας Δικτύων Διασύνδεσης Υψηλής Επίδοσης σε Εικονι-
κές Μηχανές".
Αρχικά, εξετάζονται παράγοντες που ενδεχομένως να περιορίζουν την απόδοση του
δικτύου διασύνδεσης, και του πρωτοκόλλου, τόσο στην αρχική όσο και στην εικο-
νικοποιημένη υλοποίησή του. Με χρήση μετροπρογραμμάτων (benchmarks) έγινε
προσπάθεια να εντοπιστούν και να βελτιστοποιηθούν πιθανά bottlenecks, τόσο σε
επίπεδο υλικού, όσο και σε επίπεδο υλοποίησης πρωτοκόλλου.
Στην συνέχεια, ακολουθώντας μια διαφορετική προσέγγιση, υλοποιείται το εικονικο-
ποιημένο πρωτόκολλο SLURPoE σε επίπεδο πυρήνα (kernel level).
Στις δύο προηγούμενες εργασίες η υλοποίηση του πρωτοκόλλου γινόταν, στο μεγα-
λύτερο κομμάτι της πάνω σε έναν 'έξυπνο' προσαρμογέα δικτύου (smart NIC), ενώ ο
πυρήνας των κόμβων (hosts) αναλάμβανε μόνο την αρχικοποίηση της επικοινωνίας
μεταξύ των εφαρμογών σε χώρο χρήστη και του προσαρμογέα δικτύου. Στόχος ήταν
η όσο το δυνατόν μικρότερη επιβάρυνση των επεξεργαστών των κόμβων.
Στην παρούσα διπλωματική εργασία το πρωτόκολλο ενσωματώνεται στο κάτω μέρος
(backend) του διαχωρισμένου οδηγού του Xen, υλοποιώντας ουσιαστικά το πρωτό-
κολλο στον πυρήνα του privileged guest του Xen, αντικαθιστώντας έτσι τον προσαρ-
μογέα δικτύου.
Με την χρήση απλών μετρο-προγραμμάτων (micro-benchmarks), αξιολογήθηκε η
διαφορά στην επίδοση μεταξύ των δύο υλοποιήσεων, σε ό,τι αφορά τόσο στο ρυθμό
μεταφοράς δεδομένων (throughput) και τους χρόνους απόρκισης (latency), όσο και
στην επιβάρυνση των επεξεργαστών των κόμβων. H υλοποίηση σε επίπεδο πυρήνα εμφανίζει μικρή επιβάρυνση στον επεξεργαστή του privileged guest του Xen (34% utilization),
και σημαντική βελτίωση στους ρυθμούς μεταφοράς (έως 681 MiB/sec για
μεγάλα μηνύματα).
The objective of this thesis is the study and evaluation of the performance of HPC
interconnects in virtualized environments.
is thesis was based on the interconnect and protocol (SLURPoE) developed in the
Computing Systems Laboratory during a previous diploma thesis entitled: "Design
and Implementation of an RDMA mechanism over programmable 10GbE Interfaces",
and its modifed implementation, which intergrated the protocol in the Xen environment,
using the split driver model, which was developed during the thesis "Integration
of HPC Interconnect Semantics in virtualized environments".
Both the native and the virtualized implementations of the protocol are benchmarked,
in order to identify and optimize possible bottlenecks, both in hardware, and in the
protocol's implementation.
As a next step, the virtualized implementation of the protocol is ported to the host's
kernel.
In the two previous theses, the core protocol implementation was done on a smart
network adapter, while the hosts' kernel was involved only in the initialization of the
communication between the user space applications and the network adapter. e goal
was to minimize the overhead on the hosts' CPUs.
In this thesis, the protocol is integrated in the backend driver, of Xen's split driver, and
in essence the protocol is implemented in the kernel of Xen's privileged guest, thus
replacing the smart network adapter.
e performance of the new kernel-level implementation was evaluated with the use
of simple microbencmakrs, in terms of throughput, latency, and overall CPU utilization.
Preliminary results show that the kernel-level implementation achieves better
throughput (up to 681 MiB/sec for large messages), while limiting the privileged guests
CPU utilization to 34%.