Τεχνικές για διαμοιρασμό φορτίου και μακροεντολές Broadcast - Scatter για αποδοτικές πολύ-επεξεργαστικές εφαρμογές

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

Chapter 4 (1) Αξιολόγηση και κατανόηση της απόδοσης

Τέτοιες λειτουργίες γίνονται διαμέσου του

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

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

Αριθµητικές Μέθοδοι Collocation. Απεικόνιση σε Σύγχρονες Υπολογιστικές Αρχιτεκτονικές

Parallel Implementation of John Conway s Game of Life

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

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

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

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

Υ- 01 Αρχιτεκτονική Υπολογιστών Πολυεπεξεργαστές, 2ο μέρος

Σχεδίαση και Υλοποίηση Μηχανισμού Μεταφοράς Δεδομένων από Συσκευές Αποθήκευσης σε Δίκτυο Myrinet, Χωρίς τη Μεσολάβηση της Ιεραρχίας Μνήμης

ΤΕΧΝΙΚΕΣ ΑΥΞΗΣΗΣ ΤΗΣ ΑΠΟΔΟΣΗΣ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ I

Chapter 4 ( ή 1 στο βιβλίο σας)

ΠΡΟΣΟΜΟΙΩΣΗ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ. Διαφάνειες από το MicroArch 35 Tutorial του Simics

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

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

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

Multi Cycle Datapath. Αρχιτεκτονική Υπολογιστών. 5ο εξάμηνο ΣΗΜΜΥ ακ. έτος: Νεκ. Κοζύρης

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

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

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

Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Hennessy. Chapter 5. Ο επεξεργαστής: διαδρομή δεδομένων και μονάδα ελέγχου

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

Μικροηλεκτρονική - VLSI

ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ Queuing Systems

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

Διασύνδεση Εισόδου-Εξόδου

Προγραμματισμός Ταυτόχρονος Προγραμματισμός

Λειτουργικά Συστήματα. Εισαγωγή

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

Βασικές Έννοιες Πρ Ταο υγρ τόα χ μ ρ μ ο α ν τισμ ος Π ό ρ ςο ΙΙΙ γραμματισμός 1

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

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

Το «κλειστό» σύστημα. Ανοικτές επικοινωνίες... Εισαγωγή στην Τεχνολογία της Πληροφορικής. Εισαγωγή στην τεχνολογία της πληροφορικής

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

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

Επιτεύγµατα των Λ.Σ.

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

Υ- 01 Αρχιτεκτονική Υπολογιστών Πολυεπεξεργαστές

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

Εισαγωγή στην Δομή, Οργάνωση, Λειτουργία και Αξιολόγηση Υπολογιστών

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

11/28/2016 Απόδοση Συστημάτων, Remote Jmeter και Dacappo

Ενσωµατωµένα Υπολογιστικά Συστήµατα (Embedded Computer Systems)

Ιατρική Πληροφορική. Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ. Ε. Χρήσιμοι Σύνδεσμοι

Διάλεξη 12 Καθυστερήσεις (Stalls)

Chapter 5. Ο επεξεργαστής: διαδρομή δεδομένων και μονάδα ελέγχου. Ενδέκατη (11 η ) δίωρη διάλεξη.

ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ Queuing Systems Εισαγωγή

Εικονική Μνήμη (Virtual Memory) Προγραμματισμός II 1

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

CMOS Technology for Computer Architects

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

Ενσωματωμένα Συστήματα

Δομημένος Προγραμματισμός

Cilk: Φιλοσοφία και Χρήση

Διασυνδετικοί Δίαυλοι. Τι διασυνδέει ένας δίαυλος; Μεταφορά δεδομένων. Διασύνδεση Εισόδου-Εξόδου. Μ.Στεφανιδάκης

ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών. Διάλεξη 13. Διακλαδώσεις. Νίκος Μπέλλας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ

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

ΔΙΑΧΥΤΑ ΚΑΙ ΕΝΣΩΜΑΤΩΜΕΝΑ ΣΥΣΤΗΜΑΤΑ

Εικονική Μνήμη (Virtual Memory) Προγραμματισμός II 1

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

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

Τεχνολογίες Κύριας Μνήμης

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

Οργάνωση Υπολογιστών (ΙI)

Εικονικοποίηση. Αρχιτεκτονική Υπολογιστών 5ο Εξάμηνο,

GPGPU. Grover. On Large Scale Simulation of Grover s Algorithm by Using GPGPU

Λειτουργικά Συστήματα Κεφάλαιο 2 Οργάνωση Συστήματος Αρχείων 2.1 Διαχείριση Αρχείων και Σύστημα Αρχείων(File System)

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Προγραμματισμός Η/Υ. Ενότητα 1 η : Ανάπτυξη Λογισμικού & Προγραμματισμός

ΕΠΛ221: Οργάνωση Υπολογιστών και Συμβολικός Προγραμματισμός. Εργαστήριο Αρ. 2

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

OpenCL.

ΠΑΡΑΔΕΙΓΜΑΤΑ ΕΠΙΧΕΙΡΗΣΙΑΚΗΣ ΕΡΕΥΝΑΣ ΜΕ ΤΗ ΧΡΗΣΗ Η/Υ (3 ο Φυλλάδιο)

«Συγχρονισμός ρολογιών υπό την παρουσία σφαλμάτων»

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

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

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

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

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

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

Αρχιτεκτονικές Δικτύων & Πρωτόκολλα Ι

Λογικά σύμβολα των CPU, RAM, ROM και I/O module

Instruction Execution Times

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

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

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

Ασκήσεις στα Προηγμένα Θέματα Αρχιτεκτονικής Υπολογιστών

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

ΕΙΣΑΓΩΓΗ. Παρέχει µια διεπαφή (interface) ανάµεσα στο υλισµικό και στα προγράµµατα εφαρµογών/χρηστών.

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

Μετακινούμενος Κώδικας (Mobile Code) Κατανεμημένα Συστήματα 1

Ηλεκτρονικοί Υπολογιστές Δ Εξάμηνο

CYTA Cloud Server Set Up Instructions

KOIOS SUMMER INTERNSHIP NETWORKS ON CHIP (NoC)

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

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

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

ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωµάτων

Transcript:

Τεχνικές για διαμοιρασμό φορτίου και μακροεντολές Broadcast - Scatter για αποδοτικές πολύ-επεξεργαστικές εφαρμογές Μίλτος Δ. Γραμματικάκης, Αντώνης Παπαγρηγορίου, Πολύδωρος Πετράκης, Γεώργιος Κορνάρος, Ιωάννης Χριστοφοράκης ΤΕΙ Κρήτης Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος "Εκπαίδευση και Δια Βίου Μάθηση", Πράξη Αρχιμήδης ΙΙΙ, και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους (Εθνικό Στρατηγικό Πλαίσιο Αναφοράς 2007-2013)".

Κίνητρο: Επιστημονικές Εφαρμογές & Εφαρμογές Συναλλαγών Parallel n-body simulation (100 particles, 4 cores): Το Scatter κοστίζει πάνω από το 99% από τον συνολικό χρόνο επικοινωνίας. DB equi-join on 4 cores: Η επικοινωνία All-to-all κοστίζει πάνω από το 50% του συνολικού χρόνου εκτέλεσης, με χρήση ετερογενών κλειδιών & μη ιδανικόυ μεγέθους hash

Νέες προτεινόμενες Τεχνικές Τεχνικές για Broadcast and scatter Τεχνικές για επικοινωνία & συγχρονισμό Τεχνικές για παρακολούθηση διαμοιρασμού φόρτου. Παράδειγμα προτεινόμενης τεχνικής παράλληλου Scatter

Τεχνικές Broadcast and Scatter Οι προτεινόμενες τεχνικές Broadcast (and scatter) στηρίζονται στην χρήση 2 λειτουργιών, την init η οποία εκτελείται μόνο μία φορά μόνο από ένα από τα συμμετάσχοντα threads και την go η οποία εκτελείται μία φορά από κάθε ένα από τα συμμετάσχοντα threads bool cpu_bcast_init(uint64 mem_base_addr, uint32 nothreads, bool interleave, uint32 size); bool cpu_bcast_go(uint64 addr, uint32 tid, uint32 no_elements, uint32 size_type, uint64 *results);

Εικονική Πλατφόρμα πειραμάτων System setup μπορεί να γίνει με X CPUs & M Μνήμες Επικοινωνία δια μέσου ενός Hypercube NoC

Παράλληλος Πολλαπλασιασμός Πινάκων Το Row-Major Data Allocation γίνεται σε 3 Μνήμες

Αρχιτεκτονική (1) Τοπολογία των IPs σε ένα 8-node Binary Hypercube NoC Οι παράλληλοι πίνακες είναι αποθηκευμένοι σε κοινή μνήμη

Αρχιτεκτονική (2) Παράμετροι των IPs Μέγεθος ουρών στα network routers και στον memory controller: 8 packets Περίοδος ρολογιού Router: T router = 2, 4, 8, or 16ns, Περίοδος ρολογιού CPU: T cpu = 4ns, Περίοδος ρολογιού Memory controller: T memory = 8ns. Μέγεθος πίνακα (Ν) που αντιστοιχεί στο μέγεθος των γραμμών και στηλών: N = 192 με αντίστοιχο πλήθος κομματιών (Slices): Slices = 8. Το μέγεθος κάθε κομματιού (Slice_Size)καθορίζεται από την σχέση Slice_Size = N/Slices. Εφαρμόστηκε εξωτερικό φορτίο μόνο στην CPU 0 ; Αυτό το εξωτερικό φορτίο προσομοιώθηκε σαν extra καθυστέρηση η οποία εφαρμόζεται στην εκτέλεση κάθε εντολής με την εφαρμογή του thread του extra φορτίου στην CPU 0, οδηγώντας σε μια ανισορροπία στο φόρτο των CPU

Αρχιτεκτονική (3) Διαμοιρασμός φόρτου Ο Διαμοιρασμός φόρτου υλοποιείται με απομακρυσμένες read/write εντολές. Η ο χρόνος εκτέλεσης του κάθε Workthread συγκρίνεται με τον μέσο χρόνο εκτέλεσης όλων των Workthread για το κάθε slice Monitoring threads καθορίζουν το load του επόμενου κομματιού σύμφωνα με την απόδοση του προηγούμενου κομματιού.

Διαμερισμός Φόρτου CPU Processor CPU i (0 i x-1) Monitoring Thread; start_work_thread(tid); for(i=0; i<slices; i++) { start_timer; // wait workthreads // to complete // current slice barrier_wait(bar2); end_timer; // workthread delay read_cpu_loads_from_mem(); load_correction(); set_next_loads(); barrier_wait(bar3); } WorkThread; for(i=0;i<slices; i++) { read_next_load(); matrix_multiply(slice, start_index,next_load); // sync workthreads barrier_wait(bar1); write_cpu_load_to_mem(); barrier_wait(bar2); // workthreads wait for // monitoring threads // to read, compute // & write next loads barrier_wait(bar3); }

Βελτίωση Χρόνου εκτέλεσης Load Balancing (LB): 20% to 29% Broadcast/Scatter primitives (BCAST): 20% to 22% Collectively: 48% to 52% execution time reduction!

Χρόνος επικοινωνίας σε σχέση με ολικό χρόνο εκτέλεσης Results of replacing point-to-point communication with the proposed broadcast/scatter operations Communication cost reduced by at least one order of magnitude

Επιβάρυνση της εισαγωγής των τεχνικών Διαμοιρασμού Φόρτου και Barrier σε σχέση με συνολικό χρόνο εκτέλεσης Load balancing & sync costs less than 0.02% of execution time

Συνεισφορά στην SystemC http://sourceforge.net/hsoc OCCN Library Gcc compiler I/O I/O I/O CORE RAM ROM ASIC SystemC2.0+ Library Source Code Executable Model HSoC (Heterogeneous System-on-Chip) is an, open source, SystemCbased, cycle-accurate virtual platform of heterogeneous shared memory-based multicore SoCs.

Μελλοντικές Επεκτάσεις Μελέτη & Ενσωμάτωση των τεχνικών αυτών με άλλα communication-intensive workloads Χρήση του Synopsys System Level Suite (platform architect & processor designer) για υλοποίηση των τεχνικών scatter gather.