Please use this identifier to cite or link to this item: http://artemis.cslab.ece.ntua.gr:8080/jspui/handle/123456789/17350
Title: Εικονικοποίηση Συσκευών Αποθήκευσης σε Περιβάλλοντα Υπολογιστικού Νέφους: μια Γρήγορη, Ασφαλής και Ευέλικτη Προσέγγιση με SPDK και virtio-vhost-user
Authors: Δράγαζης, Νικόλαος
Κοζύρης Νεκτάριος
Keywords: storage virtualization
userspace drivers
zero-copy DMA
SPDK
QEMU
KVM
vhost-user
eventfd
ioeventfd
irqfd
unix domain sockets
polling
Issue Date: 19-Jul-2019
Abstract: Η παρούσα διπλωματική εργασία πραγματεύεται το πρόβλημα της εικονικοποίησης συσκευών αποθήκευσης σε περιβάλλοντα υπολογιστικού νέφους. Η εικονικοποίηση συσκευών αποθήκευσης αφορά στην υλοποίηση εικονικών συσκευών αποθήκευσης για εικονικές μηχανές. Αυτό το ζήτημα έχει μελετηθεί εκτενώς στο παρελθόν και έχουν προταθεί διάφορες υλοποιήσεις. Ωστόσο, η ραγδαία εξέλιξη της τεχνολογίας των μέσων αποθήκευσης έχει οδηγήσει σε μείωση των χρόνων καθυστέρησης (latency), καθιστώντας έτσι το συνολικό χρονικό διάστημα επεξεργασίας ενός αιτήματος I/O να είναι πρωτίστως υπολογιστικό κόστος αντί για κόστος επεξεργασίας στο μέσο αποθήκευσης. Αυτό το γεγονός μας ωθεί στο να στρέψουμε την προσοχή μας εκ νέου στο λογισμικό και να εργαστούμε για την περαιτέρω βελτίωσή του. Σε αυτή τη διπλωματική παρουσιάζουμε μια νέα μέθοδο υλοποίησης εικονικών μέσων αποθήκευσης που λέγεται “SPDK/VVU”. Η βασική ιδέα είναι ο διαχωρισμός του μονοπατιού δεδομένων από τον επόπτη (hypervisor). Ο μηχανισμός μας αποτελείται από μια εικονική μηχανή που λειτουργεί σαν συσκευή αποθήκευσης και παρέχει υπηρεσίες αποθήκευσης σε άλλες τοπικές εικονικές μηχανές που πραγματοποιούν υπολογιστικές εργασίες. Όλη η κίνηση I/O δρομολογείται διαμέσου της συσκευής αποθήκευσης, αλλά χωρίς τη παρέμβαση του επόπτη στο μονοπάτι δεδομένων. Ο μηχανισμός επικοινωνίας των δύο εικονικών μηχανών βασίζεται σε μοιραζόμενη μνήμη. Αν ρυθμιστεί κατάλληλα, αυτή η λύση συνδυάζει υψηλό throughput, χαμηλή καθυστέρηση και κλιμακωσιμότητα. Είναι επίσης σχετικά ασφαλής υπό την έννοια ότι το λογισμικό προσομοίωσης της συσκευής τρέχει μέσα σε εικονική μηχανή. Τέλος, σε περιβάλλοντα υπολογιστικού νέφους, αυτή η λύση είναι ευέλικτη από της οπτική ματιά του χρήστη, διότι ο χρήστης έχει τον πλήρη έλεγχο του μονοπατιού δεδομένων. Στην ουσία, ο χρήστης μπορεί να προσαρμόζει δυναμικά το υλικό (hardware) των εικονικών του μηχανών. Αποκαλούμε αυτή την ιδιότητα ως “Αποθηκευτική Λειτουργικότητα οριζόμενη από το Χρήστη”. Η υλοποίηση του SPDK/VVU περιελάμβανε ενασχόληση με πολλαπλά έργα λογισμικού και αλληλεπίδραση με τις αντίστοιχες κοινότητες. Έχουμε υποβάλει αλλαγές στα έργα ανοικτού λογισμικού SPDK και DPDK. Τα SPDK και DPDK συναποτελούν το λογισμικό προσομοίωσης που τρέχει μέσα στην εικονική μηχανή που αποτελεί τη συσκευή απόθήκευσης. Έχουμε επίσης υποβάλει αλλαγές στο QEMU και στο VIRTIO για μια νέα συσκευή παραεικονικοποίησης που λέγεται “virtio-vhost-user”, η οποία υλοποιεί το μηχανισμό επικοινωνίας των εικονικών μηχανών. Συνολικά, κάποιες αλλαγές μας έχουν συγχωνευτεί, ενώ κάποιες άλλες τελούν αυτή τη στιγμή υπό αξιολόγηση.
URI: http://artemis.cslab.ece.ntua.gr:8080/jspui/handle/123456789/17350
Appears in Collections:Διπλωματικές Εργασίες - Theses

Files in This Item:
File Description SizeFormat 
thesis.pdf1.41 MBAdobe PDFView/Open


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