Το πρόβλημα
Δρομολόγηση πακέτωνσε d-dimensional torus και 2-
dimensional mesh.
•Batch δρομολόγηση
•Δρομολόγηση μεταθέσεων(permutation)
Ζητούμενο
Να επιτευχθούν βέλτιστα φράγματα για τη μέση και τη
χειρότερη περίπτωση εφαρμογής των αλγορίθμων στα
παραπάνω δίκτυα.
4.
Αποτελέσματα
• Αλγόριθμος δρομολόγησηςσε d-dimensional nd
κόμβων torus
σε (dn)/2 + O(log^2n) βήματα.
• Αλγόριθμος που δρομολογεί σε dn + O(log^2n) βήματα
οποιαδήποτε μετάθεση σε d-dimensional nd
κόμβων torus με
υψηλή πιθανότητα.
• Αλγόριθμος που δρομολογεί σε 2n + O(log^2n) βήματα
σχεδόν όλα τα batch προβλήματα σε δισδιάστατο πλέγμα.
• Αλγόριθμος που δρομολογεί κάθε μετάθεση σε 4n + O(log^2n)
βήματα σε δισδιάστατο πλέγμα, με υψηλή πιθανότητα.
5.
Ιούνιος 2013 ΠαράλληλοιΑλγόριθμοι 5
Σημασία του προβλήματος
• Οι αλγόριθμοι που εξετάζουμε θεωρητικά είναι λιγότερο
πολύπλοκοι σε σχέση με άλλους αλγορίθμους που
χρησιμοποιούν παρόμοιες τεχνικές.
• Η πρακτική τους εφαρμογή είναι σε connection machine,
HEP multiprocessor και σε υψηλής ταχύτητας δίκτυα
επικοινωνιών.
6.
Ιούνιος 2013 ΠαράλληλοιΑλγόριθμοι 6
Μοντέλο
• Το μοντέλο που έχει χρησιμοποιηθεί είναι ένας
κατευθυνόμενος γράφος, ισχυρά συνεκτικός, όπου οι
κόμβοι είναι επεξεργαστές και οι μη κατευθυνόμενες
ακμές είναι σύνδεσμοι επικοινωνίας μεταξύ τους.
• Η δρομολόγηση πραγματοποιείται σε διακριτά
ταυτόχρονα χρονικά βήματα.
• Σε κάθε βήμα ο επεξεργαστής δέχεται μηδέν ή ένα
πακέτο από κάθε εισερχόμενη ακμή και πρέπει να στείλει
όλα τα πακέτα που έλαβε, με κάθε εξερχόμενη ακμή να
έχει το πολύ ένα πακέτο.
7.
Εισαγωγικοί Όροι-Ορισμοί
•Hot-potato:σε κάθεβήμα όλοι οι κόμβοι μετακινούν τα πακέτα
που δέχτηκαν στο προηγούμενο βήμα.
•One-pass:κάθε κόμβος σκανάρει μια φορά τις εισερχόμενες
ακμές με συγκεκριμένη σειρά και παίρνει απόφαση για την
αποστολή του πακέτου προτού λάβει υπόψη την επόμενη ακμή.
•Livelock: ένα ζευγάρι πακέτων που εκτοπίζεται αμοιβαία το ένα
με το άλλο και μπαίνουν σε κάποιο άπειρο loop.
8.
Προηγούμενα αποτελέσματα
•U.Feige andP.Raghavan. Exact analysis of hot-potato. In
Symposium on the Foundations of Computer Science,
IEEE,1992.
•I.Newman and A.Schuster. Hot-potato algorithms for
permutation routing. Technical Report CS-LPCR 9201,
Technion 1992.
9.
Σχετικά Αποτελέσματα
•Pure GreedyHot-potato Routing In The 2-D Mesh With
Random Destinations -> Paul Spirakis, Vassilis Triantafillou
•Greedy Dynamic Hot-Potato Routing on Arrays ->
I.Caragiannhs, C.Kaklamanis and I.Vergados (30.6.2000)
•Experimental Evaluation of Hot-Potato Routing Algorithms on
2-Dimensional Processor Arrays -> C.Batzis, I.Caragiannis,
C.Kaklamanhs and I.Vergados (26.5.2000)
•Greedy hot-potato rounting in the 2-D mesh with random
destinations ->Paul Spirakis, Vassilis Triantafillou
•Multipacket Hot-Potato Routing On Processor Arrays ->
C.Kaklamanis, Danny Krizanc
10.
Ιούνιος 2013 ΠαράλληλοιΑλγόριθμοι 10
Αλγόριθμος (1)
• Ο πρώτος αλγόριθμος που θα παρουσιάσουμε
δρομολογεί σχεδόν όλα τα batch προβλήματα στο 2-
dimensional torus και απαιτεί n + O(log^2n) βήματα.
• Είναι ένας hot-potato αλγόριθμος.
• Είναι livelock-free για όλες τις εισόδους.
• Εφαρμόζει την one-pass αρχή.
11.
Ανάλυση του αλγορίθμου
Αρχικάδιασπούμε το torus:
• Πρώτα σε strips μεγέθους n/clogn
• Τα strips τα υποδιαιρούμε σε blocks μήκους clogn x
clogn.
Αφού ολοκληρωθεί η διάσπαση εφαρμόζουμε τον
αλγόριθμο.
13.
Ιούνιος 2013 ΠαράλληλοιΑλγόριθμοι 13
Ανάλυση του αλγορίθμου
1η
φάση: Ένα πακέτο ξεκινά από το κάποιο κόμβο του
torus και θα δρομολογηθεί ακολουθώντας το κοντινότερο
μονοπάτι στη γραμμή που είναι η λωρίδα προορισμού
του.
2η
φάση: Το πακέτο βρίσκει τη κατάλληλη κολώνα της
λωρίδας στην οποία βρίσκεται το block προορισμού του.
3η
φάση: Αφού βρει το block προορισμού εισέρχεται σ’αυτό
και δρομολογείται τοπικά μέχρι να φτάσει στο κόμβο
προορισμού του.
14.
Ανάλυση του αλγορίθμου
•Στη 3η
φάση κατασκευάζουμε έναν κατευθυνόμενο κύκλο,
ο οποίος περνάει από κάθε κόμβο του block, και άρα έχει την
μορφή snake .
•Από την στιγμή που μπαίνει στο snake, το πακέτο θα
φτάσει σίγουρα στον προορισμό του .
•Κατά τη διάρκεια δρομολόγησης των πακέτων μπορεί να
συμβούν συγκρούσεις με άλλα πακέτα και γι’αυτό δίνουμε
κάποιες προτεραιότητες στα πακέτα.
15.
Ιούνιος 2013 ΠαράλληλοιΑλγόριθμοι 15
Αλγόριθμος (2)
• Ο επόμενος αλγόριθμος που θα παρουσιάσουμε είναι
μια επέκταση του προηγούμενου αλγορίθμου.
• Ο αλγόριθμος αυτός δρομολογεί σχεδόν όλα τα batch
προβλήματα σε d-dimensional torus και είναι βέλτιστος
για τη μέση περίπτωση.
• Για την ολοκλήρωση της δρομολόγησης απαιτούνται
(dn)/2 + O(log^2n) βήματα.
16.
Ιούνιος 2013 ΠαράλληλοιΑλγόριθμοι 16
Ανάλυση του αλγορίθμου
1ο
βήμα: Το πακέτο ξεκινά από τον αρχικό κόμβο και
αναζητά το block προορισμού του.
2ο
βήμα: Αφού το εντοπίσει αλλάζει διάσταση
χρησιμοποιώντας «snakes» για κάθε μετάβαση.
3ο
βήμα: Ακολουθεί τις τρεις φάσεις του αρχικού
αλγορίθμου.
17.
Ανάλυση του αλγορίθμου
•Κατάτη διάρκεια δρομολόγησης των πακέτων μπορεί να
συμβούν συγκρούσεις με άλλα πακέτα.
• Για να αντιμετωπίσουμε το πρόβλημα αυτό δίνουμε
προτεραιότητες στα πακέτα ανάλογα με τη φάση στην οποία
βρίσκονται και με το αν έχουν ήδη μπει στη φορά κάποιου
«snake».
18.
ΘΕΩΡΗΜΑΤΑ
•Υπάρχει ένας hot-potatoαλγόριθμος που δρομολογεί σχεδόν
κάθε batch πρόβλημα σε d-dimensional torus σε
dn/2+O(log^2n) βήματα.
•Υπάρχει ένας hot-potato αλγόριθμος που δρομολογεί σχεδόν
κάθε batch πρόβλημα σε 2-dimensional mesh σε
2n+O(log^2n) βήματα.
•Υπάρχει ένας hot-potato αλγόριθμος που δρομολογεί κάθε
μετάθεση σε d-dimensional torus σε dn+O(log^2n) βήματα με
υψηλή πιθανότητα.
19.
Ιούνιος 2013 ΠαράλληλοιΑλγόριθμοι 19
Αλγόριθμος (3)
Ο αλγόριθμος που θα παρουσιάσουμε είναι ένας hot-
potato αλγόριθμος ο οποίος δρομολογεί σχεδόν όλα τα
προβλήματα μεταθέσεων στο 2-dimensional mesh.
Απαιτεί 4n + O(log^2n) βήματα για την ολοκλήρωση της
δρομολόγησης.
Αρχικά διασπούμε το πλέγμα:
• Πρώτα σε strips βάθους clogn.
• Τα strips τα υποδιαιρούμε σε blocks μήκους clogn x
clogn.
Αφού ολοκληρωθεί η διάσπαση εφαρμόζουμε τον
αλγόριθμο.
21.
Ιούνιος 2013 ΠαράλληλοιΑλγόριθμοι 21
Ανάλυση του αλγορίθμου
1ο
βήμα: Κάθε πακέτο επιλέγει μια τυχαία καθυστέρηση d
από το εύρος [0,2n] και περιμένει 2n-x+d βήματα μέχρι
να ξεκινήσει.
2ο
βήμα: Αναζητά τη λωρίδα που περιέχει το block
προορισμού του και στρίβει σ’αυτή.
3ο
βήμα: Αφού μπει στη λωρίδα προσπαθεί να στρίψει
προς τη κατεύθυνση του block του.
22.
Ιούνιος 2013 ΠαράλληλοιΑλγόριθμοι 22
Ανάλυση του αλγορίθμου
4ο
βήμα: Αφού βρει το block του προσπαθεί να μπει στη
φορά του «snake»
5ο
βήμα: Όταν μπει στο τοπικό «snake» βρίσκει τη σειρά
προορισμού του και κατευθύνεται προς το κόμβο-στόχο.
23.
Ανάλυση του αλγορίθμου
Εάνένα πακέτο συγκρουστεί με ένα άλλο , και δεν
καταφέρει να εκτελέσει κάποιο από τα βήματα του
αλγορίθμου, τότε σε αντίθεση με το torus που πήγαινε μόνο
προς μία κατεύθυνση, το πακέτο θα αλλάξει κατεύθυνση
όταν φτάσει στο τέλος της σειράς , ή της στήλης ανάλογα με
το βήμα στο οποίο βρίσκεται.
24.
Αλγόριθμος (4)
•Παρουσιάζουμε ένανεναλλακτικό αλγόριθμο ο οποίος
δρομολογεί όλα τα batch προβλήματα σε 2-dimensional torus.
•Απαιτεί για την ολοκλήρωσή του n+O(logn) βήματα.
•Δεν χρησιμοποιεί την one-pass αρχή όπως οι αλγόριθμοι που
αναφέραμε.
25.
Ανάλυση του αλγορίθμου
1ο
βήμα:το πακέτο ξεκινά από το κόμβο αφετηρία και
ακολουθεί το συντομότερο μονοπάτι προς τη στήλη
προορισμού.
2ο
βήμα: όταν βρει τη στήλη του προσπαθεί να στρίψει και
να κατευθυνθεί προς το προορισμό του.
3ο
βήμα: το πακέτο αφού μπει στη στήλη φτάνει στο
κόμβο-προορισμό του.
26.
Ανάλυση του αλγορίθμου
•Στηπερίπτωση που το πακέτο καθώς «ταξιδεύει»
συγκρουστεί με άλλα πακέτα αποτυγχάνει να στρίψει στη
στήλη προορισμού του.
•Δίνουμε προτεραιότητες στα πακέτα ανάλογα με το
στάδιο στο οποίο βρίσκονται ή με βάση το id του πακέτου.
27.
Ιούνιος 2013 ΠαράλληλοιΑλγόριθμοι 27
Συμπεράσματα
• Οι παραπάνω αλγόριθμοι έδωσαν φράγματα αρκετά
καλύτερα για το 2-διαστατο torus , καθώς και τα
μοναδικά γνωστά απολέσματα ( μέχρι εκείνη την εποχή )
για d>2 .
• Επιπλέον δόθηκε μία λύση για το 2-διάστατο πλέγμα , αν
και όχι η καλύτερη γνωστή , έχει όμως περιθώρια
βελτίωσης .
28.
Ανοικτά προβλήματα
•Ο αλγόριθμοςπου παρουσιάστηκε και αφορούσε τη
δρομόλογηση σε πλέγμα μπορεί να χρησιμοποιηθεί για το
μοντέλο αποθήκευσης και προώθησης με παρόμοιο τρόπο.
•Ο εναλλακτικός αλγόριθμος δρομολόγησης σε 2-dimensional
torus μπορεί να χρησιμοποιηθεί και σε 2-dimensional πλέγμα
με παρόμοιο τρόπο.
29.
Σύγχρονες Χρήσεις
Του
Αλγορίθμου
•Χρησιμοποιείται σεοπτικά δίκτυα επειδή δεν απαιτεί
αποθήκευση δεδομένων κατά τη διάρκεια της
δρομολόγησης.
•Δε χρησιμοποιείται σε router λόγω της αυξημένης
πολυπλοκότητας των απαιτήσεων της σύγχρονης
εποχής.