ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΜΣ: ΟΛΟΚΛΗΡΩΜΕΝΑ ΣΥΣΤΗΜΑΤΑ ΥΛΙΚΟΥ ΚΑΙ ΛΟΓΙΣΜΙΚΟΥ (ΟΣΥΛ) ΜΕΤΑΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ Ανάπτυξη χρονοπρογραμματιστή ROLM για ενσωματωμένους μεταγωγείς ΑΤΜ ΣΤΟΥΜΠΟΥ ΚΩΝΣΤΑΝΤΙΝΙΑ Α.Μ. 103 Τριμελής Εξεταστική Επιτροπή Επιβλέπων: Δημήτριος Σερπάνος, Καθηγητής Μέλη: Κωνσταντίνος Γκούτης, Καθηγητής Σταύρος Κουμπιάς, Καθηγητής ΠΑΤΡΑ, Αύγουστος 2008
- 1 -
Ανάπτυξη χρονοπρογραμματιστή ROLM για ενσωματωμένους μεταγωγείς ΑΤΜ ΣΤΟΥΜΠΟΥ ΚΩΝΣΤΑΝΤΙΝΙΑ ΜΕΤΑΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΠΕΡΙΛΗΨΗ To ATM είναι μια δικτυακή τεχνολογία μετάδοσης που εξυπηρετήσει ποικίλες εφαρµογές με διαφορετικές απαιτήσεις εξυπηρέτησης από το δίκτυο είτε σε πραγματικό χρόνο όπως τον ήχος και την εικόνα είτε σε μη πραγματικό όπως τα υπολογιστικά δεδομένα, χρησιμοποιώντας έναν μηχανισμό που διαβιβάζει μονάδες δεδομένων σταθερού μεγέθους, τα κελιά. Η απόδοση του δικτύου ΑΤΜ εξαρτάται σε μεγάλο βαθμό από την χαρακτηριστικά των μεταγωγέων πακέτων. Για την ανάπτυξη αποτελεσματικών μεταγωγέων χρειάζεται να αναπτύξουμε αποτελεσματικούς χρονοπρογραμματιστές υψηλής ταχύτητας και ταυτόχρονα απλoύς στην υλοποίησή τους. Στα πλαίσια αυτής της μεταπτυχιακής εργασίας γίνεται η μελέτη και η υλοποίηση ενός αλγορίθμου χρονοπρογραμματισμού για μεταγωγέα ΑΤΜ της κατηγορίας αλγορίθμων ranking, ο οποίος χρησιμοποιεί μνήμη οργανωμένη σε πολλαπλές ουρές εισόδου για την αποθήκευση των πακέτων πριν την δρομολόγησή τους. O αλγόριθμος ROLM (Randomized On Line Matching) επιτυγχάνει μέγιστο ταίριασμα εισόδων εξόδων λόγω του permutation των εισόδων που γίνεται πριν την είσοδο των αιτήσεων. Επίσης, στοχεύει στη μείωση του latency που αφορά τη hardware υλοποίηση (χάρις στον υπολογισμό του τυχαίου permutation) και σε υψηλά ποσοστά δικαιοσύνης και throughput. Η υλοποίησηση του αλγορίθμου ROLM εκτελείται με δύο τρόπους: α) σε υλικό (FPGA) και β) σε λογισμικό (κώδικας C για AVR). Η πλατφόρμα FPSLIC μας επιτρέπει να αξιολογήσουμε και να συγκρίνουμε τις hardware και software υλοποιήσεις του αλγορίθμου κατά έναν ρεαλιστικό τρόπο, αφού τόσο ο μικροελεγκτής ΑVR, αλλά και η προγραμματιζόμενη λογική FPGA είναι κατασκευασμένα με την ίδια ακριβώς τεχνολογία, ενσωματωμένα σε μια μονολιθική συσκευή. Τέλος εξάγονται αποτελέσματα μετρήσεων της ταχύτητας και επιφάνειας του χρονοπρογραμματιστή και γίνεται σύγκριση για διαφορετικά μεγέθη μεταγωγέα στην απόδοση μεταξύ των δύο υλοποιήσεων του αλγορίθμου μεταξύ τους, αλλά και σύγκριση μεταξύ αποτελεσμάτων του αλγόριθμου ROLM και του αλγορίθμου FIRM, που έχουν ληφθεί από παρεμφερή εργασία. Παρατηρούμε ότι ο αλγόριθμος ROLM υπερέχει, είτε για υλοποίηση σε υλικό είτε σε λογισμικό, έναντι του άλλου αλγορίθμου. - 2 -
- 3 -
ΠΕΡΙΕΧΟΜΕΝΑ ΚΕΦΑΛΑΙΟ 1: ΕΙΣΑΓΩΓΙΚΟ ΚΕΦΑΛΑΙΟ...- 6-1.1 ΕΙΣΑΓΩΓΗ... - 6-1.2 ΤΟ ΔΙΚΤΥΟ ΑΤΜ... - 8-1.3 ΤΟ ATM ΚΕΛΙ... - 10-1.4 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΠΡΩΤΟΚΟΛΛΩΝ ATM... - 12 - ΚΕΦΑΛΑΙΟ 2: ΜΕΤΑΓΩΓΕΙΣ ΔΙΚΤΥΟΥ ΑΤΜ...- 16-2.1 Η ΔΟΜΗ ΕΝΟΣ ΜΕΤΑΓΩΓΕΑ ΑΤΜ... - 16-2.2 ΣΗΜΑΝΤΙΚΕΣ ΠΑΡΑΜΕΤΡΟΙ ΜΕΤΑΓΩΓΕΑ... - 19-2.3 CELL SWITCH FABRIC... - 19-2.3.1 Switch fabrics κοινόχρηστης µνήµης...- 20-2.3.2 Switch fabrics κοινού µέσου...- 21-2.3.3 Switch fabrics πλήρους διασύνδεσης...- 22-2.3.4 Switch fabrics διαίρεσης χώρου...- 23-2.4 ΑΡΧΕΣ ΣΧΕΔΙΑΣΜΟΥ ΜΕΤΑΓΩΓΕΑ ΓΙΑ ΠΡΟΣΩΡΙΝΗ ΑΠΟΘΗΚΕΥΣΗ... - 25-2.4.1 Output queuing...- 25-2.4.2 Input queuing...- 26-2.4.3 Advanced Input queuing...- 27 - ΚΕΦΑΛΑΙΟ 3: ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ...- 29-3.1 ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ... - 29-3.2 ΕΙΔΗ ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΤΩΝ... - 30-3.2.1 Αλγόριθμος χρονοπρογραμματισμού 2DRR...- 30-3.2.2 Αλγόριθμος χρονοπρογραμματισμού FIRM...- 32-3.2.3 Αλγόριθμος Ranking...- 34-3.2.4 Randomized On line Αλγόριθμοι...- 35 - ΚΕΦΑΛΑΙΟ 4: ΥΛΟΠΟΙΗΣΗ ΑΛΓΟΡΙΘΜΟΥ ROLM ΣΤΟ FPSLIC...- 38-4.1 ΠΛΑΤΦΟΡΜΑ FPSLIC BY ATMEL... - 38-4.2 ΑΝΑΠΤΥΞΗ ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΤΗ ΣΤΟ ΥΛΙΚΟ... - 40-4.2.1 Καθορισμός προδιαγραφών...- 43-4.2.2 Ανάπτυξη αρχιτεκτονικής χρονοπρογραμματιστή...- 44-4.2.3 Διαδικασία Επαλήθευσης (Functional verification)...- 46-4.2.4 Αποτελέσματα σύνθεσης...- 47-4.2.5 Αποτελέσματα Postlayout εξομοίωσης...- 64-4.3 ΑΝΑΠΤΥΞΗ ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΤΗ ΣΤΟ ΛΟΓΙΣΜΙΚΟ... - 65-4.3.1 Περιγραφή αλγορίθμου ROLM...- 68 - - 4 -
4.3.2 Κώδικας C για το FPSLIC...- 69-4.3.3 Έλεγχος Ορθότητας (testing)...- 72-4.3.4 Μέτρηση χρόνου εκτέλεσης αλγορίθμου...- 73-4.3.5 Δομή συνολικού AVR προγράμματος...- 76-4.3.6 Αποτελέσματα χρόνου εκτέλεσης αλγορίθμου...- 77 - ΚΕΦΑΛΑΙΟ 5: ΣΥΓΚΡΙΣΗ ΥΛΟΠΟΙΗΣΕΩΝ ΑΛΓΟΡΙΘΜΩΝ ROLM ΚΑΙ FIRM...- 78-5.1 ΣΥΓΚΡΙΣΗ ΥΛΟΠΟΙΗΣΗΣ ROLM ΣΕ ΥΛΙΚΟ ΚΑΙ ΣΕ ΛΟΓΙΣΜΙΚΟ... - 78-5.2 ΣΥΓΚΡΙΣΗ ΥΛΟΠΟΙΗΣΕΩΝ ROLM ΚΑΙ FIRM... - 79-5.3 ΤΕΧΝΙΚΑ ΣΥΜΠΕΡΑΣΜΑΤΑ ΣΥΓΚΡΙΣΕΩΝ... - 79 - ΚΕΦΑΛΑΙΟ 6: ΓΕΝΙΚΑ ΣΥΜΠΕΡΑΣΜΑΤΑ...- 84 - ΠΑΡΑΡΤΗΜΑ...- 85 - Α ΜΕΡΟΣ: ΔΗΜΙΟΥΡΓΙΑ ΤΩΝ PERMUTATIONS ΓΙΑ ΤΗ SOFTWARE ΚΑΙ ΤΗΝ HARDWARE ΥΛΟΠΟΙΗΣΗ... - 85 - Β ΜΕΡΟΣ: ΥΛΟΠΟΙΗΣΗ ROLM ΣΤΟ FPGA... - 92 - Γ ΜΕΡΟΣ: ΥΛΟΠΟΙΗΣΗ ΑΠΛΟΥ ΜΟΝΤΕΛΟΥ ROLM ΣΕ ΓΛΩΣΣΑ C ΓΙΑ FUNCTIONAL VERIFICATION... - 103 - Δ ΜΕΡΟΣ: ΥΛΟΠΟΙΗΣΗ ROLM ΣΤΟΝ AVR ΧΡΗΣΙΜΟΠΟΙΩΝΤΑΣ ΤΟΝ IAR COMPILER...- 111 - ΒΙΒΛΙΟΓΡΑΦΙΑ...- 121 - - 5 -
ΚΕΦΑΛΑΙΟ 1: ΕΙΣΑΓΩΓΙΚΟ ΚΕΦΑΛΑΙΟ 1.1 Εισαγωγή Το Internet είναι ένα κομμάτι της τεχνολογίας που γνωρίζει πολύ µεγάλη ανάπτυξη στο πλήθος των συνδεδεµένων υπολογιστών, στο πλήθος των χρηστών, στο µέγεθος της διακινούµενης πληροφορίας, στο πλήθος των διασυνδέσεων, στο εύρος ζώνης της κάθε σύνδεσης, στο ρυθµό ανάπτυξης των παροχέων υπηρεσιών Internet (Internet Service Providers, ISP s) και σε άλλους τομείς. Το ΑΤΜ είναι µια τεχνολογία δικτύου που µπορεί να εξυπηρετήσει ποικίλες εφαρµογές, που έχουν πολύ διαφορετικές απαιτήσεις εξυπηρέτησης από το δίκτυο. Οι κυριότερες από αυτές είναι: Τηλεσυνδιάσκεψη (Video Conferencing) Συνδιάσκεψη από γραφείο σε γραφείο (Desktop Conferencing) Εικονοτηλέφωνο (Videophone) Εικόνα / Ηχος κατά παραγγελία (Audio/Video On Demand) Εικονικά τοπικά δίκτυα (VLAN: Virtual LANs) Επικοινωνίες ΑΤΜ μεγάλης χωρητικότητας με κινητούς κόμβους (συνήθως με δορυφορικές ζεύξεις) Η κεντρική ιδέα πίσω από το ΑΤΜ είναι αντί να αναγνωρίζει το σύστημα τον αριθμό της σύνδεσης από τη θέση του πακέτου σε ένα bucket, απλά να φέρει το πακέτο τον αριθμό της σύνδεσης μαζί με τα δεδομένα, και ταυτόχρονα να κρατά τον συνολικό αριθμό των bytes σε ένα πακέτο μικροτσίπ ώστε αν χαθεί κάποιο πακέτο λόγω συμφόρησης, να έχει ελάχιστη επιρροή στην ροή των δεδομένων και ίσως να μπορεί να ανακτηθεί με ειδικούς αλγορίθμους επαναληπτικότητας (redundancy). Το όλο σχήμα φέρει από μεταγωγή πακέτου, οπότε και ονομάστηκε «Γρήγορη μεταγωγή πακέτου με μικρά σταθερού μεγέθους πακέτα». Το δε μέγεθος αυτό (53 bytes) προήλθε από την επιθυμία των εταιρειών να κρατήσουν σταθερή τη ποιότητα των φωνητικών επικοινωνιών όπως στα δίκτυα STM (Synchronous Transfer Mode), γιατί σε συνδέσεις που ο χρόνος μεταφοράς πακέτου πρέπει να είναι μικρός (όπως στη κλασική τηλεφωνία), η πιθανότητα να χαθούν πακέτα αυξάνεται, αλλά αφού το μέγεθος του πακέτου είναι πολύ μικρό, αυτό δεν συνεπάγεται αισθητή απώλεια στη φυσική ροή της ομιλίας. Έτσι στο ΑΤΜ σε κάθε σύνδεση ανατίθεται ένα «εικονικό αναγνωριστικό κυκλώματος» (VCI - Virtual Circuit Identifier), το οποίο περιέχεται σε κάθε πακέτο και αναγνωρίζει με μοναδικό τρόπο τα δύο άκρα της σύνδεσης. Ένα άλλο σημαντικό πλεονέκτημα του ΑΤΜ είναι ότι είναι μια εύκολα αναβαθμιζόμενη τεχνολογία. Είναι χαρακτηριστικό ότι οι αρχικές προδιαγραφές του μιλούν για βασική χαμηλή ταχύτητα 1,544 Mbps που μπορεί να φτάσει τα 10 Gbps και πάνω (σχεδόν 4 τάξεις μεγέθους). Παράλληλα με αυτό, το ΑΤΜ έχει σχεδιαστεί έτσι ώστε να μπορεί να χρησιμοποιηθεί με την ίδια ευκολία τόσο σε κοντινές αποστάσεις (π.χ. ένα γραφείο ή ένα κτίριο) όσο και σε μακρινές (διεθνείς και υπερηπειρωτικές συνδέσεις). Αυτό υπονοεί ότι μεγάλο μέρος της δουλειάς υποδομής που απαιτείται σήμερα για να συνεργάζονται - 6 -
αρμονικά τα τοπικά δίκτυα (LAN) με τα δίκτυα μεγάλων αποστάσεων (WAN) ή και τα μητροπολιτικά δίκτυα (MAN), μπορεί να εξαλειφθεί. Ένα τελευταίο και πολύ σημαντικό επακόλουθο της ενοποίησης των δικτύων φωνής και δεδομένων είναι η λεγόμενη ενοποίηση τηλεφωνικών και δικτύων δεδομένων σε μεγάλες και μικρές επιχειρήσεις (CTI : Computer and Telephony Integration). Με τη δυνατότητα του ΑΤΜ να χειρίζεται με την ίδια ευκολία το φορτίο που του αναθέτουν, είναι δυνατό να ενοποιηθούν τα συνήθως ανεξάρτητα δύο εσωτερικά δίκτυα των οργανισμών αυτών σε ένα, μειώνοντας το κόστος συντήρησης και επένδυσης. Η αναβαθμησιμότητα του ΑΤΜ, όπως διαφάνηκε παραπάνω, αφήνει δε πολλά περιθώρια για επέκταση του ενιαίου δικτύου, τόσο σε χωρητικότητα, όσο και σε απόσταση. Η συνεχής γρήγορη ανάπτυξη του Internet, σε συνδυασµό µε το πλήθος και την ποικιλία των υπηρεσιών που είναι επιθυµητό να είναι διαθέσιµες πάνω από το Internet, θέτει δύο κύριες προκλήσεις στο σχεδιασµό και την υλοποίηση των µεταγωγέων πακέτων (packet switches), ανεξαρτήτως αν πρόκειται για IP routers, ATM switches, Fast ή Gigabit Ethernet switches. Πρώτον, χρειάζονται packet switches µε δυνατότητες εξυπηρέτησης δεδοµένων µε συνολικό ρυθµό πολλών terabits ανά δευτερόλεπτο και δυνατότητα προώθησης µε ρυθµό δισεκατοµµυρίων πακέτων ανά δευτερόλεπτο. Οι περιορισµοί που υπάρχουν στις δυνατότητες των µνηµών και των τεχνολογιών διασύνδεσης συνεπάγονται την ανάγκη νέων αρχιτεκτονικών και τεχνικών. Μπορούµε να πούµε ότι υπάρχει απαίτηση για αρχιτεκτονικές δροµολογητών και µεταγωγέων µε µεγάλη ικανότητα διαµεταγωγής πακέτων και υποστήριξη υψηλής ταχύτητας συνδέσμων. Η συνεισφορά αυτής της μεταπτυχιακής εργασίας είναι η μελέτη και υλοποίηση ενός αλγορίθμου ranking για μεταγωγέα ΑΤΜ, που χρησιμοποιεί προηγμένο σχηματισμό ουρών εισόδου. O αλγόριθμος ROLM (Randomized On Line Matching) επιτυγχάνει μέγιστο ταίριασμα εισόδων εξόδων, υψηλό throughput και μεγάλη δικαιοσύνη. Η υλοποίησηση του αλγορίθμου ROLM εκτελείται με δύο τρόπους: α) σε υλικό (FPGA) και β) σε λογισμικό (κώδικας C για AVR). Η πλατφόρμα FPSLIC μας επιτρέπει να αξιολογήσουμε και να συγκρίνουμε τις hardware και software υλοποιήσεις του αλγορίθμου κατά έναν ρεαλιστικό τρόπο, αφού τόσο ο μικροελεγκτής ΑVR, αλλά και η προγραμματιζόμενη λογική FPGA είναι κατασκευασμένα με την ίδια ακριβώς τεχνολογία, ενσωματωμένα σε μια μονολιθική συσκευή. Στο τέλος εξάγουμε αποτελέσματα μετρήσεων της ταχύτητας και επιφάνειας του χρονοπρογραμματιστή και εκπονούμε σύγκριση για διαφορετικά μεγέθη μεταγωγέα στην απόδοση μεταξύ των δύο υλοποιήσεων του αλγορίθμου μεταξύ τους, αλλά και σύγκριση μεταξύ αποτελεσμάτων του αλγόριθμου ROLM και του αλγορίθμου FIRM, που έχουν ληφθεί από παρεμφερή εργασία. Στη συνέχεια του κεφαλαίου παρουσιάζονται βασικά στοιχεία για την λειτουργία και το πρωτόκολλο του ΑΤΜ δικτύου. Στο επόμενο κεφάλαιο παρουσιάζονται βασικές σχεδιαστικές αρχές, οι απαιτήσεις που υπάρχουν από το δίκτυο όσον αφορά στη λειτουργία των µεταγωγέων και η βασική αρχιτεκτονική τους µε τα λειτουργικά τµήµατά τους. Το µέρος του µεταγωγέα που παίζει καθοριστικό ρόλο στην απόδοση του συστήµατος είναι το cell switch fabric, το οποίο είναι υπεύθυνο για τη µεταγωγή των ATM cells µεταξύ των εισόδων και των εξόδων, αλλά και των λοιπών τµηµάτων του µεταγωγέα. - 7 -
Στο τρίτο κεφάλαιο παρουσιάζονται μεταγωγείς, που βασίζονται στην αρχιτεκτονική advanced input queuing σε συνδυασμό με crossbar fabric. Βασικό στοιχείο της κατηγορίας αυτής μεταγωγέων αποτελεί η ύπαρξη ενός χρονοπρογραμματιστή (scheduler), του οποίου αρμοδιότητα είναι η επιλογή ενός πακέτου προς αποστολή, όταν περισσότερα του ενός απευθύνονται στην ίδια έξοδο του μεταγωγέα. Οι αλγόριθμοι χρονοπρογραμματισμού για τους advanced input queuing μεταγωγείς μπορούν να ταξινομηθούν σε δύο κατηγορίες, ανάλογα με τον τρόπο που λαμβάνονται οι αποφάσεις για την επιλογή των αιτήσεων προς εξυπηρέτηση: κεντρικοποιημένοι, όπως είναι ο 2-dimensional round robin (2DRR), και κατανεμημένοι (distributed), όπως είναι οι PIM, islip, FIRM και Μutual Priority. Συνδυασμός των δύο αυτών κατηγοριών αποτελούν οι αλγόριθμοι ranking, στους οποίους ανήκουν οι ROLM αλγόριθμοι. Στο τέταρτο κεφάλαιο υλοποιείται ο αλγόριθμος χρονοπρογραμματισμού ROLM (Randomized On-Line Matching) στην πλατφόρμα FPSLIC. Η υλοποίησηση αυτή του εκτελείται με δύο τρόπους: σε υλικό (FPGA, κώδικας σε γλώσσα VHDL) και σε λογισμικό (κώδικας για AVR). Στο πέμπτο και τελευταίο κεφάλαιο γίνεται σύγκριση για διαφορετικά μεγέθη μεταγωγέα στην απόδοση μεταξύ των δύο υλοποιήσεων του αλγορίθμου μεταξύ τους, αλλά και σύγκριση μεταξύ αποτελεσμάτων των αλγορίθμων FIRM και ROLM, και εξάγουμε κατάλληλα συμπεράσματα. 1.2 Το δίκτυο ΑΤΜ To ATM (Asynchronous Transfer Mode) είναι μια δικτυακή τεχνολογία μετάδοσης που υποστηρίζει την μεταφορά ετερογενούς κίνησης πραγματικού χρόνου, όπως ήχου και εικόνας, και μη πραγματικού χρόνου, όπως υπολογιστικών δεδομένων, με τη βοήθεια ενός μηχανισμού που διαβιβάζει μονάδες δεδομένων σταθερού μεγέθους, γνωστές ως κελιά (cells). Ο τρόπος μεταφοράς (Transfer Mode) δηλώνει ότι αυτή η τεχνολογία αφορά συγκεκριμένο τρόπο μεταφοράς και μεταγωγής στο δίκτυο. Ο όρος «ασύγχρονο» (asynchronous) αναφέρεται στο γεγονός ότι τα πακέτα μεταφέρονται χρησιμοποιώντας ασύγχρονες τεχνικές και τα δύο τερματικά σημεία δε χρειάζεται να έχουν συγχρονισμένα ρολόγια. Το ATM είναι μια περίπλοκη τεχνολογία, ίσως και την περιπλοκότερη στη βιομηχανία δικτύων μέχρι τώρα. Σύµφωνα µε τον επίσηµο ορισµό της ITU (πρώην CCITT) το ΑΤΜ είναι µια τεχνική πολυπλεξίας, στην οποία η ικανότητα µετάδοσης οργανώνεται µε µη αφιερωµένες σχισμές (undedicated slots), οι οποίες γεµίζουν µε κελιά (cells), ανάλογα µε τις στιγµιαίες πραγµατικές ανάγκες της κάθε εφαρµογής. Η τεχνολογία ΑΤΜ είναι συνδεσμική (connection-oriented). Αυτό σημαίνει ότι πριν αρχίσει η μετάδοση πληροφοριών, πρέπει να επιτευχθεί η σύνδεση μεταξύ των δύο σημείων του δικτύου. Η σύνδεση μεταξύ δύο σημείων στο δίκτυο προς το παρόν είναι μόνιμη νοητή (permanent virtual circuit PVC). Στο Σχήμα 1 φαίνεται ένα τυπικό παράδειγμα δικτύου ΑΤΜ. - 8 -
Σχήμα 1. ΑΤΜ δίκτυο. Ένα ΑΤΜ δίκτυο αποτελείται από ένα σύνολο ΑΤΜ μεταγωγέων διασυνδεδεμένοι με point-to-point ATM συνδέσμους ή διεπαφές. Οι μεταγωγείς των ΑΤΜ υποστηρίζουν δύο ειδών διεπαφές: τη User-to-Network Interface (UNI) και τη Νetwork-tο-Νode Ιnterface (ΝΝΙ) ή Network-to-Network Interface όπως συναντάται αλλιώς στη βιβλιογραφία. Η πρώτη είναι η διεπαφή (interface) µεταξύ κάθε τερµατικού συστήµατος ΑΤΜ (ATM end system) και του ΑΤΜ δικτύου. Στην πράξη πρόκειται για το interface µεταξύ κάθε µηχανήµατος (σταθµού εργασίας, server ή δροµολογητή), που έχει ATM κάρτα δικτύου και του ATM στοιχείου µεταγωγής στο οποίο είναι συνδεδεµένο. To NNI είναι η διεπαφή (interface) µεταξύ των στοιχείων µεταγωγής ATM (ATM switches). Είναι κάθε φυσικός ή λογικός σύνδεσμος με τον οποίο δύο ΑΤΜ μεταγωγείς ανταλλάσσουν το πρωτόκολλο ΝΝΙ. Η τεχνολογία ΑΤΜ συνδυάζει τα προτερήματα της μεταγωγής κυκλώματος (circuit switching), τα οποία είναι δεδομένη χωρητικότητα μιας σύνδεσης και σταθερή καθυστέρηση μεταφοράς, με τα προτερήματα της μεταγωγής πακέτου (packet switching), τα οποία είναι η ελαστικότητα και η αποδοτικότητα αναφορικά με κίνηση μεταβλητού ρυθμού. Ένα από τα κυριότερα χαρακτηριστικά του ΑΤΜ τρόπου μεταφοράς είναι ότι το ΑTM είναι η πιο δημοφιλής τεχνολογία μεταγωγής στα WAN δίκτυα σκελετού (backbone). Επίσης, είναι όπως ήδη αναφέρθηκε συνδεσμικό (connection - oriented), δηλαδή επιτυγχάνεται εγκατάσταση νοητής σύνδεσης πριν την προώθηση των κελιών. Επιπλέον, γίνεται δυναμική ανάθεση εύρους ζώνης, ανάλογα με τις τρέχουσες απαιτήσεις κάθε εφαρμογής και η μεταγωγή κελιών (cell switching) είναι ταχεία βασισμένη σε ετικέτες. Τέλος, παρέχει διάφορα επίπεδα ποιότητας υπηρεσιών (Quality of Service). Το ΑΤΜ μπορεί και παρέχει ασφάλεια στις συνδέσεις ακριβώς επειδή το «κύκλωμα» που εγκαθίσταται με μία σύνδεση είναι εικονικό (virtual circuit) και αποσυντίθεται αμέσως μετά το τέλος της σύνδεσης. Αυτό συνδυαζόμενο με το γεγονός - 9 -
της μη προκαθορισμένης διαδρομής των πακέτων καθιστά σχεδόν αδύνατη την πλήρη παρακολούθηση μίας σύνδεσης ΑΤΜ. Παράλληλα, η σύγχρονη έρευνα πάνω στο θέμα της κρυπτογράφησης και της ασφάλειας των τηλεπικοινωνιακών δικτύων από ανεπιθύμητους ωτακουστές έχει εφεύρει ήδη κάποιους αλγόριθμους κρυπτογράφησης ικανούς να αποθαρρύνουν τους επίδοξους υποκλοπείς που είναι εύκολα υλοποιήσιμοι σε υλικό (firmware). Η έρευνα πάνω στο τομέα αυτό πρέπει να λάβει υπ όψη τις ταχύτητες μεταφοράς του ΑΤΜ και άρα να προσανατολιστεί προς αλγόριθμους με ικανοποιητικά αποτελέσματα αλλά και μικρό βαθμό πολυπλοκότητας, έτσι ώστε να μην υπάρχει μεγάλη επιβάρυνση (overhead) στα τελικά σημεία της σύνδεσης. 1.3 Το ATM κελί Στο ΑΤΜ, η πληροφορία δομείται σε καθορισμένου μεγέθους πακέτα, που ονομάζονται κελιά (cells), και μεταδίδεται με βάση την κεφαλίδα του πακέτου στον εκάστοτε προορισμό. Η χρήση μικρού καθορισμένου μεγέθους πακέτου παρέχει σημαντικά πλεονεκτήματα, όπως είναι οι προβλεπόμενες καθυστερήσεις στο δίκτυο, η αποδοτική και απλή κατανομή ενδιάμεσων μνημών, η εύκολη σχεδίαση της δομής ελέγχου και η ευκολία στην υλοποίηση με VLSI. Το πακέτο έχει μέγεθος 53-bytes, από τα οπoία τα 5 είναι πληροφορία που προστίθεται για την σωστή μεταγωγή του πακέτου, και ονομάζεται κεφαλίδα (header) του κελιού, και τα υπόλοιπα 48 αποτελούν τα προς μετάδοση δεδομένα που αποτελούν το ωφέλιμο φορτίο (payload). Η βασική δομή του εμφανίζεται στο Σχήμα 2. Σχήμα 2. Βασική Δομή ΑΤΜ κελιού. Το header περιλαμβάνει πληροφορίες σχετικά με το περιεχόμενο του payload και επίσης κρατά πληροφορίες σχετικά με τη μέθοδο μετάδοσης. Επιπλέον, υπάρχει η πληροφορία µεταξύ άλλων σχετικά µε τον «προορισμό» του κελιού, προκειµένου να διαχωρίζεται από τα υπόλοιπα cells που µεταδίδονται πάνω από τον ίδιο φυσικό φορέα. Αυτή είναι και η σηµαντικότερη πληροφορία του header. Υπάρχουν πολλά τμήματα που περιλαμβάνονται στο header, και συγκεκριμένα τα Generic Flow Control (γενικός έλεγχος ροής, GFC), Cell Loss Priority (προτεραιότητα απώλειας κυττάρου, CLP), Payload Type (τύπος ωφέλιμου φορτίου, PT), Header Error Control (έλεγχος σφαλμάτων επικεφαλίδας, HEC), the Virtual Path Identifier (αναγνωριστής εικονικού μονοπατιού, VPI) and the Virtual Channel Identifier (αναγνωριστής εικονικού κυκλώματος, VCI). Το Cell-header εμφανίζεται με δύο μορφές: το User-Network Interface (UNI) και το Network Node Interface (NNI). Το Σχήμα 3 εξηγεί τη δομή ενός ATM User-Network Interface (UNI) header. - 10 -
GFC 4 -bits VPI 8-bits VCI 16-bits PT 3-bits CLP 1-bits Σχήμα 3. User-Network Interface (UNI) Header. HEC 8-bits To UNI περιγράφεται ως το σημείο που ο χρήστης μπαίνει στο δίκτυο. Το NNI είναι η διεπαφή μεταξύ δικτύων. Η διαφορά μεταξύ των δύο τύπων κεφαλίδων είναι ότι ο UNI header έχει ένα κομμάτι Generic Flow Control. Η GFC περιοχή δε χρησιμοποιείται για το κελί ΝΝΙ. Το GFC κομμάτι περιέχει πληροφορίες που χρησιμοποιούνται για την πολύπλεξη. Η πολυπλεξία που χρησιμοποιείται σε κάθε κελί βασίζεται σ αυτή την πληροφορία. Στο NNI, έχει γίνει ήδη η πολυπλεξία στην πληροφορία και δε χρειάζεται να προστεθεί επιπλέον πληροφορία. Η GFC περιοχή για το κελί NNI χρησιμοποιείται για την πληροφορία μετάδοσης μονοπατιού (transmission path information) (VPI/VCI). Το Σχήμα 4 δείχνει τη δομή ενός ATM Network Node Interface (NNI). VPI 12-bits VCI 16-bits PT 3-bits CLP 1-bit HEC 8-bits Σχήμα 4. Network Node Interface (ΝNI) Header. Κάποια στοιχεία µεταγωγής κατά µήκος της διαδροµής που ακολουθούν τα κελιά, µπορεί να µη χρειάζεται να ελέγξουν το VCI, αλλά να κάνουν µεταγωγή της κίνησης µόνο µε βάση το VPI. Αυτό προφανώς προσφέρει τη δυνατότητα να γίνεται η µεταγωγή µε µεγάλη ταχύτητα. Τα υπόλοιπα πεδία αναφέρονται περιπληπτικά: Generic Flow Control: 4 bits δεσµευµένα για την υλοποίηση του ελέγχου ροής. Payload Type: 3 bits που δηλώνουν αν στο payload του κελιού υπάρχουν δεδοµένα χρήστη, δεδοµένα σηµατοδοσίας ή πληροφορίες διαχείρισης. Cell Loss Priority: 1 bit που καθορίζει αν το ΑΤΜ δίκτυο έχει το δικαίωµα να απορρίψει αυτό το cell σε περίπτωση συνθηκών συµφόρησης. Header Error Control: 8 bits που υλοποιούν κώδικα ανίχνευσης και διόρθωσης λαθών για την προστασία της κεφαλίδας. (Το payload δεν προστατεύεται από κάποιο αντίστοιχο πεδίο στο ΑΤΜ επίπεδο). Ο κυριότερος ρόλος του ATM cell-header είναι η ταυτοποίηση των κελιών που ανήκουν στο ίδιο «νοητό κανάλι». Μια νοητή σύνδεση ταυτοποιείται από το συνδυασµό των τιµών που έχουν τα πεδία Virtual Path Identifier (VPI) και Virtual Channel Identifier (VCI). Το Εικονικό Κανάλι (Virtual Channel) παρουσιάζει τη ροή πληροφορίας σε σύνδεση ενός μόνο δικτύου ανάμεσα σε 2 ATM και χρήστες. Τα ATM standards την καθορίζουν ως μία μονοκατευθυνόμενη σύνδεση ανάμεσα σε δύο τερματικά σημεία του δικτύου. Το Εικονικό Μονοπατι (Virtual Path) χρησιμοποιείται για να μεταφέρει ένα ή περισσότερα εικονικά κανάλια στο δίκτυο. Απεικονίζεται με μια δέσμη καναλιών ανάμεσα σε δύο τερματικά σημεία (Σχήμα 5). Με δεδοµένο ότι υπάρχουν δύο πεδία, µπορούµε να πούµε ότι υπάρχει µια ιεραρχική δόµηση των νοητών συνδέσεων. Συγκεκριµένα υπάρχουν τα νοητά µονοπάτια (2 8 σε ένα UNI και 2 12 σε ένα ΝΝΙ), κάθε ένα από τα οποία περιλαµβάνει µέχρι 2 16 εικονικά κανάλια. - 11 -
Σχήμα 5. Εικονική σύνδεση. Σχήμα 6. Παράδειγμα ΑΤΜ κυκλώματος με τα Path Connections. Η λογική ομαδοποίηση των μονοπατιών και των καναλιών παρέχει μεγαλύτερη ευελιξία στη διαχείριση της διευθυνσιοδότησης της ροής της πληροφορίας σ ένα δίκτυο ΑΤΜ. Το Σχήμα 6 δείχνει ένα παράδειγμα διαμόρφωσης ενός δικτύου με μια κατάταξη από Virtual Paths και Virtual Channels. Όπως φαίνεται από το σχήμα, κάθε εικονικό μονοπάτι περιέχει ένα ή περισσότερα εικονικά κανάλια. Ο ακριβής αριθμός που ορίζεται για τα μονοπάτια και τα κανάλια χρησιμοποιείται μόνο για να αντιπροσωπεύσει ένα τμήμα εικονικού μονοπατιού ή καναλιού που υπάρχει μεταξύ δύο γειτονικών κόμβων του δικτύου. Αυτές οι τιμές καθιερώνονται όταν το πραγματικές συνδέσεις εικονικών καναλιών (Virtual Channel Connections, VCC) αποκατασταθούν. Οι αριθμοί των μονοπατιών και των καναλιών σε μια σύνδεση περιορίζονται από τη μορφή του ΑΤΜ κελιού. Αυτός ο περιορισμός δικαιολογεί και τις διαφορές ανάμεσα στους τύπους UNI και NNI. Ο τύπος NNI αντικαθιστά τα 4 bits της ένδειξης του Generic Flow Control με επιπλέον VPI bits, επεκτείνοντας τον αριθμό των πιθανών μονοπατιών στο NNI από 256 σε 4096. 1.4 Αρχιτεκτονική Πρωτοκόλλων ATM Οι λειτουργίες σε ένα δίκτυο ΑΤΜ κατά τη μεταφορά της πληροφορίας είναι: 1. Η πηγή ζητά σύνδεση με συγκεκριμένη ποιότητα υπηρεσίας για δεδομένη εφαρμογή. 2. Το δίκτυο εντοπίζει ένα μονοπάτι με επαρκείς διαθέσιμους πόρους. 3. Η πηγή τοποθετεί την πληροφορία σε κύτταρα ΑΤΜ. 4. Η πηγή εισάγει τα κύτταρα στο δίκτυο με κατάλληλο ρυθμό. - 12 -
5. Το δίκτυο μεταφέρει τα κύτταρα κατά μήκος ενός εικονικού κυκλώματος ώστε να επιτυγχάνεται η ποιότητα υπηρεσίας. 6. Ο προορισμός ανασυντάσσει τα κύτταρα στην αρχική μορφή της πληροφορίας. 7. Η εφαρμογή τερματίζει τη σύνδεση. Η αρχιτεκτονική πρωτοκόλλων του δικτύου ATM εμφανίζεται στο Σχήμα 7. Τα τρία κατώτερα επίπεδα στην αρχιτεκτονική αυτή είναι το φυσικό επίπεδο, το επίπεδο ATM και το ATM adaptation layer (Επίπεδο Προσαρμογής του ΑΤΜ, AAL). Σχήμα 7. Αρχιτεκτονική Πρωτοκόλλων ATM. Υπάρχουν συκεκριμένες προδιαγραφές που περιγράφουν την αποδεκτή φυσική σηματοδοσία, κλήση ελέγχου και τύπους ανωτέρου επιπέδου payload. Χαρτογραφώντας κατά προσέγγιση τα επίπεδα 1 και 2 του μοντέλου OSI, το ATM όπως είδαμε χωρίζεται σε τρία διακριτά επίπεδα. Στο τελευταίο, διάφορες κατηγορίες φυσικών επιπέδων έχουν προσαρμοστεί να υποστηρίζουν διαφορετικούς τύπους ATM εφαρμογών. Το επίπεδο ATM παρέχει μεταγωγή κελιών και υπηρεσίες δρομολόγησης. Οι εφαρμογές υπηρεσιών στηρίζονται στο ATM Adaptation Layer (AAL) που εξυπηρετεί δύο σκοπούς για να παρέχει ένα κοινό πλαίσιο εργασίας για την τμηματοποίηση (segmentation) και επανασυναρμολόγηση (reassembly) από μεγαλύτερα σύνολα πληροφορίας στα ΑΤΜ κελιά και για την παροχή υπηρεσιών συγκεκριμένων μηχανισμών για τη μεταφορά διαφορετικών τύπων πληροφορίας. Τέσσερις διαφορετικές κατηγορίες κυκλοφορίας υποστηρίζονται από το AAL για το κύκλωμα μεταγωγής πληροφορίας μέσα από εφαρμογές τρόπου πακέτων (packet mode). Πολλές από τις πρόωρες εφαρμογές από το ATM έχει στραφεί στις υπηρεσίες τρόπου πακέτων, κυρίως για τις υπηρεσίες Frame Relay. Το AAL πρέπει να χαρακτηριστεί ως μία εσωτερική διεπαφή λογισμικού που γεφυρώνει τις υπηρεσίες των τελικών χρηστών στο ATM. Υπάρχει χαρακτηριστικά ένα καλό κομμάτι εργασίας που απαιτείται για να δεσμεύσει άλλα πρωτόκολλα στη στοίβα του ATM. - 13 -
Πιο αναλυτικά για τα επίπεδα, το φυσικό επίπεδο περιλαµβάνει δύο υποεπίπεδα: το υποεπίπεδο φυσικού µέσου (physical medium sublayer) και το υποεπίπεδο σύγκλισης µετάδοσης (transmission convergence sublayer). Το πρώτο υποεπίπεδο εκτελεί λειτουργίες εξαρτώµενες από το φυσικό µέσο, όπως η παροχή χρονισµού σε σχέση µε το ψηφιακό κανάλι και η υιοθέτηση κατάλληλης τεχνικής κωδικοποίησης γραµµής. Το δεύτερο χειρίζεται τη µεταφορά των ATM κελιών στο υποκείµενο επίπεδο της ροής bits. Στο υποεπίπεδο φυσικού µέσου καθορίζονται οι φυσικές διεπαφές που µπορούν να χρησιµοποιηθούν, δηλαδή καθορίζεται η χωρητικότητα που είναι διαθέσιµη στη διεπαφή καθώς και οι τρόποι διαθέσιμότητάς της πάνω από κάθε φυσικό µέσο. Το ITU-T έχει ορίσει δύο UNI µε ρυθµούς 155,52 Mbps και 622,08 Mbps. Αυτοί οι ρυθµοί έχουν επιλεγεί για καλύτερη εκμετάλλευση της διαθεσιµότητας των ψηφιακών συνδέσεων που είναι συµβατές µε τα standards του SDH και του SONET. Οι λειτουργίες που εκτελούνται από το υποεπίπεδο σύγκλισης µετάδοσης είναι η δηµιουργία και η ανάκτηση του πλαισίου µετάδοσης, η προσαρµογή του πλαισίου µετάδοσης, ο καθορισµός των ορίων του cell µέσα στο πλαίσιο, η δηµιουργία (κατά την αποστολή) και η επιβεβαίωση (κατά τη λήψη) του HEC, η αποδέσµευση του ρυθµού των κελιών από το ρυθµό µετάδοσης της γραµµής. H κύρια λειτουργία του επιπέδου ATM είναι η παροχή εικονικών συνδέσεων μεταξύ δύο ή περισσότερων κόμβων του δικτύου ή μεταξύ ενός κόμβου του δικτύου και ενός τερματικού συστήματος. Οι γενικότερες λειτουργίες του αφορούν τη μετάδοση, μετατροπή και λήψη κελιών, την πολυπλεξία και αποπολυπλεξία των κελιών, όπου τα κελιά που ανήκουν σε διαφορετικά εικονικά κανάλια ή µονοπάτια πολυπλέκονται στο ίδιο «ρεύµα» από κελιά (cell stream) στην πλευρά του αποστολέα και αποπολυπλέκονται από το ίδιο ρεύµα από κελιά στην πλευρά του παραλήπτη. Άλλες λειτουργίες είναι ο έλεγχος συμφόρησης και διαχείριση των καταχωρητών, η παραγωγή και αφαίρεση κεφαλίδων των κελιών στην πηγή και τον προορισμό αντίστοιχα και η διαδοχική παράδοση. Επίσης, γίνεται μετάφραση και αντικατάσταση των πεδίων VPI / VCI. Στην περίπτωση αυτή, η λειτουργία της δροµολόγησης ή της µεταγωγής των κελιών γίνεται αντιστοιχίζοντας τον virtual path identifier και τον virtual channel identifier (VPI / VCI) των κελιών που λαµβάνονται από µια θύρα εισόδου σε νέες τιµές των VPI / VCI και σε µια θύρα εξόδου, από όπου θα µεταδοθούν αυτά τα cells. To ATM adaptation Layer (AAL) χρησιμοποιείται ως διεπαφή μεταξύ του επιπέδου ΑΤΜ με τα ανώτερα επιπέδου πρωτόκολλα, όπως το ΙP. Σύνηθες πρωτόκολλο του επιπέδου AAL είναι το AAL-5. Το ΑΑL-5 εισάγει μεταβλητού μεγέθους πακέτα από τα πρωτόκολλα του ανώτερου επιπέδου και τα τεμαχίζει σε σταθερού μεγέθους μονάδες των 48 bytes. Αντίχοιχα δέχεται σταθερού μεγέθους κελιά από το δίκτυο και επανασυναρμολογεί αυτά στα αρχικά τους πακέτα. Το ATM adaptation layer είναι αυτό που παρέχει τη δυνατότητα χρήσης διαφορετικών κλάσεων υπηρεσιών. Το AAL χωρίζεται σε δύο υποεπίπεδα: το υποεπίπεδο κατάτµησης και επανασυναρµολόγησης (segmentation and reassembly sublayer, SAR), όπως αναφέρθηκε και παραπάνω, και το υποεπίπεδο σύγκλισης (convergence sublayer, CS). Το υποεπίπεδο SAR στην πλευρά του αποστολέα εκτελεί την κατάτµηση της πληροφορίας του χρήστη, που φθάνει µε µεταβλητού µήκους πλαίσια, σε ένα σύνολο σταθερού µεγέθους ATM cell payloads προκειµένου να µεταφερθούν µέσω του ΑΤΜ δικτύου. Στην πλευρά του παραλήπτη το SAR επανασυνθέτει τα µεταβλητού µεγέθους πλαίσια µε τα δεδοµένα του - 14 -
χρήστη από τα κελιά. Το convergence sublayer αντιστοιχεί τις απαιτήσεις του χρήστη στο ΑΤΜ δίκτυο. - 15 -
ΚΕΦΑΛΑΙΟ 2: ΜΕΤΑΓΩΓΕΙΣ ΔΙΚΤΥΟΥ ΑΤΜ 2.1 Η δομή ενός μεταγωγέα ΑΤΜ Η γενική δομή ενός ΑΤΜ μεταγωγέα (switch) αποτελείται από ένα σύνολο θυρών εισόδου (input ports) και ένα σύνολο θυρών εξόδου (output ports), μέσω των οποίων o μεταγωγέας διασυνδέεται με άλλα ΑΤΜ switches ή με άλλα ενεργά στοιχεία του δικτύου (Σχήμα 8). Η βασική λειτουργία του ΑΤΜ μεταγωγέα είναι η μεταγωγή των κελιών από τις θύρες εισόδου στις κατάλληλες θύρες εξόδου και ο έλεγχος συνδέσεων και διαχείρισης δικτύου. Control Processor (Connection Control & Network Management) IC OC Input.. Switch Fabric.. Output IC OC Σχήμα 8. Γενική δομή ενός ΑΤΜ μεταγωγέα. Αρχικά, τα κελιά λαµβάνονται στις θύρες εισόδου του μεταγωγέα από τους ελεγκτές εισόδου (Input Controllers, ICs) και προετοιµάζονται για τη δροµολόγηση µέσα στο switch. Η δροµολόγηση από τις εισόδους στις εξόδους εκτελείται από το υλικό του μεταγωγέα (switch fabric). Τέλος, τα κελιά προετοιµάζονται για τη φυσική µετάδοσή τους από τους ελεγκτές εξόδου (Output Controllers, OCs) στις θύρες εξόδου του switch. Οι παραπάνω μονάδες µαζί εκτελούν τις κύριες λειτουργίες δροµολόγησης και προσωρινής αποθήκευσης (buffering) που απαιτούνται στην ΑΤΜ µεταγωγή. Απαιτείται επεξεργαστής ελέγχου για την εκτέλεση των λειτουργιών υψηλότερου επιπέδου, όπως είναι η δημιουργία και η απελευθέρωση των ΑΤΜ νοητών συνδέσεων, η κατανομή εύρους ζώνης (bandwidth), ο έλεγχος της κίνησης, η διατήρηση και η διαχείριση του δικτύου. - 16 -
Στο Σχήμα 9 φαίνονται με βάση τους Chen και Liu οι λειτουργίες του μεταγωγέα διαιρεμένες σε λειτουργικά blocks: modules εισόδου, modules εξόδου, κελί switch fabric, σύνδεση αποδοχής ελέγχου (connection admission control), και διαχείριση μεταγωγέα. Αυτά τα λειτουργικά blocks είναι ανεξάρτητα υπηρεσιών, και ο διαχωρισμός τους δεν έχει πάντα καθορισμένα όρια ανάμεσά τους. Σχήμα 9. Ένα γενικό μοντέλο μεταγωγέα (βασισμένο στους Chen και Liu). Οι βασικοί τύποι διαμόρφωσης ενός switch fabric είναι δύο: το κεντροποιημένο (centralized) switch fabric και το κατανεμημένο (distributed) switch fabric. Ένα centralized switch fabric σύστημα περιέχει μία κεντρική κάρτα switch fabric, η οποία είναι υπεύθυνη για τη διασύνδεση όλων των θυρών σ όλες τις κάρτες γραμμών (line cards) του συστήματος. Η λειτουργία μεταγωγής πραγματοποιείται στην κάρτα σιλικόνης του switch fabric και συνδέει τις κάρτες γραμμών χρησιμοποιώντας σειριακές συνδέσεις υψηλών ταχυτήτων διαμέσου ενός backplane. Το Σχήμα 10α δείχνει ένα απλοποιημένο σύστημα καρτών των οκτώ γραμμών, στο οποίο κάθε κάρτα γραμμής συνδέεται στην κεντρική κάρτα switch fabric. Στην υπολοποίηση του distributed switch fabric, η μεταγωγή γίνεται στις κάρτες γραμμών πριν σταλεί η πληροφορία στο backplane. Όπως φαίνεται στο Σχήμα 10β, κάθε κάρτα γραμμής συνδέεται με κάθε άλλη κάρτα γραμμής στο σύστημα χρησιμοποιώντας σειριακές συνδέσεις υψηλών ταχυτήτων, δημιουργώντας ένα υψηλής ταχύτητας πλέγμα backplane. Η δρομολόγηση των πακέτων στην κατάλληλη κάρτα γραμμών αποτελεί αναγκαία λειτουργία της κάθε κάρτας (γραμμής). Επίσης, γίνεται διαχείριση κυκλοφορίας και διαχείριση ουρών. Στο Σχήμα 11 παρουσιάζεται η επικοινωνία μεταξύ μιας κάρτας γραμμής και της Switch Fabric κάρτας. Τα block PHY και MAC επεξεργάζονται τα εισερχόμενα κελιά από το δίκτυο. Το block MAC παραδίδει τα δεδομένα στον επεξεργαστή πακέτων, του οποίου οι λειτουργίες είναι η προώθηση, η κατηγοριοποίηση, η εισαγωγή - 17 -
προτεραιότητας στα κελιά και ο έλεγχος ροής. Τέλος, οι κάρτες γραμμών στέλνουν τα κελιά στην κάρτα Switch Fabric, η οποία εκτελεί την μεταγωγή των κελιών για τις κατάλληλες κάρτες γραμμών. Σχήμα 10α. Σύστημα Centralized Switch Fabric. Σχήμα 10β. Σύστημα Distributed Switch Fabric. Σχήμα 11. Switch building blocks. - 18 -
2.2 Σημαντικές παράμετροι μεταγωγέα Βασικό κομμάτι της σχεδίαση ενός ΑΤΜ μεταγωγέα αποτελούν ο μηχανισμός επίλυσης των συγκρούσεων (scheduling) για την περίπτωση όπου πολλά πακέτα κατευθύνονται προς την ίδια έξοδο συγχρόνως, η θέση των ενδιάμεσων μνημών (buffering) και η τοπολογία του Switch Fabric του μεταγωγέα. Θα θεωρούµε ότι το switch fabric έχει N θύρες εισόδου και Ν θύρες εξόδου με θύρες ταχύτητας V cells/second. Οι παράμετροι που λαμβάνονται υπόψην για τη λειτουργία και την απόδοση ενός μεταγωγέα είναι οι εξής: Cell time = ο χρόνος μετάδοσης ενός κελιού, θεωρώντας ότι έχουμε ίσους ρυθμούς μετάδοσης σε όλες τις συνδέσεις. (π.χ. Για σύνδεση 155 Mb/s είναι cell time = 53 * 8/155 = 2.73 μsec) Throughput = η ροή που μεταφέρει ο μεταγωγέας εκφρασμένη ως παράγοντας αξιοποίησης των συνδέσεων του συνδέσμου εξόδου. Average cell delay = μέση καθυστέρηση ενός πακέτου που απαιτείται για την μεταγωγή ενός κελιού εσωτερικά στον μεταγωγέα. Cell loss probability = η πιθανότητα ένα κελί που λήφθηκε σε μιά είσοδο του μεταγωγέα να χαθεί στο εσωτερικό του λόγω υπερχείλισης των βοηθητικών μνημών ή εσωτερικών συγκρούσεων. 2.3 Cell Switch fabric To cell switch fabric είναι αρχικά υπεύθυνο για τη μεταφορά κελιών ανάμεσα σε άλλα λειτουργικά blocks (δρομολόγηση κελιών με πληροφορία όπως και κελιών σηματοδότησης και διαχείρισης). Άλλες πιθανές λειτουργίες είναι: προσωρινή αποθήκευση κελιών (cell buffering) κυκλοφοριακή συγκέντρωση και πολύπλεξη πλεονασμός για την ανοχή σφαλμάτων multicasting ή broadcasting σχεδιασμός κελιού βασισμένο σε προτεραιότητες καθυστερήσεων έλεγχος συμφόρησης και ενεργοποίηση κατάλληλης ένδειξης για τη συμφόρηση (Explicit Forward Congestion Indication, EFCI) Οι αρχιτεκτονικές των switch fabrics µπορούν γενικά να χωριστούν σε τέσσερις κατηγορίες με την κάθε μία να έχει τα πλεονεκτήµατα και τα µειονεκτήµατά της: κοινόχρηστης µνήµης (shared memory), κοινού µέσου (shared medium) πλήρους διασύνδεσης (fully interconnected) και διαίρεσης χώρου (space division). - 19 -
2.3.1 Switch fabrics κοινόχρηστης µνήµης Το Σχήμα 12 παρουσιάζει τη γενική αρχιτεκτονική ενός switch fabric διαµοιραζόµενης µνήµης (shared memory). Τα εισερχόµενα κελιά µετατρέπονται από σειριακή σε παράλληλη µορφή (Serial to Parallel) και γράφονται διαδοχικά σε µια µνήµη τυχαίας προσπέλασης (random access memory) µε δύο θύρες. Οι κεφαλίδες των κελιών παραδίδονται σε έναν ελεγκτή της µνήµης (memory controller), ο οποίος διατηρεί εγγραφές των θέσεων μνήμης των κελιών που σχετίζονται με κάθε θύρα εξόδου. Ο ελεγκτής μνήμης κρατά σε διασυνδεδεμένες λίστες τις θέσεις μνήμης των εξερχόμενων κελιών σχηματίζοντας, κατά αυτόν τον τρόπο, εικονικές ουρές εξόδου. Τα εξερχόµενα κελιά αποπολυπλέκονται και προωθούνται προς την κατάλληλη θύρα εξόδου του switch fabric, όπου µετατρέπονται από παράλληλη σε σειριακή µορφή (Parallel to Serial). Σχήμα 12. Αρχιτεκτονική διαµοιραζόµενης µνήµης. Η αρχιτεκτονική αυτή έχει το πλεονέκτημα ότι μπορεί να επιτύχει κανονικοποιημένο throughput ίσο με 1, ενώ είναι απλή και διαμοιράζεται αποδοτικά η μνήμη. Ο διαμοιρασμός των buffers ελαχιστοποιεί την ποσότητά τους που χρειάζεται για να επιτευχθεί ένας συγκεκριμένος ρυθμός απώλειας κελιών. Αυτό συμβαίνει σε περίπτωση που υπάρχει αυξημένη ζήτηση μιας συγκεκριμένης θύρας εξόδου (λόγω μεγάλης κυκλοφορίας), η κοινόχρηστη μνήμη απορροφά όσο περισσότερη μπορεί απ αυτή την κυκλοφορία Ωστόσο υπάρχουν και κάποια μειονεκτήματα. Η κοινόχρηστη μνήμη πρέπει να να λειτουργεί Ν φορές γρηγορότερα από την ταχύτητα των θυρών επειδή τα κελιά πρέπει να διαβάζονται και να γράφονται ένα κάθε φορά. Έτσι η κοινόχρηστη μνήμη μπορεί να γράφει N κελιά και επίσης να διαβάζει N κελιά μέσα σε ένα cell time. Καθώς ο χρόνος - 20 -
πρόσβασης στη μνήμη έχει φυσικούς περιορισμούς, υπάρχει πρόβλημα κλιμάκωσης για μεταγωγείς με πολλές θύρες (το μέγεθος του switch fabric περιορίζεται από τον χρόνο προσπέλασης της μνήμης). Το προϊόν του αριθμού των θυρών επί της ταχύτητάς τους (NV) είναι περιορισμένο. Επιπλέον, ο ελεγκτής κεντροποιημένης μνήμης πρέπει να επεξεργαστεί τις κεφαλίδες των κελιών και τις ετικέτες δρομολόγησης στον ίδιο ρυθμό με τη μνήμη. Αυτό είναι δύσκολο για τις πολλαπλές κατηγορίες προτεραιότητας, περίπλοκη δρομολόγηση κελιών, multicasting και broadcasting. 2.3.2 Switch fabrics κοινού µέσου Εκτός από την κοινόχρηστη μνήμη, τα κελιά μπορούν να δρομολογηθούν μέσω ενός κοινού μέσου (shared medium), όπως είναι ο δακτύλιος (ring), δίαυλος (bus) ή dual bus. Η πολυπλεξία σε διαύλους µε διαίρεση χρόνου (time division multiplexing, TDM) είναι ένα δημοφιλές παράδειγμα αυτής της προσέγγισης. Το Σχήμα 13 δείχνει αυτή την αρχιτεκτονική. Τα εισερχόµενα κελιά µεταδίδονται πάνω στο TDM δίαυλο (µε broadcast) µε έναν «κυκλικό» τρόπο (round-robin). Σε κάθε έξοδο τα κατάλληλα φίλτρα (address filter, AF) επιτρέπουν τη διέλευση των κατάλληλων κελιών, σύμφωνα με το routing tag (εσωτερική ετικέτα που έχει το κελί). Η ταχύτητα του διαύλου πρέπει να είναι τουλάχιστον Ν*V για cells/sec για ελαχιστοποιηθεί η ουρά στην είσοδο. Υπάρχουν µνήµες προσωρινής αποθήκευσης (buffers) στις θύρες εξόδου, καθώς υπάρχει το ενδεχόµενο µέσα σε ένα cell time περισσότερες της µίας θύρες εισόδου να στείλουν κελιά µε προορισµό την ίδια θύρα εξόδου. Σχήμα 13. Αρχιτεκτονική κοινού μέσου. Οι έξοδοι είναι modular μορφής, η οποία επιτρέπει τα address filters και τους buffers εξόδου να υλοποιηθούν εύκολα. Πρέπει να αναφέρθεί το γεγονός ότι προσφέρει βέλτιστο throughput με σχετικά εύκολη υλοποίηση. Επίσης η μορφή μετάδοσης και συλλογής (broadcast-and-select) της προσέγγισης αυτής επιτρέπει απλό multicasting και broadcasting. Η Σύγχρονη Μεταγωγή Σύνθετων Πακέτων (Synchronous Composite Packet Switching, SCPS), η οποία χρησιμοποιεί πολλαπλούς δακτυλίους, αποτελεί ένα παραδειγμα τέτοιας υλοποίησης. - 21 -
Παρ όλα αυτά, επειδή τα address filters και οι buffers εξόδου πρέπει να λειτουργούν με την ταχύτητα του κοινού μέσου, η οποία είναι N φορές γρηγορότερη από την ταχύτητα της θύρας, δημιουργούνται φυσικοί περιορισμοί στην κλιμάκωση. Το κοινό μέσο (bus) καθώς και τα φίλτρα διευθύνσεων θα πρέπει να λειτουργούν µε ρυθμό Ν*V cells/sec, ενώ η ταχύτητα λειτουργίας των μνημών πρέπει να είναι (Ν+1)*V ΜHz. Επίσης, αντίθετα με την προσέγγιση της διαµοιραζόµενης µνήµης, οι buffers εξόδου δεν είναι κοινοί και απαιτείται μεγαλύτερη ποσότητα απ αυτούς για τον ίδιο ρυθμό απώλειας κελιών. 2.3.3 Switch fabrics πλήρους διασύνδεσης Σ αυτή την αρχιτεκτονική, υπάρχουν ανεξάρτητα μονοπάτια μεταξύ όλων των πιθανών ζευγαριών (Ν 2 ) εισόδων και εξόδων. Έτσι, φτάνοντας τα κελιά μεταφέρονται σε διαφορετικούς διαύλους προς όλες τις εξόδους και τα φίλτρα διευθυνσιοδότησης (address filters) επιτρέπουν τη διέλευση των κατάλληλων κελιών στις ουρές εξόδου. Η αρχιτεκτονική φαίνεται στο Σχήμα 14. Σχήμα 14. Αρχιτεκτονική πλήρους διασύνδεσης (προσαρμοσμένη από τους Chen και Liu). Αυτός ο σχεδιασμός έχει αρκετά πλεονεκτήματα. Όπως και προηγουμένως, όλες οι ουρές εμφανίζονται στις εξόδους. Επιπλέον, τα multicasting και broadcasting είναι φυσικά, όπως στην αρχιτεκτονική του κοινού μέσου. Τα address filters και οι buffers εξόδου είναι εύκολοι στην υλοποίηση και λειτουργούν με την ταχύτητα των θυρών. Καθώς όλο το υλικό λειτουργεί στην ίδια ταχύτητα, μπορεί να γίνει εύκολα κλιμάκωση σε μέγεθος και ταχύτητα. Δυστυχώς, η τετραγωνική αύξηση των buffers περιορίζει τον αριθμό των θυρών εξόδου για πρακτικούς λόγους. Η ταχύτητα θυρών παρ όλα αυτά δεν περιορίζεται από τους φυσικούς περιορισμούς στην ταχύτητα των address filters και buffers εξόδου. - 22 -
Ο μεταγωγέας Knockout από τους AT&T ήταν ένα πρωτότυπο όπου η ποσότητα των buffers είχε μειωθεί με κόστος τη μεγαλύτερη απώλεια κελιών. Αντί για N buffers σε κάθε έξοδο, προτάθηκε η χρήση ενός συγκεκριμένου σταθερού αριθμού από buffers L ώστε συνολικά να υπάρχουν NxL buffers. Αυτή η τεχνική βασίστηκε στην παρατήρηση ότι είναι απίθανο περισσότερα από L κελιά να φθάσουν για οποιαδήποτε έξοδο την ίδια στιγμή. Υποστηρίχτηκε ότι η επιλογή της L τιμής ίση με 8 ήταν ικανοποιητική για την επίτευξη ενός ρυθμού απώλειας κελιών 1/1 εκατομμυρίων κάτω από ομοιόμορφες τυχαίες συνθήκες κυκλοφορίας για μεγάλες τιμές του N. 2.3.4 Switch fabrics διαίρεσης χώρου Τα Switch fabrics διαίρεσης χώρου κατηγοριοποιούνται σε δίκτυα διασύνδεσης πολλαπλών σταδίων (multistage interconnection networks, MIN s) και σε fabrics τύπου crossbar. Στους μεταγωγείς διαίρεσης χώρου πολλαπλά μονοπάτια δημιουργούνται μεταξύ των εισόδων και των εξόδων, κάθε ένα από τα οποία λειτουργεί με τον ίδιο ρυθμό δεδομένων με αυτόν των γραμμών εισόδου και εξόδου. Τα δίκτυα διασύνδεσης πολλαπλών σταδίων αποτελούνται από ένα πλήθος στοιχείων μεταγωγής (switching elements, SE), τα οποία διατάσσονται σε στάδια και τα κελιά για να φθάσουν από µια είσοδο σε µια έξοδο, περνούν από ένα SE κάθε σταδίου. Στο Σχήμα 15 φαίνεται ένα δίκτυο Banyan, που είναι το πιο συνηθισµένο είδος MIN. Το βασικό συστατικό τους στοιχείο είναι ένα 2 2 SE, το οποίο δροµολογεί το κάθε εισερχόµενο κελί σε µια από τις δύο εξόδους του µε βάση ένα δυαδικό ψηφίο ελέγχου. Αν το δυαδικό ψηφίο ελέγχου είναι 0, το κελί µετάγεται στην πάνω θύρα εξόδου, ενώ αν είναι 1, µετάγεται στην κάτω θύρα εξόδου, ανεξαρτήτως της θύρας εισόδου από την οποία ήρθε στο SE. Χρησιµοποιώντας ως ψηφίο ελέγχου σε κάθε στάδιο το αντίστοιχο bit της διεύθυνσης της θύρας προορισµού (σε δυαδική µορφή), τα κελιά µετάγονται προς την θύρα εξόδου που έχουν ως προορισµό. Σχήμα 15. Banyan δίκτυο 8 8. - 23 -
Μπορεί κάποιος να παρατηρήσει ότι ένα Ν Ν Banyan δίκτυο αποτελείται από ν = Log 2 N στάδια, ενώ το κάθε στάδιο έχει Ν/2 switching elements. Επειδή μόνο η διεύθυνση προορισµού αρκεί για να καθορίσει το µονοπάτι που πρέπει να ακολουθήσει το κελί, το σύστηµα λέγεται ότι έχει την ιδιότητα της αυτο-δροµολόγησης (selfrouting). Το µειονέκτηµα που έχουν τα Banyan δίκτυα είναι ότι, δεδοµένου ότι δεν έχουν N 2 σηµεία διασταύρωσης και Ν 2 ανεξάρτητες διαδροµές, οι διαδροµές δύο κελιών που έχουν διαφορετικούς προορισµούς µπορεί να συγκρουστούν σε οποιοδήποτε στάδιο πριν το τελευταίο. Αυτό το γνώρισμα λέγεται «internal blocking» και οδηγεί στη μέιωση της απόδοσης του συστήµατος. Για να αποφευχθεί το προηγούμενο πρόβλημα χρησιμοποιούνται οι μεταγωγείς με crossbar fabric. Το Σχήμα 16 δείχνει ένα παράδειγμα crossbar μεταγωγέα. Ο μεταγωγέας αυτός αποτελείται από έναν NxN πίνακα από σημεία διασταύρωσης (crosspoints), ένα για κάθε ζεύγος εισόδου-εξόδου. Για να επιτευχθεί η διαδρομή του κατάλληλου μονοπατιού, κλείνουν οι κατάλληλες συνδέσεις στα cross-points που απαιτούνται. Σχήμα 16. Crossbar fabric Πλεονεκτήµατα της αρχιτεκτονικής αυτής είναι η ευκολία υλοποίησης και το γεγονός ότι δεν απαιτείται επιτάχυνση στον ρυθμό λειτουργίας του υλικού. Το σημαντικό μειονέκτημα όμως που παρουσιάζει είναι ότι μπλοκάρει τις εξόδους (output blocking), αφού στην περίπτωση που πακέτα από διαφορετικές εισόδους κατευθύνονται προς την ίδια έξοδο, μόνο ένα από αυτά φτάνει στην έξοδο ενώ τα υπόλοιπα είτε χάνονται είτε αποθηκεύονται προσωρινά σε buffers. Συνεπώς απαιτείται ένας μηχανισμός επίλυσης - 24 -
των συγκρούσεων ή αλλιώς ένας χρονοπρογραμματιστής, ούτως ώστε να διασφαλίζεται ότι κάθε φορά ένα κελί παραδίδεται σε κάθε έξοδο. Η τοπολογία των βοηθητικών μνημών (buffers) αποτελεί βασικό σχεδιαστικό θέμα σε έναν μεταγωγέα και είναι δυνατό χρησιμοποιώντας κατάλληλες τεχνικές να ξεπεραστούν τα όποια μειονεκτήματα του crossbar fabric. 2.4 Αρχές Σχεδιασμού Μεταγωγέα για Προσωρινή Αποθήκευση Στην επόμενη ενότητα περιγράφονται τρεις τεχνικές τοποθέτησης των μνημών στο μεταγωγέα, όπου η καθεμιά επηρεάζει αντίστοιχα την απόδοσή του. Αυτές είναι: τοποθέτηση μνημών στις εισόδους (input queuing), τοποθέτηση μνημών στις εξόδους (output queuing), τοποθέτηση πολλαπλών μνημών στις εισόδους (advanced input queuing). 2.4.1 Output queuing Ο τύπος του output queuing γίνεται εμφανής εξετάζοντας τους buffers στις θύρες εξόδου ενός switch fabric κοινού μέσου (Σχήμα 17). Στην τεχνική αυτή κάθε έξοδος διατηρεί μια ουρά FIFO (first in first out) με τα κελιά που ζητούν μετάδοση από την συγκεκριμένη έξοδο. Ο χρονοπρογραμματιστής είναι υπεύθυνος για την ενσωμάτωση των εισερχομένων κελιών σε κάθε ουρά. Σχήμα 17. Output queuing. Η τεχνική αυτή προσφέρει την καλύτερη απόδοση ως προς το throughput (100%) και ως προς την μέση καθυστέρηση των κελιών, αλλά απαιτεί switch fabric Ν φορές γρηγορότερο και μνήμες με μεγάλη ταχύτητα λειτουργίας. Χρειάζονται κάποια μέσα για να διανεμηθούν πολλάπλά κελιά ανά cell time σε κάθε έξοδο. Έτσι, είτε οι buffers εξόδου πρέπει να λειτουργούν κατά ένα παράγοντα πολλαπλάσιο της ταχύτητας των θυρών ή θα πρέπει να υπάρχουν πολλαπλοί buffers σε κάθε έξοδο. Σε κάθε περίπτωση, το throughput και το scalability είναι περιορισμένα, είτε από τον παράγοντα επιτάχυνσης είτε από τον αριθμό των buffers. - 25 -
2.4.2 Input queuing Οι buffers (μνήμες προσωρινής απηθήκευσης) στην είσοδο ενός switch fabric διαίρεσης χώρου χωρίς εσωτερικά μπλοκαρίσματα (όπως ένα banyan δίκτυο) απεικονίζουν την τεχνική του input queuing (Σχήματα 18a, 18b). Στην τεχνική αυτή κάθε είσοδος διατηρεί μια ουρά FIFO, η οποία αποθηκεύει τα εισερχόμενα κελιά, και ο χρονοπρογραμματιστής αποφασίζει ποια ουρά εισόδου θα εξυπηρετηθεί, όταν περισσότερα του ενός cells κατευθύνονται προς την ίδια έξοδο. Σχήμα 18a. Input queuing. Σχήμα 18b. Input queuing. - 26 -
Σχήμα 19. Αποτέλεσμα φαινομένου HOL. Δυστυχώς, η τεχνική αυτή υποφέρει από το φαινόμενο μπλοκαρίσματος της κεφαλής της ουράς (Head of Line blocking, HOL). Όταν δύο κελιά φτάνουν την ίδια στιγμή και προορίζονται για την ίδια έξοδο, ένα από αυτά πρέπει να περιμένει στον buffer εισόδου, εμποδίζοντας τα κελιά που βρίσκονται μετά από αυτό να συνεχίσουν την πορεία τους. Έτσι, σπαταλιέται χωρητικότητα. Επίσης, το φαινόμενο HOL έχει ως συνέπεια τον περιορισμό του εξερχόμενου throughput σε λιγότερο από 60%, υπό συνθήκες ομοιόμορφης κίνησης (Σχήμα 19). Πολλές μέθοδοι έχουν προταθεί για να αντιμετωπιστεί το πρόβλημα μπλοκαρίσματος head-of-the-line, αλλά έχουν σύνθετο σχεδιασμό. Δύο τέτοια παραδείγματα αποτελούν η η αύξηση του fabric διαίρεσης χώρου κατά ένα παράγοντα του τέσσερα, ή αλλάζοντας την First-In-First-Out (FIFO) σειρά. 2.4.3 Advanced Input queuing Μια εναλλακτική αρχιτεκτονική των δύο προηγούμενων είναι η advanced input queuing, η οποία επιτυγχάνει υψηλό throughput συγκριτικά με το output queuing, σε κόστος ισοδύναμο της τεχνικής input queuing. Συνδυάζεται με crossbar switch fabric, το οποίο δεν παρουσιάζει εσωτερικά μπλοκαρίσματα. Όπως φαίνεται στο Σχήμα 20, η αρχιτεκτονική αυτή χρησιμοποιεί πολλαπλές ουρές ανά είσοδο, όπου η κάθε ουρά αντιστοιχεί σε μία έξοδο ώστε να αποφύγει το φαινόμενο HoL. Η αρχιτεκτονική αυτή μπορεί να επιτύχει υψηλή απόδοση με την χρήση κατάλληλων, συνήθως περίπλοκων, χρονοπρογραμματιστών (schedulers), χωρίς να απαιτείται εσωτερική επιτάχυνση στο switch fabric (Σχήμα 21). - 27 -
Scheduler Σχήμα 20. Advanced input queuing Delay Load 100% Σχήμα 21. Απόδοση της αρχιτεκτονικής Advanced input queuing. - 28 -
ΚΕΦΑΛΑΙΟ 3: ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 3.1 Χρονοπρογραμματισμός Βασική και απαραίτητη έννοια στο μεταγωγέα αποτελεί η έννοια του χρονοπρογραμματισμού (scheduling). Με τον όρο αυτό εννοούμε την διαδικασία επιλογής ενός πακέτου (που στην προκειμένη περίπτωση είναι ένα κελί) προς αποστολή, όταν περισσότερα του ενός απευθύνονται στην ίδια έξοδο του μεταγωγέα. Ο χρονοπρογραμματιστής κατά την διάρκεια T ενός cell time εξετάζει τα περιεχόμενα των N 2 ουρών εισόδου και αφού υπολογίσει ένα ταίριασμα Μ μεταξύ των εισόδων και των εξόδων του μεταγωγέα απαλλαγμένο από οποιαδήποτε σύγκρουση, καθορίζει το πώς θα σχηματιστεί το crossbar fabric. Βασικό χαρακτηριστικό των επιλεγμένων αιτήσεων στις ουρές εισόδου (requests) προς εξυπηρέτηση είναι ότι μόνο ένα request ανά είσοδο και ανά έξοδο μπορεί να εξυπηρετηθεί. Η περίοδος Τ ονομάζεται χρόνος απόφασης του χρονοπρογραμματιστή. Οι μεταγωγείς που θα χρησιμοποιηθούν στη συνέχεια βασίζονται στην αρχιτεκτονική advanced input queuing σε συνδυασμό με crossbar fabric.(σχήμα 22). Οι buffered crossbar μεταγωγείς (μεταγωγείς διασταυρούμενων ράβδων με έναν ενταμιευτή σε κάθε διασταύρωση) έχουν αναδειχθεί ως μια προνομιούχος αρχιτεκτονική, κυρίως λόγω του εύκολου χρονοπρογραμματισμού τους και της δυνατότητάς τους να λειτουργήσουν απευθείας με πακέτα μεταβλητού μεγέθους (ασύγχρονη λειτουργία). Για να λειτουργήσουν με πακέτα μεταβλητού μεγέθους, σε κάθε διασταύρωση ράβδων απαιτείται ένας ενταμιευτής ικανός να αποθηκεύσει τουλάχιστον ένα μέγιστο εξωτερικό πακέτο. Τεχνολογικοί περιορισμοί όμως δύνανται να καταστήσουν αυτήν την απαίτηση προβληματική, ιδίως όταν το μέγιστο εξωτερικό πακέτο είναι πολύ μεγάλο. Θεωρούμε επίσης ότι ο μεταγωγέας λειτουργεί με σύγχρονο τρόπο, χρησιμοποιώντας ένα κεντρικό σήμα ρολογιού περιόδου Τ. Σχήμα 22. Αdvanced input queuing αρχιτεκτονική. Κάθε αλγόριθμος χρονοπρογραμματισμού (scheduling algorithm) για συστήματα υψηλής απόδοσης πρέπει να εξασφαλίζει: - 29 -
Αποδοτικότητα (efficiency), να ικανοποιεί δηλαδή το σκοπό του όσο το δυνατόν καλύτερα. Υψηλό throughput, δηλαδή ο χρονοπρογραμματιστής χρειάζεται να αντέχει προσφερόμενο φορτίο έως και 100% σε κάθε είσοδο και έξοδο. Δικαιοσύνη (fairness) στην εξυπηρέτηση των ουρών (starvation free), δηλαδή o αλγόριθμος δεν θα πρέπει να αφήνει μια ουρά που έχει πακέτο προς αποστολή, χωρίς εξυπηρέτηση για αόριστο χρονικό διάστημα. Ελάχιστο χρόνο απόκρισης (απόφασης), δ ηλαδή θα πρέπει ο χρονοπρογραμματιστής να λειτουργεί όσο το δυνατό με μεγαλύτερη ταχύτητα, έτσι ώστε να μην καθίσταται το στοιχείο συμφόρησης στο μεταγωγέα. Απλότητα στην υλοποίηση και επεκτασιμότητα (scalability). 3.2 Είδη χρονοπρογραμματιστών Υπάρχουν δύο βασικές κατηγορίες αλγορίθμων χρονοπρογραμματισμού για τους advanced input queuin g μεταγωγείς. Ανάλογα με τον τρόπο που λαμβάνονται οι αποφάσεις για την επιλογή των αιτήσεων προς εξυπηρέτηση, οι χρονοπρογραμματιστές διακρίνονται στους κεντρικοποιημένους και τους κατανεμημένους. Οι κεντρικοποιημένοι (centralized) χρονοπρογραμματιστές διατηρούν όλες τις πληροφορίες ελέγχου σε ένα κεντρικοποιημένο κύκλωμα και λαμβάνουν αποφάσεις με βάση όλες τις διαθέσιμες από το σύστημα πληροφορίες. Χαρακτηριστικό κεντρικοποιημένο αλγόριθμο χρονοπρογραμματισμού αποτελεί ο 2-dimensional round robin (2DRR). Οι κατανεμημένοι (distributed) χρονοπρογραμματιστές δεν αποθηκεύουν τις πληροφορίες ελέγχου κεντρικά όπως οι προηγούμενοι, αλλά παίρνουν αποφάσεις χρησιμοποιώντας ένα πρωτόκολλο που ανταλλάσει πληροφορίες μεταξύ εισόδων και εξόδων παράλληλα. Το πρωτόκολλο αυτό λέγεται πρωτόκολλο χειραψίας και έχει τρία βασικά βήματα: οι είσοδοι στέλνουν αιτήσεις (requests) στις εξόδους, οι έξοδοι επιλέγουν ένα request για να στείλουν σήμα παραχώρησης (grant) και οι είσοδοι επιλέγουν ένα grant από αυτά που λαμβάνουν και στέλνουν σήμα αποδοχής (accept). Χαρακτηριστικοί κατανεμημένοι αλγόριθμοι είναι οι PIM, islip, FIRM και Μutual Priority. Υπάρχει και η κατηγορία των αλγορίθμων ranking που αποτελούν συνδυασμό των παραπάνω. 3.2.1 Αλγόριθμος χρονοπρογραμματισμού 2DRR O 2DRR είναι ένας κλασικός κεντρικοποιημένος αλγόριθμος χρονοπρογραμματισμού, ο οποίος δέχεται ως είσοδο έναν NxN πίνακα Request, που αντιπροσωπεύει τις αιτήσεις από τις ουρές εισόδου, και εξάγει τον ΝxN πίνακα Allocation, ο οποίος υποδηλώνει τις επιλεγμένες, προς εξυπηρέτηση, ουρές εισόδου. Ο 2DRR αλγόριθμος βασίζεται στην ιδέα της γενικευμένης διαγωνίου, η οποία είναι ένα - 30 -