26
A partir das z990 (T-Rex, em 2.003), os Mainframes da Série z voltaram a ser Super Escalares, ou seja, capazes de executar mais de uma Instrução / Ciclo. Não significa que sempre executarão mais do que uma Instrução por Ciclo! É extremamente dependente da qualidade do Software e de outras atividades. Conceituaremos detalhes das z13, que executam até dez Instruções/Ciclo. #1=Mais Processadores, Mais Caches, Mais Execution Units, Maior Paralelismo, SMT, SIMD: Quais as vantagens disso? #2=E a Frequência, que baixou de 5,5 para 5,0 GHz? 10% a menos na Frequência, mas 10% a mais de Throughput! #3=Porque até 10 Instruções por Ciclo? Porque agora existem 10 Execution Units… #4=Variabilidade: Sempre esteve e continuará presente ! Reflete diretamente na Contabilização de Recursos! #5=Conclusões: (sem ter feito BenchMarks... x USAA) São as mesmas Equações, mudam alguns Coeficientes... 1 Proibida cópia ou divulgação sem permissão escrita do CMG Brasil. Abstract + Agenda

Quantas Instruções por Ciclo?

Embed Size (px)

Citation preview

Page 1: Quantas Instruções por Ciclo?

A partir das z990 (T-Rex, em 2.003), os Mainframes da Série z voltaram a ser Super Escalares, ou seja, capazes de executar mais de uma Instrução / Ciclo.Não significa que sempre executarão mais do que uma Instrução por Ciclo!É extremamente dependente da qualidade do Software e de outras atividades.Conceituaremos detalhes das z13, que executam até dez Instruções/Ciclo.

#1=Mais Processadores, Mais Caches, Mais Execution Units,Maior Paralelismo, SMT, SIMD: Quais as vantagens disso?

#2=E a Frequência, que baixou de 5,5 para 5,0 GHz?10% a menos na Frequência, mas 10% a mais de Throughput!

#3=Porque até 10 Instruções por Ciclo?Porque agora existem 10 Execution Units…

#4=Variabilidade: Sempre esteve e continuará presente! Reflete diretamente na Contabilização de Recursos!#5=Conclusões: (sem ter feito BenchMarks... x USAA) São as mesmas Equações, mudam alguns Coeficientes...

1Proibida cópia ou divulgação sem permissão escrita do CMG Brasil.

Abstract + Agenda

Page 2: Quantas Instruções por Ciclo?

Quantas Instruçõespor Ciclo?

#1 = O que foi acrescentado?

#2 = E o GHz, que baixou de 5,5 para 5,0?

#3 = Porque até 10 Instruções por Ciclo?

#4 = Variabilidade???

#5 = Conclusões: Quantas Instruções/Ciclo?Proibida cópia ou divulgação sem permissão escrita do CMG Brasil.

Ganhei!

2

Page 3: Quantas Instruções por Ciclo?

#1.1= O que foi acrescentado?Mais PUs!

Proibida cópia ou divulgação sem permissão escrita do CMG Brasil.

Caches:L1 I = 96KBL1D = 128KBL2 I = 2MBL2D = 2MBPrivate=Per CoreInclusiveStore-Through

L3 = 64MBShared=Per ChipStore-In

L4 = 960MB, up to3,840MB per CECNon-Inclusive=Per DrawerStore-In

3

Page 4: Quantas Instruções por Ciclo?

Proibida cópia ou divulgação sem permissão escrita do CMG Brasil.

#1.2= Mais Caches, mais Memória,

mais Canais e maior Aggregate!Caches: zEC12 z13 +%L1I 64K 96K + 50%L1D 96K 128K + 33%L2I 1M 2M +100%L2D 1M 2M +100%L3onChip 48M 64M + 33%L4onBook/Drwr 384M 960M +150%L4onCEC 1.536M 3.840M +150% 48MB / 6PUs = 64MB / 8PUs 384MB / 30PUs < 960MB / 42PUs1536MB / 120PUs < 3840MB / 168PUs

RAIM 3T 10T +233%

Aggregate/s 384GB 832GB +117%

Canais 1.024 1.536 + 50%

LPAR 60 85 + 42%IBM Fellow: Charles F Webb

4

Page 5: Quantas Instruções por Ciclo?

#2= E o GHz, que baixou de 5,5 para 5,0 GHz?

Proibida cópia ou divulgação sem permissão escrita do CMG Brasil. 5

Page 6: Quantas Instruções por Ciclo?

#3.1= Porque até 10Instruções por Ciclo?

Proibida cópia ou divulgação sem permissão escrita do CMG Brasil.

6 6QUAD

DUPLA DUPLADEC

DUPLABIN

CEC F D C Z10=2/2/ 3 z196=3/4/ 5zEC12=3/3/ 7 z13=6/6/10

CACHEI+TLB1I

CACHED +TLB1DDAT+TLB2

BHTPHTBTB

QUEUESDEPENDENCIES

DUPLA10

6

Page 7: Quantas Instruções por Ciclo?

#3.2= 2 LOAD and STORE UnitsCaches L2D e L1D+TLB1D

QUAD

DUALICACHE+TLB1I

DCACHE +TLB1D

BHTPHTBTB DUAL

Decimal

DUALBinary

VD eU cA tL o r

RU

BFUdual

PC

L2I

ISUIDU

FXUquad

IFB

BHTPHTBTB L1I

+ICM

COP

XU

VXUVectordual

DFUdual

LSU all Load and Store

L1D can be Changed

L1D Caches also have:512 entry TLB Level1Storage Protectn. Keys

7Proibida cópia ou divulgação sem permissão escrita do CMG Brasil.

Page 8: Quantas Instruções por Ciclo?

#3.3= Instruction Cache and MergeCaches L2I e L1I + TLB1I

QUAD

DUALICACHE+TLB1I

DCACHE +TLB1D

BHTPHTBTB DUAL

Decimal

DUALBinary

VD eU cA tL o r

RU

BFUdual

PC

ISUIDU

FXUquad

IFB

BHTPHTBTB

COP

XU

VXUVectordual

DFUdual

ICM Merge

L1I cannot be ChangedSelf modifying code? Ver Load&Store

Unit

L1I Caches also have:512 entry TLB Level1Storage Protectn. Keys

8Proibida cópia ou divulgação sem permissão escrita do CMG Brasil.

Page 9: Quantas Instruções por Ciclo?

#3.4= Instruction Fetch and Branch+ Instruction Decode Unit

Proibida cópia ou divulgação sem permissão escrita do CMG Brasil.

QUAD

DUALICACHE+TLB1I

DCACHE +TLB1D

BHTPHTBTB DUAL

Decimal

DUALBinary

VD eU cA tL o r

RU

BFUdual

PC

ISUFXUquad

COP

XU

VXUVectordual

DFUdual

9

6 6

IFB Instruction Fetch and Branch Prediction

BHTBranch History Table

PHTPattern History Table

BTBBranch Target Buffer

Speculative ExecutionTransactional Execution

9

Page 10: Quantas Instruções por Ciclo?

#3.5= Instruction Sequencing Unit:Onde a “mágica” é feita!

Proibida cópia ou divulgação sem permissão escrita do CMG Brasil.

QUAD

DUALICACHE+TLB1I

DCACHE +TLB1D

BHTPHTBTB DUAL

Decimal

DUALBinary

VD eU cA tL o r

RU

BFUdual

PC

FXUquad

COP

XU

VXUVectordual

DFUdual

9

6 6

ISU Queues Dependencies Reg Renaming Issues upto 10/CycleOperand Fecth OoOInstruction Issue OoOInstrumentation

Register ReNaming ouRegistradores Virtuais:Type z196 zEC12 z13General 64 80 112Floating 48 64 127Access 40 40 88Mappings 48 48 128Complet. 72 90 144Queue

QUEUESDEPENDENCIES

2 Br

2 Vc

2 L&S

4 fix

10

Page 11: Quantas Instruções por Ciclo?

Proibida cópia ou divulgação sem permissão escrita do CMG Brasil.

Reserva Técnica - 1

11

Page 12: Quantas Instruções por Ciclo?

Proibida cópia ou divulgação sem permissão escrita do CMG Brasil.

Reserva Técnica - 2

PROGRAMA: HARDWARE:

EXIGE 5 CICLOS: USA 3 CICLOS:

LA 9,@OPERAND LA 28,@OPERANDL 43,PARCELA OoO

MVC RESULTD,0(9) AP TOTAL,VALOR OoO

L 9,PARCELA MVC RESULTD,0(28)S 43,DESCONTO  

S 9,DESCONTO  ST 43,COMDESCTST 9,COMDESCTAP TOTAL,VALOR

12

Page 13: Quantas Instruções por Ciclo?

#3.6= 4 Fixed Point Units

Proibida cópia ou divulgação sem permissão escrita do CMG Brasil.

QUAD

DUALICACHE+TLB1I

DCACHE +TLB1D

BHTPHTBTB DUAL

Decimal

DUALBinary

VD eU cA tL o r

RU

BFUdual

PC

COP

XU

VXUVectordual

DFUdual

9

6 6

FXU Fixed Point “Skeleton”

2 x RG sem alteração2 x RG com alteração

Registradores:16 Gerais16 de Controle16 de Acesso

16 Ponto Flutuante?32 Vector=SIMD?

QUEUESDEPENDENCIES

4 fix

13

Page 14: Quantas Instruções por Ciclo?

#3.7= 2 Hex+Bin Floating Point Units+Mult

2 Vector Units (SIMD)2 Decimal Floating Point Units+Div

Proibida cópia ou divulgação sem permissão escrita do CMG Brasil.

QUAD

DUALICACHE+TLB1I

DCACHE +TLB1D

BHTPHTBTB DUAL

Decimal

DUALBinary

VD eU cA tL o r

RU

PC

COP

XU

9

6 6

BFU Binary FloatPoint HexaDec FltPoint FxdPnt Multiplication

VXU Vector (SIMD) PM, ST, XM, XS [Non Destructive] 32 128 bit Regs Shared with 16 FltPt

DFU Decimal FltPoint Decimal Packed (DFX) FxdPnt Division (FPD)

QUEUESDEPENDENCIES

2 DEC

2 BIN2 Vector

14

Page 15: Quantas Instruções por Ciclo?

#3.8= Support Units:XU+DAT+TLB2, RU, PC, CoProc.

Proibida cópia ou divulgação sem permissão escrita do CMG Brasil.

QUAD

DUALICACHE+TLB1I

DCACHE +TLB1D

BHTPHTBTB

DAT +TLB2

DUALDecimal

DUALBinary VD eU cA tL o r

XU (DAT) Translates VR Maintains a TLB2 ALB?

RU Copy of state Fault signals Recovery actions

PC Instrumentation Error collection

CoProcessor Compress Crypto

QUEUESDEPENDENCIES

9

6 6

2 DEC

2 BIN2 Vector

4 fix

15

Page 16: Quantas Instruções por Ciclo?

#3.9= LOAD and STORE Unit e RNI

Proibida cópia ou divulgação sem permissão escrita do CMG Brasil.

Memória REMOTAAté 7,5TB

Memória LOCAL

Até 2,5TB

L3=64MB

L3=64MB

L3=64MB NIC

LOAD and STORE

L2D=2MBL1D=128KLD Q ST Q

I.CACHE and MERGEL2I=2MBL1I=96KB

L4=480MB

L4=480MBL4=480MB Memória

LOCAL

L4=480MBL4=480MB Memória

LOCAL

L4=480MBL4=480MB Memória

LOCAL

L4=480MBL3=64MB

L3=64MB

L3=64MB NIC

Memória REMOTA

“DRAWER”

“NODE”Cada L3 alimenta8 Cores (Slide #1)Em cada Core,2 LOAD and STORE

96KB/2MB= 5%=21 x128KB/2MB= 6%=16 x 8 x 2+2MB = 32MB= 2 x 3 x 64MB = 192MB= 2,5x

16

Page 17: Quantas Instruções por Ciclo?

Proibida cópia ou divulgação sem permissão escrita do CMG Brasil.

Nível ns z10 ns z196L2 2,9| 13 2,7| 14 L3 7,8| 40 2,9L4-L 20,0| 88 22,0|114 8,1 2,9L4-R 52,0|229 48,8|254 18,1 6,4 2,2 M.Loc 134,3|591 147,1|765 54,6 19,1 6,7 3,0M.Rmt 161,8|712 166,7|867 61,9 21,7 7,6 3,4 1,1

Reserva Técnica - 3

17

Page 18: Quantas Instruções por Ciclo?

LD Q ST Q

Proibida cópia ou divulgação sem permissão escrita do CMG Brasil.

#3.10= 10 Execution Units

Sem Alt RegSem Alt Reg

Com Alt RegCom Alt Reg

Hex+Bin+MultHex+Bin+Mult

Dec+Pak+DivDec+Pak+Div

Vector=SIMDVector=SIMD

LOAD & STORE

LOAD & STORE L1,L2...

L1,L2...

18

Page 19: Quantas Instruções por Ciclo?

#3.11= z13 PipeLines: Quantas Instruções Terminaram?

Proibida cópia ou divulgação sem permissão escrita do CMG Brasil. 19

Page 20: Quantas Instruções por Ciclo?

Proibida cópia ou divulgação sem permissão escrita do CMG Brasil.

#4.1= Variabilidade???

SMF SA22-7630-25 Chapter 11. CPU Time: This topic lists a few examples of some of the major causes of CPU-time variation between different runs of the same job or job step.CPU-Time Variation: There are many reasons why CPU time varies. Some of the major causes of variation: There!

20

Page 21: Quantas Instruções por Ciclo?

Proibida cópia ou divulgação sem permissão escrita do CMG Brasil.

#4.2= “Convivência”!!!

“If you think chargeback is fun now, just wait for SMT!”Bob Rogers @ Cheryl Watson TunningLetter 2.014 #2

21

Page 22: Quantas Instruções por Ciclo?

Proibida cópia ou divulgação sem permissão escrita do CMG Brasil.

#4.3= Simultaneous Multi Threading

16 RegGer16 RegFloatPoint 16 RegAccess16 RegControlPSWPrefixCPUtimerFloatPointControl

16 RegGer16 RegFloatPoint 16 RegAccess16 RegControlPSWPrefixCPUtimerFloatPointControl

THREAD1

THREAD2

DUPLABIN

DUPLADEC

QUADDUPLA

CACHED +TLB1D

CACHEI+TLB1I

DAT+TLB2

BHTPHTBTB

QUEUESDEPENDENCIES

010...

100

DUPLA

22

Page 23: Quantas Instruções por Ciclo?

#4.4= Experiências em outras Plataformas

Proibida cópia ou divulgação sem permissão escrita do CMG Brasil.

70% 65% 40%

23

Page 24: Quantas Instruções por Ciclo?

#5 = Conclusões:

Proibida cópia ou divulgação sem permissão escrita do CMG Brasil.

[Sem ainda ter feito nenhum Benchmark...]

1 – Conhecer a ‘Tecnologia embarcada’ nas z13

2 – Ficar “de olho” nas Aplicações sensíveis aos GHz!

3 – Preparar-se para Simultaneous Multi Threading

4 – Continuar convivendo com as Variabilidades!

5 – Quantas Instruções? Ora, depende de quase tudo!

24

Page 25: Quantas Instruções por Ciclo?

Proibida cópia ou divulgação sem permissão escrita do CMG Brasil.

Perguntas ? ? ?

Obrigado !

[email protected]

Boas Otimizações!Manuais e RedBooks: Ó IBM

Cursos MFTSxx: Ó MAFFEI 25

Page 26: Quantas Instruções por Ciclo?

Proibida cópia ou divulgação sem permissão escrita do CMG Brasil. 26

Estes dados mostram que, não necessariamente, os maiores valores individuais de características Físicas, como Ciclo ou Frequência, apontam a PU mais “produtiva”, ou mais rápida.