Προγραμματισμός

Δίλημμα SDN: Δικτύωση πυρήνα Linux έναντι παράκαμψης πυρήνα

Ο Sujal Das είναι επικεφαλής στρατηγικής και υπεύθυνος μάρκετινγκ στο Netronome, ένας πάροχος λύσεων συν-επεξεργασίας x86 υψηλής απόδοσης για δικτύωση, ασφάλεια, εξισορρόπηση φορτίου, εικονικοποίηση και SDN.

Εάν έχουμε μάθει κάτι στην τεχνολογία των τελευταίων 25 ετών, δεν θα υποτιμούσαμε ποτέ τον πυρήνα Linux. Γιατί λοιπόν τόσες πολλές εταιρείες δικτύωσης ήταν τόσο πρόθυμες να παρακάμψουν τον πυρήνα Linux - ή πιο συγκεκριμένα, τη στοίβα δικτύωσης του πυρήνα Linux; Τι θα μπορούσε να είναι τόσο λάθος με τις αρτηρίες πακέτων δικτύωσης στον πυρήνα του Linux που παρακινούν πολλούς από εμάς να τις παρακάμψουμε;

Υπάρχουν δύο κύριοι λόγοι. Πρώτον, η στοίβα δικτύωσης του πυρήνα είναι πολύ αργή - και το πρόβλημα επιδεινώνεται μόνο με την υιοθέτηση δικτύωσης υψηλότερης ταχύτητας σε διακομιστές και διακόπτες (10GbE, 25GbE και 40GbE σήμερα, και αυξάνεται στα 50GbE και 100GbE στο εγγύς μέλλον) . Δεύτερον, ο χειρισμός δικτύωσης έξω από τον πυρήνα επιτρέπει τη σύνδεση νέας τεχνολογίας χωρίς την ανάγκη αλλαγής του πυρήνα του κώδικα πυρήνα Linux.

Για αυτούς τους δύο λόγους, και με το πρόσθετο πλεονέκτημα ότι πολλές τεχνολογίες παράκαμψης πυρήνα είναι ανοιχτού κώδικα ή / και καθορίζονται από φορείς τυποποίησης, οι υποστηρικτές των λύσεων παράκαμψης συνεχίζουν να ωθούν τους χειριστές του κέντρου δεδομένων να τις υιοθετήσουν.

Λύσεις παράκαμψης πυρήνα

Έχουμε δει πολλές λύσεις παράκαμψης πυρήνα στο παρελθόν, κυρίως RDMA (Απομακρυσμένη άμεση πρόσβαση μνήμης), TOE (TCP Offload Engine) και OpenOnload. Πιο πρόσφατα, το DPDK (Data Plane Development Kit) έχει χρησιμοποιηθεί σε ορισμένες εφαρμογές για να παρακάμψει τον πυρήνα και, στη συνέχεια, υπάρχουν νέες αναδυόμενες πρωτοβουλίες όπως το FD.io (Fast Data Input Output) με βάση το VPP (Vector Packet Processing). Περισσότερα πιθανότατα θα εμφανιστούν στο μέλλον.

Τεχνολογίες όπως το RDMA και το TOE δημιουργούν μια παράλληλη στοίβα στον πυρήνα και επιλύουν το πρώτο πρόβλημα (δηλαδή, ο "πυρήνας είναι πολύ αργός"), ενώ το OpenOnload, το DPDK και το FD.io (με βάση το VPP) μετακινούν τη δικτύωση σε χώρο χρήστη Linux για να αντιμετωπίσουν και τα δύο Απαιτήσεις ταχύτητας και τεχνολογίας plug-in. Όταν οι τεχνολογίες είναι ενσωματωμένες στο χώρο χρήστη του Linux, αποφεύγεται η ανάγκη αλλαγών στον πυρήνα, εξαλείφοντας την επιπλέον προσπάθεια που απαιτείται για να πείσουμε την κοινότητα του πυρήνα Linux για τη χρησιμότητα των τεχνολογιών παράκαμψης και την υιοθέτησή τους μέσω ανάντη στον πυρήνα του Linux.

Netronome

Προκλήσεις παράκαμψης πυρήνα

Οι προκλήσεις που σχετίζονται με την υιοθέτηση παράλληλων στοίβων εκτός της στοίβας δικτύωσης του πυρήνα είναι προφανείς στους χειριστές κέντρων δεδομένων που αντιμετωπίζουν προβλήματα με την κλιμάκωση της υποδομής τους σε πολύ μεγάλο αριθμό διακομιστών. Με παράλληλες στοίβες δικτύωσης έρχεται μια φαινομενικά ατελείωτη λίστα με θέματα ασφάλειας, διαχείρισης, ευρωστίας, κλειδώματος προμηθευτή υλικού και συμβατότητας πρωτοκόλλου.

Για παράδειγμα, υπάρχουν υλοποιήσεις Open vSwitch και OpenContrail που χρησιμοποιούν το DPDK ως προσέγγιση παράκαμψης πυρήνα. Οι υλοποιήσεις DPDK περιορίζονται με δύο τρόπους. Πρώτον, είναι δύσκολο και μερικές φορές αδύνατο να εξελιχθούν τα χαρακτηριστικά γρήγορα και σε πρώτο πλάνο με καινοτομίες λογισμικού ανοιχτού κώδικα που βασίζονται σε πυρήνα. Δεύτερον, παρόλο που μπορούν να παραδοθούν τα επίπεδα απόδοσης και ασφάλειας που απαιτούνται από VMs και εφαρμογές, απαιτεί σημαντικό αριθμό πυρήνων CPU x86, μειώνοντας τη συνολική απόδοση της υποδομής κέντρου δεδομένων.

Παρ 'όλα αυτά, ορισμένοι χειριστές κέντρων δεδομένων που έχουν ίσως μερικές εκατοντάδες διακομιστές για διαχείριση και που εκτελούν μια μεμονωμένη εφαρμογή, όπως συμπλέγματα υψηλής απόδοσης Computing ή High Frequency Trading, μπορεί να είναι πρακτικό να χρησιμοποιούν τέτοιες παράλληλες στοίβες παράκαμψης πυρήνα. Το ίδιο ισχύει και για ειδικές ομάδες αποθήκευσης.

Αλλά μπορεί να διορθωθεί το φράξιμο της στοίβας δικτύωσης του πυρήνα χωρίς να καταφεύγουμε σε παράλληλες στοίβες παράκαμψης; Ναι μπορεί. Ο σωστός τρόπος για να επιλύσετε τα δύο παραπάνω προβλήματα θα ήταν να βρείτε τρόπους για να επιταχύνετε την απόδοση της στοίβας δικτύου πυρήνα με διαφάνεια, χρησιμοποιώντας έξυπνο υλικό δικτύου και χωρίς κανένα κλείδωμα προμηθευτή.

Τα SmartNIC προσπαθούν να λύσουν αυτά τα προβλήματα χωρίς να παρακάμψουν τον πυρήνα. Τα SmartNICs είναι NICS (κάρτες διασύνδεσης δικτύου) που μπορούν να προγραμματιστούν, επιτρέποντας στους προμηθευτές που παρέχουν τέτοια προϊόντα να καινοτομούν το υλικό δικτύωσης διακομιστών με την ταχύτητα του λογισμικού - μια πρακτική απαίτηση στη σύγχρονη υποδομή κέντρου δεδομένων που καθορίζεται από λογισμικό και NFV.

Εισαγάγετε το SmartNICS

Τα Netronome SmartNIC παρέχουν βασικές ή παραδοσιακές δυνατότητες NIC και προηγμένες δυνατότητες που απαιτούνται από το κέντρο δεδομένων cloud και τους παρόχους τηλεπικοινωνιακών υπηρεσιών. Αυτές οι προηγμένες δυνατότητες περιλαμβάνουν τη δυνατότητα εκφόρτωσης πλούσιας λειτουργικότητας δικτύωσης, όπως αυτή που παρέχεται από εικονικούς διακόπτες και εικονικούς δρομολογητές που χρησιμοποιούνται σε περιβάλλοντα δικτύωσης που καθορίζονται από λογισμικό και διακομιστές υπολογιστών βελτιστοποιημένους με NFV. Η δυνατότητα εκφόρτωσης αυτών των λειτουργιών δικτύωσης υψηλής έντασης υπολογιστών στο SmartNIC φέρνει υψηλότερα επίπεδα απόδοσης και ασφάλειας στα VM, αυξάνει τον αριθμό των εφαρμογών που μπορούν να παραδοθούν ανά διακομιστή και παρέχει μια συνολική ώθηση στην αποδοτικότητα του κέντρου δεδομένων. Τα χαρακτηριστικά του SmartNIC μπορούν να εξελιχθούν γρήγορα με καινοτομίες δικτύωσης ανοιχτού κώδικα, όπως με το Open vSwitch, OpenStack, OpenContrail και το eBPF του έργου IO Visor (Extended Berkeley Packet Filter).

Τα οφέλη από την ανάπτυξη SmartNIC δεν περιορίζονται στην αυξημένη απόδοση και σε ένα πλουσιότερο σύνολο λειτουργιών. Υπάρχουν επίσης σημαντικές εξοικονομήσεις TCO, καθώς τα SmartNIC μπορούν να αντικαταστήσουν τα παραδοσιακά NIC που χρησιμοποιούνται σε διακομιστές. Οι τιμές SmartNIC είναι ανταγωνιστικές σε σχέση με τα παραδοσιακά NIC και παρέχουν σημαντική εξοικονόμηση ελευθερώνοντας πολύτιμους πόρους CPU διακομιστή για VM και εφαρμογές, αυξάνοντας την αποδοτικότητα του διακομιστή. Δεδομένου ότι οι διακομιστές καταναλώνουν έως και το 60 τοις εκατό του συνολικού κόστους υποδομής κέντρου δεδομένων, η δυνατότητα υποστήριξης μεγαλύτερου φόρτου εργασίας ανά διακομιστή που χρησιμοποιεί SmartNIC υπόσχεται σημαντική εξοικονόμηση.

Οι υποστηρικτές παράκαμψης του πυρήνα θέλουν να υποστηρίξουν ότι η απόδοση δικτύωσης διακομιστή που απαιτείται σε εφαρμογές SDN και NFV μπορεί να επιτευχθεί χρησιμοποιώντας πυρήνες CPU υψηλής απόδοσης x86, και επομένως χρειάζονται τα παραδοσιακά NIC. Αλλά σε πρακτικά σημεία αναφοράς και στην πραγματική ζωή, οι μηχανισμοί παράκαμψης του πυρήνα μπορεί να χρειάζονται έως και 24 πυρήνες CPU για να λάβουν την απαιτούμενη απόδοση δικτύωσης. Αυτό καταναλώνει σχεδόν ολόκληρο τον διακομιστή για δικτύωση μόνο του.

Οι προμηθευτές SmartNIC συμφωνούν πλήρως ότι η απόδοση του δικτύου πυρήνα είναι ένα πραγματικό πρόβλημα που θα επιδεινωθεί μόνο όταν οι φορείς εκμετάλλευσης δημιουργούν κέντρα δεδομένων για να ανταποκριθούν στις απαιτήσεις συνεχώς αυξανόμενου αριθμού κινητών και συσκευών IoT. Αλλά δεν πιστεύουν ότι η παράκαμψη του πυρήνα του λειτουργικού συστήματος λύνει το πρόβλημα. Αντίθετα, οι εντατικές εργασίες επεξεργασίας δικτύου στη στοίβα δικτύωσης πυρήνα Linux πρέπει να εκφορτωθούν στα SmartNIC με έναν αγνωστικό τρόπο προμηθευτή, αντί να χρησιμοποιούν εφαρμογές που οδηγούν σε παράλληλες, περιττές στοίβες δικτύωσης.

Τα SmartNIC αντιμετωπίζουν αυτές τις προκλήσεις, ξεφορτώνοντας υλοποιήσεις διαδρομής δεδομένων δικτύωσης με βάση τον πυρήνα που διατίθενται σήμερα και εξελίσσονται γρήγορα στην ευρύτερη κοινότητα ανοιχτού κώδικα Linux. Οι τεχνολογίες στοίβας πυρήνα Linux, όπως το eBPF και ο ταξινομητής επισκεψιμότητας, υπόσχονται να επιτρέψουν στους προμηθευτές SmartNIC όπως το Netronome να κολλήσουν στη στοίβα δικτύωσης του πυρήνα Linux και να επιτρέψουν στους χειριστές του κέντρου δεδομένων να κλιμακώσουν αποτελεσματικά.

Η ηχηρή πρόταση από την κοινότητα Linux ήταν πάντοτε η αποφυγή παράκαμψης του πυρήνα. Όπως όλες οι θεμελιώδεις και απλές ιδέες, αυτή η ιδέα έχει κυριαρχήσει στο παρελθόν, ισχύει σήμερα και θα παραμείνει αληθινή στο μέλλον.

Το New Tech Forum παρέχει έναν χώρο για να εξερευνήσετε και να συζητήσετε την αναδυόμενη τεχνολογία σε πρωτοφανές βάθος και εύρος. Η επιλογή είναι υποκειμενική, με βάση την επιλογή των τεχνολογιών που πιστεύουμε ότι είναι σημαντικές και έχουν μεγάλο ενδιαφέρον για τους αναγνώστες. δεν αποδέχεται ασφάλεια μάρκετινγκ για δημοσίευση και διατηρεί το δικαίωμα να επεξεργαστεί όλο το περιεχόμενο. Στείλτε όλες τις ερωτήσεις στο [email protected].

$config[zx-auto] not found$config[zx-overlay] not found