1. Μελέτη και μοντελοποίηση της μεταφοράς δεδομένων σε δίκτυα επεξεργαστών Διπλωματική εργασία του Νίκου Μπιτσακίδη Επιβλέπων καθηγητής κ. Γεώργιος Συρακούλης
2. Μεταφορά δεδομένων σε δίκτυα επεξεργαστών (NoC) ΠΡΟΒΛΗΜΑ Μοντελοποίηση και εξαγωγή χρήσιμης πληροφορίας μέσα από το σωρό των φαινομενικά ασύνδετων δεδομένων που διακινούνται μέσα στο δίκτυο ΛΥΣΗ Εξόρυξη δεδομένων ( Data Mining): “ Εξόρυξη Δεδομένων (Data Mining) είναι η ανάλυση – συνήθως τεράστιων – παρατηρούμενων συνόλων δεδομένων, έτσι ώστε να βρεθούν μη παρατηρηθείσες σχέσεις και να συνοψιστούν τα δεδομένα με καινοφανείς τρόπους οι οποίοι να είναι κατανοητοί και χρήσιμοι στον κάτοχο των δεδομένων ” Βασικοί στόχοι της εξόρυξης δεδομένων είναι η Περιγραφή και η Πρόβλεψη.
3.
4. Κυψελιδωτά αυτόματα ( Cellular Ants) Τα Κυψελιδωτά Αυτόματα (Κ.Α.) [ Cellular Automata , ( C . A .)] αποτελούν μοντέλα φυσικών συστημάτων, στα οποία ο χώρος και ο χρόνος είναι διακριτοί και τα φυσικά μεγέθη μπορούν να λάβουν τιμές από ένα πεπερασμένο σύνολο τιμών. Η πρώτη στην ιστορία εμφάνιση των κυψελιδωτών αυτομάτων έγινε με το τρίγωνο του Pascal, την σύγχρονη εκδοχή τους όμως εισηγήθηκε ο von Neumann. Ο von Neumann προσπαθούσε να μιμηθεί τη συμπεριφορά του ανθρώπινου εγκεφάλου, προκειμένου να κατασκευάσει μία μηχανή ικανή να επιλύει εξαιρετικά πολύπλοκα προβλήματα. Ωστόσο, τα κίνητρά του ήταν περισσότερο φιλόδοξα από την απλή αύξηση της απόδοσης των υπολογιστών της εποχής του. Είχε υπόψη του μία μηχανή τέτοιας πολυπλοκότητας, ίδιας με αυτής του ανθρώπινου εγκεφάλου, που θα περιείχε μηχανισμούς ίδιου ελέγχου και ίδιας επισκευής.
5. Ένας κόσμος από κυψελίδες Ακολουθώντας τις προτάσεις του S . Ulam ο von Neumann επαναπροσδιόρισε τον παραπάνω προβληματισμό του στο πλαίσιο ενός πλήρως διακριτού κόσμου αποτελούμενου από κυψελίδες ( cells ). Κάθε κυψελίδα ( cell ) χαρακτηρίζεται από μία εσωτερική κατάσταση ( internal state ), που συμβολίζεται από ένα πεπερασμένο αριθμό δυαδικών ψηφίων ( bits ) πληροφορίας. Ο von Neumann πρότεινε αυτό το σύστημα των κυψελίδων να εξελίσσεται σε διακριτά χρονικά βήματα, όπως τα απλά αυτόματα που χρησιμοποιούν μόνον έναν απλό τρόπο για τον υπολογισμό της επομένης εσωτερικής τους κατάστασης. Ο κανόνας ( rule ) που προσδιορίζει την εξέλιξη του συγκεκριμένου συστήματος είναι ίδιος για όλες τις κυψελίδες και είναι συνάρτηση των καταστάσεων των γειτονικών κυψελίδων. Όπως συμβαίνει και σε κάθε βιολογικό σύστημα, η δραστηριότητα των κυψελίδων λαμβάνει χώρα ταυτόχρονα. Ωστόσο, το ίδιο ρολόι οδηγεί την εξέλιξη σε κάθε κυψελίδα και η ανανέωση της εσωτερικής κατάστασης της κάθε κυψελίδας γίνεται ταυτόχρονα. Αυτά τα πλήρως διακριτά δυναμικά συστήματα που εφευρέθηκαν από τον von Neumann αναφέρονται τώρα ως Κ.Α.
6. Δύο συνήθεις γειτονιές αλληλεπίδρασης ενός κυψελιδωτού αυτόματου Γειτονιά von Neumann Γειτονιά Moore
7. Παιχνίδι της ζωής Τα Κ.Α. αποτελούν μία πρώιμη προσπάθεια για την κατανόηση της αληθινής ζωής και της συμπεριφοράς των ζωντανών οργανισμών, με τη βοήθεια υπολογιστικών μοντέλων (τεχνητή ζωή), και μπορούν να συνεχίσουν να προσφέρουν στο συγκεκριμένο ερευνητικό αντικείμενο. Ένα πολύ γνωστό παράδειγμα εξομοίωσης τεχνητής ζωής είναι το παιχνίδι της ζωής που προτάθηκε από τον Conway.
9. Αποικίες Μυρμηγκιών ( Ant Colonies) Στις δεκαετίες του ’40 και ’50 του εικοστού αιώνα, ο Γάλλος εντομολόγος Pierre - Paul Grass é παρατήρησε ότι κάποια είδη τερμιτών αντιδρούσαν σ’ αυτό που ονόμαζε « σημαντικό ερέθισμα ». Παρατήρησε ότι τα αποτελέσματα αυτών των αντιδράσεων μπορούν να δράσουν σαν νέο «σημαντικό ερέθισμα» τόσο για το έντομο που τις παρήγαγε όσο και για τα άλλα έντομα της αποικίας. Ο Grass é χρησιμοποίησε τον όρο στιμεργία ( stimergy ) για να περιγράψει αυτόν τον συγκεκριμένο τρόπο επικοινωνίας στον οποίο «οι εργάτες ερεθίζονται από τις αποδόσεις που έχουν πετύχει».
10. Στιμεργία Τα δύο κύρια χαρακτηριστικά της στιμεργίας που την διαφοροποιούν από άλλους τρόπους επικοινωνίας είναι: Η στιμεργία είναι μια έμμεση, μη-συμβολική μορφή επικοινωνίας που διαμεσολαβείται από το περιβάλλον: τα έντομα ανταλλάσσουν πληροφορία τροποποιώντας το περιβάλλον τους. Η στιμεργική πληροφορία είναι τοπική: μπορεί να προσβάσιμη μόνο από τα αυτά τα έντομα που επισκέπτονται τον γεωμετρικό τόπο στον οποίο απελευθερώθηκε (ή στην στενή γειτονιά του). Σε πολλά είδη μυρμηγκιών, τα μυρμήγκια που περπατάν προς και από μια πηγή τροφής, αφήνουν στο έδαφος μια ουσία που λέγεται φερομόνη . Τα άλλα μυρμήγκια που αντιλαμβάνονται την παρουσία της φερομόνης τείνουν να ακολουθούν τα μονοπάτια στα οποία η συγκέντρωση φερομόνης είναι μεγαλύτερη. Μέσω αυτού του μηχανισμού, τα μυρμήγκια είναι σε θέση να μεταφέρουν τροφή στις φωλιές τους με έναν αξιοπρόσεκτα αποτελεσματικό τρόπο.
12. Τεχνητές προσομειώσεις αποικιών μυρμηγκιών Ομοιότητες των τεχνητών μυρμηγκιών με τα φυσικά : Αποικία , Φερομόνη , Απόφαση Επιπλέον χαρακτηριστικά : Μνήμη, Όραση, Διακριτοποίηση του χώρου και του χρόνου, Εναπόθεση φερομόνης σε διαφορετικές χρονικές στιγμές, Χρησιμοποίηση αλγορίθμων για την βελτίωση της απόδοσης του συστήματος Επίλυση TSP με βελτιστοποίηση αποικιών μυρμηγκιών
13. Αλγόριθμος Κυψελιδωτών Μυρμηγκιών (Cellular Ants) Ο αλγόριθμος “κυψελιδωτών μυρμηγκιών” ( Cellular Ants ) των Andrew Vand Moere και Justin James Clayden , συνδυάζει αρχές των κυψελιδωτών αυτομάτων με αλγορίθμους βελτιστοποίησης αποικίας μυρμηγκιών για να συσταδοποιήσει μέσα σ’ ένα δυσδιάστατο πλέγμα, παρόμοια αντικείμενα τα οποία περιέχουν πολυδιάστατα δεδομένα. Η προτεινόμενη μέθοδος αντιστοιχίζει τα αντικείμενα δεδομένων σε ξεχωριστά μυρμήγκια, τα οποία γυρνούν γύρω γύρω στο πλέγμα, εναποθέτουν φερομόνες και ακολουθούν τα μονοπάτια φερομόνης παρόμοιων μυρμηγκιών.
15. Κριτήριο ομοιότητας δύο κυψελιδωτών μυρμηγκιών Διακριτή Ανοχή Δεδομένων . Τα μυρμήγια παίρνουν υπόψη μόνο (και έτσι ‘μετρούν’) άλλα μυρμήγκια που είναι ‘παρόμοια’, κάτι που συμβαίνει όταν η απόσταση μεταξύ των τιμών δεδομένων τους στο διάστημα των παραμέτρων είναι μικρότερη από μια διακριτή, προκαθορισμένη τιμή κατωφλιού ανοχής ομοιότητας t . Η ομοιότητα δεδομένων μεταξύ ένα ζευγαριού μυρμηγκιών υπολογίζεται ως εξής:
18. Αποτελέσματα δικής μας υλοποίησης στον αρχικό αλγόριθμο στο IRIS data set ( ιδιαίτερα άσχημα)
19. Πρόβλημα Ι - Υπερβολική κινητικότητα των κυψελιδωτών μυρμηγκιών – Οπτικά μη κατανοητή απεικόνιση Μια από τις αιτίες για τα μη προσδοκώμενα αποτελέσματα, είναι η υπερβολική κινητικότητα των κυψελιδωτών μυρμηγκιών που μεταπηδούν από την μια πλευρά του πλέγματος στην αντιδιαμετρική του εύκολα, όμως αυτό τα εμποδίζει να «εγκλωβιστούν» και να μείνουν στην γειτονιά παρόμοιων σ’ αυτά μυρμηγκιών, βοηθώντας την διαδικασία της συσταδοποίησης. Ένα επιπλέον πρόβλημα είναι ότι ο παρατηρούμενος διαχωρισμός συστάδων σε δύο πλευρές ή - ακόμα χειρότερα για την περίπτωση μέσων που βρίσκονται στις γωνίες του πλέγματος - σε τέσσερις αντιδιαμετρικές γωνίες του πλέγματος, κάτι που καθιστά την απεικόνιση σε δύο διαστάσεις μη κατανοητή. Εγκαταλείποντας την ιδέα της αναδίπλωσης και του σπειροειδούς πλέγματος, υιοθετήθηκε ένα τετραγωνικό πλέγμα χωρίς αναδίπλωση. Το τετραγωνικό πλέγμα χρησιμοποιήθηκε σε όλες τις περαιτέρω δοκιμές και βελτιώσεις που έγιναν στον αρχικό αλγόριθμο.
21. Πρόβλημα ΙΙ – Τα όρια της προτεινόμενης μεθόδου διακριτής ανοχής δεδομένων Υπάρχει διαφορετικό βάρος στον υπολογισμό της απόστασης δεδομένων, της διαφοράς των τιμών μιας διάστασης δεδομένων σε σχέση με μιας άλλης, όταν π.χ. η μια διάσταση έχει όρια τιμών από 1-500 και η άλλη από 0.005-0.995. Επίσης υπάρχει δυσκολία, στο πειραματικό επίπεδο, της εύρεσης του ιδανικού και κατάλληλου κατωφλίου ανοχής. Η λύση βρέθηκε με την επινόηση ενός διαφορετικού τρόπου υπολογισμού απόστασης, όπου υπολογίζεται ο μ.ο. της αναλογίας της τιμής του ενός μέσου σε σχέση με το άλλο, για κάθε διάσταση. Πλέον η ποσοτική διαφορά δεν παίζει ρόλο, ενώ ένα κατώφλι π.χ. +-20% αρκεί για να διαχωρίσει δύο ανόμοιους αντιπρόσωπους.
23. Υιοθέτηση βαρών στις διαστάσεις των δεδομένων Ο αλγόριθμος κυψελιδωτών μυρμηγκιών δεν έχει προβλέψει την ανάγκη της προσθήκης της δυνατότητας διαφορετικών προκαθορισμένων βαρών για κάθε διάσταση δεδομένων στον υπολογισμό της απόστασης δεδομένων ή την προοπτική να μην πάρουμε υπόψη μια ή περισσότερες διαστάσεις, ώστε να χρησιμοποιηθεί το ίδιο σετ δεδομένων για διάφορες μορφές συσταδοποίησης. Ο υπολογισμός διαφορετικών βαρών για κάθε διάσταση δεδομένων ή ακόμα και η μη συνυπολογισμός κάποιου (θέτοντας το βάρος του μηδέν) γίνεται με κάποιες μικρές αλλαγές στον προτεινόμενο κανόνα μέτρησης αναλογικής απόστασης.
24. Πρόβλημα ΙΙΙ –Οι πρακτικές αδυναμίες του μικρού μεγέθους του πλέγματος Το μικρό μέγεθος του πλέγματος ( μόνο 15%-20% των κελιών θα πρέπει να είναι κενά , σύμφωνα με τις προτάσεις των εμπνευστών του αλγορίθμου) βοηθάει τα κυψελιδωτά μυρμήγκια να βρουν παρόμοια μυρμήγκια στην γειτονιά τους για να σχηματίσουν συστάδες ή μονοπάτια φερομόνης για να κινηθούν στην γειτονιά ενός παρόμοιου μυρμηγκιού. Αλλά αυτή η σύλληψη έχει επίσης προβλήματα: Δεν βοηθάει τα κυψελιδωτά μυρμήγκια να κινηθούν ελεύθερα . Τα μυρμήγκια έχουν πολύ λίγα ελεύθερα κελιά για να μετακινηθούν, κάτι που μπορεί να επιβραδύνει την διαδικασία σχηματισμού των σωστών συστάδων. Οι αναδυόμενες συστάδες δεν μπορούν να διαχωριστούν πραγματικά . Η σύλληψη της απώθησης πλευράς δουλεύει καλά στο να σπρώχνει μυρμήγκια μακριά από μια μη ταιριαστή συστάδα, ώστε να βρουν τα παρόμοια σ’ αυτά, αλλά δεν μπορούν πραγματικά να μετακινηθούν μακριά της εξαιτίας της έλλειψης άδειου χώρου, κι έτσι οι αναδυόμενες συστάδες κολλούν η μία δίπλα στην άλλη. Το μικρό μέγεθος του άδειου χώρου έχει σαν αποτέλεσμα το γεγονός ότι πολύ συχνά, κυψελιδωτά μυρμήγκια βρίσκονται στις πλευρές του πλέγματος . Μια άμεση θεώρηση Moore γειτονιάς ακτίνας 1 είναι τότε αδύνατη – μία (αν το κυψελιδωτό μυρμήγκι είναι σε πλευρά) ή δύο (αν είναι στις άκρες του πλέγματος) πλευρές της γειτονιάς Moore είναι εκτός του πλέγματος. Μερικοί κανόνες δεν μπορούν να εφαρμοστούν σε μια τόσο μικρή γειτονιά.
25. Λύση – Προοδευτικά Επεκτεινόμενο Πλέγμα Η δεύτερη προσέγγιση ήταν να μείνει το αρχικό πλέγμα όπως έχει και να αφήσουμε τα κυψελιδωτά μυρμήγκια να καταλήξουν σε μια αρχική μορφή συσταδοποίησης μετά από 500 επαναλήψεις (ο αριθμός είναι αυθαίρετος), και κατόπιν να αυξηθεί το μέγεθος του πλέγματος, προσθέτοντας άδεια κελιά στις πλευρές του. Η ιδέα αυτή λειτούργησε αρκετά καλά στο πειραματικό επίπεδο, οι ήδη αναδυόμενες συστάδες βρήκαν χώρο να μετακινηθούν και να επεκταθούν. Μια δεύτερη επέκταση, λειτούργησε επίσης καλά στο Iris Data Set . Η σύλληψη αυτή δουλεύει εφόσον κρατηθεί σε λογικά πλαίσια με την επέκταση του πλέγματος, αφού από ένα σημείο και πέρα δεν υπάρχει κάποια χρησιμότητα στην συσταδοποίηση, παρά προστίθενται άδεια κελιά που μικραίνουν τον οπτικά χρήσιμο χώρο της οθόνης.
26.
27. Η επεκταμένη γειτονιά αλληλεπίδρασης του υπερ-κυψελιδωτού μυρμηγκιού (ακτίνας 2) C C C C C C C C X C C C C C C C C
29. Αποτελέσματα με υιοθέτηση κανόνα μακρινής αλληλεπίδρασης και μέτρησης αναλογικής απόστασης στο IRIS data set ( γρήγορη σύγκλιση, εικόνα από 200 επαν.)
31. Διαδικασία αναγνώρισης και διαχωρισμού συστάδων Ι Για να βρεθούν οι συστάδες που απεικονίστηκαν απλώς με τον αυθεντικό αλγόριθμο, χρησιμοποιείται ο προτεινόμενος αλγόριθμος αναγνώρισης. Κάθε συστάδα αποτελείται από αντιπροσώπους που είναι πολύ κοντά (+-1% κατώφλι ομοιότητας) στο διάστημα των δεδομένων σε σχέση με έναν τυχαία επιλεγμένο αντιπρόσωπο. Χρησιμοποιείται ένα πολύ μικρό κατώφλι, ώστε η τυχαιότητα των αποτελεσμάτων να είναι όσο το δυνατόν περιορισμένη.
32. Διαδικασία αναγνώρισης και διαχωρισμού συστάδων ΙΙ Το επόμενο βήμα είναι η ένωση των συστάδες που είναι πολύ κοντά στο διάστημα των δεδομένων. Χρησιμοποιείται ένα μεγαλύτερο κατώφλι ομοιότητας (σ’ αυτό το παράδειγμα +-3.9%) για να συγκριθούν τα κοινά σύνορα των γειτονικών συστάδων. Αν πάνω από 90% των κοινών συνόρων μεταξύ δύο συστάδων είναι παρόμοιο, τότε οι συστάδες ενώνονται. Σ’ αυτό το σχήμα απαριθμούνται οι συστάδες που πρόκειται να ενωθούν σε μια συστάδα.
33. Διαδικασία αναγνώρισης και διαχωρισμού συστάδων ΙΙΙ Η τελική συστάδα παίρνει τον αριθμό μιας από τις παρόμοιες, αλλά μέχρι πριν διαχωρισμένες συστάδες.
34. Διαδικασία αναγνώρισης και διαχωρισμού συστάδων Ι V Το αποτέλεσμα της ενοποίησης όλων των παρόμοιων συστάδων – οι αντιπρόσωποι κάθε συστάδας αναγνωρίζονται και η συσταδοποίηση τελείωνει. Η όλη σύλληψη της αναγνώρισης, ενοποίησης και διαχωρισμού κατέληξε σ’ ένα αποτέλεσμα που όχι μόνο οπτικοποίησε τις συστάδες – όπως προσπαθεί ο αυθεντικός αλγόριθμος κυψελιδωτών μυρμηγκιών – αλλά επίσης αναγνώρισε, χωρίς επίβλεψη, τους αντιπροσώπους που είναι μέλη κάθε συστάδας.
35. Ταξινόμηση των συστάδων Με τον αλγόριθμο αναγνώρισης, συνένωσης και διαχωρισμού οι συστάδες διαχωρίστηκαν. Αν όμως υπάρχει η ανάγκη ταξινομήσης, ο τρόπος που προτείνεται είναι με την εύρεση της μέσης κάθε συστάδας και την ταξινόμηση των συστάδων σύμφωνα με την σειρά του κάθε μέσου. Η μέση κάθε συστάδας είναι το (μεσαίο) κυψελιδωτό μυρμήγκι με το μικρότερο άθροισμα των διαφορών απόστασης σε σχέση με τα άλλα μυρμήγκια της συστάδας. Στο τέλος το αποτέλεσμα της ταξινόμησης είναι κάπως έτσι : Συστάδα Πληθυσμός Μεσαία τιμή 2 12 10 3 15 22 1 12 25 4 4 28
36. Περαιτέρω βελτιώσεις - Υλοποίηση σε compiled υπολογιστικό περιβάλλον - Δοκιμή αναγνώρισης & διαχωρισμού με χρήση κανονικής (Ευκλείδιας) απόστασης δεδομένων - Βελτίωση κανόνα μακρινής αλληλεπίδρασης - Βελτίωση απεικόνισης με χρήση σφαιροειδούς πλέγματος - Βελτίωση απόδοσης συσταδοποίησης με χρήση προοδευτικά επεκτεινόμενου χάρτη και προσθήκη εμβόλιμων κενών - Χρήση με δυναμικά δεδομένα - Υλοποίηση σε VLSI σε μορφή NoC