Palestrante: Luiz Carlos Orsoni - MAFFEI
A partir das z990 (T-Rex, em 2.003), os Mainframes da Série z passaram a ser Super Escalares, ou seja, capazes de executar mais de uma Instrução por Ciclo. Embora sejam indiscutivelmente capazes, isto não significa que sempre executarão mais do que uma Instrução por Ciclo, podendo não executar nenhuma! Como já enfatizamos em vezes anteriores, isto é extremamente dependente da qualidade do Software e de outras atividades que ocorram simultaneamente nos CECs. Esta palestra procurará aclarar os conceitos envolvidos, tendo como exemplos os detalhes internos das z13, capazes de executar até dez Instruções por Ciclo.
Gerenciamento de TI - Métodos Ágeis por Prof. Me Valdir Morales (Faculdades O...
Quantas Instruções por Ciclo?
1. 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
2. Quantas Instruções
por 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
3. #1.1= O que foi acrescentado?
Mais PUs!
Proibida cópia ou divulgação sem permissão escrita do CMG Brasil.
Caches:
L1 I = 96KB
L1D = 128KB
L2 I = 2MB
L2D = 2MB
Private=Per Core
Inclusive
Store-Through
L3 = 64MB
Shared=Per Chip
Store-In
L4 = 960MB, up to
3,840MB per CEC
Non-Inclusive
=Per Drawer
Store-In
3
4. 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 / 42PUs
1536MB / 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
5. #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
6. #3.1= Porque até 10
Instruções por Ciclo?
Proibida cópia ou divulgação sem permissão escrita do CMG Brasil.
6 6
QUAD
DUPLA
DUPLA
DEC
DUPLA
BIN
CEC F D C
Z10=2/2/ 3
z196=3/4/ 5
zEC12=3/3/ 7
z13=6/6/10
CACHEI
+TLB1I
CACHED +TLB1DDAT+TLB2
BHT
PHT
BTB
QUEUES
DEPENDENCIES
DUPLA
10
6
7. #3.2= 2 LOAD and STORE Units
Caches L2D e L1D+TLB1D
QUAD
DUALICACHE
+TLB1I
DCACHE +TLB1D
BHT
PHT
BTB DUAL
Decimal
DUAL
Binary
V
D e
U c
A t
L o
r
RU
BFU
dual
PC
L2I
ISU
I
D
U
FXU
quad
IFB
BHT
PHT
BTB L1I
+
ICM
C
O
P
XU
VXU
Vector
dual
DFU
dual
LSU
all Load and Store
L1D
can be Changed
L1D Caches also have:
512 entry TLB Level1
Storage Protectn. Keys
7Proibida cópia ou divulgação sem permissão escrita do CMG Brasil.
8. #3.3= Instruction Cache and Merge
Caches L2I e L1I + TLB1I
QUAD
DUALICACHE
+TLB1I
DCACHE +TLB1D
BHT
PHT
BTB DUAL
Decimal
DUAL
Binary
V
D e
U c
A t
L o
r
RU
BFU
dual
PC
ISU
I
D
U
FXU
quad
IFB
BHT
PHT
BTB
C
O
P
XU
VXU
Vector
dual
DFU
dual
ICM
Merge
L1I
cannot be Changed
Self modifying code?
Ver Load&Store Unit
L1I Caches also have:
512 entry TLB Level1
Storage Protectn. Keys
8Proibida cópia ou divulgação sem permissão escrita do CMG Brasil.
9. #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
BHT
PHT
BTB DUAL
Decimal
DUAL
Binary
V
D e
U c
A t
L o
r
RU
BFU
dual
PC
ISU
FXU
quad
C
O
P
XU
VXU
Vector
dual
DFU
dual
9
6 6
IFB
Instruction Fetch and
Branch Prediction
BHT
Branch History Table
PHT
Pattern History Table
BTB
Branch Target Buffer
Speculative Execution
Transactional Execution
9
10. #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
BHT
PHT
BTB DUAL
Decimal
DUAL
Binary
V
D e
U c
A t
L o
r
RU
BFU
dual
PC
FXU
quad
C
O
P
XU
VXU
Vector
dual
DFU
dual
9
6 6
ISU
Queues
Dependencies
Reg Renaming
Issues upto 10/Cycle
Operand Fecth OoO
Instruction Issue OoO
Instrumentation
Register ReNaming ou
Registradores Virtuais:
Type z196 zEC12 z13
General 64 80 112
Floating 48 64 127
Access 40 40 88
Mappings 48 48 128
Complet. 72 90 144
Queue
QUEUES
DEPENDENCIES
2 Br
2 Vc
2 L&S
4 fix
10
11. Proibida cópia ou divulgação sem permissão escrita do CMG Brasil.
Reserva Técnica - 1
11
12. 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,@OPERAND
L 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,COMDESCT
ST 9,COMDESCT
AP TOTAL,VALOR
12
13. #3.6= 4 Fixed Point Units
Proibida cópia ou divulgação sem permissão escrita do CMG Brasil.
QUAD
DUALICACHE
+TLB1I
DCACHE +TLB1D
BHT
PHT
BTB DUAL
Decimal
DUAL
Binary
V
D e
U c
A t
L o
r
RU
BFU
dual
PC
C
O
P
XU
VXU
Vector
dual
DFU
dual
9
6 6
FXU
Fixed Point
“Skeleton”
2 x RG sem alteração
2 x RG com alteração
Registradores:
16 Gerais
16 de Controle
16 de Acesso
16 Ponto Flutuante?
32 Vector=SIMD?
QUEUES
DEPENDENCIES
4 fix
13
14. #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
BHT
PHT
BTB DUAL
Decimal
DUAL
Binary
V
D e
U c
A t
L o
r
RU
PC
C
O
P
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)
QUEUES
DEPENDENCIES
2 DEC
2 BIN
2 Vector
14
15. #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
BHT
PHT
BTB
DAT +
TLB2
DUAL
Decimal
DUAL
Binary
V
D e
U c
A t
L 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
QUEUES
DEPENDENCIES
9
6 6
2 DEC
2 BIN
2 Vector
4 fix
15
16. #3.9= LOAD and STORE Unit e RNI
Proibida cópia ou divulgação sem permissão escrita do CMG Brasil.
Memória
REMOTA
Até 7,5TB
Memória
LOCAL
Até 2,5TB
L3=64MB
L3=64MB
L3=64MB NIC
LOAD and
STORE
L2D=2MBL1D=128K
LD Q ST Q
I.CACHE and MERGE
L2I=2MBL1I=96KB
L4=480MB
L4=480MB
L4=480MB Memória
LOCAL
L4=480MB
L4=480MB Memória
LOCAL
L4=480MB
L4=480MB Memória
LOCAL
L4=480MBL3=64MB
L3=64MB
L3=64MB NIC
Memória
REMOTA
“DRAWER”
“NODE”
Cada L3 alimenta
8 Cores (Slide #1)
Em cada Core,
2 LOAD and STORE
96KB/2MB= 5%=21 x
128KB/2MB= 6%=16 x
8 x 2+2MB = 32MB= 2 x
3 x 64MB = 192MB= 2,5x
16
18. LD Q ST Q
Proibida cópia ou divulgação sem permissão escrita do CMG Brasil.
#3.10= 10 Execution Units
Sem Alt Reg
Sem Alt Reg
Com Alt Reg
Com Alt Reg
Hex+Bin+Mult
Hex+Bin+Mult
Dec+Pak+Div
Dec+Pak+Div
Vector=SIMD
Vector=SIMD
LOAD & STORE
LOAD & STORE L1,L2...
L1,L2...
18
19. #3.11= z13 PipeLines: Quantas
Instruções Terminaram?
Proibida cópia ou divulgação sem permissão escrita do CMG Brasil. 19
20. 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
21. 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
22. Proibida cópia ou divulgação sem permissão escrita do CMG Brasil.
#4.3= Simultaneous Multi Threading
16 RegGer
16 RegFloatPoint
16 RegAccess
16 RegControl
PSW
Prefix
CPUtimer
FloatPointControl
16 RegGer
16 RegFloatPoint
16 RegAccess
16 RegControl
PSW
Prefix
CPUtimer
FloatPointControl
T
H
R
E
A
D
1
T
H
R
E
A
D
2
DUPLA
BIN
DUPLA
DEC
QUAD
DUPLA
CACHED +TLB1D
CACHEI
+TLB1I
DAT+TLB2
BHT
PHT
BTB
QUEUES
DEPENDENCIES
010
...
100
DUPLA
22
23. #4.4= Experiências em
outras Plataformas
Proibida cópia ou divulgação sem permissão escrita do CMG Brasil.
70% 65% 40%
23
24. #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
25. Proibida cópia ou divulgação sem permissão escrita do CMG Brasil.
Perguntas ? ? ?
Obrigado !
orsoni@maffei.com.br
Boas Otimizações!
Manuais e RedBooks: IBM
Cursos MFTSxx: MAFFEI 25
26. 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.