Optimizarea unei arhitecturi multicore prin simulare şi Design Space Exploration

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

description

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 - PowerPoint PPT Presentation

Transcript of Optimizarea unei arhitecturi multicore prin simulare şi Design Space Exploration

Page 1: Optimizarea unei arhitecturi multicore prin simulare şi Design Space Exploration

Optimizarea unei arhitecturi multicore prin simulare şi Design

Space Exploration

Panu Mihai TudorCalculatoare An 4

Conducător: Prof. Dr. Ing. Vinţan LucianÎndrumător: Conf. Dr. Ing. Florea Adrian

Page 2: Optimizarea unei arhitecturi multicore prin simulare şi Design Space Exploration

De la singlecore la multicoreSinglecore

Scalarea frecvenţei a ajuns la saturaţie:P = f · V2 · C

Exploatarea ILP şi TLP prin inovaţii arhitecturale este costisitoareSemantică redusăNu exploatează TLP la nivel de granularitate suficientGap procesor memorie îngrijorător

MulticoreParalelism la toate nivelurileGap-ul se atenuează prin mutithreading, multitaskingFrecvente mai mici de lucru, putere consumată mai micăPerformanţele cresc prin numărul de core-uriPot fi omogene sau neomogene

Page 3: Optimizarea unei arhitecturi multicore prin simulare şi Design Space Exploration

Impedimentele multicore

Coerenţa cache-urilor. Protocoalele MESI, MOESI.

Programarea paralelă

Complexitate crescută. Debugging dificil.

Consumul de putere rămâne o problemă.

Page 4: Optimizarea unei arhitecturi multicore prin simulare şi Design Space Exploration

Scopul lucrării. Obiective.

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 – modularMulti2sim – monolitic

Page 5: Optimizarea unei arhitecturi multicore prin simulare şi Design Space Exploration

Platforma UNISIM

AvantajeCadru 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.

DezavantajeModularitatea ş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.

Page 6: Optimizarea unei arhitecturi multicore prin simulare şi Design Space Exploration

Platforma UNISIM – simulatorul utilizat

Simulatorul PPC - Pthread.

Page 7: Optimizarea unei arhitecturi multicore prin simulare şi Design Space Exploration

Platforma Unisim - Concluzii

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.

Page 8: Optimizarea unei arhitecturi multicore prin simulare şi Design Space Exploration

Simulatorul Multi2simAvantaje

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.

DezavantajeEste greu de extins.Nu permite full system simulation.

Page 9: Optimizarea unei arhitecturi multicore prin simulare şi Design Space Exploration

Multi2sim – Ierarhii de memorii cache

Page 10: Optimizarea unei arhitecturi multicore prin simulare şi Design Space Exploration

Multi2sim – flow diagram

Benchmark-uri

Parametriiarhitecturali

Fişierierarhie

cache-uri

Generatorierarhii

cache-uri

Input Simulare Output Prelucrarerezultate

Script automatizareexecuţie

Interpretarevizuală

Multi2Sim

Timp simulare o configuraţie:

6 – 8 ore!

Page 11: Optimizarea unei arhitecturi multicore prin simulare şi Design Space Exploration

Extinderea simulatorului – Generator ierarhii cache-uri

Aplicaţie dezvoltată pentru a genera fişiere de configurare cache cu două nivele. Cele 6 modele implementate sunt scalabile.

Page 12: Optimizarea unei arhitecturi multicore prin simulare şi Design Space Exploration

Extinderea simulatorului – Parserul de rezultate

Aplicaţie dezvoltată pentru a prelua uşor rezultatele unei simulări. Extrage:

Rata de procesareAcurateţea globală de predicţieRata de hit în memoriile cache

Page 13: Optimizarea unei arhitecturi multicore prin simulare şi Design Space Exploration

Multi2sim - Concluzii

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

Page 14: Optimizarea unei arhitecturi multicore prin simulare şi Design Space Exploration

DSE – Metodologia de simulareS-a urmărit optimzarea unei arhitecturi multicore,

utilizănd simulatorul Multi2sim. S-a folosit o metodă simplă de hillclimbing.

Benchmark-uri:FFTLUOceanRadixRayrace

Căutare:Parametrii nucleuParametrii multicore

Arhitectura iniţială

Variaţie un singur parametru

Simularebenchmarkuri

Preluare şianaliză rezultate

Selecţie valoare optimă

pentru parametru

Reactualizarearhitectură

Page 15: Optimizarea unei arhitecturi multicore prin simulare şi Design Space Exploration

DSE – Level 1 Caches

Rata de procesare pe cache-urile de nivel 1.

128 256 512 1024 2048

0.70

0.72

0.74

0.76

0.78

0.80

0.82

0.84

0.86

Average Global IPC

Level 1Caches

Global IPC Direct MappedGlobal IPC 2 wayGlobal IPC 4 way

Number of blocks

IPC

Page 16: Optimizarea unei arhitecturi multicore prin simulare şi Design Space Exploration

DSE – Level 2 Caches

Rata de procesare pe cache-urile de nivel 2.

8192 16384 32768 65536 131072

0.60

0.65

0.70

0.75

0.80

0.85

0.90

Average Global IPC

Level 2 Cache

Global IPC 2 wayGlobal IPC 4 wayGlobal IPC 8 way

Number of blocks

IPC

Page 17: Optimizarea unei arhitecturi multicore prin simulare şi Design Space Exploration

DSE – Factor SuperscalaritateRata de procesare în funcţie de factorul de

superscalaritate.

1 2 4 8 16

0.65

0.67

0.69

0.71

0.73

0.75

0.77

0.79

0.81

0.83

0.85

Factorul de Superscalaritate

Factor de Superscalaritate

Factor

IPC

Page 18: Optimizarea unei arhitecturi multicore prin simulare şi Design Space Exploration

DSE – Arhitectura VBRata de procesare în funcţie arhitectura folosită,

cu VB sau ROB.

FFT LU OCEAN RADIX RAYTRACE AVERAGE

0.00

0.20

0.40

0.60

0.80

1.00

1.20

Performance Gain With VB Architecture

ROBVB

Benchmark

IPC

Page 19: Optimizarea unei arhitecturi multicore prin simulare şi Design Space Exploration

DSE – MultithreadingRata de procesare în funcţie numărul de

threaduri.

1 2 4 8 16 32

0.80

0.90

1.00

1.10

1.20

1.30

1.40

1.50

1.60

1.70

1.80

Multithread

Average Global IPC

Threads

Threads

IPC

Page 20: Optimizarea unei arhitecturi multicore prin simulare şi Design Space Exploration

DSE – SMT versus MulticoreAnaliză comparativă între SMT şi multicore.

1 2 4 8

0.90

1.13

1.43

1.80

2.26

2.85

3.58

4.51

5.68

7.15

Multithread & Multicore

CoresIdealThreads

Number of Cores or Threads

IPC

Page 21: Optimizarea unei arhitecturi multicore prin simulare şi Design Space Exploration

DSE – MulticorePerformanţele sistemelor multicoreîn funcţie de ierarhia de cache utilizată

1 2 4 8 16

1.00

2.00

3.00

4.00

5.00

6.00

7.00

1

2

3

4

5

6

7

Performanta pe diferite ierarhii de cache

Model AModel BModel C

Cores

IPC

Page 22: Optimizarea unei arhitecturi multicore prin simulare şi Design Space Exploration

Concluzii şi dezvoltări

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.