Συστήματα Παράλληλης Επεξεργασίας, 9ο εξάμηνο ΣΗΜΜΥ

Σχετικά έγγραφα
Συστήµατα Παράλληλης Επεξεργασίας, 9ο εξάµηνο ΣΗΜΜΥ

Συστήµατα Παράλληλης Επεξεργασίας, 9ο εξάµηνο ΣΗΜΜΥ

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

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

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

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

Κεφάλαιο 1 Αφαιρετικότητα και Τεχνολογία Υπολογιστών (Computer Abstractions and Technology)

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

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

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

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

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

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

5/3/2012. Εισαγωγή στα Παράλληλα Συστήµατα (Οργάνωση-Προγραµµατισµός) Β. Δημακόπουλος Α. Ευθυμίου

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

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

ΕΙΣΑΓΩΓΗ στους Η/Υ. Δρ. Β Σγαρδώνη. Τμήμα Τεχνολογίας Αεροσκαφών ΤΕΙ ΣΤΕΡΕΑΣ ΕΛΛΑΔΑΣ. Χειμερινό Εξάμηνο

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

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

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

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

Υ07. Διδάσκων: ΠΑΡΑΛΛΗΛΑ ΣΥΣΤΗΜΑΤΑ. Β. Δημακόπουλος.

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

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

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

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

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

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

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

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

Προχωρηµένα Θέµατα Αρχιτεκτονικής Η/Υ. Storage Systems.. Λιούπης

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

Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές

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

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

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

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

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

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

Συνάφεια Κρυφής Μνήµης σε Επεκτάσιµα Μηχανήµατα

ΥΠΟΛΟΓΙΣΤΙΚΗ ΧΗΜΕΙΑ ΜΕ ΕΦΑΡΜΟΓΕΣ ΣΕ ΜΟΡΙΑ, ΥΛΙΚΑ, ΠΕΡΙΒΑΛΛΟΝ

Προχωρηµένα Θέµατα Αρχιτεκτονικής

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

The challenges of non-stable predicates

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

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

Περιεχόμενο μαθήματος

Εφαρµογές Πληροφορικής Υπολογιστών. Κεφάλαιο 3 Το υλικό του υπολογιστή

Simulink The MathWorks, Inc.

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

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

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

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

Εικονική Μνήμη (Virtual Μemory)

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΥΠΟΛΟΓΙΣΤΕΣ

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

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

ΥΠΟΛΟΓΙΣΤΙΚΗ ΧΗΜΕΙΑ ΜΕ ΕΦΑΡΜΟΓΕΣ ΣΕ ΜΟΡΙΑ, ΥΛΙΚΑ, ΠΕΡΙΒΑΛΛΟΝ. Ι ΑΣΚΟΝΤΕΣ: Μαρία Κανακίδου, Σταύρος Φαράντος, Γιώργος Φρουδάκης

CMOS Technology for Computer Architects

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

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

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

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

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

Προχωρηµένα Θέµατα Αρχιτεκτονικής

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

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

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

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

Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές

Efficient Implementation of Sparse Linear Algebra Operations on InfiniBand Cluster. Akira Nishida,

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

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

Instruction Execution Times

ΕΠΛ 003: ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ. Εισαγωγή

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

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

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

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

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

i Στα σύγχρονα συστήματα η κύρια μνήμη δεν συνδέεται απευθείας με τον επεξεργαστή

Main source: "Discrete-time systems and computer control" by Α. ΣΚΟΔΡΑΣ ΨΗΦΙΑΚΟΣ ΕΛΕΓΧΟΣ ΔΙΑΛΕΞΗ 4 ΔΙΑΦΑΝΕΙΑ 1

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

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

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

Κεφάλαιο 1ο Πολυπρογραμματισμός Πολυδιεργασία Κατηγορίες Λειτουργικών Συστημάτων

the total number of electrons passing through the lamp.

HORIZON QUANTUM. Logging

Εικονική Μνήμη (virtual memory)

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

MYE-023. Διδάσκων: ΠΑΡΑΛΛΗΛΑ ΣΥΣΤΗΜΑΤΑ & ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Β. Δημακόπουλος.

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

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

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

an example of interactive airfoil design

Προγραµµατισµός Συστηµάτων Πραγµατικού Χρόνου

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

ΚΒΑΝΤΙΚΟΙ ΥΠΟΛΟΓΙΣΤΕΣ

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

Κεφάλαιο 7 Ιεραρχία Μνήμης (Memory Hierarchy)

Transcript:

Συστήματα Παράλληλης Επεξεργασίας, 9ο εξάμηνο ΣΗΜΜΥ ακ. έτος: 2007-2008 Νεκτάριος Κοζύρης nkoziris@cslab.ece.ntua.gr http://www.cslab.ece.ntua.gr/courses/pps/ 1

Τι σημαίνει Παράλληλη Αρχιτεκτονική; Παράλληλη Αρχιτεκτονική είναι ένα σύνολο μονάδων επεξεργασίας που επικοινωνούν μεταξύ τους και συνεργάζονται για τη γρήγορη επίλυση ενός μεγάλου προβλήματος 2

Τι σημαίνει Παράλληλη Αρχιτεκτονική; Μερικά ερωτήματα που προκύπτουν: Κατανομή πόρων: Πόσοι υπολογιστές αποτελούν την παράλληλη αρχιτεκτονική; Πόσο ισχυρά είναι τα επιμέρους στοιχεία; Πόση μνήμη έχουν; Πρόσβαση στα δεδομένα, Επικοινωνία και Συγχρονισμός Πώς επικοινωνούν και συνεργάζονται τα επιμέρους στοιχεία; Πώς μεταδίδονται τα δεδομένα μεταξύ των υπολογιστών; Ποιες αφηρημένες δομές και πρωτόκολλα πρέπει να υπάρχουν για την επικοινωνία; Απόδοση και Επεκτασιμότητα Πώς μεταφράζονται όλα τα παραπάνω σε «απόδοση» Πόσο επεκτάσιμη είναι η αρχιτεκτονική; 3

Γιατί μελετάμε τις Παράλληλες Αρχιτεκτονικές; Ο ρόλος του σχεδιαστή υπολογιστών είναι: Να σχεδιάζει και να βελτιστοποιεί όλα τα επίπεδα ενός συστήματος υπολογιστών, ώστε να μεγιστοποιήσει την απόδοση και την ευκολία προγραμματισμού με συγκεκριμένο κόστος και τεχνολογία. Η παραλληλία: Παρέχει εναλλακτικές λύσεις αντί του γρηγορότερου ρολογιού για μεγαλύτερη απόδοση Εφαρμόζεται σε όλα τα επίπεδα σχεδιασμού συστημάτων Παρέχει μια διαφορετική οπτική γωνία για την αρχιτεκτονική υπολογιστών Είναιόλοκαιπιοαναγκαία για την επεξεργασία πληροφοριών 4

Η παράλληλη επεξεργασία είναι αναπόφευκτη Απαιτητικές εφαρμογές: Έχουμε ακόρεστη ανάγκη για κύκλους επεξεργασίας Επιστημονικές εφαρμογές: Μοριακή Βιολογία, Χημεία, Φυσική,... Άλλοι υπολογισμοί: Video, Γραφικά, CAD, Βάσεις εδομένων,... Τάσεις της τεχνολογίας: Ο αριθμός των transistors σε ένα chip μεγαλώνει ταχύτατα Η ταχύτητα του ρολογιού αυξάνει πιο αργά Τάσεις της αρχιτεκτονικής υπολογιστών: Η Παραλληλία σε επίπεδο εντολής (Instruction-level parallelism) είναι πολύτιμη, αλλά περιορισμένη Η παραλληλία υψηλότερου επιπέδου, όπως στους παράλληλους επεξεργαστές, είναι η πιο βιώσιμη προσέγγιση 5

Μέτρηση Απόδοσης Στόχοςτηςπαράλληληςεπεξεργασίαςείναιη«Eπιτάχυνση (Speedup)» Speedup (p processors) = Performance (p processors) Performance (1 processor) Για ένα πρόβλημα συγκεκριμένου μεγέθους (σύνολο δεδομένων εισόδου) : performance = 1/time Speedup fixed problem (p processors) = Time (1 processor) Time (p processors) 6

Then ENIAC (1943-1946) by Mauchly and Eckert Dimension: 3 ft 8 ft 100 ft 15,000 vacuum tubes + lots of switches Memory : Twenty 10-digit decimal numbers Speed: 800 operations/sec 10 years of service more calculations than done by the entire human race up to 1946. 7

Προβλέψεις (tunnel vision) I think there is a world market for maybe five computers. Thomas Watson, Chairman of IBM, 1943 8

More Tunnel Vision by Experts There is no reason for any individual to have a computer in their home Ken Olson, president and founder of Digital Equipment Corporation, 1977. 640K [of memory] ought to be enough for anybody. Bill Gates, chairman of Microsoft,1981. On several recent occasions, I have been asked whether parallel computing will soon be relegated to the trash heap reserved for promising technologies that never quite make it. Ken Kennedy, CRPC Directory, 1994 Slide source: Warfield et al. 9

Ανάγκες Επιστημονικών Υπολογισμών 10

Global Climate Modeling Problem Problem is to compute: f(latitude, longitude, elevation, time) temperature, pressure, humidity, wind velocity Approach: - Discretize the domain, e.g., a measurement point every 10 km - Devise an algorithm to predict weather at time t+δt given t Uses: - Predict major events, e.g., El Nino - Use in setting air emissions standards Source: http://www.epm.ornl.gov/chammp/chammp.html 11

Global Climate Modeling Computation One piece is modeling the fluid flow in the atmosphere - Solve Navier-Stokes equations - Roughly 100 Flops per grid point with 1 minute timestep Computational requirements: - To match real-time, need 5 x 10 11 flops in 60 seconds = 8 Gflop/s - Weather prediction (7 days in 24 hours) 56 Gflop/s - Climate prediction (50 years in 30 days) 4.8 Tflop/s - To use in policy negotiations (50 years in 12 hours) 288 Tflop/s To double the grid resolution, computation is 8x to 16x State of the art models require integration of atmosphere, ocean, sea-ice, land models, plus possibly carbon cycle, geochemistry and more Current models are coarser than this 12

High Resolution Climate Modeling on NERSC-3 P. Duffy, et al., LLNL 13

Climate Modeling on the Earth Simulator System Development of ES started in 1997 in order to make a comprehensive understanding of global environmental changes such as global warming. Its construction was completed at the end of February, 2002 and the practical operation started from March 1, 2002 35.86Tflops (87.5% of the peak performance) is achieved in the Linpack benchmark (world s fastest machine from 2002-2004). 26.58Tflops was obtained by a global atmospheric circulation code. 14

Ανάγκες Εφαρμογών για Μηχανικούς Τα μεγάλα παράλληλα συστήματα είναι γεγονός σε πολλούς βιομηχανικούς τομείς: Ορυκτού Πλούτου-Πετρελαίου (Ανάλυση Αποθεμάτων) Αυτοκινητοβιομηχανία (προσομοίωση συγκρούσεων, ανάλυση επιταχύνσεων, αποδοτικότητα καύσεων), Αεροναυτική (ανάλυση ροής αέρα, απόδοση μηχανών, δομική μηχανική, ηλεκτρομαγνητισμός), Σχεδίαση σε υπολογιστή Φαρμακευτική (Μοντελοποίηση μορίων) Οπτική αναπαράσταση Σε όλα τα παραπάνω ψυχαγωγία (ταινίες όπως το «Toy Story» Pixar co. SUN ) Αρχιτεκτονική (3D visualisation, photorealism) 15

Εφαρμογές: Επεξεργασία λόγου και εικόνας 10 GIPS 1 GIPS 100 MIPS 10 MIPS 1 MIPS 200 Words Isolated Speech Recognition Telephone Number Recognition Speaker Verification Sub-Band Speech Coding 1,000 Words Continuous Speech Recognition ISDN-CD Stereo Receiver CELP Speech Coding 5,000 Words Continuous Speech Recognition HDTVReceiver CIF Video 1980 1985 1990 1995 Επίσης: CAD, Βάσεις δεδομένων,... 100 επεξεργαστές σου δίνουν 10 years, 1000 σου δίνουν 20! 16

New Applications Data mining? Intelligent Systems? Fast Search? 17

Moore s Law: Microprocessor Capacity Gordon Moore (co-founder of Intel) predicted in 1965 that the transistor density of semiconductor chips would double roughly every 18 months. 18

Moore s Law and More Computing Power (tflops) 1,000 MICROPROCESSORS 2x increase in performance every 18 months ( Moore s Law ) 100 10 1 0.1 1996 ASCI Curve Moore s Law 1998 2000 2002 2004 PARALLELISM More processors per SMP More SMPs INNOVATIVE DESIGNS Specialized Computers Cellular Architectures Processors-in-Memory HTMT 19

Revolution is Happening Now Chip density is continuing increase ~2x every 2 years Clock speed is not Number of processor cores may double instead There is little or no hidden parallelism (ILP) to be found Parallelism must be exposed to and managed by software Source: Intel, Microsoft (Sutter) and Stanford (Olukotun, Hammond) 20

Clock Speeds 21

Microprocessor Clock Rate 22

Speed (MHz) Processor-Memory Gap processor 60%/yr memory 7%/yr 23 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 1000 100 10 1 Moore s Law CPU processor-memory performance gap: (grows 50% / yr) DRAM Time

Ομοίως και για το χώρο αποθήκευσης Απόκλιση μεταξύ χωρητικότητας μνήμης και ταχύτητας Η χωρητικότητα αυξήθηκε 1000 φορές από 1980 έως 1995, η ταχύτητα μόνο 2 φορές Οι μεγαλύτερες μνήμες είναι πιο αργές, ενώ οι επεξεργαστές γίνονται πιο γρήγοροι Ανάγκη μεταφοράς περισσότερων δεδομένων παράλληλα Ανάγκη για βαθύτερες ιεραρχίες μνήμης Η παραλληλία αυξάνει το ενεργό μέγεθος κάθε επιπέδου ιεραρχίας της μνήμης, χωρίς να αυξηθεί ο χρόνος πρόσβασης 24

Parallel architecture: a set of hardware resources with various performances processor Throughput ~100 GB/s processor Latency ~1 ns main memory ~1GB/s main memory ~10/100 ns Network /SAN ~100 MB/s Network /SAN ~10us I/O ~10 MB/s I/O ~10ms Network /WAN ~1 MB/s Network /WAN ~100ms 25

Τάσεις στην Αρχιτεκτονική Υπολογιστών Έως το 1985: Παραλληλία σε επίπεδο bit: 4-bit -> 8 bit -> 16-bit Μέσα δεκαετίας 1980s έως μέσα δεκαετίας 1990: Παραλληλία σε επίπεδο εντολής (instruction level parallelism) Παραλληλία σε επίπεδο threadς (SMT) Παραλληλία σε επίπεδο πυρήνων (cores) 26

Eξέλιξη Παραλληλίας στους επεξεργαστές 100,000,000 Bit-level parallelism Instruction-level Thread-level (?) Transistors 10,000,000 1,000,000 100,000 i80286 R10000 Pentium i80386 R3000 R2000 i8086 10,000 i8080 i8008 i4004 1,000 1970 1975 1980 1985 1990 1995 2000 2005 27

Revolution is Happening Now Chip density is continuing increase ~2x every 2 years Clock speed is not Number of processor cores may double instead There is little or no hidden parallelism (ILP) to be found Parallelism must be exposed to and managed by software Source: Intel, Microsoft (Sutter) and Stanford (Olukotun, Hammond) 28

H. Meuer, H. Simon, E. Strohmaier, & JD - Listing of the 500 most powerful Computers in the World - Yardstick: Rmax from LINPACK MPP Ax=b, dense problem TPP performance - Updated twice a year SC xy in the States in November Meeting in Mannheim, Germany in June Rate Size - All data available from www.top500.org 29

Manufacturer 1 IBM 29th List: The TOP10 Computer BlueGene/L eserver Blue Gene Jaguar Cray XT3/XT4 2 Cray 10 3 2 Sandia/Cray Red Storm Cray XT3 4 BGW IBM 3 eserver Blue Gene 5 IBM 6 4 IBM 7 IBM 8 Dell 9 5 IBM 10 SGI New York BLue eserver Blue Gene ASC Purple eserver pseries p575 BlueGene/L eserver Blue Gene Abe PowerEdge 1955, Infiniband MareNostrum JS21 Cluster, Myrinet HLRB-II SGI Altix 4700 Rmax [TF/s] Installation Site Country Year #Proc 280.6 DOE/NNSA/LLNL USA 2005 131,072 101.7 DOE/ORNL USA 2007 23,016 101.4 DOE/NNSA/Sandia USA 2006 26,544 91.29 IBM Thomas Watson USA 2005 40,960 82.16 Stony Brook/BNL USA 2007 36,864 75.76 DOE/NNSA/LLNL USA 2005 12,208 73.03 RPI/CCNI USA 2007 32,768 62.68 NCSA USA 2007 9,600 62.63 Barcelona Supercomputing Center Spain 2006 12,240 56.52 LRZ Germany 2007 9,728 www.top500.org 29th List / June 2007 page 30 30

Ra nk Site 30th List: The TOP10 (12 Nov. 2007) Computer 1 2 3 4 5 DOE/NNSA/LLNL United States Forschungszentrum Juelich (FZJ) Germany SGI/New Mexico Computing Applications Center (NMCAC) United States Computational Research Laboratories, TATA SONS India Government Agency Sweden BlueGene/L - eserver Blue Gene Solution IBM (487,2 TFLOPs) JUGENE - Blue Gene/P Solution IBM (167,3 TFLOPs) SGI Altix ICE 8200, Xeon quad core 3.0 GHz SGI (126,9 TFLOPs) Cluster Platform 3000 BL460c, Xeon 53xx 3GHz, Infiniband Hewlett-Packard (117,9 TFLOPs) Cluster Platform 3000 BL460c, Xeon 53xx 2.66GHz, Infiniband Hewlett-Packard (102,8 TFLOPs) 31

What is Blue Gene A massively parallel supercomputer using tens of thousands of embedded PowerPC processors supporting a large memory space With standard compilers and message passing environment 32

Blue Gene/L Architecture Can be scaled up to 65,536 compute or I/O nodes, with 131,072 processors Each node is a single ASIC with associated DRAM memory chips Each ASIC has 2 700 MHz IBM PowerPC processors (14W) PowerPC processors Low-frequency, low-power embedded processors, superior to today's high-frequency, high-power microprocessors by a factor of 2 or more 33

Blue Gene/L Architecture contd Double-pipeline-double-precision Floating Point Unit A cache sub-system with built-in DRAM controller Node CPUs are not cache coherent with one another FPUs and CPUs are designed for low power consumption Using transistors with low leakage current Local clock gating Putting the FPU or CPU/FPU pair to sleep 34

35

Blue Gene/L Architecture contd 1 rack holds 1024 nodes or 2048 processors Nodes optimized for low power consumption ASIC based on System-on-a-chip technology Large numbers of low-power system-on-a-chip technology allows it to outperform commodity clusters while saving on power Aggressive packaging of processors, memory and interconnect Power Efficient & Space Efficient Allows for latencies and bandwidths that are significantly better than those for nodes typically used in ASC scale supercomputers 36

1024 nodes System Overview 37

Blue Gene/L Networks Each node is attached to 3 main parallel communication networks 3D Torus network - peer-2-peer between compute nodes Collective network collective & global communication Ethernet network - I/O and management (such as access to any node for configuration, booting and diagnostics ) 38

39

Blue Gene/L System Software System software supports efficient execution of parallel applications Compiler support for DFPU (C, C++, Fortran) Compute nodes use a minimal operating system called BlueGene/L compute node kernel A lightweight, single-user operating system Supports execution of a single dual-threaded application compute process Kernel provides a single and static virtual address space to one running compute process Because of single-process nature, no context switching required 40

41

42

formance on Linpack Benchmark www.top500.org 43

44

formance on Linpack Benchmark www.top500.org 45

Low Power Cluster Architectures sensitivity to power consumption 46

Power Density Limits Serial Performance 47

Why Parallelism (2007)? All major processor vendors are producing multicore chips - Every machine will soon be a parallel machine - All programmers will be parallel programmers??? New software model - Want a new feature? Hide the cost by speeding up the code first - All programmers will be performance programmers??? Some may eventually be hidden in libraries, compilers, and high level languages - But a lot of work is needed to get there Big open questions: - What will be the killer apps for multicore machines - How should the chips be designed, and how will they be programmed? 48

Principles of Parallel Computing Finding enough parallelism (Amdahl s Law) Granularity Locality Load balance Coordination and synchronization Performance modeling All of these things makes parallel programming even harder than sequential programming. 49

Σύγκλιση παράλληλων αρχιτεκτονικών

Ιστορική Αναδρομή Οι παράλληλες αρχιτεκτονικές ήταν πάντα στενά συνδεδεμένες με προγραμματιστικά μοντέλα Παρατηρούνται αρχιτεκτονικές που συγκλίνουν, χωρίς προβλέψιμο μοντέλο ανάπτυξης. Systolic Arrays Dataflow Application Software System Software Architecture Shared Memory SIMD Message Passing Η αβεβαιότητα αυτή καθυστερεί την ανάπτυξη παράλληλων εφαρμογών! 51

Origine du temps concernant la réalisation d ordinateurs parallèles suivant la classification précédente à partir de composants électroniques Solomon idées SIMD sur le traitement parallèle Babbage 1822 Menabrea 1842 Von Neumann 1952 1966 An history of parallel computers Illiac IV Vector Cray 1 temps Cyber 205 CRAY XMP Goodyear MPP CM1 Maspar ICL DAP C.mmp CM* NYU BBN MIMD Shared mem HEP CRAY YMP Cosmic Cube ncube MIMD MP Ipsc DASH 1970 1980 1990 KSR CM5 Paragon CRAY C90 T3D SP1 CRAY T90 NEC SX5 Grape5 SGI Origin SP2 Beowulf CRAY X1 NEC SX6 HP ES40 Regata Cplant Score III 2000 52

Flynn classification Data stream Single Multiple Instruction stream Unique (Single) Multiple Mem 1 data stream Calc Cont 1 instruction Mem 1 data stream Calc Calc Cont Cont SISD MISD several instruction Mem Mem Mem Mem Mem Several data streams Calc Calc Calc Calc Cont 1 instruction Mem Mem Several data streams SIMD MIMD Calc Cont Calc Cont Calc Cont Several instruction streams 53

Σήμερα Επέκταση της αρχιτεκτονικής υπολογιστών ώστε να υποστηρίζονται η επικοινωνία και η συνεργασία ΠΑΛΙΟ: Αρχιτεκτονική συνόλου εντολών ΝΕΟ: Αρχιτεκτονική επικοινωνίας Ορίζει: Κρίσιμες αφηρημένες δομές, όρια (hardware/software, user/system), και primitives (interfaces) ομές που υλοποιούν τα interfaces (hw ή sw) Compilers, βιβλιοθήκες και λειτουργικά συστήματα είναι απαραίτητα σήμερα 54

Modern Layered Framework CAD Βάση εδομένων Επιστημονική μοντελοποίηση Παράλληλες εφαρμογές Multiprogramming Shared address Message passing Data parallel Προγραμματιστικά μοντέλα Compilation ή βιβλιοθήκη Υποστήριξη λειτουργικού συστήματος Hardware επικοινωνίας ομές επικοινωνίας Όριο συστήματος/χρήστη Όριο hardware/software Φυσικό μέσο επικοινωνίας 55

Memory architecture classification Centralized memory Single address space Difficulty + Uniform Memory Access Memory @Max Memory Memory opposite Network PE PE Distributed memory Network PE @0 PE PE PE Multiple address space Memory Memory Memory @Max @Max @Max 12 9 3 6 9 PE 12 3 PE 6 Non Uniform Memory Access Memory PE Memory PE Memory PE Memory @0 @0 @0 PE PE PE 9 12 6 3 PE 9 12 6 3 PE - 56

Προγραμματιστικό μοντέλο Καθορίζει την επικοινωνία και το συγχρονισμό Παραδείγματα: Multiprogramming: Όχι επικοινωνία ή συγχρονισμός στο επίπεδο προγραμματισμού Shared address space: όπως στους πίνακες ανακοινώσεων Message passing: όπως τα γράμματα ή οι τηλεφωνικές κλήσεις,απόσημείοσεσημείο Data parallel: πιο πειθαρχημένες, συνολικές προσπελάσεις δεδομένων Υλοποιείται με shared address space ή message passing 57

Αρχιτεκτονική Επικοινωνίας = User/System Interface + Υλοποίηση Στόχοι: Απόδοση Ευρεία εφαρμογή Εύκολος προγραμματισμός Επεκτασιμότητα Χαμηλό κόστος 58

Αρχιτεκτονικές Μοιραζόμενης Μνήμης Οποιοσδήποτε επεξεργαστής μπορεί να προσπελάσει απ ευθείας οποιαδήποτε θέση μνήμης Η επικοινωνία προκύπτει έμμεσα, σαν αποτέλεσμα των αναγνώσεων και εγγραφών Ευκολία: Ο προγραμματιστής δεν αντιλαμβάνεται σε ποιο μηχάνημα βρίσκονται τα δεδομένα Παρόμοια προγραμματιστικά μοντέλα με time-sharing σε uniprocessors Εκτός του ότι οι διεργασίες εκτελούνται σε διαφορετικούς επεξεργαστές 59

Μοντέλο Μοιραζόμενης Μνήμης ιεργασία: εικονικός χώρος διευθύνσεων και ένα ή περισσότερα threads ελέγχου Μέρος του χώρου διευθύνσεων των διεργασιών είναι μοιραζόμενος Εικονικός χώρος διευθύνσεων για ένα σύνολο διεργασιών που επικοινωνούν με μοιραζόμενη μνήμη Machine physical address space P n pr i vat e Load P n P 0 P 1 P 2 Κοινές φυσικές διευθύνσεις St or e Μοιραζόμενο μέρος του χώρου διευθύνσεων Privateκομμάτι του χώρου διευθύνσεων P 2 pr i vat e P 1 pr i vat e P 0 pr i vat e 60

Μοντέλο Μοιραζόμενης Μνήμης Εγγραφές στη μοιραζόμενη μνήμη είναι ορατές στα άλλα threads (και στις άλλες διεργασίες) Φυσική επέκταση του uniprocessors μοντέλου: βολικές λειτουργίες μνήμης για επικοινωνία, ειδικές ατομικές λειτουργίες για συγχρονισμό Το λειτουργικό σύστημα χρησιμοποιεί μοιραζόμενη μνήμη για να συντονίσει τις διεργασίες 61

Hardware Επικοινωνίας I/O devices Mem Mem Mem Mem I/O ctrl I/O ctrl Inter connect Interconnect Processor Processor 62

Centralized Shared Memory Multiprocessor Processor Processor Processor Processor Caches Caches Caches Caches Interconnection Network Main Memory I/O System 63

Ιστορική αναδρομή Mainframe προσέγγιση Επεκτείνει την τεχνική crossbar που χρησιμοποιείται γιαναδώσειεύροςζώνηςστη μνήμη και την Είσοδο / Έξοδο Αρχικά το μέγεθος του συστήματος περιοριζόταν από το κόστος των επεξεργαστών αργότερα, από το κόστος του crossbar Το εύρος ζώνης μεγαλώνει με το p Υψηλό κόστος Χρήση αρχιτεκτονικών πολλών σταδίων I/O I/O P P C C M M M M 64

Ιστορική αναδρομή Minicomputer προσέγγιση Σχεδόν όλα τα συστήματα μικροεπεξεργαστών έχουν διάδρομο Χρησιμοποιείται πολύ για παράλληλο προγραμματισμό Ονομάζονται «Συμμετρικοί πολύεπεξεργαστές» - symmetric multiprocessor (SMP) Η καθυστέρηση είναι μεγαλύτερη από την αντίστοιχη για έναν uniprocessor Ο διάδρομος αποτελεί bandwidth bottleneck Η λύση είναι η γρήγορη μνήμη: πρόβλημα συνάφειας (coherence) Χαμηλό κόστος επέκτασης I/O C I/O C M M $ $ P P 65

Παράδειγμα: Intel Pentium Pro Quad CPU Interrupt controller Bus interface 256-KB L 2 $ P-Pro module P-Pro module P-Pro module P-Pro bus (64-bit data, 36-bit addr ess, 66 MHz) PCI bridge PCI bridge Memory controller PCI I/O cards PCI bus PCI bus MIU 1-, 2-, or 4-way interleaved DRAM Μικρή καθυστέρηση και εύρος ζώνης 66

Παράδειγμα : SUN Enterprise P $ P $ CPU/mem cards $ 2 $ 2 Mem ctrl Bus interface/switch Gigaplane bus (256 data, 41 address, 83 MHz) Bus interface I/O cards 100bT, SCSI SBUS SBUS SBUS 2 FiberChannel Όλη η μνήμη προσπελαύνεται μέσω του διαδρόμου Μεγαλύτερο εύρος ζώνης, μεγαλύτερη καθυστέρηση στο διάδρομο 67

Επεκτασιμότητα M M M Network Network $ $ $ M $ M $ M $ P P P P P P Dance hall Κατανεμημένη μνήμη σε hw, μοιραζόμενη μέσω κατανεμημένης συνάφειας μνήμης (distributed cache coherence) 68

Επεκτασιμότητα Πρόβλημα για τον τρόπο διασύνδεσης: υψηλό κόστος - crossbar ή μικρόbandwidth - bus Dance-hall: Το εύρος ζώνης είναι επεκτάσιμο, αλλά με μικρότερο κόστος από ότι στο crossbar Κατανεμημένη Μνήμη, ήμηομοιόμορφηπροσπέλασημνήμης (NUMA) ΤΙ γίνεται με την αποθήκευση σε γρήγορη μνήμη των μοιραζόμενων (ιδιαίτερα των μη τοπικών) δεδομένων; 69

Example: Cray T3E External I/O P $ Mem Mem ctrl and NI XY Switch Z Επεκτείνεται μέχρι 1024 επεξεργαστές, 480MB/s ενώσεις Ο ελεγκτής μνήμης παράγει τις αιτήσεις επικοινωνίας για τις αναφορές σε απομακρυσμένες θέσεις εν υπάρχει μηχανισμός hardware για συνάφεια 70

Αρχιτεκτονικές Ανταλλαγής Μηνυμάτων Πλήρης υπολογιστής σαν δομική μονάδα, συμπεριλαμβανομένης της Ε/Ε Επικοινωνία μέσω ρητών εντολών Ε/Ε Προγραμματιστικό μοντέλο: Απ ευθείας προσπέλαση μόνο στον ιδιωτικό χώρο διευθύνσεων (τοπική μνήμη), επικοινωνία μέσω μηνυμάτων (αποστολή/λήψη) 71

Αφηρημένες δομές Ανταλλαγής Μηνυμάτων Send X, Q, t Match Receive Y, P, t Address Y Address X Local process address space Local process address space Process P Process Q 72

Αφηρημένες δομές Ανταλλαγής Μηνυμάτων Η ρουτίνα αποστολής καθορίζει τον καταχωρητή που θα μεταφερθεί και τη διεργασία-παραλήπτη Η ρουτίνα λήψης καθορίζει τη διεργασία-αποστολέα και τη θέση που θα αποθηκευτούν οι λαμβανόμενες πληροφορίες Επιπλέον φορτίο: αντιγραφή, διαχείριση καταχωρητών, προστασία 73

Distributed Memory Machine Architecture Processor Processor Processor Caches Caches Caches Memory I/O Memory I/O Memory I/O Interconnection Network NonUniform Memory Access (NUMA): Accessing local memory is faster than accessing remote memory 74

Παράδειγμα: IBM SP-2 Power 2 CPU IBM SP-2 node L 2 $ Memory bus General interconnection network formed from 8-port switches Memory controller 4-way interleaved DRAM MicroChannel bus NIC I/O i860 DMA NI DRAM 75

Παράδειγμα: Intel Paragon i860 L 1 $ i860 L 1 $ Intel Paragon node Memory bus (64-bit, 50 MHz) Mem ctrl DMA Sandia s Intel Paragon XP/S-based Supercomputer 4-way interleaved DRAM Driver NI 2D grid network with processing node attached to every switch 8 bits, 175 MHz, bidirectional 76

Σύγκλιση των Αρχιτεκτονικών Η εξέλιξη του ρόλου του software έχει κάνει ασαφή τα όρια: Αποστολή / Λήψη υποστηρίζονται από μηχανήματα μοιραζόμενης μνήμης, μέσω κοινών καταχωρητών Μπορεί να υλοποιηθεί κοινός χώρος διευθύνσεων σε μηχανήματα ανταλλαγής μηνυμάτων Σύγκλιση παρατηρείται και στην οργάνωση του hardware 77

Data Parallel μοντέλο Προγραμματιστικό μοντέλο: Οι λειτουργίες εκτελούνται παράλληλα σε κάθε στοιχείο της δομής δεδομένων Ένα λογικό thread ελέγχου εκτελεί σειριακά ή παράλληλα βήματα ιαισθητικά, ένας επεξεργαστής συνδέεται με κάθε στοιχείο δεδομένων (data element) Αρχιτεκτονικό μοντέλο: Σειρά από πολλούς απλούς, φθηνούς επεξεργαστές με λίγη μνήμη ο καθένας Ένας επεξεργαστής ελέγχου δίνει τις εντολές Εξειδικευμένη και γενική επικοινωνία, φθηνός συνολικός συγχρονισμός 78

Data Parallel μοντέλο Ιδανικό για επίλυση προβλημάτων απλών διαφορικών εξισώσεων Κεντρικοποιείται το μεγάλο κόστος της ανάγνωσης και αποκωδικοποίησης εντολών Control processor PE PE PE PE PE PE PE PE PE 79

Συστολικές Αρχιτεκτονικές Αντικαθιστούν μονούς επεξεργαστές με σειρά κανονικών στοιχείων επεξεργασίας Συγχρονίζουν τη ροή δεδομένων ώστε να υπάρχει μεγάλος ρυθμός παραγωγής δεδομένων και λίγες προσπελάσεις της μνήμης M M PE PE PE PE 80

Συστολικές Αρχιτεκτονικές Παράδειγμα: Συστολική αρχιτεκτονική για μονοδιάστατη συνέλιξη y(i) = w 1 x(i) + w 2 x(i + 1) + w 3 x(i + 2) + w 4 x(i + 3) x8 x7 x6 x5 x4 x3 x2 x1 y3 y2 y1 w4 w3 w2 w1 xin yin x w xout yout xout = x x= xin yout = yin + w xin 81

Σύγκλιση: Γενική Παράλληλη Αρχιτεκτονική Ένας γενικού σκοπού σύγχρονος πολυεπεξεργαστής Network Mem Communication assist (CA) $ P 82

Distributed Shared Memory (Clusters of SMPs) Proc. Proc. Proc. Proc. Proc. Proc. Caches Caches Caches Caches Caches Caches Node Interc. Network Node Interc. Network Memory I/O Memory I/O Cluster Interconnection Network Typically: Shared Address Space with Non-Uniform Memory Access (NUMA) 83

Βασικά Θέματα Σχεδίασης

Βασικά Θέματα Σχεδίασης Ονοματολογία: Πώς διαχωρίζονται διαφορετικές διευθύνσεις δεδομένων ή / και διεργασίες; Λειτουργίες: Ποιες λειτουργίες μπορούν να γίνουν στα δεδομένα αυτά; ιάταξη: Πώς συντάσσονται και συντονίζονται οι προσβάσεις σε δεδομένα της μνήμης; Αντίγραφα: Πώς αντιγράφονται τα δεδομένα για να μειωθεί η επικοινωνία; Κόστος επικοινωνίας: Αρχική καθυστέρηση, εύρος ζώνης Κατανόηση σε προγραμματιστικό επίπεδο πρώτα, αφού αυτό δίνει τους περιορισμούς 85

Μοντέλο Ακολουθιακού Προγραμματισμού ιευθυνσιοδότηση : Η ονοματολογία των μεταβλητών αναφέρεται στον εικονικό χώρο διευθύνσεων Το hardware (και ίσως οι compilers) κάνουν τη μετάφραση στο φυσικό χώρο διευθύνσεων Λειτουργίες: Loads και Stores ιάταξη: Ακολουθιακή σειρά προγράμματος 86

Μοντέλο Ακολουθιακού Προγραμματισμού Απόδοση Εξαρτάται κυρίως από τις αναφορές στην ίδια θέση μνήμης: σειρά εξαρτήσεων Οι compilers και το hardware μπορούν να παραβιάζουν άλλες σειρές χωρίς να υπάρχει διαφορά Compiler: Αναδιάταξη και κατανομή καταχωρητών Hardware: εκτός σειράς, pipeline bypassing, καταχωρητές εγγραφής Αντιγραφήστιςγρήγορεςμνήμεςχωρίςνατοαντιλαμβάνεται ο χρήστης 87

Προγραμματιστικό μοντέλο μοιραζόμενου χώρου διευθύνσεων ιευθυνσιοδότηση : Κάθε διεργασία μπορεί να αναφέρεται σε οποιαδήποτε μεταβλητή στο μοιραζόμενο χώρο διευθύνσεων Λειτουργίες: loads και stores, και ό,τι χρειάζεται για τη διάταξη 88

Προγραμματιστικό μοντέλο μοιραζόμενου χώρου διευθύνσεων Απλούστατο μοντέλο διάταξης: Εντός μιας διεργασίας / νήματος: ακολουθιακή σειρά του προγράμματος Μεταξύ των threads: υπάρχει παρεμβολή ( όπως στην περίπτωση του time-sharing) Επιπλέον σειριοποιήσεις λόγω συγχρονισμού Οι compilers και το hardware μπορούν να παραβιάζουν τις σειρές αυτές χωρίς να υπάρχει διαφορά 89

Συγχρονισμός 1) Αμοιβαίος αποκλεισμός (locks) Εξασφαλίζει ότι ορισμένες λειτουργίες σε συγκεκριμένα δεδομένα μπορούν να εκτελούνται από μία μόνο διεργασία σε κάθε χρονική στιγμή Χώρος όπου δεν μπορούν να βρίσκονται παραπάνω από ένας ταυτόχρονα ενυπάρχεικαμίαεγγύησηωςπροςτησειρά 90

Συγχρονισμός 2) Συγχρονισμός με events ιάταξη των events ώστε να διατηρούνται οι εξαρτήσεις Π.χ. παραγωγός > καταναλωτής δεδομένων 3 περιπτώσεις: Ένας προς έναν καθολικά ομαδικά 91

Προγραμματιστικό Μοντέλο Ανταλλαγής Μηνυμάτων ιευθυνσιοδότηση: Οι διεργασίες μπορούν να αναφέρονται σε τοπικά δεδομένα απ ευθείας. εν υπάρχει μοιραζόμενος χώρος διευθύνσεων Λειτουργίες: Ρητή επικοινωνία μέσω αποστολών και λήψεων Μια αποστολή μεταφέρει δεδομένα από τον τοπικό χώρο διευθύνσεων σε μια άλλη διεργασία Μια λήψη αντιγράφει δεδομένα από μια διεργασία στον τοπικό χώρο διευθύνσεων Πρέπει να μπορούμε να κατονομάζουμε τις διεργασίες 92

Προγραμματιστικό Μοντέλο Ανταλλαγής Μηνυμάτων ιάταξη: ίδεται από τη σειρά του προγράμματος εντός μιας διεργασίας Αποστολή και λήψη μπορούν να παρέχουν συγχρονισμό μεταξύ δύο διεργασιών Υπάρχει εγγενής αμοιβαίος αποκλεισμός Μπορεί να κατασκευαστεί καθολικός χώρος διευθύνσεων: Αριθμός διεργασίας + διεύθυνση μέσα στο χώρο διευθύνσεων της διεργασίας Όχι όμως απ ευθείας λειτουργίες στις θέσεις αυτές 93

Θέματα Σχεδίασης Εφαρμόζονται σε όλα τα Επίπεδα Το προγραμματιστικό μοντέλο επιβάλλει περιορισμούς ή στόχους για το σύστημα Κάθε interface μεταξύ των επιπέδων υποστηρίζει: Μοντέλο διευθυνσιοδότησης Σύνολο λειτουργιών πάνω στις μεταβλητές Μοντέλο διάταξης Καθεστώς αντιγράφων Απόδοση επικοινωνίας Κάθε σύνολο διευθύνσεων μπορεί να απεικονιστεί σε οποιοδήποτε άλλο μέσω του κατάλληλου software 94

ιευθυνσιοδότηση και Λειτουργίες Η διευθυνσιοδότηση και οι λειτουργίες ενός προγραμματιστικού μοντέλου μπορούν να υποστηρίζονται απ ευθείας από τα χαμηλότερα επίπεδα ή να μεταφράζονται από τον compiler, από βιβλιοθήκες ή το λειτουργικό σύστημα 95

ιευθυνσιοδότηση και Λειτουργίες Παράδειγμα: προγραμματιστικό μοντέλο με μοιραζόμενο εικονικό χώρο διευθύνσεων 1) Αν το interface του hardware υποστηρίζει μοιραζόμενο φυσικό χώρο διευθύνσεων 2) Αν το hardware υποστηρίζει ανεξάρτητους φυσικούς χώρους διευθύνσεων Μπορεί να παρέχει μοιραζόμενο χώρο διευθύνσεων μέσω του λειτουργικού συστήματος (system/user interface) Ή μέσωτωνcompilers ή κατά την ώρα της εκτέλεσης 96

ιευθυνσιοδότηση και Λειτουργίες Παράδειγμα: Υλοποίηση Ανταλλαγής Μηνυμάτων 1) Άμεση υποστήριξη από το interface του hardware 2) Υποστήριξη σε επίπεδο sys/user interface ήπιοπάνω από το software (σχεδόν πάντα) Το interface του hardware παρέχει τα βασικά για τη μεταφορά δεδομένων Αποστολή / Λήψη δομημένες με software Για κάθε περίπτωση και κάθε επίπεδο πρέπει να εξετάζονται θέματα όπως συχνότητες και είδη λειτουργιών, κόστη, ώστε να βρεθεί σε κάθε περίπτωση η χρυσή τομή 97

ιάταξη Ανταλλαγή μηνυμάτων: εν υπάρχουν περιορισμοί στη διάταξη των λειτουργιών μεταξύ των διεργασιών, εκτός από αυτούς που επιβάλλονται από ζεύγη αποστολής-λήψης Μοιραζόμενος χώρος διευθύνσεων: Το πώς βλέπουν οι διεργασίες τη σειρά των αναφορών στη μνήμη από άλλες διεργασίες καθορίζει η σημασιολογία του μοιραζόμενου χώρου διευθύνσεων 98

ημιουργία αντιγράφων Πολύ σημαντική για τη μείωση της μεταφοράς δεδομένων - επικοινωνίας Εξαρτάται από το μοντέλο διευθυνσιοδότησης Μονός επεξεργαστής: Γίνεται αυτόματα από τις γρήγορες μνήμες Μείωση επικοινωνίας με τη μνήμη 99

ημιουργία αντιγράφων Μοντέλο διευθυνσιοδότησης για ανταλλαγή μηνυμάτων Κάθε λήψη δημιουργεί αντίγραφο, χρησιμοποιώντας καινούριες μεταβλητές για την αποθήκευση δεδομένων Η αντιγραφή γίνεται ρητά στο software πάνω από το interface Μοντέλο διευθυνσιοδότησης για μοιραζόμενο χώρο διευθύνσεων Κάθε ανάγνωση φέρνει δεδομένα και μπορεί να δημιουργεί αντίγραφα χωρίς αυτό να γίνεται αντιληπτό από το χρήστη Γίνεται από τις γρήγορες μνήμες ή το λειτουργικό σύστημα ημιουργούνται πολλά αντίγραφα με το ίδιο όνομα: πρόβλημα συνάφειας (coherence) 100

Απόδοση Επικοινωνίας Τρία χαρακτηριστικά ορίζουν την απόδοση: Αρχική Καθυστέρηση Εύρος ζώνης Κόστος: Όσον αφορά το συνολικό χρόνο εκτέλεσης του προγράμματος 101

Εύρος Ζώνης Αν μια λειτουργία εκτελείται σε 100ns Εύρος ζώνης: 10 Mops Εσωτερικό βάθος pipeline 10 => εύρος ζώνης 100 Mops Ο ρυθμός καθορίζεται από το πιο αργό στάδιο του pipeline, όχι από τη συνολική καθυστέρηση 102

Γραμμικό μοντέλο καθυστέρησης μεταφοράς δεδομένων Χρόνος μεταφοράς(n) = T 0 + n/b Όσο το n αυξάνει, το εύρος ζώνης πλησιάζει ασυμπτωτικά το ρυθμό B Το γραμμικό μοντέλο όμως δεν είναι πλήρες Πότε μπορεί να αρχικοποιηθεί η επόμενη μεταφορά; Χρειάζεται να ξέρουμε πώς γίνεται η μεταφορά 103

Μοντέλο κόστους επικοινωνίας Χρόνος επικοινωνίας ανά μήνυμα = Χρόνος αρχικοποίησης + Assist Occupancy + Καθυστέρηση ικτύου + Μέγεθος/Εύρος ζώνης + Contention = o v + o c + l + n/b + T c 104

Μοντέλο κόστους επικοινωνίας Ο χρόνος αρχικοποίησης και assist occupancy μπορεί να είναι συνάρτηση του μεγέθους n του μηνύματος Κάθε στοιχείο κατά μήκος του διανυόμενου δρόμου έχει τη δική του occupancy και καθυστέρηση Η συνολική καθυστέρηση είναι το άθροισμα των καθυστερήσεων Η συνολική occupancy (1/εύρος ζώνης) είναι η μεγαλύτερη από τις occupancies 105

Μοντέλο κόστους επικοινωνίας Κόστος Επικοινωνίας = συχνότητα * (Χρόνος επικοινωνίας - Αλληλοεπικάλυψη) Γενικό μοντέλο για μεταφορά δεδομένων: Εφαρμόζεται και για μεταφορά από την κύρια στη γρήγορη μνήμη 106

GRID concept Approche pour la distribution de la puissance informatique (calcul, stockage et communication) 107

Network performance Network vs. computer performance Computer speed doubles every 18 months Network speed doubles every 9 months Difference = order of magnitude per 5 years 1986 to 2001 Computers: x 500 Networks: x 340,000 2001 to 2010 Computers: x 60 Networks: x 4000 Moore s Law vs. storage improvements vs. optical improvements. Graph from Scientific American (Jan- 108 2001) by Cleo Vilett, source Vined Khoslan, Kleiner, Caufield and Perkins.

Several types of GRID 2 kinds of distributed systems Computing «GRID» Large scale distributed systems «Desktop GRID» or «Internet Computing» Large sites Computing centers, Clusters PC Windows, Linux Node Features: <100 Stables Individual credential Confidence ~100 000 Volatiles No authentication No confidence Peer-to-Peer systems 109