Περίληψη |
Η ανάγκη για διαφορετικού τύπου υπηρεσίες στον πυρήνα του Internet (όπως
firewalls, συστήματα ανίχνευσης και πρόληψης επιθέσεων, συστήματα
κατηγοριοποίησης της κίνησης του δικτύου, κλπ.), συνεχώς αυξάνει. Οι υπηρεσίες
αυτές πρέπει να εκτελούν περίπλοκες επεξεργασίες στα πακέτα δεδομένων σε όλα
τα επίπεδα της στοίβας δικτύου, οι οποίες, όμως, δεν υποστηρίζονται από τους
παραδοσιακούς δρομολογη
τές. Για το λόγο αυτό, έχουν αναπτυχθεί εξειδικευμένες
συσκευές (οι οποίες ονομάζονται “middleboxes”). Οι συσκευές αυτές εκτελούν
διάφορες μορφές επεξεργασίας
-
οι οποίες περιλαμβάνουν, για παράδειγμα, τη
λεπτομερειακή ανάλυση των πακέτων, τη κρυπτογράφηση
τους και τη συμπίεση.
Επιπλέον, η επεξεργασία των πακέτων που βασίζεται αποκλειστικά σε λογισμικό
υπόσχεται την ταχεία ανάπτυξη νέων, εξελιγμένων μορφών επεξεργασίας, χωρίς την
ανάγκη για αγορά ακριβού εξοπλισμού. Σε αυτή την διατριβή, προτείνουμε τη χρήσ
η
μονάδων επεξεργασίας γραφικών (GPUs) προκειμένου να αυξήσουμε την απόδοση
των εφαρμογών επεξεργασίας πακέτων δικτύου. Οι GPUs έχουν εξελιχθεί σε
υπολογιστικές συσκευές οι οποίες προσφέρουν μαζικό παραλληλισμό, καθώς
περιέ
χουν εκατοντάδες πυρήνες επεξεργα
σίας που μπορούν να χρησιμοποιηθούν
για υπολογισμούς γενικής χρήσης, πέρα από την χρήση τους σε εφαρμογές
γραφικών. Ωστόσο, λόγω των διαφορετικών ιδιοτήτων και περιορισμών των GPUs,
δεν είναι πάντα εύκολη υπόθεση να βελτιωθεί η απόδοση του υπάρχοντος
λογισ
μικού.
Η παρούσα διατριβή αναλύει τη χρήση GPUs για την επεξεργασία πακέτων δικτύου
(με εποπτεία κατάστασης) και περιγράφει τεχνικές που απαιτούνται ώστε να
βελτιωθεί η επίδοση της. Αρχικά, παρουσιάζουμε μια μελέτη σχετικά με την
επιτάχυνση της επεξεργασία
ς πακέτων χρησιμοποιώντας διακριτές κάρτες γραφικών.
Δεύτερον, παρουσιάζουμε μια ευρύτερη αρχιτεκτονική επεξεργασίας πακέτων που
παραλληλοποιεί προσεκτικά την επεξεργασία και ανάλυση των πακέτων σε τρία
επίπεδα, χρησιμοποιώντας (i) διασυνδέσεις δικτύου με
πολλαπλές ουρές, (ii)
πολλαπλούς επεξεργαστές (CPUs), και (iii) πολλαπλές GPUs. Τέλος, διερευνούμε το
σχεδιασμό ενός framework για την επεξεργασία πακέτων βασισμένο σε GPUs, το
οποίο προσδιορίζει έναν αρθρωτό (modular) μηχανισμό για τον προγραμματισμό
εφαρ
μογών επεξεργασίας πακέτων, το οποίο περιορίζει τις μεταφορές δεδομένων
και τις περιττές επεξεργασίες. Τα πειραματικά αποτελέσματα μας δείχνουν ότι η
ορθή υλοποίηση εφαρμογών επεξεργασίας πακέτων βασισμένες σε GPUs, μπορούν
να βελτιώσουν την απόδοση έως κα
ι 5,5 φορές πιο γρήγορα από ότι μία 8
-πύρινη CPU
|