Περίληψη. Υπερυπολογιστές. Υπολογιστικά προβλήµατα. TOP 500 (Ιούνιος 2007) TOP 500 (Ιούνιος 2009) Ε-85: Ειδικά Θέµατα Λογισµικού

Σχετικά έγγραφα
Ε-85: Ειδικά Θέµατα Λογισµικού

Ε-85: Ειδικά Θέµατα Λογισµικού

Ε-85: Ειδικά Θέµατα Λογισµικού

Προγραµµατισµός Νηµάτων. Αρχικοποίηση µιας Φοράς pthread_once_t once_block = PTHREAD_ONCE_INIT; pthread_mutex_t mutex;

Ε-85: Ειδικά Θέµατα Λογισµικού

Προγραμματισμός με το OpenMP Β. Δημακόπουλος

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας

Εισαγωγή. E-03: Λειτουργικά Συστήµατα ΙΙ 6. Εαρινό Εξάµηνο SUN RPC. Κλήση Αποµακρυσµένων ιαδικασιών (RPC) Σύνδεση: Port Mapper.

Κατανεμημένος και Παράλληλος Προγραμματισμός

Κατανεμημένος και. Ηλίας Κ. Σάββας Αναπληρωτής Καθηγητής Τμήμα Μηχανικών Πληροφορικής ΤΕ, ΤΕΙ Θεσσαλίας

Κατανεμημένος και Παράλληλος Προγραμματισμός MPI. MPI Απλές εντολές 03/13/2016. Οδηγίες αποστολής / παραλαβής μηνυμάτων, Υπολογισμός του π (

Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας

Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας

Παράλληλη Επεξεργασία

Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας

Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας

Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας

Μέρος IΙ: OpenMP Κεφάλαιο 4 (νέο βιβλίο)

Επικοινωνία. Message-Passing Interface (MPI) Βασικές Κλήσεις για Sockets. Μοντέλο Μεταβίβασης Μηνυµάτων. Μοντέλα Παράλληλου Υπολογισµού

Παράλληλη Επεξεργασία

Ε-85: Ειδικά Θέµατα Λογισµικού

Παράλληλα Συστήματα. Γιώργος Δημητρίου. Ενότητα 3 η : Παράλληλη Επεξεργασία. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής

Πολυπύρηνοι επεξεργαστές Multicore processors

Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας

Εισαγωγή στον Προγραµµατισµό Πολυεπεξεργαστικών Συστηµάτων Κοινής Μνήµης µε...

Παρουσίαση 5 ης Άσκησης:

Συστήµατα Παράλληλης Επεξεργασίας

ύο μηχανισμοί απαιτούνται: 1. Μία μέθοδος για τη δημιουργία διεργασιών

Κατανεμημένος και Παράλληλος Προγραμματισμός. Εισαγωγή στο MPI. Εγκατάσταση MPICH σε ένα ΗΥ 10/3/2017

Κατανεμημένα και Παράλληλα Συστήματα (εργαστήριο) Παραδείγματα με openmp

Κατανεμημένος και Παράλληλος Προγραμματισμός

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

Παρουσίαση 5 ης Άσκησης:

ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΑΡΑΛΛΗΛΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΜΕ OpenMP

Κατηγορίες Νηµάτων. Νήµατα Επιπέδου Πυρήνα. Νήµατα Επιπέδου Χρήστη. «Νήµατα Επιπέδου Χρήστη» Ε-85: Ειδικά Θέµατα Λογισµικού

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

ΕΚΔΟΣΗ 1.1 ΜΑΙΟΣ, 2018 ΕΙΣΑΓΩΓΗ ΣΤΑ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ ΑΛΓΟΡΙΘΜΟΣ POLLING ΚΥΜΑΤΙΚΟΣ ΑΛΓΟΡΙΘΜΟΣ ΕΠΙΜΕΛΕΙΑ: Β. ΤΣΑΚΑΝΙΚΑΣ, Β.

OpenMP. Συστήµατα Παράλληλης Επεξεργασίας Εργαστήριο Υπολογιστικών Συστηµάτων. Αθήνα, Νοέµβριος /11/2004 Εισαγωγή στο OpenMP 1

ΜΕΤΑΒΑΤΙΚΕΣ ΠΡΟΫΠΟΘΕΣΕΙΣ ΑΠΟΚΤΗΣΗΣ ΠΤΥΧΙΟΥ

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

2/4/2012 Προγραμματισμός συστημάτων κοινόχρηστης μνήμης (ΙΙ) OpenMP Β. Δημακόπουλος

30/4/2012 Συστήματα κατανεμημένης μνήμης και ο προγραμματισμός τους (Ι) Β. Δημακόπουλος

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Μεταβίβαση μηνυμάτων. Κεφάλαιο 5 (νέο βιβλίο) Κεφάλαιο 8 (παλιές σημειώσεις)

Κατανεμημένος και Παράλληλος Προγραμματισμός MPI. Γρήγορος οδηγός αναφοράς 1/4/2017

Επιμερισμός δεδομένων

Κατανεμημένος και Παράλληλος Προγραμματισμός. Εισαγωγή στο MPI. Εγκατάσταση MPICH σε ένα ΗΥ 6/3/2016

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

Αρχιτεκτονική κοινής μνήμης

Πληροφορίες. Εισαγωγή στην Πληροφορική. Κατηγορίες υλισµικού. Περίληψη µαθήµατος (συνέχεια) Επεξεργαστής Μνήµη. Χειµερινό Εξάµηνο

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ

Εκφωνήσεις ασκήσεων εργαστηρίου 2 (pthreads)

Παράλληλη Επεξεργασία

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Διεργασίες και Νήματα Εργαστηριακές Ασκήσεις

Εισαγωγή. Λογισµικό & Προγραµµατισµός Συστηµάτων Υψηλής Επίδοσης

Προγραμματισμός με Μεταβίβαση Μηνυμάτων

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

Message Passing Interface (MPI)

Παράλληλη Επεξεργασία

Ε-85: Ειδικά Θέµατα Λογισµικού

Κεφάλαιο VIΙΙ Β. Δημακόπουλος

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας

Message Passing Interface (MPI)

ιεργασίες και Επεξεργαστές στα Κατανεµηµένων Συστηµάτων

Παράλληλος προγραμματισμός: Σχεδίαση και υλοποίηση παράλληλων προγραμμάτων

Συστήµατα Παράλληλης Επεξεργασίας. Message Passing Interface (MPI)

Επιστημονικοί Υπολογισμοί - Μέρος ΙΙΙ: Παράλληλοι Υπολογισμοί

ιεργασίες και νήµατα Προγραµµατισµός ΙΙΙ 1 lalis@inf.uth.gr

Αποδοτική εκτέλεση προγραμμάτων OpenMP σε συστάδες Η/Υ

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7

ΕΚΔΟΣΗ 1.1 ΜΑΙΟΣ, 2018 ΕΙΣΑΓΩΓΗ ΣΤΑ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ ΕΚΛΟΓΗ ΑΡΧΗΓΟΥ ΕΠΙΜΕΛΕΙΑ: Β. ΤΣΑΚΑΝΙΚΑΣ, Β. ΤΑΜΠΑΚΑΣ

Ορολογία. Παράδειγµα 3. Εξισορρόπηση Εργασίας. Ε-85: Ειδικά Θέµατα Λογισµικού. E-85: Ε.Θ.Λ: Προγραµµατισµός Συστηµάτων Υψηλών Επιδόσεων 6

Παράλληλα και Κατανεµηµένα Συστήµατα. Εισαγωγή

ΕΚΔΟΣΗ 1.0 ΟΚΤΩΒΡΙΟΣ, 2017 ΕΙΣΑΓΩΓΗ ΣΤΑ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ ΕΙΣΑΓΩΓΗ ΣΤO MESSAGE PASSING INTERFACE - MPI ΕΠΙΜΕΛΕΙΑ: Β. ΤΣΑΚΑΝΙΚΑΣ, Β.

Κατανεμημένος και Παράλληλος Προγραμματισμός

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

Παράλληλη Επεξεργασία Εργαστηριακή Ασκηση Εαρινού Εξαµήνου 2008

Παράλληλος προγραμματισμός: Σχεδίαση και υλοποίηση παράλληλων προγραμμάτων

Β Εξάµηνο Τίτλος Μαθήµατος Θ Φ Α.Π Ε Φ.E. Π.Μ Προαπαιτούµενα

Προγραµµατισµός µε ανταλλαγή µηνυµάτων Ι. Εισαγωγή στο MPI. Εφαρµογές Ανεξάρτητου Παραλληλισµού.

NIKOΛΑΟΣ ΝΤΙΡΛΗΣ 5ο ΦΡΟΝΤΙΣΤΗΡΙΟ ΑΙΘΟΥΣΑ Β4

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7

Μεταγλώττιση και σύνδεση πολλαπλών αρχείων κώδικα. Προγραμματισμός II 1

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας

Παράλληλος προγραμματισμός: Υλοποίηση παράλληλων προγραμμάτων

OpenMP. Προγραµµατισµός Αρχιτεκτονικών Μοιραζόµενης Μνήµης. Συστήµατα Παράλληλης Επεξεργασίας Εργαστήριο Υπολογιστικών Συστηµάτων ΕΜΠ. OpenMP p.

Κεντρική Μονάδα Επεξεργασίας. Επανάληψη: Απόδοση ΚΜΕ. ΚΜΕ ενός κύκλου (single-cycle) Παραλληλισμός σε επίπεδο εντολών. Υπολογιστικό σύστημα

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών Κρυφές Μνήμες. (οργάνωση, λειτουργία και απόδοση)

EM 361: Παράλληλοι Υπολογισμοί

Συστήµατα Παράλληλης Επεξεργασίας. OpenMP

Εισαγωγή. Κατανεµηµένα Συστήµατα 01-1

ΕΚΔΟΣΗ 1.0 ΟΚΤΩΒΡΙΟΣ, 2017 ΕΙΣΑΓΩΓΗ ΣΤΑ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ ΚΑΤΑΝΕΜΗΜΕΝΑ ΡΟΛΟΓΙΑ ΕΠΙΜΕΛΕΙΑ: Β. ΤΣΑΚΑΝΙΚΑΣ, Β. ΤΑΜΠΑΚΑΣ

ΠαράδειγµαΠρογραµµατισµού

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

MPI: Message Passing Interface

Παραλληλισμός σε επίπεδο εντολών

Τεχνολογικά Επιτεύγµατα. Πλεονεκτήµατα. Ορισµός Κατανεµηµένου Συστήµατος. Μειονεκτήµατα. E-03: Λειτουργικά Συστήµατα ΙΙ 6. Εαρινό Εξάµηνο

Η πολυνηματική γλώσσα προγραμματισμού Cilk

Transcript:

Ε-85: Ειδικά Θέµατα Λογισµικού Προγραµµατισµός Συστηµάτων Υψηλών Επιδόσεων Χειµερινό Εξάµηνο 2009-10 «Υπολογιστικά Συστήµατα Υψηλών Επιδόσεων και Εφαρµογές» Περίληψη Υπερυπολογιστές Πολυεπεξεργαστικά συστήµατα και νέες τεχνολογίες Μοντέλα προγραµµατισµού Παραδείγµατα εφαρµογών Παναγιώτης Χατζηδούκας (Π.Δ. 407/80) E-85: Ε.Θ.Λ: Προγραµµατισµός Συστηµάτων Υψηλών Επιδόσεων 1 E-85: Ε.Θ.Λ: Προγραµµατισµός Συστηµάτων Υψηλών Επιδόσεων 2 Υπερυπολογιστές Οιυπερυπολογιστές (supercomputers) είναι οι πιο ισχυροί υπολογιστές Χρησιµοποιούνται για προβλήµατα που απαιτούν περίπλοκους και χρονοβόρους υπολογισµούς Εξαιτίας του µεγέθους και του κόστους τους, οι υπερυπολογιστές είναι σχετικά σπάνιοι Οι υπερυπολογιστές χρησιµοποιούνται από πανεπιστήµια, ερευνητικά κέντρα και µεγάλες επιχειρήσεις Υπολογιστικά προβλήµατα Μοντελοποίηση πολύπλοκων διεργασιών Πυρηνική σύντηξη Περιβαλλοντολογικές συνθήκες Προβλήµατα ρευστοδυναµικής Χαρτογράφηση DNA Πρόβλεψη καιρού Εξόρυξη δεδοµένων E-85: Ε.Θ.Λ: Προγραµµατισµός Συστηµάτων Υψηλών Επιδόσεων 3 E-85: Ε.Θ.Λ: Προγραµµατισµός Συστηµάτων Υψηλών Επιδόσεων 4 TOP 500 (Ιούνιος 2007) TOP 500 (Ιούνιος 2009) E-85: Ε.Θ.Λ: Προγραµµατισµός Συστηµάτων Υψηλών Επιδόσεων 5 E-85: Ε.Θ.Λ: Προγραµµατισµός Συστηµάτων Υψηλών Επιδόσεων 6 1

BlueGene/L (#1 το 2007) Συστάδες Πολυεπεξεργαστικών Συστηµάτων Εσωτερικό.. Εσωτερικό.. Κοινή Μνήµη Κοινή Ιδεατή Μνήµη ΚοινήΜνήµη ιασυνδετικό ίκτυο Συστάδας Υβριδικό Μοντέλο Μνήµης Κατανεµηµένη µνήµη µεταξύ των κόµβων Κοινή Μνήµη µεταξύ των επεξεργαστών ενός κόµβου Κοινή Ιδεατή Μνήµη: ενοποίηση των µνηµών µε κατάλληλο λογισµικό E-85: Ε.Θ.Λ: Προγραµµατισµός Συστηµάτων Υψηλών Επιδόσεων 7 E-85: Ε.Θ.Λ: Προγραµµατισµός Συστηµάτων Υψηλών Επιδόσεων 8 Πολυεπεξεργαστικά Συστήµατα Πολυεπεξεργασίαείναι η χρήση δύο ή περισσότερων επεξεργαστών (CPUs) σε ένα απλό υπολογιστικό σύστηµα Όλοι οι επεξεργαστές έχουν ίση πρόσβαση στην µνήµη του συστήµατος ύο η περισσότερα προγράµµατα, π.χ. διεργασίες, εκτελούνται ταυτόχρονα Μέχρι πριν λίγα χρόνια, τα συγκεκριµένα συστήµατα είχαν αρκετά υψηλό κόστος Πολυεπεξεργαστικά Συστήµατα Οιυπολογιστικές ανάγκες των χρηστών συνεχώς αυξάνονται Ανάγκη για παράλληλη επεξεργασία χωρίς επιπλέον κόστος Σε επίπεδο υλικού (π.χ. ειδικές µητρικές πλακέτες) Σε επίπεδο λογισµικού (π.χ. άδειες λειτουργικού συστήµατος) Λύσεις: Επεξεργαστές µε τεχνολογία Hyper-threading (SMT) Επεξεργαστές µε τεχνολογία Multi-Core E-85: Ε.Θ.Λ: Προγραµµατισµός Συστηµάτων Υψηλών Επιδόσεων 9 E-85: Ε.Θ.Λ: Προγραµµατισµός Συστηµάτων Υψηλών Επιδόσεων 10 Τεχνολογία Hyper-Threading Τοσύστηµα διαθέτει έναν φυσικό επεξεργαστή µε δύο λογικούς επεξεργαστές ιαµοίραση των λειτουργικών µονάδων εκτέλεσης του επεξεργαστή Τεχνολογία Multi-Core Στηνπερίπτωση αυτή έχουµε στο ίδιο chip, δύο ή περισσότερους επεξεργαστικούς πυρήνες Απόδοση παρόµοια µε αυτή των παραδοσιακών πολυεπεξεργαστικών συστηµάτων E-85: Ε.Θ.Λ: Προγραµµατισµός Συστηµάτων Υψηλών Επιδόσεων 11 E-85: Ε.Θ.Λ: Προγραµµατισµός Συστηµάτων Υψηλών Επιδόσεων 12 2

Γενική Πολυπύρηνη Αρχιτεκτονική Αρχιτεκτονική Cell Broadband Engine E-85: Ε.Θ.Λ: Προγραµµατισµός Συστηµάτων Υψηλών Επιδόσεων 13 E-85: Ε.Θ.Λ: Προγραµµατισµός Συστηµάτων Υψηλών Επιδόσεων 14 Αρχιτεκτονική NVIDIA GPU G80 Εµπορικά Πολυπύρηνα Συστήµατα E-85: Ε.Θ.Λ: Προγραµµατισµός Συστηµάτων Υψηλών Επιδόσεων 15 E-85: Ε.Θ.Λ: Προγραµµατισµός Συστηµάτων Υψηλών Επιδόσεων 16 Θέµατα Λογισµικού Απαραίτητη η υποστήριξη από το λειτουργικό σύστηµα Πολυπρογραµµατισµός: ταυτόχρονη εκτέλεση πολλών ανεξάρτητων προγραµµάτων Βασικές τεχνικές προγραµµατισµού για την εκµετάλλευση των πολλαπλών επεξεργαστών - πυρήνων ιεργασίες (µεγάλο κόστος, δυσκολία προγραµµατισµού) Νήµατα (µικρό κόστος, ευκολία προγραµµατισµού) OpenMP (έµµεση χρήση νηµάτων, ελάχιστη προσπάθεια) MPI (ρουτίνες ρητής µετακίνησης δεδοµένων µεταξύ διεργασιών, δυσκολία προγραµµατισµού) Υπολογισµός του π ακολουθιακή έκδοση E-85: Ε.Θ.Λ: Προγραµµατισµός Συστηµάτων Υψηλών Επιδόσεων 17 E-85: Ε.Θ.Λ: Προγραµµατισµός Συστηµάτων Υψηλών Επιδόσεων 18 3

Υπολογισµός του π πολυνηµατική έκδοση #include <pthread.h> #define NUM_THREADS 2 pthread_t thread[num_threads]; pthread_mutex_t UpdateMutex; double global_sum = 0.0; void *Pi (void *arg) { int i, start; double x, sum = 0.0; start = *(int *) arg; for (i=start;i<= num_steps; i=i+num_threads){ pthread_mutex_lock (&UpdateMutex); global_sum += sum; pthread_mutex_unlock(&updatemutex); { double pi; int i; int Arg[NUM_THREADS]; for(i=0; i<num_threads; i++) threadarg[i] = i+1; pthread_mutex_init (&UpdateMutex, NULL); for (i=0; i<num_threads; i++) pthread_create(&thread[i], NULL, Pi,&Arg[i]); for (i=0; i<num_threads; i++) pthread_join(thread[i], NULL); pi = global_sum * step; E-85: Ε.Θ.Λ: Προγραµµατισµός Συστηµάτων Υψηλών Επιδόσεων 19 Υπολογισµός του π ακολουθιακή έκδοση E-85: Ε.Θ.Λ: Προγραµµατισµός Συστηµάτων Υψηλών Επιδόσεων 20 Υπολογισµόςτου π µε χρήση του OpenMP #include <omp.h> static long #define NUM_THREADS 2 Υπολογισµός του π ακολουθιακή έκδοση omp_set_num_threads(num_threads); #pragma omp parallel for reduction(+:sum) private(x) E-85: Ε.Θ.Λ: Προγραµµατισµός Συστηµάτων Υψηλών Επιδόσεων 21 E-85: Ε.Θ.Λ: Προγραµµατισµός Συστηµάτων Υψηλών Επιδόσεων 22 Υπολογισµόςτου π µε χρήση του MPI #include <mpi.h> int main(int argc,char *argv[]) { int i, me, nproc; double x, pi, sum=0.0, local_pi; MPI_Init(&argc, &argv); MPI_Comm_size( MPI_COMM_WORLD, &numprocs); MPI_Comm_rank( MPI_COMM_WORLD, &myid); <core execution code> MPI_Finalize(); if (myid == 0) MPI_Bcast(&numsteps, 1, MPI_INT, 0, MPI_COMM_WORLD); for (i=1;i<= num_steps; i+=numprocs){ local_ MPI_Reduce(&local_pi, &pi, 1, MPI_DOUBLE, MPI_SUM, 0, MPI_COMM_WORLD); E-85: Ε.Θ.Λ: Προγραµµατισµός Συστηµάτων Υψηλών Επιδόσεων 23 OpenMP Μοντέλο προγραµµατισµού για παράλληλα συστήµατα Οδηγίες προς τον µεταγλωττιστή ώστε να παράγει κώδικα µε νήµατα Όλες οι µεγάλες εταιρίες το υποστηρίζουνή/και αποφασίζουν για την εξέλιξή του Intel, SUN, IBM, Microsoft (Visual Studio 2005) GNU GCC 4.2 Ερευνητικοί compilers Omni (Ιαπωνία), NANOS (Ισπανία), OpenUH (ΗΠΑ), OMPi (Ελλάδα) E-85: Ε.Θ.Λ: Προγραµµατισµός Συστηµάτων Υψηλών Επιδόσεων 24 4

Παραδείγµατα εφαρµογών Σύστηµα εντοπισµού προσώπου σε εικόνες (face detection) Αλγόριθµος οµαδοποίησης δεδοµένων (data clustering) Εντοπισµός προσώπου Στόχοςη δυνατότητα επεξεργασίας εικόνων σε πραγµατικό χρόνο Σύστηµα εντοπισµού προσώπου: Delakis & Garcia E-85: Ε.Θ.Λ: Προγραµµατισµός Συστηµάτων Υψηλών Επιδόσεων 25 E-85: Ε.Θ.Λ: Προγραµµατισµός Συστηµάτων Υψηλών Επιδόσεων 26 Εντοπισµός προσώπου Χρονοβελτίωση σε σύστηµα µε 4 επεξεργαστές = 3.5 Επίτευξη: εκτέλεση του αλγορίθµου εντοπισµού προσώπου σε πραγµατικό χρόνο σε ένα οικονοµικό υπολογιστικό σύστηµα. Οµαδοποίηση δεδοµένων ιαχώρισηπαρόµοιων δεδοµένων σε συστάδες Παραλληλοποίηση ενός αλγορίθµου (CURE) µε χρήση του µοντέλου OpenMP Χρονοβελτίωση Εφαρµογής Speedup 4.0 3.5 3.0 2.5 2.0 1.5 1.0 0.5 0.0 ` GCC42 SUNCC ICC OMPI/ICC OpenMP Compiler T=2 T=3 T=4 E-85: Ε.Θ.Λ: Προγραµµατισµός Συστηµάτων Υψηλών Επιδόσεων 27 E-85: Ε.Θ.Λ: Προγραµµατισµός Συστηµάτων Υψηλών Επιδόσεων 28 Οµαδοποίηση δεδοµένων Οµαδοποίηση δεδοµένων Πολύµεγάλος αλλά προβλέψιµος χρόνος εκτέλεσης Χρονοβελτίωση στους 4 επεξεργαστές: ~3.5x 12 Χρονοβελτίωση Οµαδοποίησης εδοµένων Εγγραφές Χρόνος (s) 10K 58.5 100K (*) Χρόνος εκτέλεσης από 7 σε 2 ηµέρες 1M 5885 591472 * ~ x10 2 ~ x10 4 Speedup 11 10 9 8 7 6 5 4 3 P=1 P=2 P=4 P=6 P=8 P=10 P=12 2 1 0 r=10,a=0.3 Parameters E-85: Ε.Θ.Λ: Προγραµµατισµός Συστηµάτων Υψηλών Επιδόσεων 29 E-85: Ε.Θ.Λ: Προγραµµατισµός Συστηµάτων Υψηλών Επιδόσεων 30 5

Μοντέλα Προγραµµατισµού (σήµερα) Μοντέλα Προγραµµατισµού (µέλλον) E-85: Ε.Θ.Λ: Προγραµµατισµός Συστηµάτων Υψηλών Επιδόσεων 31 E-85: Ε.Θ.Λ: Προγραµµατισµός Συστηµάτων Υψηλών Επιδόσεων 32 6