Περίληψη |
Η εκθετικά αυξανόμενη κίνηση στο Διαδίκτυο (Internet) δημιουργεί υψηλές απαιτήσεις διαπερατότητας (throughput) της υποδομής των δικτύων. Επίσης, οι νέες εφαρμογές πολυμέσων, εκτός από διαπερατότητα, απαιτούν εγγυήσεις ποιότητας υπηρεσίας (QoS). Η αύξηση της διαπερατότητας και η ανάγκη για ποιότητα υπηρεσίας οδήγησαν στη δημιουργία μιας νέας γενιάς μεταγωγέων και δρομολογητών, οι οποίοι χρησιμοποιούν ειδικευμένο υλικό (hardware) για να υποστηρίξουν υψηλές ταχύτητες και προηγμένη ποιότητα υπηρεσίας. Η παρούσα μεταπτυχιακή εργασία μελετά ένα υποσύστημα μεταγωγέων/ δρομολογητών νέας γενιάς, το οποίο είναι η διαχείριση ουρών (queue management) στις κάρτες διασύνδεσης εισόδου και εξόδου σε ταχύτητα γραμμής OC-192 (10 Gbps). Η παροχή εγγυήσεων για ποιότητα υπηρεσίας απαιτεί διαχωρισμό των ροών εισόδου, η οποία συνήθως επιτυγχάνεται με τη χρήση τεχνικών οργάνωσης ουρών ανά ροή (per-flow queueing). Η υλοποίηση ενός διαχειριστή ουρών, ο οποίος υποστηρίζει χιλιάδες ουρές και λειτουργεί σε υψηλή ταχύτητα, είναι αρκετά απαιτητική. Μελετήσαμε σε βάθος την υλοποίηση ενός τέτοιου διαχειριστή ουρών και αποδείξαμε ότι είναι εφικτή με τη χρήση προηγμένων τεχνικών υλικού, όμοιες με τεχνικές που χρησιμοποιήθηκαν στους supercomputers την δεκαετία του '60 και χρησιμοποιούνται στους σύγχρονους μικροεπεξεργαστές σήμερα. Επιλέξαμε δυναμική μνήμη για την αποθήκευση της εισερχόμενης κίνησης με σκοπό να αυξήσουμε το χώρο αποθήκευσης. Για να αντιμετωπίσουμε αποτελεσματικά τις συγκρούσεις στην πρόσβαση της δυναμικής μνήμης (bank conflicts), χρησιμοποιούμε πολλαπλές "pipelined" διαδικασίες ελέγχου, τεχνικές εκτέλεσης εκτός σειράς (out-of-order execution) και τεχνικές μετονομασίας τελεστών (operand renaming). Για να μειώσουμε τις εξωτερικές μνήμες (off-chip SRAM), τοποθετούμε τους δείκτες (pointers) του διαχειριστή ουρών στην μνήμη που αποθηκεύουμε την εισερχόμενη κίνηση με τη χρήση τεχνικών δέσμευσης χώρου (free buffer preallocation) και παράκαμψης της λίστας διαθέσιμων ενταμιευτών (free list bypassing). Τέλος, περιγράψαμε την αρχιτεκτονική μας με τη χρήση της γλώσσας περιγραφής υλικού Verilog σε επίπεδο ακρίβειας κύκλου ρολογιού και επιβεβαιώσαμε (μερικώς) τηνορθή λειτουργία της με μικρά παραδείγματα προσομοίωσης. Για την υλοποίηση της μνήμης αποθήκευσης επιλέξαμε τη νεότερης τεχνολογίας δυναμική μνήμη Rambus.
|