ιαµέριση - Partitioning

Σχετικά έγγραφα
Σύνθεση Data Path. ιασύνδεσης. Μονάδες. Αριθµό Μονάδων. Τύπο Μονάδων. Unit Selection Unit Binding. λειτουργιών σε. Μονάδες. Αντιστοίχιση µεταβλητών &

Ολοκλήρωση Σχεδίασης µε CAD-tools. (Back-End) Χρ. Καβουσιανός

ς Ποιότητα ξιολόγηση Α

Μοντέλα Αρχιτεκτονικής στην Σύνθεση

Αλγόριθµοι για Χρονικό Προγραµµατισµό

ΚΕΦΑΛΑΙΟ Μηχανική Μάθηση

Ε ανάληψη. Α ληροφόρητη αναζήτηση

Αλγόριθμοι και Πολυπλοκότητα

Ανάλυση κατά Συστάδες. Cluster analysis

Αποθήκες Δεδομένων και Εξόρυξη Δεδομένων:

«Σχεδιασμός Ψηφιακών Συστημάτων σε FPGA» Εαρινό εξάμηνο

ΑΛΓΟΡΙΘΜΙΚΕΣ ΜΕΘΟΔΟΙ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΤΜΗΜΑ ΙΑΤΡΙΚΗΣ ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ. Χατζηλιάδη Παναγιώτα Ευανθία

Clustering. Αλγόριθµοι Οµαδοποίησης Αντικειµένων

Χρήστος Ι. Σχοινάς Αν. Καθηγητής ΔΠΘ. Συμπληρωματικές σημειώσεις για το μάθημα: «Επιχειρησιακή Έρευνα ΙΙ»

6 η Θεµατική Ενότητα : Σχεδίαση Συστηµάτων σε Επίπεδο Καταχωρητή

Θέματα Μεταγλωττιστών

Επίλυση προβληµάτων. Περιγραφή προβληµάτων Αλγόριθµοι αναζήτησης Αλγόριθµοι τυφλής αναζήτησης Αλγόριθµοι ευρετικής αναζήτησης

Προσεγγιστικοί Αλγόριθμοι

Το εσωτερικό ενός Σ Β

Μοντέλα. χαρακτηριστικά χωρίς να συνοδεύεται από λεπτοµέρειες.

Προσεγγιστικοί Αλγόριθμοι για NP- ύσκολα Προβλήματα

Αλγόριθµοι και Πολυπλοκότητα

«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο Μηχανές Πεπερασμένων Καταστάσεων

Μάθημα 3 ο ΔΙΕΡΓΑΣΙΕΣ (PROCESSES)

ΑΛΓΟΡΙΘΜΙΚΕΣ ΜΕΘΟΔΟΙ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ

Διαχείριση Εφοδιαστικής Αλυσίδας ΙΙ

Προσεγγιστικοί Αλγόριθμοι για NP- ύσκολα Προβλήματα

Αλγόριθµοι Εκτίµησης Καθυστέρησης και

για NP-Δύσκολα Προβλήματα

ΑΛΓΟΡΙΘΜΙΚΕΣ ΜΕΘΟΔΟΙ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ

Επίλυση Προβληµάτων µε Greedy Αλγόριθµους

Επεξεργασία Ερωτήσεων

Εισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

6. Στατιστικές μέθοδοι εκπαίδευσης

Αδιέξοδα Ανάθεση Πόρων (Deadlocks Resource Allocation)

ΕΦΑΡΜΟΓΕΣ ΔΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ

Ας δούμε λίγο την θεωρία με την οποία ασχοληθήκαμε μέχρι τώρα.

Επεξεργασία Ερωτήσεων

Προσεγγιστικοί Αλγόριθμοι

Επεξεργασία Ερωτήσεων

Αποθήκες Δεδομένων και Εξόρυξη Δεδομένων

Heapsort Using Multiple Heaps

Απλοποιεί τα γεγονότα έτσι ώστε να περιγράφει τι έχει γίνει και όχι πως έχει γίνει.

Επίλυση 1 ης Εργασίας. Παραδόθηκαν: 11/12 15%

Προβλήματα Μεταφορών (Transportation)

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

Μεταπτυχιακό Πρόγραμμα «Γεωχωρικές Τεχνολογίες» Ψηφιακή Επεξεργασία Εικόνας. Εισηγητής Αναστάσιος Κεσίδης

Σχεδίαση µε CAD tools

Πανεπιστήµιο Πειραιώς Τµήµα Πληροφορικής. Εξόρυξη Γνώσης από εδοµένα (Data Mining) Συσταδοποίηση. Γιάννης Θεοδωρίδης

Αλγόριθµοι. Παράδειγµα. ιαίρει και Βασίλευε. Παράδειγµα MergeSort. Τεχνικές Σχεδιασµού Αλγορίθµων

Επιλογή και επανάληψη. Λογική έκφραση ή συνθήκη

Ακέραιος Γραµµικός Προγραµµατισµός

m 1 min f = x ij 0 (8.4) b j (8.5) a i = 1

Μέγιστη ροή. Κατευθυνόμενο γράφημα. Συνάρτηση χωρητικότητας. αφετηρίακός κόμβος. τερματικός κόμβος. Ροή δικτύου. με τις ακόλουθες ιδιότητες

Εισαγωγή Αλγόριθµοι Αποτελέσµατα Επίλογος Ορισµός του Προβλήµατος Ευθυγράµµιση : Εύρεση ενός γεωµετρικού µετασχηµατισµού που ϕέρνει κοντά δύο τρισδιάσ

Αποθήκες Δεδομένων και Εξόρυξη Δεδομένων

ΑΛΓΟΡΙΘΜΟΙ ΑΝΟΠΤΗΣΗΣ: Ο ΑΛΓΟΡΙΘΜΟΣ ΤΗΣ ΑΠΟ ΟΧΗΣ ΚΑΤΩΦΛΙΟΥ (THRESHOLD ACCEPTING)

Κεφάλαια Εντολές επανάληψης. Τρεις εντολές επανάληψης. Επιλογή εντολής επανάληψης ΟΣΟ...ΕΠΑΝΑΛΑΒΕ. Σύνταξη στη ΓΛΩΣΣΑ

Προβλήµατα Μεταφορών (Transportation)

ΕΠΙΧΕΙΡΗΣΙΑΚΗ ΕΡΕΥΝΑ Επιστήμη των Αποφάσεων, Διοικητική Επιστήμη

Τεχνητή Νοημοσύνη. 5η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων

Ακέραιος Γραµµικός Προγραµµατισµός

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

Graph Algorithms. Παρουσίαση στα πλαίσια του μαθήματος «Παράλληλοι Αλγόριθμοι» Καούρη Γεωργία Μήτσου Βάλια

9. Συστολικές Συστοιχίες Επεξεργαστών

Εισαγωγή στην πληροφορική

Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων ΙΙ Σύνολο- Περιεχόμενο Μαθήματος

ιοίκηση Παραγωγής και Υπηρεσιών

Αλγόριθμοι και Πολυπλοκότητα

Αλγόριθμοι και Δομές Δεδομένων (Ι) (εισαγωγικές έννοιες)

Κεφ.11: Ευρετήρια και Κατακερματισμός

inding B Binding -Library Cell

Αρχιτεκτονική Υπολογιστών

Επεξεργασία Ερωτήσεων

Εισαγωγή στην. Εισαγωγή Σ Β. Αρχεία ευρετηρίου Κατάλογος. συστήματος. Αρχεία δεδομένων

VERILOG. Γενικά περί γλώσσας

Πανεπιστήµιο Κύπρου Πολυτεχνική Σχολή

ΚΕΦΑΛΑΙΟ 2 ΑΛΓΟΡΙΘΜΟΙ ΤΥΠΟΥ SIMPLEX. 2.1 Βασικές έννοιες - Ορισμοί

καθ. Βασίλης Μάγκλαρης

Αλγόριθµοι και Πολυπλοκότητα

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Ψηφιακή Σχεδίαση

Βασική Εφικτή Λύση. Βασική Εφικτή Λύση

Ανάλυση Επιδόσεων Συστημάτων Πραγματικού Χρόνου

Τι είναι αλγόριθμος; Υποπρογράμματα (υποαλγόριθμοι) Βασικές αλγοριθμικές δομές

Αποθήκες Δεδομένων και Εξόρυξη Δεδομένων:

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΠΜΣΕ ΣΤΗΝ ΕΦΑΡΜΟΣΜΕΝΗ ΠΛΗΡΟΦΟΡΙΚΗ ΝΕΥΡΩΝΙΚΑ ΙΚΤΥΑ ΚΑΙ ΕΞΕΛΙΚΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ

Ελάχιστο Γεννητικό Δένδρο. Παράδειγμα - Αλγόριθμος Prim. Γιατί δουλεύουν αυτοί οι αλγόριθμοι;

Τεχνικές βελτιστοποίησης µε σκοπό την επίτευξη χαµηλής κατανάλωσης ισχύος

Τεχνητή Νοημοσύνη. 4η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

ΔΙΑΧΕΙΡΙΣΗ ΕΦΟΔΙΑΣΤΙΚΗΣ ΑΛΥΣΙΔΑΣ

Αλγόριθμοι Προσέγγισης για NP-Δύσκολα Προβλήματα

ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Καταστάσεων. Καταστάσεων

Άπληστοι Αλγόριθµοι (CLR, κεφάλαιο 17)

ΑΛΓΟΡΙΘΜΙΚΕΣ ΜΕΘΟΔΟΙ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ

ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 15: Καταχωρητές (Registers)

Περιεχόμενα. Πρόλογος... XI. Κεφάλαιο 1. Συστήματα Βασισμένα σε FPGA Κεφάλαιο 2. Τεχνολογία VLSI Εισαγωγή Βασικές Αρχές...

Εισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Transcript:

ιαµέριση - Partitioning

ιαµέριση ιαµέριση είναι η διαµοίραση αντικειµένων σε οµάδες µε στόχο την βελτιστοποίηση κάποιας συνάρτησης. Στην σύνθεση η διαµέριση χρησιµοποιείται ως εξής: Οµαδοποίηση µεταβλητών µε κάθε οµάδα να αντιστοιχίζεται σε ένα αποθηκευτικό στοιχείο. Οµαδοποίηση λειτουργιών µε κάθε οµάδα να αντιστοιχίζεται σε µία λειτουργική µονάδα. Οµαδοποίηση λειτουργιών σε οµάδες, ώστε κάθε οµάδα να εκτελείται στο ίδιο βήµα ελέγχου. ιαίρεση µίας µεγάλης περιγραφής συµπεριφοράς σε µικρότερες. Γλώσσες Περιγραφής 2

Μέθοδοι ιαµέρισης Μοντελοποίηση προβλήµατος: Χρησιµοποιείται θεωρία γράφων. Κάθε κόµβος αναπαριστά ένα component (πύλη, flip-flop, καταχωρητή ) Κάθε ακµή αναπαριστά φυσική διασύνδεση δύο components. Γραµµές µε πολλές άκρες στο αρχικό κύκλωµα αντικαθίστανται από πολλαπλές λέ γραµµές µε δύο άκρες. Για την διαµέριση χρησιµοποιείται γραµµή διαχωρισµού (cutline). Παράδειγµα: διαµέριση γράφου σε υπογράφους µε καθορισµένο µέγιστο µέγεθος (περιορισµός), και στόχο την ελαχιστοποίηση των εξωτερικών διασυνδέσεων µεταξύ τους. Γλώσσες Περιγραφής 3

Συνδυαστική Βελτιστοποίηση e24, e36 : external connections Γλώσσες Περιγραφής 4

ιαµέριση Συµπεριφοράς Επικοινωνία Processes Γλώσσες Περιγραφής 5

ιαµέριση Συµπεριφοράς Κάθε process µπορεί να θεωρηθεί σαν ένα module. Κορυφές του γράφου είναι τα modules και οι ακµές αναπαριστούν γενικές (global) µεταβλητές για επικοινωνία. Η διαµέριση µπορεί να έχει στόχο την απόδοση (ταχύτητα) ή επιφάνεια. Απόδοση Επιφάνεια Οµαδοποίηση κόµβων σε κρίσιµα Οµαδοποίηση κόµβων ίδιου τύπου µονοπάτια µε στόχο την λειτουργιών µε στόχο την ελαχιστοποίηση των διασυνδέσεων ελαχιστοποίηση των διασυνδέσεων τους τους Γλώσσες Περιγραφής 6

Αλγόριθµοι ιαµέρισης Μέθοδοι ιαµέρισης Κατασκευαστικοί (constructive) Ξεκινούν µε κάποιον αρχικό κόµβο (seed) και προσθέτουν και Σταδιακής Βελτίωσης (iterative improvement) Ξεκινούν µε κάποια έτοιµη διαµέριση την οποία βελτιώνουν άλλους σταδιακά. σταδιακά. Random Selection Hierarchical Clustering Simulated Annealing Cluster Growth Min-Cut Γλώσσες Περιγραφής 7

Αλγόριθµος Random Selection Είναι η απλούστερη κατασκευαστική µέθοδος. Χρησιµοποιείται για την παραγωγή µίας αρχικής διαµέρισης, η οποία παρακάτω περνάει από σταδιακή βελτίωση. Παράγει φτωχό αποτέλεσµα Αλγόριθµος: 1. Επιλογή ενός τυχαίου κόµβου κάθε φορά. 2. Τοποθέτηση του σε οµάδες µε στόχο την διατήρηση του µεγέθους τους σταθερού. Γλώσσες Περιγραφής 8

Αλγόριθµος Cluster Growth Εκτελεί τρεις διαδικασίες: 1. Επιλογή του seed 2. Επιλογή του κόµβου που θα τοποθετηθεί 3. Τοποθέτηση του κόµβου Οι κόµβοι seeds (αρχικοί οµάδων) επιλέγονται ως εξής: Greedy Approach 1. Καθορίζονται από τον σχεδιαστή 2. Επιλέγονται τυχαία. 3. Επιλέγονται µε βάση ιδιότητες (µέγεθος, αριθµός ακµών διασύνδεσης, ) Τοποθετεί τους κόµβους σε οµάδες µε βάση κάποια µέτρηση κοντινότητας (πχ µέγιστο αριθµό διασυνδέσεων µεταξύ µη τοποθετηµένων και τοποθετηµένων κόµβων). Όταν µία οµάδα γεµίσει προχωράει στην επόµενη. Γλώσσες Περιγραφής 9

5 10 5 Αλγόριθµος Cluster Growth Τυχαία Επιλογή 3 5 3 7 7 5 9 10 8 Περιορισµός: κόστος υπογράφου 15 Γλώσσες Περιγραφής 10

Αλγόριθµος Cluster Growth Επιλογή για ελαχιστοποίηση ακµών διασύνδεσης υπογράφων 3 3 5 5 7 5 7 5 10 10 9 8 Περιορισµός: κόστος υπογράφου 15 Γλώσσες Περιγραφής 11

Αλγόριθµος Hierarchical Clustering Αλγόριθµος: 1. Τοποθετεί τους κόµβους σε οµάδες µε βάση την κοντινότητα. 2. Τα δύο πιο κοντινά αντικείµενα οµαδοποιούνται και θεωρούνται ένα. 3. Η διαδικασία επαναλαµβάνεται για τα νέα αντικείµενα που προκύπτουν. 4. Σταµατά όταν όλοι οι κόµβοι έχουν τοποθετηθεί σε µία οµάδα. ηµιουργία Ιεραρχικού έντρου Οµάδων Κάθε διαχωριστική γραµµή στο δέντρο υποδεικνύει οµάδες (clusters). Γλώσσες Περιγραφής 12

Αλγόριθµος Hierarchical Clustering Επαναϋπολογισµός Μέγιστη τιµή) βαρών (µέγιστη τιµή) Γλώσσες Περιγραφής 13

Αλγόριθµος Hierarchical Clustering V 24135 V 2413 -V 5 V 241 -V 3 -V 5 V 1 -V 24 -V 3 -V 5 V 1 -V 2 -V 4 -V 3 -V 5 Μία cutline κοντά στα φύλλα οδηγεί σε διαµέριση µε πολλές και µικρές οµάδες από κόµβους κοντινούς. Μία cutline µακριά από τα φύλλα οδηγεί σε διαµέριση µε λίγες και µεγάλες οµάδες από πιο µακρινούς κόµβους. Γλώσσες Περιγραφής 14

Αλγόριθµος Hierarchical Clustering Παραλλαγή Ιεραρχικής Μεθόδου: Μέθοδος Πολλαπλών Βαθµίδων To Clustering γίνεται σε πολλαπλές βαθµίδες (stages). Κάθε βαθµίδα χρησιµοποιεί διαφορετικό κριτήριο κοντινότητας. Πρώτα λαµβάνεται υπόψη το κριτήριο υψηλότερης προτεραιότητας, µετά το επόµενο κ.ο.κ. Λαµβάνει υπόψη πολλαπλά κριτήρια χωρίς να χρειάζεται καθορισµός βαρών (weights) που είναι πειραµατικός. Γλώσσες Περιγραφής 15

Αλγόριθµοι Σταδιακής Βελτίωσης Αλγόριθµος Min-CUT Ιδέα: Εναλλάσσει δύο οµάδες κορυφών µεταξύ δύο διαµερίσεων µε στόχο την µέγιστη βελτίωση. Στόχος: ιαίρεση ενός γράφου σε δύο διαµερίσεις ίσου µεγέθους, µε ελαχιστοποίηση των διασυνδέσεων µεταξύ τους. 1. Ξεκινάει µε µία αρχική διαµέριση σε δύο οµάδες. 2. Σε κάθε επανάληψη εναλλάσσει k ζεύγη κορυφών µεταξύ των δύο διαµερίσεων. 3. Σταµατάει όταν δεν υπάρχει παραπέρα βελτίωση. 4. Η διαδικασία επαναλαµβάνεται ξεκινώντας από πολλές διαφορετικές αρχικές διαµερίσεις. 5. Τελικά επιλέγεται η καλύτερη λύση. Γλώσσες Περιγραφής 16

Αλγόριθµος Min Cut Ελαχιστοποίηση ιασυνδέσεων Γλώσσες Περιγραφής 17

Αλγόριθµος Min Cut Ο αλγόριθµος MinCut είναι Greedy (σταµατά όταν δεν υπάρχει βελτίωση). Η λύση που επιτυγχάνεται αντιστοιχεί σε τοπικό ελάχιστο. Εναλλακτική ήλύ Λύση 1. Κάνουµε εναλλαγές όπως πριν, αλλά δεν σταµατάµε όταν µία εναλλαγή δεν δίνει βελτίωση. 2. Επιλέγουµε τις n πρώτες που µεγιστοποιούν το συνολικό κέρδος Γλώσσες Περιγραφής 18

Αλγόριθµος Min Cut Επιτυγχάνει το ολικό βέλτιστο, αφού πρώτα περάσει από τοπικό ελάχιστο που η απληστία θα απέρριπτε Γλώσσες Περιγραφής 19

Αλγόριθµος Simulated Annealing Aποδέχεται ακολουθίες εναλλαγών όπου µερικές έχουν αρνητικό κέρδος, εφόσον όµως το συνολικό κέρδος είναι θετικό. Αποφεύγει τοπικά ελάχιστες λύσεις Μοιάζει µε την φυσική διαδικασία κατά την οποία για να βρεθεί ή ελάχιστη ενεργειακή κατάσταση ενός υλικού πρώτα το λιώνουµε και µετά το ψύχουµε σταδιακά. Γλώσσες Περιγραφής 20

Αλγόριθµος Simulated Annealing Ξεκινάει µε µία τυχαία αρχική διαµέριση. Οι µετακινήσεις (από ένα αντικείµενο σε ένα άλλο) επιλέγονται τυχαία. Το κόστος κάθε µετακίνησης ελέγχεται εάν ικανοποιεί κάποιο κριτήριο αποδοχής το οποίο εξαρτάται από την τρέχουσα θερµοκρασία Τ. Η πιθανότητα αποδοχής είναι ανάλογη µε την τρέχουσα θερµοκρασία. Όσο η θερµοκρασία µειώνεται, µειώνεται και η πιθανότητα να γίνει η εναλλαγή. Γλώσσες Περιγραφής 21

Αλγόριθµος Simulated Annealing Στρατηγική αποδοχής c=c new -c old F( c, T) = min(1, e - c/t ) c<0 => η νέα λύση καλύτερη Μείωση Τ Μείωση τιµής F [0, 1] Μείωση πιθανότητας F>r c>0 => η νέα λύση χειρότερη F [0, 1] Παράγουµε τυχαίο αριθµό r [0, 1] µε κανονική κατανοµή Αν F > r, η λύση γίνεται αποδεκτή F = 1, η λύση γίνεται αποδεκτή Μείωση πιθανότητας εναλλαγής Η τιµή του Τ µειώνεται όταν δεν βρεθεί καλύτερη λύση για έναν αριθµό επαναλήψεων Γλώσσες Περιγραφής 22

Εφαρµογές ιαµέρισης Scheduling: διαµέριση των λειτουργιών σε οµάδες. Κάθε οµάδα ανατίθεται σε κάποιο βήµα ελέγχου. Unit Selection: διαµέριση λειτουργικών τελεστών σε οµάδες. Κάθε οµάδα αντιστοιχεί σε ένα είδος λειτουργικής µονάδας (πχ. η πρόσθεση µπορεί να ανατεθεί σε αθροιστές, αθροιστές/αφαιρέτες, ALUs, κλπ). Allocation: διαµέριση λειτουργιών σε οµάδες. Κάθε οµάδα ανατίθεται σε ένα resource. Behavioral Decomposing: διαµέριση µίας περιγραφής συµπεριφοράς σε processes. Οι processes αυτές αντιστοιχούνται σε ισάριθµα FSMDs. Chip partition: ιαµέριση του chip σε modules. Γλώσσες Περιγραφής 23

Unit Selection ιαµέριση των λειτουργιών σε ένα CDFG σε οµάδες µε βάση την οµοιότητα τους και την συνταύτιση τους σε χρόνο (concurrency). Οµοιότητα: αριθµός κοινών ιδιοτήτων. Α 1 Α 2 / Α 1 Α 2 Έστω fcost(o 1, o 2, o 3,, o n ) το κόστος λειτουργικής µονάδας που εκτελεί τις λειτουργίες o 1, o 2, o 3,, o n Γλώσσες Περιγραφής 24

Unit Selection Functional Proximity: fp(o i, o j )= fcost(o i) + fcost(o j ) - fcost(o i,o j ) fcost(o i,o j ) Φυσική Σηµασία: Όσο µικρότερο είναι το κόστος υλοποίησης των λειτουργιών-τελεστών από κοινή µονάδα (fcost(o i, o j )) τόσο µεγαλύτερη η εγγύτητα (proximity) Μεγάλη εγγύτητα Υλοποίηση από ίδια µονάδα Μείωση παραλληλισµού Παράδειγµα Κόστος αθροιστή = Κόστος αφαιρέτη = 6 πύλες Κόστος αθροιστή/αφαιρέτη = 8 πύλες fp(+,-) = (6+6-8)/8 = 0,5 Γλώσσες Περιγραφής 25

Unit Selection Communication Proximity: cp(o i, o j )= cconn(o i,o j ) Κοινές διασυνδέσεις tconn(o i,o j ) Συνολικές διασυνδέσεις Φυσική Σηµασία: Μεγάλη τιµή της cp υποδεικνύει πολλές κοινές διασυνδέσεις για την υλοποίηση των λειτουργιών (δηλ. λ συµφέρει η χρήση κοινής µονάδας µη παραλληλισµός) Παράδειγµα: ένας τελεστής + και ένας έχουν µία κοινή είσοδο και συνολικά 6 εισόδους. Τότε cp(+, -)=1/6 1:οι o i, o j µπορούν να εκτελεστούν παράλληλα Potential Parallelism: ppar(o i, o j )= 0: αλλιώς Γλώσσες Περιγραφής 26

Unit Selection Μετρική Κοντινότητας Καθορίζει την απόσταση µεταξύ κάθε ζεύγους λειτουργιών. Μικρή απόσταση µεγάλο πλεονέκτηµα εάν µοιραστούν την ίδια µονάδα Οµαδοποίηση λειτουργιών σε µία µονάδα µειώνει την δυνατότητα παραλληλισµού τους Distance: dist(o i, o j ) = -(a 1 x fp(o i, o j )) (a 2 x cp(o i, o j )) + (a 3 x ppar(o i, o j )) Βάρη σηµαντικότητας µετρικών Γλώσσες Περιγραφής 27

Unit Selection Όσο µεγαλύτερο βάρος δίνουµε σε µία µετρική, τόσο περισσότερο την λαµβάνουµε υπόψη στις αποφάσεις. Με χρήση της µετρικής απόστασης εφαρµόζεται η ιεραρχική µέθοδος διαµέρισης. a b c fcost(o 1 ) = fcost(o 2 ) = fcost(o 1,o 2 ) άρα fp(o 1, o 2 )=1 Ο 1 + Ο 2 + cp(o 1, o 2 ) = 1/6 dist(o 1, o 2 ) = a 3 -a 1 -(1/6)a 2 ppar(o 1, o 2 ) = 1 Ο 3 * Γλώσσες Περιγραφής 28