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

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Συγκριτική μελέτη διεπιφανειών παράλληλου προγραμματισμού σε εφαρμογές εύρεσης κωδικού κρυπτογραφημένου με αλγόριθμο MD5"

Transcript

1 Συγκριτική μελέτη διεπιφανειών παράλληλου προγραμματισμού σε εφαρμογές εύρεσης κωδικού Πανεπιστήμιο Μακεδονίας Τμήμα Εφαρμοσμένης Πληροφορικής Πρόγραμμα Μεταπτυχιακών Σπουδών Ειδίκευσης Συστήματα Υπολογιστών Διπλωματική Εργασία Διονύσιος Σαλονικίδης 1

2 Σκοπός της έρευνας Να γίνει σύγκριση των παράλληλων υλοποιήσεων όχι μόνο ως προς την απόδοσή τους, αλλά και ως προς την ευχρηστία στον προγραμματισμό τους. Στόχος της έρευνας Να βρεθούν οι καλύτερες υλοποιήσεις των παράλληλων APIs ως προς τις μεθόδους προγραμματισμού τους, ώστε να επιτευχθεί σε κάθε περίπτωση η μέγιστη και καλύτερη αξιοποίηση της χρήσης της CPU ή της GPU. Περιορισμοί της έρευνας - 1 Υπολογισμός π με την μέθοδο Monte Carlo (συγκεκριμένες επαναλήψεις). Εύρεση κωδικού κρυπτογραφημένου με MD5. Έλεγχος εκτυπώσιμων λατινικών χαρακτήρων του πίνακα ASCII (95). Άγνωστο μήκος κωδικού (έως 8 χαρακτήρες). Χρησιμοποιήθηκαν συγκεκριμένα περιβάλλοντα ανάπτυξης (IDEs), διεπιφάνειες παράλληλου προγραμματισμού (APIs) και μεταγλωττιστές (Compilers): Code Blocks OpenMP 3.1, C language, GCC TPL, C# language,.net Framework 4 Microsoft Visual Studio 2010 Nvidia CUDA, CUDA C, CUDA SDK 4.1

3 Περιορισμοί της έρευνας - 2 Χρησιμοποιήθηκε συγκεκριμένο υλικό σε επίπεδο CPU και GPU: CPU Intel Core i7 2600, 3.4GHz Cores 4 Threads 8 L1 Cache 128KB (4 32KB), for Data L1 Cache 128KB (4 32KB), for Instrument L2 Cache 1MB (4 256KB) L3 Cache 8MB, Shared RAM 8GB, DDR3 OS Microsoft Windows 7 64bit Card Nvidia GeForce GTX-460, 1800MHz Architecture GF104 (Fermi) RAM 1GB, GDDR5 Simultaneous Multiprocessors (SM) (disable) Cores/SM 48 (8 x 6) CUDA Cores 336 (7SM 48C/SM) Compute Capability 2.1 Threads/Multiprocessor Total Threads (7M 1.024T/M) 1 Warp 32 Threads 3 32 Warp Threads (32W 32T)

4 Αρχιτεκτονικές παράλληλων υπολογιστών - 1 Ταξινόμηση Flynn: Απλή εντολή απλά δεδομένα (Single Instruction Single Data - SISD). Κάθε χρονική στιγμή εκτελείται μόνο μία εντολή (IS) και μόνο μία ροή δεδομένων (DS) υφίσταται επεξεργασία (τυπικοί σειριακοί υπολογιστές). Απλή εντολή πολλαπλά δεδομένα (Single Instruction Multiple Data - SIMD). Μια κεντρική μονάδα ελέγχου (CU) με πολλές μονάδες επεξεργασίας (PU). Σε κάθε χρονική στιγμή εκτελείται η ίδια εντολή από όλες τις μονάδες επεξεργασίας, αλλά κάθε μία από αυτές επεξεργάζεται διαφορετική ροή δεδομένων (υπολογιστές με μονάδες επεξεργασίας GPU). IS IS1 ISN MEMORY SISD CU PU MEMORY MISD IS1 CU1 PU1 DS DS ISN DS CUN PUN MEMORY SIMD IS CU IS PU1 DS1 IS PUN DSN MEMORY MIMD IS1 IS1 DS1 CU1 PU1 ISN ISN DSN CUN PUN 4

5 Αρχιτεκτονικές παράλληλων υπολογιστών - 2 Ταξινόμηση Flynn: Πολλαπλές εντολές απλά δεδομένα (Multiple Instruction Single Data - MISD). Πολλές επεξεργαστικές μονάδες που κάθε IS μία έχει τον δικό της ελεγκτή και εκτελεί διαφορετικές εντολές από τις άλλες. Τα CU δεδομένα που επεξεργάζονται προέρχονται όλα από την ίδια ροή. Πολλαπλές εντολές πολλαπλά δεδομένα (Multiple Instruction Multiple Data - MIMD). Πολλές CPUs συνδέονται μεταξύ τους με δίαυλο και μοιραζόμενη μνήμη (Multiprocessors, Shared Memory), είτε πολλοί υπολογιστές συνδέονται μεταξύ IS1 IS1 CU1 τους μέσω δικτύου και κατανεμημένης μνήμης (Multicomputers, Distributed ISN ISN Memory). Κάθε CPU μπορεί να εκτελέσει CUN διαφορετική ροή εντολών (ή διαφορετική εντολή από την ίδια ροή) και να επεξεργάζεται διαφορετική ροή δεδομένων ή διαφορετικά δεδομένα από την ίδια ροή (σύγχρονα πολυπύρηνα συστήματα). 5 MEMORY SISD MEMORY MISD PU PU1 PUN DS DS DS MEMORY SIMD IS CU IS PU1 DS1 IS PUN DSN MEMORY MIMD IS1 IS1 DS1 CU1 PU1 ISN ISN DSN CUN PUN

6 Αρχιτεκτονικές παράλληλων υπολογιστών - 3 Πολλαπλές εντολές πολλαπλά δεδομένα (Multiple Instruction Multiple Data - MIMD): Υπολογιστές μοιραζόμενης μνήμης ή πολυεπεξεργαστές (Shared Memory, Multiprocessors). Κοινή πρόσβαση σε έναν καθολικό χώρο διευθύνσεων. CPU Υπολογιστές κατανεμημένης μνήμης ή πολυ-υπολογιστές (Distributed Memory, Multicomputers). Κάθε επεξεργαστής έχει τοπική ιδιωτική μνήμη και επικοινωνεί με τις μνήμες όλων των υπολοίπων μέσω δικτύου και ρητή συμμετοχή της απομακρυσμένης CPU. CPU MEMORY CPU MEMORY Network CPU MEMORY CPU CPU MEMORY CPU MEMORY CPU CPU CPU MEMORY CPU CPU MEMORY Υβριδικούς υπολογιστές. Συνδυασμός των υπολογιστών με μοιραζόμενη και κατανεμημένη μνήμη. CPU CPU MEMORY Network CPU CPU MEMORY 6

7 Αρχιτεκτονικές παράλληλων υπολογιστών - 4 Υπολογιστές μοιραζόμενης μνήμης ή πολυεπεξεργαστές (Shared Memory, Multiprocessors): Συμμετρικοί πολυεπεξεργαστές (Symmetric Multiprocessors - SMPs). Διαθέτουν πανομοιότυπους επεξεργαστές με ομοιόμορφη προσπέλαση μνήμης (Uniform Memory Access - UMA). Όλες οι CPUs έχουν τον ίδιο χρόνο προσπέλασης στην μνήμη. Αντικαταστάθηκαν από τους πολυπύρηνους επεξεργαστές (Multicores). Αντί να έχουμε έναν υπολογιστή με πολλές CPUs έχουμε μία CPU με πολλούς πυρήνες (Cores). Multithreading / Hyperthreading. Επιτρέπει στις CPUs να διαχειρίζονται περισσότερα του ενός νήματα (Threads) την ίδια στιγμή, ώστε να καλύψουν τους νεκρούς χρόνους (Stall) κάθε νήματος. 7

8 Μοντέλα παράλληλου προγραμματισμού Δεν συνδέονται άμεσα με συγκεκριμένες αρχιτεκτονικές. Κάθε μοντέλο μπορεί να υλοποιηθεί σε οποιαδήποτε αρχιτεκτονική. Μοντέλο των νημάτων (Parallel Thread). Κάθε διεργασία μπορεί να έχει πολλά συνδρομικά νήματα. Τέτοια νήματα δημιουργούνται σειριακά από μια κοινή διεργασία (Process), μπορούν να εκτελεστούν παράλληλα και καταργούνται από το κύριο πρόγραμμα (POSIX Threads και OpenMP). Μοντέλο μεταβίβασης μηνυμάτων (Message Passing). Κάθε εργασία επικοινωνεί με τις υπόλοιπες μέσω αποστολής και λήψης μηνυμάτων μέσω δικτύου ή διαμοιραζόμενης μνήμης (MPI). Υβριδικό μοντέλο. Συνδυασμός του μοντέλου νημάτων και μεταβίβασης μηνυμάτων. 8

9 Σχεδιασμός παράλληλων προγραμμάτων Σύνθετη διαδικασία για τον προγραμματιστή. Εντοπισμός των τμημάτων κώδικα που μπορούν να παραλληλοποιηθούν. Βοηθητικά προγράμματα για την αυτόματη μετατροπή ορισμένου τύπου ακολουθιακών προγραμμάτων σε παράλληλα: Παράλληλοι μεταγλωττιστές (Parallelizing Compilers). Αυτόματη λειτουργία (παραλληλισμός βρόχων επανάληψης). Καθοδηγούμενη λειτουργία (ορισμός σημείων προς παραλληλισμό). Χειροκίνητη μέθοδος: Κατανόηση του προβλήματος. Έλεγχος αν το πρόβλημα μπορεί να παραλληλοποιηθεί και σε πιο βαθμό (πλήρης ή μερικός παραλληλισμός). Επιμερισμός των δεδομένων ή των λειτουργιών. Από πλευράς αλγορίθμου: Παραλληλισμός δεδομένων (Data Parallel). Κάθε εργασία δουλεύει σε διαφορετικά δεδομένα. Παραλληλισμού λειτουργιών (Task Parallel). Προσοχή σε θέματα συγχρονισμού δεδομένων, εξισορρόπηση φορτίου, είσοδο και έξοδο δεδομένων. 9

10 Μετρικές αξιολόγησης παράλληλων προγραμμάτων - 1 Νόμος του Amdahl. Υπολογισμός της μέγιστης επιτάχυνσης (S) ενός αλγορίθμου, όταν αυτός παραλληλοποιηθεί με βάση τον αριθμό των επεξεργαστών που χρησιμοποιούνται (N). Όπου 1-Ρ ο χρόνος εκτέλεσης του σειριακού τμήματος και Ρ του παράλληλου. S(Ν) = 1 1 P + P Ν 10

11 Μετρικές αξιολόγησης παράλληλων προγραμμάτων - 2 Με τον νόμο του Amdahl δημιουργήθηκε η εντύπωση ότι υπολογιστικά συστήματα με μεγάλο αριθμό επεξεργαστών δεν θα έπρεπε να υφίστανται, από την στιγμή που η απόδοσή τους είναι πολύ μικρή. Νόμος του Gustafson. Το s αντιπροσωπεύει το σειριακό ποσοστό του χωρίς κλιμάκωση φόρτου εργασίας. Ο συντελεστής s, με την σειρά του, εξαρτάται από το μέγεθος του προβλήματος. S(Ν) = Ν s (Ν 1) 11

12 Μετρικές αξιολόγησης παράλληλων προγραμμάτων - 3 Ωφελιμότητα ενός επεξεργαστή: άθροισμα των χρόνων του συστήματος προς τον συνολικό χρόνο εκτέλεσης. CPU Util. = CPU T1 + CPU T2 + CPU T3 Total Time Χρόνος CPU: εξαρτάται από το πλήθος των εντολών (Instruction Count) και τον μέσο χρόνο εκτέλεσης (Average Execution Time) των εντολών. CPU Time = Instruction Count Average Execution Time 12

13 Παράλληλα APIs - OpenMP Κάθε πρόγραμμα διαθέτει ένα κυρίως νήμα το Master Thread. Το νήμα αυτό εκτελεί τον κώδικα σειριακά. Κάθε φορά που συναντά μια δήλωση για παραλληλισμό (κατάσταση Fork), το Master Thread διοχετεύει τα ανάλογα νήματα (που ορίζονται από τον κώδικα) προς εκτέλεση στους πυρήνες του επεξεργαστή (ή των επεξεργαστών). Μετά την εκτέλεση κάθε νήματος ο έλεγχος επιστρέφει στο κυρίως νήμα (κατάσταση Join) που συνεχίζει την εκτέλεση του υπόλοιπου κώδικα κ.ο.κ. Parallel Region 1 Parallel Region 2 Parallel Region 3 Fork Thread 1.Α Join Fork Thread 2.Α Join Fork Thread 3.Α Join Master Thread Thread 1.B Thread 1.C Master Thread Thread 2.B Thread 2.C Master Thread Thread 3.B Thread 3.C Master Thread 13

14 Παράλληλα APIs - TPL Αποτελεί μέρος του προγραμματιστικού πλαισίου.net Framework. Αν και υποστηρίζει τον παραλληλισμό λειτουργιών, κυρίως χρησιμοποιείται για παραλληλισμό δεδομένων. Η δημιουργία των νημάτων δεν ελέγχεται από τον προγραμματιστή (για λόγους ασφαλείας του συστήματος), αλλά από την TPL. Είναι δύσκολο να πετύχουμε μεγάλο utilization στην CPU. 14

15 Παράλληλα APIs - CUDA Μεταφορά των δεδομένων από την κύρια μνήμη του συστήματος στην μνήμη της GPU, η παράλληλη εκτέλεση του κώδικα στην GPU (kernel) και η επιστροφή τους πίσω στην κύρια μνήμη. Main Memory 1 CPU GPU Memory 4 3 GPU 15

16 Aρχιτεκτονική Fermi GF104-1 Διαθέτει 2 GPC (Graphics Processing Clusters) που το καθένα διαθέτει 4 SM (Simultaneous Multiprocessors). Συνολικά διαθέτει 2 4 = 8SM, εκ των οποίων το ένα βρίσκεται σε κατάσταση disable, εξ αρχής για την ολοκλήρωση βασικών λειτουργιών της κάρτας. 16

17 Aρχιτεκτονική Fermi GF104-2 Κάθε μία από τις 7 SM που απομένουν αποτελείται από μια συστοιχία πύρινων CUDA (Cuda Cores) πλήθους 8 x 6 = 48 CUDA Cores. Συνολικά διαθέτει 48 7 = 336 CUDA Cores. 17

18 Aρχιτεκτονική Fermi GF104-3 Τα νήματα που θα εκτελεστούν από τα CUDA Cores θα πρέπει να είναι ομαδοποιημένα σε Blocks και Grids. Κάθε Grid περιλαμβάνει έναν αριθμό από Blocks. Κάθε Block περιέχει Threads προς εκτέλεση. Τα νήματα δεν μπορούν να εκτελεστούν όλα παράλληλα. Με βάση το βοηθητικό αρχείο Excel που προσφέρει η Nvidia τα ενεργά νήματα ανά SM μπορεί να είναι έως Με 7SM που διαθέτουμε θα έχουμε συνολικά 7SM 1.024T = Total Active Threads. N / blocksize Gridsize, Blocks Blocksize, Threads Blocks Threads = N data / x 64 = x 16 = = (1.024 x 1.024) / x 32 = x 32 = = (1.024 x 1.024) / x 64 = x 32 = = (2.048 x 2.048) blocksize warp Threads / SM (1W = 32T) Threads 16 8 (8 32) = 256 (7 256) = (32 32) = ( ) = 7.168

19 Μέθοδοι εύρεσης κρυπτογραφημένου κωδικού Xρήση λεξικών: δεν αναγνωρίζει νοηματικά ίδιες λέξεις, διαφοροποιείται ανάλογα με την εθνικότητα του χρήστη (ελληνικά, αγγλικά, γαλλικά λεξικά). Μέθοδος Brute Force: σίγουρο ότι κάποτε θα βρεθεί, χρονοβόρα τακτική, πολλές φορές δηλώνεται ο αριθμός των χαρακτήρων και το μέγεθος του κωδικού για εξοικονόμηση χρόνου. Χρήση πινάκων Rainbow: πολύ γρήγορη μέθοδος εύρεσης, προϋποθέτει ότι ο κωδικός θα πρέπει να βρίσκεται μέσα στον πίνακα. 19

20 Αλγόριθμος MD5-1 Ο αλγόριθμος MD5 (Message-Digest Algorithm) δημιουργήθηκε από τον Ronald Rivest (1992) και παρουσιάστηκε στο RFC Αρχικά το μήνυμα προς κρυπτογράφηση Χ μετατρέπεται σε bit. Κάθε χαρακτήρας της λέξης Χ αναπαριστάται σε 8bit που αντιστοιχούν στον αντίστοιχο δεκαδικό αριθμό του πίνακα ASCII. Έτσι, αν Χ = 123, τότε το μήνυμα σε απεικόνιση bit θα είναι:

21 Αλγόριθμος MD5-2 Η λέξη Χ θα πρέπει να αναπαρασταθεί με 512bits. Αρχικά προστίθεται στο τέλος του Χ ένα bit με τιμή 1. Στη συνέχεια προστίθενται μηδενικά bits, ώστε το μέγεθος του Χ να φτάσει τα 64bits. Στα υπόλοιπα bit τοποθετείται το αρχικό μέγεθος του Χ (3 8 = 24) σε bits ( ). Έτσι το Χ που θα προκύψει θα είναι:

22 Αλγόριθμος MD5-3 Ολοκληρώνεται σε 4 κύκλους (rounds), κάθε ένας από τους οποίους περιέχει 16 αριθμητικές πράξεις (operations). Σε κάθε round παίρνουν μέρος 4 ομάδες A, B, C, D (αρχικά ξεκινούν με σταθερές τιμές) των 32bit η κάθε μία, άρα συνολικά 128bit (4 32) σε κάθε γύρο. Συνολικά και για τους 4 γύρους απαιτούνται 64 operations (4 16). Κάθε γύρος χρησιμοποιεί από το μήνυμα Χ των 512bits, τα 128bit (4 128=512). Το Τ είναι ένας πίνακας 64 σταθερών τιμών που κάθε γύρος χρησιμοποιεί 16 από αυτές (4 16=64). Η αριστερή ολίσθηση S ορίζεται για κάθε γύρο με 16 τιμές, που δηλώνουν τα bits ολίσθησης, συνολικά 64 μετατόπισης (4 16=64). Σε κάθε γύρο εκτελείται και μια συνάρτηση F. F X, Y, Z = X Y X Z G X, Y, Z = X Z (Y Z) H X, Y, Z = X Y Z I X, Y, Z = Y X Z Όπου X, Y, Z είναι ένα από τα A, B, C, D που παίρνουν μέρος σε κάθε γύρο. Όπου οι λογικές πράξεις AND, OR, NOT και XOR: 22

23 Παράλληλες υλοποιήσεις MD5 Κάνοντας χρήση των καταχωρητών (Registers) SSE της CPU. Παραλληλοποιεί την εύρεση των A, B, C, D σε κάθε κύκλο του MD5. Το διάβασμα των δεδομένων γίνεται μόνο μία φορά, στην αρχή, από την RAM του συστήματος. Όλες οι υπόλοιπες αναφορές γίνονται από θέσεις μνήμης πολύ χαμηλού επιπέδου L1 ή L2 Cache. Οι περισσότερες προσπάθειες επικεντρώνονται στην εύρεση καλύτερου τρόπου παραλληλισμού των δεδομένων με χρήση νημάτων: Τα δεδομένα χωρίζονται σε ομάδες και κάθε νήμα δέχεται για επεξεργασία μία από αυτές τις ομάδες. Κάθε φορά που ένα νήμα τελειώνει τους υπολογισμούς που του ανατέθηκαν ενημερώνει μια κατάλληλη σημαία για τον βρέθηκε ή όχι το επιθυμητό Hash. OpenMP με MPI. CUDA με MPI. GPU Clusters (συστοιχίες από GPUs). Κάθε υπολογιστής διαθέτει περισσότερες από μία GPU συνδεδεμένες με έναν εσωτερικό δίαυλο π.χ. SLI (Scalable Link Interface). 23

24 Μεθοδολογία Code Blocks με C απλή εκτέλεση Main () { Read usr_psw; usr_hash = Compute_Hash (usr_psw); MD5BruteForce (usr_psw, time); MD5BruteForce (usr_psw, time) { while (!pswln &&!correct) { for (<create_all_combinations_for_x_length>) { psw = <create_next_combination>; MD5String (psw, md5psw); if (md5psw == usr_psw) correct = true; <next_length>; Display <some_info>; Display <results>; 24

25 Μεθοδολογία Code Blocks με C OpenMP MD5BruteForce (usr_psw, time) { while (!pswln &&!correct) { #<start_parallel_section> private (check,psw,md5psw) #<start_parallel_for>schedule(dynamic,chunk) nowait for (<create_all_combinations_for_x_length>) { #<start_critical_section> psw = <create_next_combination>; #<end_of_critical_section> MD5String (psw, md5psw); if (md5psw == usr_psw) correct = true; #<stop_parallel_for> <next_length>; #<stop_parallel_section> Display <some_info>; Display <results>; 25

26 Μεθοδολογία Visual Studio με C# απλή εκτέλεση Ίδια με την απλή εκτέλεση σε Code Blocks και C. Αρχικά έγινε χρήση έτοιμων μεθόδων της C# για την εύρεση του Hash. Οι μέθοδοι αυτοί αποδείχθηκαν πολύ αργοί (ελέγχθηκαν με την χρήση του Code Profiling του Visual Studio). Υλοποιήθηκε από την αρχή ο αλγόριθμος MD5 σύμφωνα με τις υποδείξεις της γλώσσας C#. 26

27 MD5BruteForce (usr_psw, time) { Μεθοδολογία Visual Studio με C# TPL while (!pswln &&!correct) { Display <results>; for (<create_all_combinations_for_x_length>) { <next_length>; Display <some_info>; for (<create_psw_table_with_n_combinations>) psw[ ] = <create_next_combination>; <start_parallel_section>createpartiotion(0,n,chunk) <set range> => <end range> <stop_parallel_section> <start_parallel_for> (O...N) { <stop_parallel_for> md5psw.fingerprint(); if (md5psw == usr_psw) correct = true; 27

28 Μεθοδολογία Visual Studio με CUDA C εύρεση κωδικού από CPU MD5BruteForce (usr_psw, time) { global MD5String (<variables>) { <defice_cpu_matrices> <defice_i_offset> <define_cpu_matrices_size> <define_j_offset> <define_gpu_matrices> <define_index_offset_with_ij> while (!pswln &&!find) { if (i<n && j<n) { for (<create_all_combinations_for_x_length>) { digest = <calculate_md5_hash>; for (<create_n*n_combinations>) { if (digest == usrpsw) apsw[ ] = <create_next_combination>; pos[ ] = <ij_possition>; len[ ] = <find_apsw_length>; <memory_copy_cpu_to_gpu>; <load_kernel_md5string>; <sync_all_gpu_threads>; <memory_copy_gpu_to_cpu>; if (pos[ ]!= -1) find = true; <next_length>; Display <some_info>; Display <results>; 28

29 Μεθοδολογία Visual Studio με CUDA C εύρεση κωδικού από GPU MD5BruteForce (usr_psw, time) { global MD5String (<variables>) { <defice_cpu_matrices> <defice_i_offset> <define_cpu_matrices_size> <define_j_offset> <define_gpu_matrices> <define_index_offset_with_ij> while (!pswln &&!find) { if (i<n && j<n) { for (<create_all_combinations_for_x_length>) { digest = <calculate_md5_hash>; for (<create_n*n_combinations>) { if (digest == usrpsw) apsw[ ] = <create_next_combination>; pos[0] = <ij_possition>; len[ ] = <find_apsw_length>; <memory_copy_cpu_to_gpu>; <load_kernel_md5string>; <sync_all_gpu_threads>; <memory_copy_gpu_to_cpu>; if (pos[0]!= -1) find = true; <next_length>; Display <some_info>; Display <results>; 29

30 Μετρήσεις εύρεσης κωδικού «12345» MD5VScCUDA MD5CB findposcpu simple OpenMP 1.024/ / /32 TstComb/sec time 0:34:32 0:10:55 TotalComb FinComb/sec MD5VScs TstComb/sec time 0:02:10 0:02:12 0:02:11 TotalComb FinComb/sec findposgpu simple TPL 1.024/ / /32 TstComb/sec time 1:02:06 0:23:57 TotalComb FinComb/sec TstComb/sec time 0:02:04 0:02:09 0:02:05 TotalComb FinComb/sec

31 Μετρήσεις διαφόρων κωδικών με OpenMP, TPL CB VS sec simple OpenMP chunk=95 chunk=47 chunk=190 sec simple TPL chunk=95 chunk=47 chunk= ,308 6,174 6,211 6, ,373 14,072 14,836 13, ,596 7,371 7,377 7,506 abcd 73,618 20,365 20,462 20,673 AsDf 79,291 20,753 20,852 21,258 q1w2 20,554 5,716 5,726 5, ,251 16,583 17,486 16,235 abcd 118,729 45,397 48,297 44,438 AsDf 123,823 47,106 49,722 46,053 q1w2 33,493 12,876 13,683 12,512 31

32 Μετρήσεις διαφόρων κωδικών με CUDA sec findposcpu findposgpu 1.024/ / / / / / ,357 1,367 1,539 1,301 1,321 1, ,591 1,604 1,828 1,504 1,541 1,751 abcd 4,354 4,407 4,531 4,149 4,258 4,357 AsDf 4,461 4,482 4,534 4,244 4,313 4,329 q1w2 1,283 1,306 1,515 1,211 1,246 1,441 32

33 Συμπεράσματα - 1 Οι χρόνοι εύρεσης των κωδικών εξαρτώνται από την σειρά με την οποία δημιουργούνται. Οι συνεχόμενοι ή τυχαίοι, αριθμοί ή χαρακτήρες, δεν επηρεάζουν το αποτέλεσμα. Το ιδανικό μέγεθος της μεταβλητής chunk είναι ίσο με το πλήθος των στοιχείων που χρησιμοποιούνται για τον σχηματισμό των κωδικών. Υπάρχει διαφορά στις υλοποιήσεις OpenMP και TPL (διαφορές ακόμα και μεταξύ των γλωσσών προγραμματισμού C και C#). Εφαρμόζοντας τον νόμο Amdahl προκύπτουν οι παρακάτω τιμές για την αποδοτικότητα Ε (σε σύγκριση με το βέλτιστο θεωρητικό επίπεδο παραλληλισμού): Με OpenMP: Ε MD5 = 43%, E MC = 47% Με TPL: Ε MD5 = 31%, E MC = 13% Ο νόμος του Amdahl δεν λαμβάνει υπόψη το μέγεθος του υπολογιστικού προβλήματος. Η αποδοτικότητα που προέκυψε αφορά τις συγκεκριμένες υλοποιήσεις με αριθμό επαναλήψεων Ν (οι επαναλήψεις που απαιτούνται για την εύρεση του κωδικού). Στην περίπτωση του OpenMP οι καθυστερήσεις οφείλονται από την σειριακή εκτέλεση του κώδικα παραγωγής του επόμενου προς έλεγχο κωδικού (MD5), στην αργή παραγωγή τυχαίων αριθμών και στο critical τμήμα αύξησης του μετρητή (MC). Στην περίπτωση της TPL οι καθυστερήσεις εντοπίστηκαν στο γέμισμα των τιμών του πίνακα Ν-στοιχείων, το οποίο εκτελείται σειριακά (MD5), στους μεγάλους χρόνους εκτέλεσης των εντολών, στην αργή παραγωγή τυχαίων αριθμών και στο critical τμήμα αύξησης του μετρητή (MC). 33

34 Συμπεράσματα - 2 Η χρήση της GPU ως μονάδας ελέγχου της θέσης του κωδικού αύξησε τον παραλληλισμό και την αποδοτικότητα της συγκεκριμένης υλοποίησης. findposcpu findposgpu 1.024/ / / / / /32 Threads E MD5 0,64 0,63 0,63 0,64 0,64 0,65 E MC 0,92 Η διαφορετικότητα των μετρήσεων οφείλεται στην μεταβολή του όγκου των δεδομένων. Οι απώλειες στην αποδοτικότητα οφείλονται στο σειριακό τμήμα που αφορά τους πίνακες (δημιουργία των πινάκων, γέμισμα των τιμών τους και σύγκριση με το Hash του χρήστη). Στους χρόνους που μετρήθηκαν εμπεριέχονται οι χρόνοι για την μεταφορά των δεδομένων από την μνήμη συστήματος στη μνήμη της GPU και το αντίστροφο. 34

35 Επεκτάσεις - βελτιώσεις Υλοποίηση αλγορίθμου: Υλοποίηση του MD5 σε Assembly. Αρχιτεκτονική παράλληλου συστήματος: Υβριδικό μοντέλο διαμοιραζόμενης και κατανεμημένης μνήμης (OpenMP και MPI ή CUDA με MPI). Επεξεργασία δεδομένων: Στην περίπτωση της χρήσης GPU, ενσωμάτωση του βρόχου σχηματισμού του επόμενου κωδικού στον κώδικα του kernel, ώστε να εξαλείφουν οι καθυστερήσεις από την μεταφορά των δεδομένων από και προς την μνήμη του συστήματος και της κάρτας γραφικών. 35

Διονύσιος Σαλονικίδης. Μεταπτυχιακός Φοιτητής. Διπλωματική Εργασία. Επιβλέπων: Κωνσταντίνος Μαργαρίτης, Καθηγητής. Τμήμα Εφαρμοσμένης Πληροφορικής

Διονύσιος Σαλονικίδης. Μεταπτυχιακός Φοιτητής. Διπλωματική Εργασία. Επιβλέπων: Κωνσταντίνος Μαργαρίτης, Καθηγητής. Τμήμα Εφαρμοσμένης Πληροφορικής ΣΥΓΚΡΙΤΙΚΗ ΜΕΛΕΤΗ ΔΙΕΠΙΦΑΝΕΙΩΝ ΠΑΡΑΛΛΗΛΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΣΕ ΕΦΑΡΜΟΓΕΣ ΕΥΡΕΣΗΣ ΚΩΔΙΚΟΥ ΚΡΥΠΤΟΓΡΑΦΗΜΕΝΟΥ ΜΕ ΑΛΓΟΡΙΘΜΟ MD5 Διονύσιος Σαλονικίδης Μεταπτυχιακός Φοιτητής Διπλωματική Εργασία Επιβλέπων: Κωνσταντίνος

Διαβάστε περισσότερα

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

Αρχιτεκτονική Υπολογιστών Αρχιτεκτονική Υπολογιστών Παραλληλισμός Βασικές Πηγές: Αρχιτεκτονική Υπολογιστών: μια Δομημένη Προσέγγιση, Α. Tanenbaum, Vrije Universiteit, Amsterdam. Computer Architecture and Engineering, K. Asanovic,

Διαβάστε περισσότερα

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

Αρχιτεκτονική Υπολογιστών Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 13: (Μέρος Γ ) Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών

Διαβάστε περισσότερα

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

EM 361: Παράλληλοι Υπολογισμοί ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ EM 361: Παράλληλοι Υπολογισμοί Ενότητα #2: Αρχιτεκτονική Διδάσκων: Χαρμανδάρης Ευάγγελος ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΩΝ ΜΑΘΗΜΑΤΙΚΩΝ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΠΙΣΤΗΜΩΝ

Διαβάστε περισσότερα

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

Παράλληλα Συστήματα. Γιώργος Δημητρίου. Ενότητα 3 η : Παράλληλη Επεξεργασία. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής Γιώργος Δημητρίου Ενότητα 3 η : Παράλληλη Επεξεργασία Παράλληλες Αρχιτεκτονικές Παράλληλο σύστημα είναι ένα σύνολο από επεξεργαστικά στοιχεία (processing elements) τα οποία: συνεργάζονται για γρήγορη επίλυση

Διαβάστε περισσότερα

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

Αρχιτεκτονική Υπολογιστών Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 13: (Μέρος Γ ) Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών

Διαβάστε περισσότερα

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

Πολυπύρηνοι επεξεργαστές Multicore processors Πολυπύρηνοι επεξεργαστές Multicore processors 1 Μετάβαση στους πολυπύρηνους(1) Απόδοση των µονοεπεξεργαστών 25% ετήσια βελτίωση της απόδοσης από το 1978 έως το 1986 Κυρίως από την εξέλιξη της τεχνολογίας

Διαβάστε περισσότερα

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

Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας Ενότητα 2: Αρχιτεκτονικές Von Neuman, Harvard. Κατηγοριοποίηση κατά Flynn. Υπολογισμός απόδοσης Συστημάτων

Διαβάστε περισσότερα

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr Διπλωματικές

Διαβάστε περισσότερα

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

Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας Ενότητα 2: Αρχιτεκτονικές Von Neuman, Harvard. Κατηγοριοποίηση κατά Flynn. Υπολογισμός απόδοσης Συστημάτων

Διαβάστε περισσότερα

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

Παράλληλος προγραμματισμός: Σχεδίαση και υλοποίηση παράλληλων προγραμμάτων Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων Παράλληλος προγραμματισμός: Σχεδίαση και υλοποίηση παράλληλων προγραμμάτων 9 ο Εξάμηνο

Διαβάστε περισσότερα

Παράλληλη Επεξεργασία Κεφάλαιο 1 Γιατί Παράλληλος Προγραμματισμός;

Παράλληλη Επεξεργασία Κεφάλαιο 1 Γιατί Παράλληλος Προγραμματισμός; Παράλληλη Επεξεργασία Κεφάλαιο 1 Γιατί Παράλληλος Προγραμματισμός; Κωνσταντίνος Μαργαρίτης Καθηγητής Τμήμα Εφαρμοσμένης Πληροφορικής Πανεπιστήμιο Μακεδονίας kmarg@uom.gr http://eos.uom.gr/~kmarg Αρετή

Διαβάστε περισσότερα

ΕΘΝΙΚΟ ΚΑΙ ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ

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

Διαβάστε περισσότερα

Οργάνωση επεξεργαστή (2 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική

Οργάνωση επεξεργαστή (2 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική Οργάνωση επεξεργαστή (2 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική Ταχύτητα εκτέλεσης Χρόνος εκτέλεσης = (αριθμός εντολών που εκτελούνται) Τί έχει σημασία: Χ (χρόνος εκτέλεσης εντολής) Αριθμός

Διαβάστε περισσότερα

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

Αρχιτεκτονική Υπολογιστών Γιώργος Δημητρίου Ενότητα 11 η : Εισαγωγή σε Παράλληλες Αρχιτεκτονικές Παράλληλη Επεξεργασία Επίπεδο Παραλληλισμού Από εντολές έως ανεξάρτητες διεργασίες Οργανώσεις Παράλληλων Αρχιτεκτονικών Συμμετρικοί,

Διαβάστε περισσότερα

Η ΤΑΞΙΝΟΜΗΣΗ ΤΟΥ FLYNN!!! 1 ο ΕΠΑΛ ΡΟΔΟΥ ΤΟΜΕΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ!!!! Χατζηνικόλας Κώστας www.costaschatzinikolas.gr

Η ΤΑΞΙΝΟΜΗΣΗ ΤΟΥ FLYNN!!! 1 ο ΕΠΑΛ ΡΟΔΟΥ ΤΟΜΕΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ!!!! Χατζηνικόλας Κώστας www.costaschatzinikolas.gr Η ΤΑΞΙΝΟΜΗΣΗ ΤΟΥ FLYNN 1 ο ΕΠΑΛ ΡΟΔΟΥ ΤΟΜΕΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Χατζηνικόλας Κώστας www.costaschatzinikolas.gr Τα 4 Είδη Των Αρχιτεκτονικών Των Σύγχρονων Η/Υ Ο Michael J. Flynn 1 το 1966 πρότεινε τον χωρισμό

Διαβάστε περισσότερα

Παράλληλος προγραμματισμός: παράλληλες λ υπολογιστικές πλατφόρμες και ανάλυση προγραμμάτων

Παράλληλος προγραμματισμός: παράλληλες λ υπολογιστικές πλατφόρμες και ανάλυση προγραμμάτων Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων Παράλληλος προγραμματισμός: παράλληλες λ υπολογιστικές πλατφόρμες και ανάλυση προγραμμάτων

Διαβάστε περισσότερα

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

Παράλληλος προγραμματισμός: Σχεδίαση και υλοποίηση παράλληλων προγραμμάτων Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων Παράλληλος προγραμματισμός: Σχεδίαση και υλοποίηση παράλληλων προγραμμάτων 9 ο Εξάμηνο

Διαβάστε περισσότερα

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ << ΜΕΛΕΤΗ ΤΗΣ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ CUDA ΚΑΙ ΠΑΡΑΛΛΗΛΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΚΑΡΤΩΝ GPU ΤΗΣ NVIDIA >> Αρ. Μητρώου: 04/2519

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ << ΜΕΛΕΤΗ ΤΗΣ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ CUDA ΚΑΙ ΠΑΡΑΛΛΗΛΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΚΑΡΤΩΝ GPU ΤΗΣ NVIDIA >> Αρ. Μητρώου: 04/2519 ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ > Της φοιτήτριας ΚΕΛΑΪΔΗ ΑΙΜΙΛΙΑ Επιβλέπων καθηγητής ΔΙΑΜΑΝΤΑΡΑΣ ΚΩΝ/ΝΟΣ Αρ. Μητρώου: 04/2519 Θεσσαλονίκη

Διαβάστε περισσότερα

Πληροφορική Ι. Μάθημα 6 ο Εκτέλεση πράξεων, Αρχιτεκτονική Η/Υ. Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας

Πληροφορική Ι. Μάθημα 6 ο Εκτέλεση πράξεων, Αρχιτεκτονική Η/Υ. Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας Πληροφορική Ι Μάθημα 6 ο Εκτέλεση πράξεων, Αρχιτεκτονική Η/Υ Δρ. Γκόγκος Χρήστος Εκτέλεση προγραμμάτων Πρόγραμμα: Ένα σύνολο από εντολές.

Διαβάστε περισσότερα

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

Παράλληλος προγραμματισμός: Σχεδίαση και υλοποίηση παράλληλων προγραμμάτων Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων Παράλληλος προγραμματισμός: Σχεδίαση και υλοποίηση παράλληλων προγραμμάτων 9 ο Εξάμηνο

Διαβάστε περισσότερα

2. Στοιχεία Αρχιτεκτονικής Παράλληλων Υπολογιστών... 45

2. Στοιχεία Αρχιτεκτονικής Παράλληλων Υπολογιστών... 45 ΠΕΡΙΕΧΟΜΕΝΑ Πρόλογος... 9 1. Εισαγωγή... 13 1.1 Οι Μεγάλες Σύγχρονες Επιστημονικές Προκλήσεις... 13 1.2 Εξέλιξη της Παράλληλης Επεξεργασίας Δεδομένων... 14 1.3 Οι Έννοιες της Σωλήνωσης, του Παραλληλισμού

Διαβάστε περισσότερα

ΣΥΣΤΗΜΑΤΑ ΠΑΡΑΛΛΗΛΗΣ ΕΠΕΞΕΡΓΑΣΙΑΣ 9o εξάμηνο ΗΜΜΥ, ακαδημαϊκό έτος

ΣΥΣΤΗΜΑΤΑ ΠΑΡΑΛΛΗΛΗΣ ΕΠΕΞΕΡΓΑΣΙΑΣ 9o εξάμηνο ΗΜΜΥ, ακαδημαϊκό έτος ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΞΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ http://www.cslab.ece.ntua.gr ΣΥΣΤΗΜΑΤΑ

Διαβάστε περισσότερα

13.2 Παράλληλος Προγραµµατισµός Γλωσσάρι, Σελ. 1

13.2 Παράλληλος Προγραµµατισµός Γλωσσάρι, Σελ. 1 13.2 Παράλληλος Προγραµµατισµός Γλωσσάρι, Σελ. 1 ΓΛΩΣΣΑΡΙ Αµοιβαίος αποκλεισµός (mutual exclusion) Στο µοντέλο κοινού χώρου διευθύνσεων, ο αµοιβαίος αποκλεισµός είναι ο περιορισµός του αριθµού των διεργασιών

Διαβάστε περισσότερα

All Pairs Shortest Path

All Pairs Shortest Path All Pairs Shortest Path χρησιμοποιώντας Κυπριώτη Αικατερίνη 6960 Μόσχογλου Στυλιανός 6978 20 Ιανουαρίου 2012 Περιεχόμενα 1 Πρόλογος 3 2 Ο σειριακός APSP 3 3 Η παραλληλοποίηση με 5 3.1 Το προγραμματιστικό

Διαβάστε περισσότερα

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

Παράλληλη Επεξεργασία Παράλληλη Επεξεργασία Φροντιστήριο: Εισαγωγή στο OpenMP Εργαστήριο Πληροφοριακών Συστημάτων Υψηλής Επίδοσης Parallel and Distributed Systems Group Τι είναι το OpenMP Πρότυπο Επέκταση στη C/C++ και τη Fortran

Διαβάστε περισσότερα

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

Παράλληλη Επεξεργασία Παράλληλη Επεξεργασία Φροντιστήριο: Προετοιμασία για προγραμματισμό στην Παράλληλη Επεξεργασία Τεχνικές και διαθέσιμα εργαλεία Εργαστήριο Πληροφοριακών Συστημάτων Υψηλής Επίδοσης Parallel and Distributed

Διαβάστε περισσότερα

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

Αρχιτεκτονική Υπολογιστών Αρχιτεκτονική Υπολογιστών Παραλληλισμός Βασικές Πηγές: Αρχιτεκτονική Υπολογιστών: μια Δομημένη Προσέγγιση, Α. Tanenbaum, Vrije Universiteit, Amsterdam. Computer Architecture and Engineering, K. Asanovic,

Διαβάστε περισσότερα

Μικροεπεξεργαστές - Μικροελεγκτές Ψηφιακά Συστήματα

Μικροεπεξεργαστές - Μικροελεγκτές Ψηφιακά Συστήματα Μικροεπεξεργαστές - Μικροελεγκτές Ψηφιακά Συστήματα 1. Ποια είναι η σχέση της έννοιας του μικροεπεξεργαστή με αυτή του μικροελεγκτή; Α. Ο μικροεπεξεργαστής εμπεριέχει τουλάχιστο έναν μικροελεγκτή. Β. Ο

Διαβάστε περισσότερα

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

Παράλληλος προγραμματισμός: Σχεδίαση και υλοποίηση παράλληλων προγραμμάτων Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων Παράλληλος προγραμματισμός: Σχεδίαση και υλοποίηση παράλληλων προγραμμάτων 9 ο Εξάμηνο

Διαβάστε περισσότερα

Προγραμματισμός GPUs μέσω του περιβάλλοντος CUDA

Προγραμματισμός GPUs μέσω του περιβάλλοντος CUDA Προγραμματισμός GPUs μέσω του περιβάλλοντος CUDA Κωνσταντινίδης Ηλίας Υποψήφιος Διδάκτωρ Τμήμα Πληροφορικής & Τηλεπικοινωνιών Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών Νόμος Moore density doubles/18m

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Στοιχεία από την αρχιτεκτονική των μικροϋπολογιστών

Στοιχεία από την αρχιτεκτονική των μικροϋπολογιστών Στοιχεία από την αρχιτεκτονική των μικροϋπολογιστών Η επεξεργασία των δεδομένων ακολουθεί μια στερεότυπη διαδρομή: τα δεδομένα εισάγονται στο υπολογιστικό σύστημα, υφίστανται μια ορισμένη επεξεργασία και

Διαβάστε περισσότερα

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

Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας Ενότητα 3: Διασωλήνωση, Clusters, Στοιχεία Παράλληλου Προγραμματισμού Δρ. Μηνάς Δασυγένης mdasyg@ieee.org

Διαβάστε περισσότερα

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

Παράλληλος προγραμματισμός: Σχεδίαση και υλοποίηση παράλληλων προγραμμάτων Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων Παράλληλος προγραμματισμός: Σχεδίαση και υλοποίηση παράλληλων προγραμμάτων 9 ο Εξάμηνο

Διαβάστε περισσότερα

Τμήμα Λογιστικής. Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές. Μάθημα 8. 1 Στέργιος Παλαμάς

Τμήμα Λογιστικής. Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές. Μάθημα 8. 1 Στέργιος Παλαμάς ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας Τμήμα Λογιστικής Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές Μάθημα 8 Κεντρική Μονάδα Επεξεργασίας και Μνήμη 1 Αρχιτεκτονική του Ηλεκτρονικού Υπολογιστή Μονάδες Εισόδου Κεντρική

Διαβάστε περισσότερα

Κατανεμημένος και Παράλληλος Προγραμματισμός. Ύλη μαθήματος. Βιβλιογραφία Μαθήματος 2/27/2016

Κατανεμημένος και Παράλληλος Προγραμματισμός. Ύλη μαθήματος. Βιβλιογραφία Μαθήματος 2/27/2016 Κατανεμημένος και Παράλληλος Προγραμματισμός Ηλίας Κ. Σάββας Αναπληρωτής Καθηγητής Τμήμα Μηχανικών Πληροφορικής ΤΕ, ΤΕΙ Θεσσαλίας Email: savvas@teilar.gr Ύλη μαθήματος. Εισαγωγή στον κατανεμημένο προγραμματισμό.

Διαβάστε περισσότερα

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

Αρχιτεκτονική Υπολογιστών Αρχιτεκτονική Υπολογιστών Παραλληλισμός Βασικές Πηγές: Αρχιτεκτονική Υπολογιστών: μια Δομημένη Προσέγγιση, Α. Tanenbaum, Vrije Universiteit, Amsterdam. Computer Architecture and Engineering, K. Asanovic,

Διαβάστε περισσότερα

Κατανεμημένα Συστήματα

Κατανεμημένα Συστήματα Κατανεμημένα Συστήματα Σημειώσεις εργαστηρίου Μέρος 2ο - Lab#4, Κατανεμημένα Συστήματα Νεβράντζας Βάιος-Γερμανός Λάρισα, Φεβρουάριος 2013 Με ρος 2ο-Lab4, σελίδα 1 Περίληψη Στο 2ο μέρος του εργαστηριακού

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 2: Χειρισµός εδοµένων

ΚΕΦΑΛΑΙΟ 2: Χειρισµός εδοµένων ΚΕΦΑΛΑΙΟ 2: Χειρισµός εδοµένων 2.1 Αρχιτεκτονική Υπολογιστών 2.1 Αρχιτεκτονική Υπολογιστών 2.2 Γλώσσα Μηχανής 2.3 Εκτέλεση προγράµµατος 2.4 Αριθµητικές και λογικές εντολές 2.5 Επικοινωνία µε άλλες συσκευές

Διαβάστε περισσότερα

Λειτουργικά Συστήματα Η/Υ

Λειτουργικά Συστήματα Η/Υ Λειτουργικά Συστήματα Η/Υ Κεφάλαιο 4 «Αρχιτεκτονικές ΛΣ» Διδάσκων: Δ Λιαροκάπης Διαφάνειες: Π. Χατζηδούκας 1 1. Μονολιθικά συστήματα Αρχιτεκτονικές ΛΣ 2. Στρωματοποιημένη αρχιτεκτονική 3. Αρχιτεκτονική

Διαβάστε περισσότερα

Διπλωματική Εργασία του φοιτητή του Τμήματος Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών της Πολυτεχνικής Σχολής του Πανεπιστημίου Πατρών

Διπλωματική Εργασία του φοιτητή του Τμήματος Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών της Πολυτεχνικής Σχολής του Πανεπιστημίου Πατρών ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ: ΗΛΕΚΤΡΟΝΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΣΥΣΤΗΜΑΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Διπλωματική Εργασία του φοιτητή του Τμήματος Ηλεκτρολόγων

Διαβάστε περισσότερα

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

Αρχιτεκτονική υπολογιστών 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Αρχιτεκτονική υπολογιστών Ενότητα 4 : Κρυφή Μνήμη Καρβούνης Ευάγγελος Δευτέρα, 30/11/2015 Χαρακτηριστικά Θέση Χωρητικότητα Μονάδα Μεταφοράς

Διαβάστε περισσότερα

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

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών Κρυφές Μνήμες. (οργάνωση, λειτουργία και απόδοση) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2016-17 Κρυφές Μνήμες (οργάνωση, λειτουργία και απόδοση) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης Ιεραρχία συχνά και το

Διαβάστε περισσότερα

Παράλληλος Προγραμματισμός σε Επεξεργαστές Γραφικών

Παράλληλος Προγραμματισμός σε Επεξεργαστές Γραφικών Παράλληλος Προγραμματισμός σε Επεξεργαστές Γραφικών Συστήματα Παράλληλης Επεξεργασίας 9ο εξάμηνο, ΣΗΜΜΥ Εργαστήριο Υπολογιστικών Συστημάτων (CSLab) Νοέμβριος 2017 1 Εισαγωγικά 2 Compute Unified Device

Διαβάστε περισσότερα

ΗΛΕΚΤΡΟΝΙΚΟΙ ΥΠΟΛΟΓΙΣΤΕΣ

ΗΛΕΚΤΡΟΝΙΚΟΙ ΥΠΟΛΟΓΙΣΤΕΣ Άριστος Πασιάς 1 ΗΛΕΚΤΡΟΝΙΚΟΙ ΥΠΟΛΟΓΙΣΤΕΣ Η ΔΟΜΗ ΤΟΥ ΗΛΕΚΤΡΟΝΙΚΟΥ ΥΠΟΛΟΓΙΣΤΗ Άριστος Πασιάς Σεπτέμβριος 2017 2 Στόχοι: Στο τέλος αυτού του μαθήματος ο μαθητή πρέπει: Να μπορεί να αναφέρει τα κύρια χαρακτηριστικά

Διαβάστε περισσότερα

Πανεπιστήμιο Πειραιώς Τμήμα Πληροφορικής Πρόγραμμα Μεταπτυχιακών Σπουδών «Πληροφορική»

Πανεπιστήμιο Πειραιώς Τμήμα Πληροφορικής Πρόγραμμα Μεταπτυχιακών Σπουδών «Πληροφορική» Πανεπιστήμιο Πειραιώς Τμήμα Πληροφορικής Πρόγραμμα Μεταπτυχιακών Σπουδών «Πληροφορική» Μεταπτυχιακή Διατριβή Τίτλος Διατριβής Ονοματεπώνυμο Φοιτητή Πατρώνυμο Αριθμός Μητρώου Επιβλέπων Επιτάχυνση του αλγορίθμου

Διαβάστε περισσότερα

Προσομοιώσεις Monte Carlo σε GPU

Προσομοιώσεις Monte Carlo σε GPU ΕΘΝΙΚΟ ΜΕΤΣΟΒΕΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΕΦΑΡΜΟΣΜΕΝΩΝ ΜΑΘΗΜΑΤΙΚΩΝ ΚΑΙ ΦΥΣΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΟΜΕΑΣ ΦΥΣΙΚΗΣ Προσομοιώσεις Monte Carlo σε GPU Δημήτρης Καρκούλης Επιβλέπων: Κ. Αναγνωστόπουλος 15/07/2010 Πρακτική στο

Διαβάστε περισσότερα

Προγραμματισμός Ι (HY120)

Προγραμματισμός Ι (HY120) Προγραμματισμός Ι (HY20) # μνήμη & μεταβλητές πρόγραμμα & εκτέλεση Ψηφιακά δεδομένα, μνήμη, μεταβλητές 2 Δυαδικός κόσμος Οι υπολογιστές είναι δυαδικές μηχανές Όλη η πληροφορία (δεδομένα και κώδικας) κωδικοποιείται

Διαβάστε περισσότερα

i Throughput: Ο ρυθμός ολοκλήρωσης έργου σε συγκεκριμένο χρόνο

i Throughput: Ο ρυθμός ολοκλήρωσης έργου σε συγκεκριμένο χρόνο Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 6-7 Απόδοση ΚΜΕ (Μέτρηση και τεχνικές βελτίωσης απόδοσης) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης Κεντρική Μονάδα Επεξεργασίας

Διαβάστε περισσότερα

Παράλληλος προγραμματισμός σε επεξεργαστές γραφικών

Παράλληλος προγραμματισμός σε επεξεργαστές γραφικών Παράλληλος προγραμματισμός σε επεξεργαστές γραφικών Συστήματα Παράλληλης Επεξεργασίας 9ο εξάμηνο, ΣΗΜΜΥ Εργαστήριο Υπολογιστικών Συστημάτων (CSLab) Νοέμβριος 2010 Περιεχόμενα...1 Σύντομη Ιστορική Αναδρομή...2

Διαβάστε περισσότερα

Προγραμματισμός Συστημάτων Υψηλών Επιδόσεων (ΗΥ421) Εργασία Εξαμήνου

Προγραμματισμός Συστημάτων Υψηλών Επιδόσεων (ΗΥ421) Εργασία Εξαμήνου Προγραμματισμός Συστημάτων Υψηλών Επιδόσεων (ΗΥ421) Εργασία Εξαμήνου ΟΜΑΔΑ: Ιωαννίδης Σταύρος ΑΕΜ: 755 Ντελής Γιώργος ΑΕΜ: 726 Επιλογή της Εργασίας Για την εργασία μας επιλέξαμε την βελτιστοποίηση της

Διαβάστε περισσότερα

ΑΡΧΙΤΕΚΤΟΝΙΚΗ HARDWARE ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ

ΑΡΧΙΤΕΚΤΟΝΙΚΗ HARDWARE ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΚΕΦΑΛΑΙΟ 7ο ΑΡΧΙΤΕΚΤΟΝΙΚΗ HARDWARE ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Γενικό διάγραμμα υπολογιστικού συστήματος Γενικό διάγραμμα υπολογιστικού συστήματος - Κεντρική Μονάδα Επεξεργασίας ονομάζουμε

Διαβάστε περισσότερα

1. Οργάνωση της CPU 2. Εκτέλεση εντολών 3. Παραλληλία στο επίπεδο των εντολών 4. Γραμμές διοχέτευσης 5. Παραλληλία στο επίπεδο των επεξεργαστών

1. Οργάνωση της CPU 2. Εκτέλεση εντολών 3. Παραλληλία στο επίπεδο των εντολών 4. Γραμμές διοχέτευσης 5. Παραλληλία στο επίπεδο των επεξεργαστών ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ ΟΡΓΑΝΩΣΗ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Ι Γ. Τσιατούχας 2 ο Κεφάλαιο ιάρθρωση 1. Οργάνωση της 2. εντολών 3. Παραλληλία στο επίπεδο των εντολών 4. Γραμμές διοχέτευσης 5. Παραλληλία στο

Διαβάστε περισσότερα

Παράλληλοι υπολογιστές

Παράλληλοι υπολογιστές Παράλληλοι υπολογιστές Κ.Γ. Μαργαρίτης προσαρμογή από το μάθημα του Barry Wilkinson ITCS 4145/5145 2006Cluster Computing Univ. of North Carolina at Charlotte 1 Απαίτηση για ταχύτητα Συνεχής απαίτηση για

Διαβάστε περισσότερα

Παράλληλος Προγραμματισμός σε Επεξεργαστές Γραφικών

Παράλληλος Προγραμματισμός σε Επεξεργαστές Γραφικών Παράλληλος Προγραμματισμός σε Επεξεργαστές Γραφικών Συστήματα Παράλληλης Επεξεργασίας 9ο εξάμηνο, ΣΗΜΜΥ Εργαστήριο Υπολογιστικών Συστημάτων (CSLab) Φεβρουάριος 2014 Περιεχόμενα 1 Εισαγωγή 2 Επεξεργαστές

Διαβάστε περισσότερα

Μετρικές & Επιδόσεις. Κεφάλαιο V

Μετρικές & Επιδόσεις. Κεφάλαιο V Μετρικές & Επιδόσεις Κεφάλαιο V Χρόνος εκτέλεσης & επιτάχυνση Σειριακός χρόνος εκτέλεσης: Τ (για τον καλύτερο σειριακό αλγόριθμο) Παράλληλος χρόνος εκτέλεσης: (με επεξεργαστές) Επιτάχυνση (speedup): S

Διαβάστε περισσότερα

Ενότητα 4. Εισαγωγή στην Πληροφορική. Αναπαράσταση δεδοµένων. Αναπαράσταση πληροφορίας. υαδικοί αριθµοί. Χειµερινό Εξάµηνο 2006-07

Ενότητα 4. Εισαγωγή στην Πληροφορική. Αναπαράσταση δεδοµένων. Αναπαράσταση πληροφορίας. υαδικοί αριθµοί. Χειµερινό Εξάµηνο 2006-07 Ενότητα 4 Εισαγωγή στην Πληροφορική Κεφάλαιο 4Α: Αναπαράσταση πληροφορίας Κεφάλαιο 4Β: Επεξεργαστές που χρησιµοποιούνται σε PCs Χειµερινό Εξάµηνο 2006-07 ρ. Παναγιώτης Χατζηδούκας (Π..407/80) Εισαγωγή

Διαβάστε περισσότερα

Ιεραρχία Μνήμης. Ιεραρχία μνήμης και τοπικότητα. Σκοπός της Ιεραρχίας Μνήμης. Κρυφές Μνήμες

Ιεραρχία Μνήμης. Ιεραρχία μνήμης και τοπικότητα. Σκοπός της Ιεραρχίας Μνήμης. Κρυφές Μνήμες Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2016-17 Κρυφές Μνήμες (οργάνωση, λειτουργία και απόδοση) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης Για βελτίωση της απόδοσης

Διαβάστε περισσότερα

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

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών Απόδοση ΚΜΕ. (Μέτρηση και τεχνικές βελτίωσης απόδοσης) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2016-17 Απόδοση ΚΜΕ (Μέτρηση και τεχνικές βελτίωσης απόδοσης) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης Κεντρική Μονάδα Επεξεργασίας

Διαβάστε περισσότερα

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

Επιστημονικοί Υπολογισμοί - Μέρος ΙΙΙ: Παράλληλοι Υπολογισμοί Επιστημονικοί Υπολογισμοί - Μέρος ΙΙΙ: Παράλληλοι Υπολογισμοί Χαρμανδάρης Βαγγέλης, Τμήμα Εφαρμοσμένων Μαθηματικών Πανεπιστήμιο Κρήτης, Εαρινό Εξάμηνο 2013/14 Κεφάλαιο 4: Παράλληλοι Αλγόριθμοι Ταξινόμηση

Διαβάστε περισσότερα

ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2

ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2 ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2 11ο μάθημα: πολυπύρηνοι επεξεργαστές, μέρος 1 Αρης Ευθυμίου Πηγές διαφανειών: συνοδευτικές διαφάνειες αγγλικης εκδοσης του βιβλιου Παράλληλη επεξεργασία Στο προηγούμενο

Διαβάστε περισσότερα

Διαφορές single-processor αρχιτεκτονικών και SoCs

Διαφορές single-processor αρχιτεκτονικών και SoCs 13.1 Τα συστήματα και η επικοινωνία μεταξύ τους γίνονται όλο και περισσότερο πολύπλοκα. Δεν μπορούν να περιγραφούνε επαρκώς στο επίπεδο RTL καθώς αυτή η διαδικασία γίνεται πλέον αρκετά χρονοβόρα. Για αυτό

Διαβάστε περισσότερα

Εισαγωγικά & Βασικές Έννοιες

Εισαγωγικά & Βασικές Έννοιες Εισαγωγικά & Βασικές Έννοιες ΙΙΙ 1 lalis@inf.uth.gr Γιατί πολλές διεργασίες/νήματα; Επίπεδο εφαρμογής Καλύτερη δόμηση κώδικα Αποφυγή μπλοκαρίσματος / περιοδικών ελέγχων Φυσική έκφραση παραλληλισμού Επίπεδο

Διαβάστε περισσότερα

QuakeTM: Parallelizing a Complex Sequential Application Using Transactional Memory (Gajinov et al., 2009)

QuakeTM: Parallelizing a Complex Sequential Application Using Transactional Memory (Gajinov et al., 2009) Quake I QuakeTM: Parallelizing a Complex Sequential Application Using Transactional Memory (Gajinov et al., 2009) Είναι όντως χρήσιμη η transactional memory σε μεγάλες εφαρμογές; Παράλληλη υλοποίηση μιας

Διαβάστε περισσότερα

Αρχιτεκτονική Επεξεργαστών Ψ.Ε.Σ

Αρχιτεκτονική Επεξεργαστών Ψ.Ε.Σ ΕΣ 08 Επεξεργαστές Ψηφιακών Σηµάτων Αρχιτεκτονική Επεξεργαστών Ψ.Ε.Σ Βιβλιογραφία Ενότητας Kehtarnavaz [2005]: Chapter 3 Kuo [2005]: Chapters 1 & 4-5 Lapsley [2002]: Chapter 4 Hayes [2000]: Κεφάλαιo 8

Διαβάστε περισσότερα

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ. Μελέτη Αλγορίθμων Εκτέλεσης και Χρονοδρομολόγησης Παράλληλων Εργασιών ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ. Μελέτη Αλγορίθμων Εκτέλεσης και Χρονοδρομολόγησης Παράλληλων Εργασιών ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ Μελέτη Αλγορίθμων Εκτέλεσης και Χρονοδρομολόγησης Παράλληλων Εργασιών

Διαβάστε περισσότερα

Πανεπιστήμιο Θεσσαλίας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων

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

Διαβάστε περισσότερα

Εισαγωγικά & Βασικές Έννοιες

Εισαγωγικά & Βασικές Έννοιες Εισαγωγικά & Βασικές Έννοιες ΙΙΙ 1 lalis@inf.uth.gr Γιατί πολλές διεργασίες/νήματα; Επίπεδο εφαρμογής Καλύτερη δόμηση κώδικα Αποφυγή μπλοκαρίσματος / περιοδικών ελέγχων Φυσική έκφραση παραλληλισμού Επίπεδο

Διαβάστε περισσότερα

Αρχιτεκτονική Eckert-von Neumann. Πως λειτουργεί η ΚΜΕ; Κεντρική μονάδα επεξεργασίας [3] ΕΠΛ 031: ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Αρχιτεκτονική Eckert-von Neumann. Πως λειτουργεί η ΚΜΕ; Κεντρική μονάδα επεξεργασίας [3] ΕΠΛ 031: ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Αρχιτεκτονική Eckert-von Neumann εισόδου μεταφορά δεδομένων από έξω προς τον Η/Υ εξόδου μεταφορά δεδομένων από τον Η/Υ προς τα έξω ΕΠΛ 031: ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Κύκλος Μηχανής κεντρικός έλεγχος/πράξεις

Διαβάστε περισσότερα

Παράλληλος Προγραμματισμός σε Επεξεργαστές Γραφικών

Παράλληλος Προγραμματισμός σε Επεξεργαστές Γραφικών Παράλληλος Προγραμματισμός σε Επεξεργαστές Γραφικών Συστήματα Παράλληλης Επεξεργασίας 9ο εξάμηνο, ΣΗΜΜΥ Εργαστήριο Υπολογιστικών Συστημάτων (CSLab) Δεκέμβριος 2015 Περιεχόμενα 2 01 / 2014 Προγραμματισμός

Διαβάστε περισσότερα

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

Επιστημονικοί Υπολογισμοί - Μέρος ΙΙΙ: Παράλληλοι Υπολογισμοί Επιστημονικοί Υπολογισμοί - Μέρος ΙΙΙ: Παράλληλοι Υπολογισμοί Χαρμανδάρης Βαγγέλης, Τμήμα Εφαρμοσμένων Μαθηματικών Πανεπιστήμιο Κρήτης, Εαρινό Εξάμηνο 2013/14 Κεφάλαιο 5: (A) Λογισμικό, Βασικές Εφαρμογές

Διαβάστε περισσότερα

Το ολοκληρωμένο κύκλωμα μιας ΚΜΕ. «Φέτα» ημιαγωγών (wafer) από τη διαδικασία παραγωγής ΚΜΕ

Το ολοκληρωμένο κύκλωμα μιας ΚΜΕ. «Φέτα» ημιαγωγών (wafer) από τη διαδικασία παραγωγής ΚΜΕ Το ολοκληρωμένο κύκλωμα μιας ΚΜΕ Η Κεντρική Μονάδα Επεξεργασίας (Central Processing Unit -CPU) ή απλούστερα επεξεργαστής αποτελεί το μέρος του υλικού που εκτελεί τις εντολές ενός προγράμματος υπολογιστή

Διαβάστε περισσότερα

ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ. Λειτουργικά Συστήματα Ι. Διδάσκων: Καθ. Κ. Λαμπρινουδάκης ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι

ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ. Λειτουργικά Συστήματα Ι. Διδάσκων: Καθ. Κ. Λαμπρινουδάκης ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι Μάθημα: Λειτουργικά Συστήματα Ι ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ Διδάσκων: Καθ. Κ. Λαμπρινουδάκης clam@unipi.gr 1 ΕΙΣΑΓΩΓΗ Μνήμη : Πόρος ζωτικής σημασίας του οποίου η διαχείριση απαιτεί ιδιαίτερη

Διαβάστε περισσότερα

Είναι το «μυαλό» του υπολογιστή μας. Αυτός κάνει όλους τους υπολογισμούς και τις πράξεις. Έχει δική του ενσωματωμένη μνήμη, τη λεγόμενη κρυφή

Είναι το «μυαλό» του υπολογιστή μας. Αυτός κάνει όλους τους υπολογισμούς και τις πράξεις. Έχει δική του ενσωματωμένη μνήμη, τη λεγόμενη κρυφή 1 Είναι το «μυαλό» του υπολογιστή μας. Αυτός κάνει όλους τους υπολογισμούς και τις πράξεις. Έχει δική του ενσωματωμένη μνήμη, τη λεγόμενη κρυφή μνήμη(cache). Η cache είναι πολύ σημαντική, πολύ γρήγορη,

Διαβάστε περισσότερα

Παράλληλος Προγραμματισμός με OpenCL

Παράλληλος Προγραμματισμός με OpenCL Παράλληλος Προγραμματισμός με OpenCL Συστήματα Παράλληλης Επεξεργασίας 9ο εξάμηνο, ΣΗΜΜΥ Εργαστήριο Υπολογιστικών Συστημάτων (CSLab) Δεκέμβριος 2017 1 Γενικά για OpenCL 2 Platform Model 3 Execution Model

Διαβάστε περισσότερα

ΑΣΚΗΣΕΙΣ ΠΟΛΛΑΠΛΗΣ ΕΠΙΛΟΓΗΣ ΓΙΑ ΤΗ ΘΕΩΡΙΑ

ΑΣΚΗΣΕΙΣ ΠΟΛΛΑΠΛΗΣ ΕΠΙΛΟΓΗΣ ΓΙΑ ΤΗ ΘΕΩΡΙΑ ΑΣΚΗΣΕΙΣ ΠΟΛΛΑΠΛΗΣ ΕΠΙΛΟΓΗΣ ΓΙΑ ΤΗ ΘΕΩΡΙΑ Άσκηση 1 Ένας επεξεργαστής (ΚΜΕ) υποστηρίζει 371 εντολές. Πόσα bit θα πρέπει να είναι ο καταχωρητής εντολής (ελάχιστη τιμή); (α) 4 bit (β) 16 bit (γ) 1 bit (δ)

Διαβάστε περισσότερα

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

Αρχιτεκτονική υπολογιστών 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Αρχιτεκτονική υπολογιστών Ενότητα 9 : Ομάδες Εντολών: Ιδιότητες και Λειτουργίες Ευάγγελος Καρβούνης Παρασκευή, 15/01/2016 Τι είναι ομάδα εντολών;

Διαβάστε περισσότερα

Εισαγωγή στην Επιστήμη των Υπολογιστών

Εισαγωγή στην Επιστήμη των Υπολογιστών Εισαγωγή στην Επιστήμη των Υπολογιστών Ενότητα 3: Χειρισμός δεδομένων, 2ΔΩ Τμήμα: Αγροτικής Οικονομίας & Ανάπτυξης Διδάσκων: Θεόδωρος Τσιλιγκιρίδης Μαθησιακοί Στόχοι Η Ενότητα 3 διαπραγματεύεται θέματα

Διαβάστε περισσότερα

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

Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας Ενότητα 3: Διασωλήνωση, Clusters, Στοιχεία Παράλληλου Προγραμματισμού Δρ. Μηνάς Δασυγένης mdasyg@ieee.org

Διαβάστε περισσότερα

All rights reserved

All rights reserved Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Τομέας Τεχνολογίας Πληροφορικής και Υπολογιστών Παραλληλοποίηση αλγορίθμων εκπαίδευσης νευρωνικών δικτύων σε μαζικά πολυπύρηνες

Διαβάστε περισσότερα

CUDA Compute Unified Device Architecture

CUDA Compute Unified Device Architecture CUDA Compute Unified Device Architecture Καλέρης Κωνσταντίνος Πεµπτοετής φοιτητής του τµήµατος Ηλεκτρολόγων Μηχανικών & Τεχνολογίας Η/Υ του Πανεπιστηµίου Πατρών ee5972@upnet.gr Καλλέργης Γεώργιος Πεµπτοετής

Διαβάστε περισσότερα

ΘΕΜΑ PROJECT COMPILER FLAGS ΤΡΑΧΑΝΗΣ ΔΗΜΗΤΡΗΣ 6108 ΤΡΑΧΑΝΗΣ ΓΕΩΡΓΙΟΣ 5789

ΘΕΜΑ PROJECT COMPILER FLAGS ΤΡΑΧΑΝΗΣ ΔΗΜΗΤΡΗΣ 6108 ΤΡΑΧΑΝΗΣ ΓΕΩΡΓΙΟΣ 5789 ΘΕΜΑ PROJECT COMPILER FLAGS ΤΡΑΧΑΝΗΣ ΔΗΜΗΤΡΗΣ 6108 ΤΡΑΧΑΝΗΣ ΓΕΩΡΓΙΟΣ 5789 Γενικά Οι compilers προσφέρουν μία σειρά από τεχνικές βελτιστοποίησης Στόχοι: Αύξηση ταχύτητας εκτέλεσης Μείωση μεγέθους Εφικτές

Διαβάστε περισσότερα

Μηχανοτρονική. Τμήμα Μηχανικών Παραγωγής και Διοίκησης 7 ο Εξάμηνο,

Μηχανοτρονική. Τμήμα Μηχανικών Παραγωγής και Διοίκησης 7 ο Εξάμηνο, Τμήμα Μηχανικών Παραγωγής και Διοίκησης 7 ο Εξάμηνο, 2016-2017 ΜΙΚΡΟΕΠΕΞΕΡΓΑΣΤΕΣ Μικροϋπολογιστής Υπολογιστής που χρησιμοποιείται για την είσοδο, επεξεργασία και έξοδο πληροφοριών. Είδη μικροϋπολογιστών:

Διαβάστε περισσότερα

ΗΜΥ 100 Εισαγωγή στην Τεχνολογία ιάλεξη 5

ΗΜΥ 100 Εισαγωγή στην Τεχνολογία ιάλεξη 5 ΗΜΥ 100 Εισαγωγή στην Τεχνολογία ιάλεξη 5 22 Σεπτεµβρίου, 2006 Γεώργιος Έλληνας Επίκουρος Καθηγητής ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΑ ΘΕΜΑΤΑ

Διαβάστε περισσότερα

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

Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας Ενότητα: Intel Parallel Studio XE 2013 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Παράλληλη Επεξεργασία Κεφάλαιο 7 ο Αρχιτεκτονική Συστημάτων Κατανεμημένης Μνήμης

Παράλληλη Επεξεργασία Κεφάλαιο 7 ο Αρχιτεκτονική Συστημάτων Κατανεμημένης Μνήμης Παράλληλη Επεξεργασία Κεφάλαιο 7 ο Αρχιτεκτονική Συστημάτων Κατανεμημένης Μνήμης Κωνσταντίνος Μαργαρίτης Καθηγητής Τμήμα Εφαρμοσμένης Πληροφορικής Πανεπιστήμιο Μακεδονίας kmarg@uom.gr http://eos.uom.gr/~kmarg

Διαβάστε περισσότερα

Δθμιουργία, μελζτθ και βελτιςτοποίθςθ φωτορεαλιςτικϊν απεικονίςεων πραγματικοφ χρόνου με χριςθ προγραμματιηόμενων επεξεργαςτϊν γραφικϊν

Δθμιουργία, μελζτθ και βελτιςτοποίθςθ φωτορεαλιςτικϊν απεικονίςεων πραγματικοφ χρόνου με χριςθ προγραμματιηόμενων επεξεργαςτϊν γραφικϊν Πανεπιςτιμιο Πατρϊν Σμιμα Μθχανικϊν Θ/Τ & Πλθροφορικισ Δθμιουργία, μελζτθ και βελτιςτοποίθςθ φωτορεαλιςτικϊν απεικονίςεων πραγματικοφ χρόνου με χριςθ προγραμματιηόμενων επεξεργαςτϊν γραφικϊν Σταυρόπουλοσ

Διαβάστε περισσότερα

Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1

Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1 Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1 lalis@inf.uth.gr Ο κώδικας δεν εκτελείται «μόνος του» Ο εκτελέσιμος κώδικας αποθηκεύεται σε ένα αρχείο Το αρχείο είναι μια «παθητική» οντότητα

Διαβάστε περισσότερα

ΠΕΡΙΕΧΟΜΕΝΑ. 1.1. Υλικό και Λογισμικό.. 1 1.2 Αρχιτεκτονική Υπολογιστών.. 3 1.3 Δομή, Οργάνωση και Λειτουργία Υπολογιστών 6

ΠΕΡΙΕΧΟΜΕΝΑ. 1.1. Υλικό και Λογισμικό.. 1 1.2 Αρχιτεκτονική Υπολογιστών.. 3 1.3 Δομή, Οργάνωση και Λειτουργία Υπολογιστών 6 ΠΕΡΙΕΧΟΜΕΝΑ 1. Εισαγωγή στην Δομή, Οργάνωση, Λειτουργία και Αξιολόγηση Υπολογιστών 1.1. Υλικό και Λογισμικό.. 1 1.2 Αρχιτεκτονική Υπολογιστών.. 3 1.3 Δομή, Οργάνωση και Λειτουργία Υπολογιστών 6 1.3.1 Δομή

Διαβάστε περισσότερα

Σειρά Ασκήσεων 13: Συνοχή (Coherence) Κρυφών Μνημών, Προχωρημένοι Επεξεργαστές (Out-of-Order, Superscalar, Multithreading, Multicores)

Σειρά Ασκήσεων 13: Συνοχή (Coherence) Κρυφών Μνημών, Προχωρημένοι Επεξεργαστές (Out-of-Order, Superscalar, Multithreading, Multicores) ΗΥ-225: Οργάνωση Υπολογιστών 1νοιξη 2013 Τμ. Επ. Υπολογιστών Πανεπιστήμιο Κρήτης Σειρά Ασκήσεων 13: Συνοχή (Coherence) Κρυφών Μνημών, Προχωρημένοι Επεξεργαστές (Out-of-Order, Superscalar, Multithreading,

Διαβάστε περισσότερα

Παραλληλισμός Αλγορίθμων σε Κάρτες Γραφικών για Σχεδιασμό Κίνησης

Παραλληλισμός Αλγορίθμων σε Κάρτες Γραφικών για Σχεδιασμό Κίνησης Πανεπιστήμιο Πατρών Τμήμα Μηχανικών Ηλεκτρονικών Υπολογιστών και Πληροφορικής Παραλληλισμός Αλγορίθμων σε Κάρτες Γραφικών για Σχεδιασμό Κίνησης Συγγραφέας: Πάσχος Ανδρέας Επιβλέπων: Ψαράκης Εμμανουήλ 2

Διαβάστε περισσότερα

Υπάρχουν δύο τύποι μνήμης, η μνήμη τυχαίας προσπέλασης (Random Access Memory RAM) και η μνήμη ανάγνωσης-μόνο (Read-Only Memory ROM).

Υπάρχουν δύο τύποι μνήμης, η μνήμη τυχαίας προσπέλασης (Random Access Memory RAM) και η μνήμη ανάγνωσης-μόνο (Read-Only Memory ROM). Μνήμες Ένα από τα βασικά πλεονεκτήματα των ψηφιακών συστημάτων σε σχέση με τα αναλογικά, είναι η ευκολία αποθήκευσης μεγάλων ποσοτήτων πληροφοριών, είτε προσωρινά είτε μόνιμα Οι πληροφορίες αποθηκεύονται

Διαβάστε περισσότερα

Βασική δοµή και Λειτουργία Υπολογιστή

Βασική δοµή και Λειτουργία Υπολογιστή Βασική δοµή και Λειτουργία Υπολογιστή Η τεχνολογία των Η/Υ έχει βασιστεί στη λειτουργία του ανθρώπινου οργανισµού. Οπως ο άνθρωπος πέρνει εξωτερικά ερεθίσµατα από το περιβάλλον τα επεξεργάζεται και αντιδρά

Διαβάστε περισσότερα

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι. Λειτουργικά Συστήματα Ι ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ. Επ. Καθ. Κ. Λαμπρινουδάκης

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι. Λειτουργικά Συστήματα Ι ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ. Επ. Καθ. Κ. Λαμπρινουδάκης ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι Μάθημα: Λειτουργικά Συστήματα Ι ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ Διδάσκων: Επ. Καθ. Κ. Λαμπρινουδάκης clam@unipi.gr 1 ΕΙΣΑΓΩΓΗ Μνήμη : Πόρος ζωτικής σημασίας του οποίου η διαχείριση απαιτεί ιδιαίτερη

Διαβάστε περισσότερα

Κεφάλαιο 3 Αρχιτεκτονική Ηλεκτρονικού Τμήματος (hardware) των Υπολογιστικών Συστημάτων ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ

Κεφάλαιο 3 Αρχιτεκτονική Ηλεκτρονικού Τμήματος (hardware) των Υπολογιστικών Συστημάτων ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ Κεφάλαιο 3 Αρχιτεκτονική Ηλεκτρονικού Τμήματος (hardware) των Υπολογιστικών Συστημάτων ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ 1. Τι εννοούμε με τον όρο υπολογιστικό σύστημα και τι με τον όρο μικροϋπολογιστικό σύστημα; Υπολογιστικό

Διαβάστε περισσότερα

Προγραμματισμός Συστημάτων Υψηλών Επιδόσεων (ΗΥ421) 3η Εργαστηριακή Άσκηση

Προγραμματισμός Συστημάτων Υψηλών Επιδόσεων (ΗΥ421) 3η Εργαστηριακή Άσκηση Προγραμματισμός Συστημάτων Υψηλών Επιδόσεων (ΗΥ421) 3η Εργαστηριακή Άσκηση ΟΝΟΜΑ: Ιωαννίδης Σταύρος ΑΕΜ: 755 Αποτελέσματα devicequery Profiling με το Vtune Το profiling έδειξε πως οι πιο αργές συναρτήσεις

Διαβάστε περισσότερα

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Πληροφορική Ι. Ενότητα 6 : Εκτέλεση πράξεων, Αρχιτεκτονική Η/Υ. Δρ.

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Πληροφορική Ι. Ενότητα 6 : Εκτέλεση πράξεων, Αρχιτεκτονική Η/Υ. Δρ. 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Πληροφορική Ι Ενότητα 6 : Εκτέλεση πράξεων, Αρχιτεκτονική Η/Υ Δρ. Γκόγκος Χρήστος 2 Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Τμήμα Χρηματοοικονομικής &

Διαβάστε περισσότερα

Παράλληλος Προγραμματισμός σε Επεξεργαστές Γραφικών

Παράλληλος Προγραμματισμός σε Επεξεργαστές Γραφικών Παράλληλος Προγραμματισμός σε Επεξεργαστές Γραφικών Συστήματα Παράλληλης Επεξεργασίας 9ο εξάμηνο, ΣΗΜΜΥ Εργαστήριο Υπολογιστικών Συστημάτων (CSLab) Νοέμβριος 2016 1 Εισαγωγικά 2 Compute Unified Device

Διαβάστε περισσότερα