Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

AlphaSort: A Cache-Sensitive Parallel External Sort Chris Nyberg, Tom Barclay, Zarka Cvetanovic, Jim Gray and David Lomet.

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "AlphaSort: A Cache-Sensitive Parallel External Sort Chris Nyberg, Tom Barclay, Zarka Cvetanovic, Jim Gray and David Lomet."— Μεταγράφημα παρουσίασης:

1 AlphaSort: A Cache-Sensitive Parallel External Sort Chris Nyberg, Tom Barclay, Zarka Cvetanovic, Jim Gray and David Lomet

2 Χαρακτηριστικά AlphaSort O Alphasort αλγόριθμος χρησιμοποιεί Clustered data structures File striping Quicksort Shared memory multiprocessors

3 Benchmark (1) Είσοδος: αρχείο από bytes records Πεδίο κλειδιού 10 bytes Είσοδος σε τυχαία σειρά Είσοδος δεν συμπιέζεται Έξοδος: ταξινομημένη η είσoδος με αύξουσα σειρά

4 Benchmark (2) 1.Έναρξη προγράμματος 2.Άνοιγμα αρχείου εισόδου και δημιουργία αρχείου εξόδου 3.Διάβασμα αρχείου εισόδου 4.Ταξινόμηση αρχείου 5.Εργαφή αρχείου εξόδου 6.Κλείσιμο αρχείων 7.Τερματισμός προγράμματος

5 Σύγκριση αποδόσεων (1)

6 Σύγκριση αποδόσεων (2)

7 Πλεονεκτήματα AlphaSort Προσπάθεια μείωσης των cache-misses. Mε την μείωση των καθυστερήσεων λόγω cache- misses πετύχαμε 4:1 βελτίωση της ταχύτητας, ενώ αν είχαμε εξαλείψει τελείως τα cache-misses θα είχαμε πετύχει επιπλέον 3:1 επιτάχυνση.

8 Μείωση cache-misses Επιλογή αλγορίθμου ταξινόμησης Quicksort Ταξινόμηση με χρήση πίνακα pointer ή key-prefix Οι εκτελέσεις που πραγματοποιούνται με τον αλγόριθμο Quicksort συνχωνεύονται με την χρήση replacement-selection tree

9 Eπιλογή Quicksort αλγορίθμου Ο αλγόριθμός Quicksort επιλέκτηκε εξαιτίας της πολύ καλής cache συμπεριφοράς του

10 Σύγκριση 4 τύπων Quicksort αλγορίθμου(1) Ταξινόμηση με χρήση Pointer Key/Pointer Key-Prefix/Pointer Record

11 Σύγκριση 4 τύπων Quicksort αλγορίθμου(2)

12 Σύμπεράσματα αποτελεσμάτων Για μεγάλα records η χρήση ταξινόμησης με Key/Pointer, Key-Prefix/Pointer είναι προτιμότερη Για μικρά records (<16 bytes) είναι βέλτιστη η χρήση ταξινόμησης με record Ο AlphaSort χρησιμοποιεί Key-Prefix Quicksort

13 Το σύστημα των multiprocessors με μοιραζόμενη μνήμη (1) Συστήματα Dec AXP μπορούν να έχουν πάνω απο 6 processors σε μια κατανεμημένη μνήμη. Ο Αlphasort δημιουργεί μια διεργασία για κάθε processor. H πρώτη διεργασία λέγετε root και οι άλλες workers

14 Το σύστημα των multiprocessors με μοιραζόμενης μνήμη (2) Η διεργασία root δημιουργεί ένα χώρο μοιραζόμενων διευθύνσεων, ανοίγει το input αρχείο, δημιουργεί το output αρχείο, εκτελεί ΙΟ διαδικασίες, αρχικοποιεί τις workers και κατευθύνει τις δραστηριότητες τους Οι διεργασίες workers εκτελούν την ταξινόμηση

15 Disk bottleneck προβλήμα Ανεξάρτητα πόσο γρήγορος είναι ο processor χρειαζόμαστε σίγουρα 1min για ΙΟ δραστηριότητες αφού έχουμε ταχύτητα 4.5MB/s για ανάγνωση και 3.5MB/s για εγραφή. Συνεπώς για 100MB record θα χρειαστούμε 25seconds για ανάγνωση και 35seconds για εγραφή.

16 Επίλυση του disk bottleneck προβλήματος Μοιράζουμε τα δεδομένα σε περισσότερους από ένα δίσκους (data striping) με την χρήση ενός Genroco disk array controller. Χωρίζοντας τα δεδομένα σε 8 δίσκους πετύχαμε ταχύτητα 27MB/s για ανάγνωση και 22MB/s για εγραφή, ενώ το overhead είναι ελάχιστο.

17 Οverhead data striping

18 Ελαχιστοποίηση των cache misses σε γενικότερα προγράμματα Ο compiler θα μπορούσε να συστοιχίζει μαζί τα συχνότερα χρησιμοποιούμενα βασικά blocks. Η συστοίχηση αυτή θα γίνεται λαμβάνοντας υπόψην run-time στατιστικά Δόμηση των δεδομένων στην μορφή line-list που φαίνεται παρακάτω

19 Νέα προτεινόμενα benchmark MinuteSort PennySort


Κατέβασμα ppt "AlphaSort: A Cache-Sensitive Parallel External Sort Chris Nyberg, Tom Barclay, Zarka Cvetanovic, Jim Gray and David Lomet."

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google