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

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
ΑΠΟΤΙΜΗΣΗ ΑΠΟΔΟΣΗΣ ΔΙΚΤΥΩΝ ΠΟΥ ΧΡΗΣΙΜΟΠΟΙΟΥΝ ΑΞΙΟΠΙΣΤΑ ΠΡΩΤΟΚΟΛΛΑ ΜΕΤΑΦΟΡΑΣ ΚΑΙ ΑΞΙΟΠΙΣΤΑ ΠΡΩΤΟΚΟΛΛΑ ΣΥΝΔΕΣΗΣ Ιωάννης Κόμνιος Μεταπτυχιακή Διατριβή Τμήμα.
Advertisements

Ερωτηματολόγιο Συλλογής Απαιτήσεων Εφαρμογών Υψηλών Επιδόσεων
5 Οργάνωση υπολογιστών Εισαγωγή στην Επιστήμη των Υπολογιστών ã Εκδόσεις Κλειδάριθμος.
ΙΩΑΝΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΥ 2ο ΦΡΟΝΤΙΣΤΗΡΙΟ ΠΑΡΑΣΚΕΥΗ 26 ΟΚΤΩΒΡΙΟΥ 2012 ΑΙΘΟΥΣΑ Β4 11.
IBM Confidential Until Announcement ® IBM Software © 2006 IBM Corporation Χορήγηση Αδειών Χρήσης βάσει Μονάδων Αξίας Επεξεργαστών (Processor Value Unit.
Ανάπτυξη Μοντέλου Ρομποτικού Οχήματος Σταθερής Τροχιάς, για Αποθήκη Κέντρου Διανομής Λιανεμπορίου ή Υπηρεσιών Logistics Γκρέμος Αναστάσιος ΠΛΣ Διπλωματική.
Αλέξανδρος Σαχινίδης, ΜΒΑ, Ph.D. ΙΟΥΝΙΟΣ 2009
ΡΟΗ Υ: ΥΠΟΛΟΓΙΣΤΙΚΑ ΣΥΣΤΗΜΑΤΑ
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Δεύτερο.
Διαχείριση Έργου Οργάνωση, σχεδιασμός και προγραμματισμός έργων ανάπτυξης λογισμικού.
ΠΜΣ ΠΡΟΗΓΜΕΝΑ ΣΥΣΤΗΜΑΤΑ ΠΛΗΡΟΦΟΡΙΚΗΣ Κατεύθυνση ΤΕΔΑ Τεχνολογίες Διαχείρισης Ασφάλειας Security Management Engineering Τμήμα Πληροφορικής ΠΑΝΕΠΙΣΤΗΜΙΟ.
Το υλικό του Υπολογιστή
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Πρώτο Αρχιτεκτονική.
Χαρακτηριστικά συνθετικής κίνησης 1 Ελληνογαλλική Σχολή Καλαμαρί - Τίκβα Χριστίνα.
Handling Local Variables General Purpose Registers
Οργάνωση και Αρχιτεκτονική Υπολογιστών Διάδρομοι Μεταφοράς Δεδομένων
Συνάφεια Κρυφής Μνήμης σε Επεκτάσιμα Μηχανήματα. Συστήματα με Κοινή ή Κατανεμημένη Μνήμη  Σύστημα μοιραζόμενης μνήμης  Σύστημα κατανεμημένης μνήμης.
Σχεδίαση μονάδας ελέγχου επεξεργαστή Αρχιτεκτονική Υπολογιστών 5ο εξάμηνο ΣΗΜΜΥ ακ. έτος: Νεκτάριος Κοζύρης
ΠΡΟΣΟΜΟΙΩΣΗ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ
1 Α. Βαφειάδης Τ.Ε.Ι Θεσσαλονίκης – Τμήμα Πληροφορικής Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Εργαστηριακό Μέρος Μέρος: Τρίτο Εξάμηνο: Έβδομο Καθηγητής:
29/11/2004Εισαγωγή στο OpenMP1 OpenMP Αθήνα, Νοέμβριος 2004 Συστήματα Παράλληλης Επεξεργασίας Εργαστήριο Υπολογιστικών Συστημάτων.
1/12/2003Εισαγωγή στο OpenMP1 OpenMP Αθήνα, Νοέμβριος 2003 Συστήματα Παράλληλης Επεξεργασίας Εργαστήριο Υπολογιστικών Συστημάτων.
24/11/2003Message Passing Interface (MPI)1 Αθήνα, Νοέμβριος 2003 Συστήματα Παράλληλης Επεξεργασίας Εργαστήριο Υπολογιστικών Συστημάτων.
22/11/2004Message Passing Interface (MPI)1 Αθήνα, Νοέμβριος 2004 Συστήματα Παράλληλης Επεξεργασίας Εργαστήριο Υπολογιστικών Συστημάτων.
Περίληψη Αρχιτεκτονική Μικροεπεξεργαστών MIPS-32
Μονάδα Διασφάλισης Ποιότητας του ΤΕΙ Σερρών
HMMY Τεχνολογία Λογισμικού Διδάσκων Κώστας Κοντογιάννης Αναπλ
Dagstuhl Seminar 10042, Demetris Zeinalipour, University of Cyprus, 26/1/ η Ημερίδα Πληροφορικής για Μαθητές Λυκείων και Τεχνικών Σχολών, Σάββατο,
Page  1 Ο.Παλιάτσου Γαλλική Επανάσταση 1 ο Γυμνάσιο Φιλιππιάδας.
Λύση: Multicycle υλοποίηση Single-cyle υλοποίηση: Διάρκεια κύκλου ίση με τη μεγαλύτερη εντολή-worst case delay (εδώ η lw) = χαμηλή.
Κώστας Διαμαντάρας Τμήμα Πληροφορικής ΤΕΙ Θεσσαλονίκης 2011 Συστολικοί επεξεργαστές.
ΠΡΟΣΟΜΟΙΩΣΗ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ.
ΠΡΟΣΟΜΟΙΩΣΗ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ. Εισαγωγή Έρευνα στην Αρχιτεκτονική Υπολογιστών – Σχεδίαση επεξεργαστή για την εκτέλεση 1 thread (pipeline, branch prediction)
Εισαγωγή στον Robot Simulator HY-475/575. Περιεχόμενα Εισαγωγικά Αρχιτεκτονική Εγκατάσταση Περιήγηση.
Αρχιτεκτονική Συστημάτων
ΗΥ 150 – ΠρογραμματισμόςΞενοφών Ζαμ π ούλης ΗΥ-150 Προγραμματισμός Αλγόριθμοι και Προγράμματα.
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Τρίτο Συστήματα.
ΑΡΧΙΤΕΚΤΟΝΙΚΗ & ΟΡΓΑΝΩΣΗ ΥΠΟΛΟΓΙΣΤΩΝ Κεφάλαιο 1 Εισαγωγή
ΜΑΘΗΜΑ: ΔΙΑΧΕΙΡΗΣΗ ΕΦΟΔΙΑΤΙΚΗΣ ΑΛΥΣΙΔΑΣ.  E.R.P μπορούμε να πούμε ότι είναι ένα επιχειρησιακό εργαλείο ελέγχου, παρακολούθησης και συντονισμού των διαδικασιών.
Οργάνωση και Αρχιτεκτονική Υπολογιστών Βασικές αρχές Αρχιτεκτονικής
Τμήμα Πληροφορικής Πανεπιστημίου Κύπρου ΕΠΛ 371 – Προγραμματισμός Συστημάτων Ονόματα: Αντώνης Μαυρής, Γιώργος Ματθαίου, Χρίστος Κυριάκου Ταυτότητες: ,
Message Passing Interface (MPI) Συστήματα Παράλληλης Επεξεργασίας Εργαστήριο Υπολογιστικών Συστημάτων Αθήνα, Δεκέμβριος 2002.
Μοντέλα Συστημάτων Παρουσιάσεις των συστημάτων των οποίων οι απαιτήσεις αναλύονται.
Ανάπτυξη Πρωτοτύπου Λογισμικού
© Θέματα Φεβρουαρίου © Θέμα 1ο (30%): Έστω η παρακάτω ακολουθία εντολών που χρησιμοποιείται για την αντιγραφή.
Multi-threading Κορομηνάς Κωνσταντίνος – Μ437
ΔΙΑΔΙΚΑΣΙΕΣ ΑΝΑΠΤΥΞΗΣ ΕΦΑΡΜΟΓΩΝ ΠΟΛΥΜΕΣΩΝ
1 Εφαρμογή Ενιαίου Κτηματολογίου. 2 Πρόσκληση Πρόσκληση: 49 Φορέας Υλοποίησης Φορέας Υλοποίησης: ΕΚΠΑ Τεχνικό Δελτίο Τεχνικό Δελτίο: Δράσεις Υποστήριξης.
Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών 1 Κεφάλαιο 3 Η Σημασιολογία των Γλωσσών Προγραμματισμού Προπτυχιακό.
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Τρίτο Συστήματα.
Multi-threading Κορομηνάς Κωνσταντίνος – Μ437 Χατζηανδρέου Ελένη - Μ400 Χήνου Διονυσία – Μ364.
3 Αρχιτεκτονική Συστημάτων  Κατηγορίες χρηστών ΣΔΒΔ  Αρχιτεκτονική ANSI/SPARC  Γλώσσες ερωτημάτων  Μοντέλα δεδομένων  Λειτουργίες ΣΔΒΔ.
Αγγελική Γεωργιάδου- Αναστασία Πεκτέσογλου Δράμα 2006
Σύγχρονες Προκλήσεις. Εισαγωγή Οι CMP είναι πια πραγματικότητα – Intel Core 2, Quad, Nehalem – IBM Power5, Power6 – Sun Niagara, Niagara2, Rock –
Implicitly Multithreaded Processors Νίκος Ιωάννου EΠΛ605 Παρουσίαση άρθρου “IMT processors”
ΗΥ220 - Βασίλης Παπαευσταθίου1 ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων Χειμερινό Εξάμηνο SoC: System on Chip.
© Processor-Memory (DRAM) Διαφορά επίδοσης Performance
ΗΥ-220 Verilog HDL. Τα βασικά.... ΗΥ-220 – Ιάκωβος Μαυροειδής2 Βασική Ροή Σχεδίασης Requirements SimulateRTL Model Gate-level Model Synthesize SimulateTest.
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Πρώτο Αρχιτεκτονική.
ΠΡΟΣΟΜΟΙΩΣΗ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ.
ΠΑΡΑΔΕΙΓΜΑ: ΤΑ ΕΠΙΠΕΔΑ ΥΛΙΚΟΥ – ΛΟΓΙΣΜΙΚΟΥ ΣΕ ΕΝΑΝ ΥΠΟΛΟΓΙΣΤΗ.
Αρχιτεκτονική Υπολογιστών Ανδρέας Μιαουδάκης. Αρχιτεκτονική Υπολογιστών ΠΕΡΙΓΡΑΜΜΑ ΥΛΗΣ Εισαγωγή στη σύγχρονη τεχνολογία υλοποίησης των υπολογιστών. Η.
ΠΡΟΣΟΜΟΙΩΣΗ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ
Single-cyle υλοποίηση:
Εισαγωγή στη VHDL 5/8/2018 Εισαγωγή στη VHDL.
Διπλωματική Εργασία για το Μεταπτυχιακό Δίπλωμα Ειδίκευσης
Single-cyle υλοποίηση:
Single-cyle υλοποίηση:
Single-cyle υλοποίηση:
Μεταγράφημα παρουσίασης:

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

Εισαγωγή Θέματα Ενδιαφέροντος Αρχιτεκτονικής Υπολογιστών – Σχεδίαση επεξεργαστή » 1 thread → pipeline, branch prediction » n threads → SMT resource allocation, threads scheduling – Ετερογενείς αρχιτεκτονικές » Cell, Intel Sandy Bridge, AMD Fusion, Intel Stellarton (Atom E600C) – Ιεραρχία μνήμης » cache sharing, coherence protocols, NUMA – Παράλληλα συστήματα » Coherence, Δίκτυα διασύνδεσης » Compilers, automatic parallelization » Programming Models, synchronization costs, locks, computation and communication oveheads

Στάδια Υλοποίησης Αρχιτεκτονική Σχεδίαση Υλοποίηση Δοκιμή/Έλεγχος Ανάλυση Ανάπτυξη (Deployment) Εκπαίδευση χρηστών

Τρόποι Υλοποίησης Χρήση υπαρχόντων μηχανημάτων – Μεγάλο κόστος » Sun SPARC Enterprise T5120 server (64 threads, 128GB mem) ~ 16K $ (2012) » Intel Westmere X5680 (2 * 6 cores, 24 threads) ~7K $ – Αδυναμία παρέμβασης στο υλικό τους » pipeline, caches, interconnection network – Περιορισμένη δυνατότητα παρακολούθησης και μετρήσεων » performance counters → λίγοι, μικρό documentation – Περιορισμός στο σήμερα » μελλοντικές αρχιτεκτονικές (π.χ. chip με 100 ή 1000 threads) ; Λύση : Simulation (προσομοίωση)

Προσομοίωση Αρχιτεκτονικής (1) Απαιτήσεις – Γενικότητα (Generality) » Μπορεί το εργαλείο να αναλύσει τα workloads? » Parallel Systems, Multithreading, Multiple address spaces, OS code, Network Systems, etc. – Πρακτικότητα (Practicality) » Μπορεί το εργαλείο να χρησιμοποιηθεί αποδοτικά; » Host assumptions, compiler assumptions, OS modifications, workload language assumptions – Εφαρμοσιμότητα (Applicability) » Μπορεί το εργαλείο να απαντήσει στα ερωτήματα μας; » Restricted state that can be monitored, restrictions on parameter visibility, restricted length of observations.

Προσομοίωση Αρχιτεκτονικής (2) Προσομοίωση = SW studying SW Το σημείο στο οποίο συναντώνται οι software και hardware engineers. Είναι το πιο χαμηλό επίπεδο στο οποίο έχει πρόσβαση το software και ταυτόχρονα είναι το πιο σταθερό (stable), καλύτερα ορισμένο (best defined) και λιγότερο πολύπλοκο (least complicated) επίπεδο.

Προσομοίωση Αρχιτεκτονικής (3) Ταχύτητα (Speed) vs. Ακρίβεια (Accuracy)

Προσομοίωση Αρχιτεκτονικής (4) Πλεονεκτήματα – Early availability – Ευκολία χρήσης » Πλήρης διαφάνεια και ευκολία παρακολούθησης και μετρήσεων » Διαφορετικά επίπεδα λεπτομέρειας και ακρίβειας Pipelines, caches, branch predictors, … Hardware devices (timer, drives, cards, …) » Έλεγχος καινοτόμων προτάσεων/ιδεών – Κόστος » Open source (Free) » Academic licenses (Free ή μικρό κόστος για support)

Προσομοίωση Αρχιτεκτονικής (5) Προκλήσεις – Χρόνος ανάπτυξης των μοντέλων (modeling time) – Έλεγχος ορθότητας μοντέλων (validation) – Ταχύτητα προσομοίωσης Active research field Πληθώρα επιλογών – WindRiver Simics (x86, SPARC, MIPS, Leon, ARM…) – AMD SimNow (x86) – Simplescalar (Alpha, PISA, ARM, x86) – SMTSIM (Alpha SMT)

Πλατφόρμες Προσομοίωσης Διάφοροι τύποι προσομοιωτών – Trace-driven vs. Execution-driven – Cycle-level accurate vs. Functional models – Full system simulators (π.χ. Simics) Διάφοροι τύποι προσομοίωσης – Πλήρης εκτέλεση εφαρμογής – Χρήση στατιστικών μεθόδων

Functional vs. Timing Simulation Functional Simulation – Προσομοίωση της λειτουργικότητας των εντολών (instructions semantics and functionality) – Μεταβολή του state (registers, memory, …) – Σωστό program output Timing Simulation – Functional simulation – Λεπτομερής υλοποίηση των διαφορετικών δομών που χρησιμοποιούνται – Χρονισμός γεγονότων, προκειμένου να υπολογισθεί ο χρόνος εκτέλεσης του προγράμματος Functional simulation πολύ πιο γρήγορο

Full System Simulator Πολλοί διαδεδομένοι προσομοιωτές (π.χ. Simplescalar) προσομοιώνουν μόνο τον κώδικα της εφαρμογής που επιλέγει ο χρήστης – Έλλειψη OS – Hack για την προσομοίωση system calls Full system simulators – Ρεαλιστικοί – Εκτέλεση πραγματικών εφαρμογών – Προσομοίωση OS (π.χ. Simics boots Linux) Ακρίβεια (accuracy) ; Ταχύτητα ;

Παράδειγμα χρόνων προσομοίωσης spec2k with gcc and small inputs

Επιλογή περιβάλλοντος προσομοίωσης Κριτήρια Επιλογής – Modularity simulator – Extensibility simulator – Επίπεδο ακρίβειας simulator – Ταχύτητα simulator – Μέγεθος του design space που θέλουμε να μελετήσουμε – Επιλογή κατάλληλων benchmarks

Στατιστικά Προσομοίωσης Ο σκοπός ενός timing simulation είναι η συγκέντρωση πληροφοριών και μέτρηση διαφόρων μεγεθών – IPC – Memory access cycles – On-chip network contention Τα προγράμματα παρουσιάζουν διαφορετικές φάσεις – Initialization phase – Main phase – Wrap-up phase Πότε παίρνουμε τα στατιστικά που μας ενδιαφέρουν;

Στατιστικά Προσομοίωσης

Simics Full system simulator – Υποστήριξη διαφορετικών συστημάτων (x86, Sun, ARM, …) – Εκτέλεση OS και workloads χωρίς προσθήκες/αλλαγές Εύχρηστο interface για microarchitecture modeling – O Simics παρέχει το functional simulation και ο χρήστης αποφασίζει για το timing των διαφόρων γεγονότων – Υλοποιήσεις cache memories – Ενορχήστρωση για συγκέντρωση πληροφοριών κατά το run time Ευρέως αποδεκτός στο architecture research community Θα τον χρησιμοποιήσουμε στις ασκήσεις – Academic license for NTUA

Simics Instruction Set Level Simulation – Οι πραγματικές εφαρμογές παίρνουν ώρες σε πραγματικά μηαχνήματα – Χρειαζόμαστε αρκετά μεγάλες ταχύτητες για να τρέξουμε ένα σημαντικό κομμάτι αυτών των εφαρμογών.

Simics

Simics Pipeline

Ultra SPARC III Pipeine

Simics Simics → Functional Simulation – Instruction Set semantics – Devices User → Timing – Ο χρήστης μπορεί να καθορίζει το timing. – Υπάρχουν modules τα οποία παρέχουν αυτή τη δυνατότητα. » GEMS Ruby → Memory Hierarchy » GEMS Opal → Processor pipeline » SimFlex → Memory Hierarchy

Simics Terminology Host machine – Το μηχάνημα/OS στο οποίο τρέχει ο Simics Target machine – Το μηχάνημα/OS το οποίο προσομοιώνει ο Simics Δεν απαιτείται η αρχιτεκτονική και το OS των 2 μηχανημάτων να είναι τα ίδια – Compile σε διαφορετικά μηχανήματα! Steps vs. cycles vs. instructions

Simics Environment Command line interface, παρόμοιο με το gdb Scripting – Δυνατότητα scripting και σε Python Ανάπτυξη μοντέλων (C, Python) Checkpointing Διαφορετικοί τρόποι προσομοίωσης – Fast, stalls, MAI – Speed vs. accuracy

Simics Major Components Functional – Modules » C, Python, DML » Devices, components, boards, machines… – Ενεργοποιούνται με Simics ή Python scripts Timing – Memory, caches, Simics MAI – Ο χρήστης ορίζει τις καθυστερήσεις του κάθε module

Simics Demo