1 / 22

Optimizarea unei arhitecturi multicore prin simulare şi Design Space Exploration

Panu Mihai Tudor Calculatoare An 4 Conducător: Prof. Dr. Ing. Vinţan Lucian Îndrumător: Conf. Dr. Ing. Florea Adrian. Optimizarea unei arhitecturi multicore prin simulare şi Design Space Exploration. Singlecore Scalarea frecvenţei a ajuns la saturaţie: P = f · V 2 · C

braith
Download Presentation

Optimizarea unei arhitecturi multicore prin simulare şi Design Space Exploration

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Panu Mihai Tudor Calculatoare An 4 Conducător: Prof. Dr. Ing. Vinţan Lucian Îndrumător: Conf. Dr. Ing. Florea Adrian Optimizarea unei arhitecturi multicore prin simulare şi Design Space Exploration

  2. Singlecore Scalarea frecvenţei a ajuns la saturaţie: P = f · V2· C Exploatarea ILP şi TLP prin inovaţii arhitecturale este costisitoare Semantică redusă Nu exploatează TLP la nivel de granularitate suficient Gap procesor memorie îngrijorător Multicore Paralelism la toate nivelurile Gap-ul se atenuează prin mutithreading, multitasking Frecvente mai mici de lucru, putere consumată mai mică Performanţele cresc prin numărul de core-uri Pot fi omogene sau neomogene De la singlecore la multicore

  3. Coerenţa cache-urilor. Protocoalele MESI, MOESI. Programarea paralelă Complexitate crescută. Debugging dificil. Consumul de putere rămâne o problemă. Impedimentele multicore

  4. Scopul final: Determinarea unei arhitecturi multicore optime pentru benchmark-urile paralele SPLASH-2, prin DSE. Obiective: Utilizarea, dezvoltarea şi exploatarea a 2 simulatoare diferite: Unisim – modular Multi2sim – monolitic Scopul lucrării. Obiective.

  5. Avantaje Cadru de simulare modular, se poate extinde uşor. Două nivele de modelare, CLM şi TLM. Simulatoare numeroase şi arhitecturi diverse (Shared Memory, Distributed Memory). Poate fi integrat într-un sistem ADSE. Dezavantaje Modularitatea şi comunicaţiile între module duc la viteze de simulare mult mai mici. Necesită dezvoltare pentru a produce rezultate detaliate în urma unei simulări. Platforma UNISIM

  6. Simulatorul PPC - Pthread. Platforma UNISIM – simulatorul utilizat

  7. Documentaţia existentă este inadecvată. Instalarea, înţelegerea şi extinderea mediului sunt dificile. Permite doar simulări de arhitecturi Dualcore. Nu s-a folosit în DSE. Platforma Unisim - Concluzii

  8. Avantaje Simulator monolitic event-driven, viteză de simulare mai mare. Parametrii de configurare ai unei arhitecturi multicore numeroşi (mai ales nucleu). Ierarhii de cache-uri parametrizabile. Reteaua de interconectare poate fi bus sau fat tree, lăţimea de bandă se poate selecta. Rezultatele unei simulări sunt detaliate. Arhitecură x86, nu necesită crosscompilator, nucleele pot să utilizeze SMT. Dezavantaje Este greu de extins. Nu permite full system simulation. Simulatorul Multi2sim

  9. Multi2sim – Ierarhii de memorii cache

  10. Multi2sim – flow diagram Parametrii arhitecturali Generator ierarhii cache-uri Fişier ierarhie cache-uri Benchmark-uri Script automatizare execuţie Simulare Prelucrare rezultate Input Output Multi2Sim Interpretare vizuală Timp simulare o configuraţie: 6 – 8 ore!

  11. Aplicaţie dezvoltată pentru a genera fişiere de configurare cache cu două nivele. Cele 6 modele implementate sunt scalabile. Extinderea simulatorului – Generator ierarhii cache-uri

  12. Aplicaţie dezvoltată pentru a prelua uşor rezultatele unei simulări. Extrage: Rata de procesare Acurateţea globală de predicţie Rata de hit în memoriile cache Extinderea simulatorului – Parserul de rezultate

  13. Documentaţie mediocră, însă codul este explicat. Uşor de instalat şi de utilizat. Poate fi integrat într-o soluţie ADSE. Multi2sim - Concluzii

  14. S-a urmărit optimzarea unei arhitecturi multicore, utilizănd simulatorul Multi2sim. S-a folosit o metodă simplă de hillclimbing. Benchmark-uri: FFT LU Ocean Radix Rayrace Căutare: Parametrii nucleu Parametrii multicore DSE – Metodologia de simulare Arhitectura iniţială Reactualizare arhitectură Variaţie un singur parametru Simulare benchmarkuri Selecţie valoare optimă pentru parametru Preluare şi analiză rezultate

  15. Rata de procesare pe cache-urile de nivel 1. DSE – Level 1 Caches

  16. Rata de procesare pe cache-urile de nivel 2. DSE – Level 2 Caches

  17. Rata de procesare în funcţie de factorul de superscalaritate. DSE – Factor Superscalaritate

  18. Rata de procesare în funcţie arhitectura folosită, cu VB sau ROB. DSE – Arhitectura VB

  19. Rata de procesare în funcţie numărul de threaduri. DSE – Multithreading

  20. Analiză comparativă între SMT şi multicore. DSE – SMT versus Multicore

  21. Performanţele sistemelor multicore în funcţie de ierarhia de cache utilizată DSE – Multicore

  22. Concluzii: Performanţa creşte cu 400% pentru 8-core cu SMT şi 600% pentru 16 core cu SMT. Se preferă un simulator monolitic pentru ca este mai rapid. TLP este esenţial, implementarea pe multicore este superioară faţă de singlecore. Dezvoltarea simulatoarelor este relativ uşoară cât timp se lucrează pe preprocesare şi postprocesare. Dezvoltări: Paralelizarea simulatoarelor este o opţiune. Optimizare şi pe ansamblul de parametrii ai compilatorului. DSE poate fi îmbunătăţit prin implementarea unor algoritmi de căutare inteligenţi. Alte metode de reducere a timpului mare de simulare. Concluzii şi dezvoltări

More Related