SlideShare uma empresa Scribd logo
1 de 20
Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
Acelerando suas aplicações com o novíssimo
Vector Packed Decimal Facility do z14
15/05/2018
Flavio C Buccianti
flaviocb@gmail.com
Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
Implementação do Vector Facility nos mainframes IBM z
• 1a Geração: Implementação antiga disponibilizada até o ESA/390
• 2a Geração : Reintroduzido na família z13 (ARCH(11)) em 2015
• Baseado AltiVEC desenvolvida pela IBM, Apple e Motorola - final de 90
• Totalmente diferente da implementação anterior (ESA/390)
• Implementção similar à existente em Power + extensões para Z
• Adiciona um conjunto novo de 32 registradores de 128 bits
• 139 novas instruções
• Suporta SIMD (Single Instruction Multiple Data)
• Precisa ter o Vector Facility habilitado
• Programas compilados com opção ARCH(11) exploram as novas instruções (Compiladores
mais recentes)
• AltiVEC implemenado nos processadores Power
• Power PC 970 (G5) em 2002 – Acelerador de Vídeo e Multimidia
• Cell Processor (PS3, Blades Cell) em 2006 – Video, Multimidia e Cálculos Vetoriais
• Power 6 (pSeries) em 2007 – Cáculos Vetoriais (SIMD)
Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
Implementação do Vector Facility nos mainframes IBM z
Vector Registers
• 32 Registradores
• Registradores de 128 bits
• Primeiros 16 registrdores compartilhados com Floating-
Point (FP) registers (somente a primeria metade do
registrador).
• SIMD
Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
Múltiplos dados podem ser carregados num único Vector Register,
permitindo operações do tipo SIMD (Single Instruction Multiple Data).
Vector Register “n”
Vector Register – ocupação lógica dos dados
Implementação do Vector Facility nos mainframes IBM Z
Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
Implementação do Vector Facility nos mainframes IBM z
Manuseando dados utilizando SIMD
Soma de elementos com SIMD:
Soma convencional:
Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
Vector Packed Decimal Facility
• Implementado a partir da z14 (ARCH(12))
– Vector Facility é pré-requisito
– Operações Vector Packed Decimal NÃO são executáveis em z13
• Utiliza as facilidades implementadas pelo Vector Facility
– Utiliza os mesmos 32 registradores de 128 bits
– 16 novas instruções implementadas
– Não permite SIMD com dados tipo PACKED
– Precisa ter o Vector Facility habilitado
– Programas compilados com opção ARCH(12) exploram as novas
instruções (Compiladores mais recentes)
Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
Vector Packed Decimal Facility
O que é o packed decimal format ?
•Signed Packed Decimal Format:
- Cada Byte contém dois dígitos, um em cada metade (NIBBLE)
- Cada Nibble pode ter valores binários de 0000 a 1001 (0 a 9)
- O úlimo Nibble da direita contém o sinal (S)
- Valores positivos contém o valor binário 1100 ou x’C’
- Valores Negativos contém o valor binário 1101 ou x’D’
O que é diferente no Vector Packed Decimal da z14 ?
•Os números são calculados usando somente os Vector Registers evitando uso de memória.
•Cada Vector register pode conter um número com até 31 dígitos mais o sinal (S).
•Se o número for menor que 31 digitos, as posições da esquerda do número serão preenchidas
com zeros.
•Os números sermpre estarão alinhados à direita dentro do Vector Register.
Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
Vector Packed Decimal Facility
Valor Comp-3(hex) Dentro do vector register
+0 0C 0000000000000000000000000000000C
+1 1C 0000000000000000000000000000001C
+32 03 2C 0000000000000000000000000000032C
+473 47 3C 0000000000000000000000000000473C
+6189 61 89 4C 0000000000000000000000000006189C
-1 1D 0000000000000000000000000000001D
-6189 61 89 4D 0000000000000000000000000006189D
Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
Vector Packed Decimal Facility
VECTOR ADD DECIMAL
VECTOR COMPARE DECIMAL
VECTOR CONVERT TO BINARY
VECTOR CONVERT TO DECIMAL
VECTOR DIVIDE DECIMAL
VECTOR LOAD IMMEDIATE DECIMAL
VECTOR MULTIPLY DECIMAL
VECTOR MULTIPLY AND SHIFT DECIMAL
VECTOR PACK ZONED
VECTOR PERFORM SIGN OPERATION DECIMAL
VECTOR REMAINDER DECIMAL
VECTOR SHIFT AND DIVIDE DECIMAL
VECTOR SHIFT AND ROUND DECIMAL
VECTOR SUBTRACT DECIMAL
VECTOR TEST DECIMAL
VECTOR UNPACK ZONED
Novas instruções implementadas no z14
Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
Vector Packed Decimal Facility
Quais são as vantagens do novo conjunto de instruções ?
-Operações com numeros packed (Vector) são mais rápidas e usam menos instruções
- Decimal Packed tradicional usa memória X Vector Packed Dec usa só registradores
-Suporte nos novos compiladores com opção ARCH(12)
-Não existe necessidade de adaptar ou reescrever os programas
-Basta recompilar os programas com ARCH(12)
-Suportado pela maioria das linguagens do Z (COBOL, PLI, Java, C/C++, HLASM…)
-Ganhos de performance que podem chegar a 4 vezes ou mais.
-Menos MIPS gastos nas rotinas de cálculo de numeros packed.
Quais são as considerações ?
-Necessita de máquina z14 ou maior para poder utilizar o novo feature.
-Compilações com ARCH(12) não podem ser executados em maquinas anteriores ao z14
Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
Vector Packed Decimal Facility
Principais Compiladores que
exploram o
Vector Packed Decimal Facility
Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
Vector Packed Decimal Facility
COBOL
• Enterprise COBOL V 6.2
- Anunciado junto com o z14 em 17/7/2017
- ARCH(12) suportado a partir da versão 6.2 (default: ARCH(7))
- Programas COBOL
- Muitos dados no formato Packed ou Zoned Decimal
- Ganhos em performance e redução de MIPS ao utilizarem o suporte ao
Vector Packed Decimal Facility. *(4)
- Sem alterar os fontes, só recompilar com ARCH(12).
Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
Vector Packed Decimal Facility
01 WS-VAR-1 COMP-3 PIC s9(14)v9(4).
01 WS-VAR-2 COMP-3 PIC s9(14)v9(4).
01 WS-VAR-3 COMP-3 PIC s9(14)v9(2).
MULTIPLY WS-VAR-1 BY WS-VAR-2
GIVING WS-VAR-3.
Sem ARCH(12)
ZAP 336(16,13),16(2,2)
MVC 352(32,13),58(10)
MVC 366(15,13),0(2)
NI 380(13),X'F0'
MVN 383(1,13),14(2)
L 3,92(0,9
L 15,180(0,3) V(IGZCXDI )
LA 1,180(0,10
BASR 14,15
Com ARCH(12)
VLRL VRF24,_WSA[0x12c] 0(,R3),0xe
VLRL VRF25,_WSA[0x12c] 16(,R3),0x1
VSDP VRF24,VRF24,VRF25,0x6,0
Rotina COBOL de divisão com com números decimais de grande formato:
COBOL
Assembler gerado após a compilação
• Chamada à rotina da biblioteca do LE
• Prepara os dados (Shift) antecpadamente
• Overhead da rotina de divisão
• Usa as novas funcionalidades do ARCH(12)
• Preparação de dados e divisão executados diretamente
* Dados extraidos da apresentação (4) da IBM na SHARE de Providence em 7/08/2017 por Tom Ross (Captain COBOL)
Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
Vector Packed Decimal Facility
01 WS-VAR-1 COMP-3 PIC s9(14)v9(4).
01 WS-VAR-2 COMP-3 PIC s9(14)v9(4).
01 WS-VAR-3 COMP-3 PIC s9(14)v9(2).
MULTIPLY WS-VAR-1 BY WS-VAR-2
GIVING WS-VAR-3.
Sem ARCH(12)
L 3,92(0,9)
L 15,188(0,3) V(IGZCXMU )
LA 1,171(0,10)
BASR 14,15
NI 388(13),X'0F'
MVN 396(1,13),399(13)
ZAP 32(9,2),388(9,13)
Com ARCH(12)
VLRL VRF16,152(,R9),0x9
VLRL VRF17,168(,R9),0x9 VMSP
VRF16,VRF16,VRF17,0x6,0
Rotina COBOL de Multiplicação com com números decimais de grande formato:
COBOL
Assembler gerado após a compilação
• Chamada à rotina da biblioteca do LE
• Prepara os dados antecpadamente
• Overhead da rotina de divisão
• Usa as novas funcionalidades do ARCH(12)
• Preparação de dados e divisão executados diretamente
* Dados extraidos da apresentação (4) da IBM na SHARE de Providence em 7/08/2017 por Tom Ross (Captain COBOL)
Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
Vector Packed Decimal Facility
Testes com loop de rotina COBOL executada 100 Milhões de vezes *
• ADIÇÃO de Unsigned Packed Decimal – 4.85x mais rápido
– COBOL V4: 3,648 segundos de CPU
– ARCH(11): 2,195 segundos de CPU
– ARCH(12): 0,752 segundos de CPU
• DIVISÃO de número Decimal Longo – 135x mais rápido
– COBOL V4 ou COBOL V5/V6 c/ARCH(11): 2,319 segundos de CPU
– ARCH(12): 0,027 segundos de CPU
• MULTIPLICAÇÃO de número Decimal Longo – 39x mais rápido
– COBOL V4 ou COBOL V5/V6 c/ARCH(11): 2,797 segundos de CPU
– ARCH(12): 0,072 segundos de CPU
• COMPUTE de Zoned Decimal – 3.05x mais rápido
– COBOL V4: 1,469 segundos de CPU
– ARCH(11): 0,837 segundos de CPU
– ARCH(12): 0,482 segundos de CPU
* Dados extraidos da apresentação (4) da IBM na SHARE de Providence em 7/08/2017 por Tom Ross (Captain COBOL)
Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
Vector Packed Decimal Facility
PL/I
• Versão 5.2 do Enterprise PL/I for z/OS 5
– Não necessita alterações no fonte do programa, só recompilar.
– Opção ARCH(12) dá suporte ao Vector Packed Decimal Facility.
– Ganho de performance em calculos de PICTURE e FIXED DECIMAL
– Artigo do Developerworks (5) reporta ganhos de performance:
• Até 40% mais rápido em aplicações CPU intensivas
• 10% na média só pelo fato de usar a opção de compilação ARCH(12)
Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
Vector Packed Decimal Facility
XL C/C++
• Versão 2.3 do XL C/C++
– Suporte ao Vector Packed Decimal Facility
– Opção de compilação ARCH(12)
– Ao compilar precisam estar em efeito as opções ARCH(12) e VECTOR
– Opção TUNE(12) gera código optimizado para processadores da z14
Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
Vector Packed Decimal Facility
IBM Java
• IBM Java V8.5
– Automaticamente reconhece quando está rodando em z14
– Quando executando em z14 o SDK reconhece o método
com.ibm.dataaccess.DecimalData.addPackedDecimal para poder explorar as
instruções do Vector Packed Decimal Facility
– Explora de forma transparente as novas instruções do Vector Packed Decimal
Facility
– Melhoria na performance em geral pelo fato de usar instruções do tipo Register to
Register.
Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
Vector Packed Decimal Facility
Referências
(1) How to Exploit the Vector Packed Decimal Facility in IBM z14 (Artigo IBM Systems Magazine)
http://ibmsystemsmag.com/mainframe/administrator/performance/vector-facility-z14/
(2) IBM z13 Vector Facility Works to Accelerate Features (Artigo IBM Systems Magazine)
http://ibmsystemsmag.com/mainframe/administrator/performance/z13-vector-facility/
(3) IBM z14 Principles of Operations SA22-7832-11 Manual
http://www-01.ibm.com/support/docview.wss?uid=isg2b9de5f05a9d57819852571c500428f9a
(4) Apresentação da SHARE: The latest IBM Z COBOL compiler: Enterprise COBOL V6.2!
http://www-01.ibm.com/support/docview.wss?uid=swg27050205&aid=1
(5) Announcing Enterprise PL/I for z/OS V5.2 – Artigo Developerworks
https://www.ibm.com/developerworks/community/blogs/86d253aa-f216-4642-9f2b-
eedb09087dfc/entry/Announcing_Enterprise_PL_I_for_z_OS_V5_2?lang=en
(6) SIMD no z13 – Conhecendo as novas funções Vetoriais do Mainframe (Apresentção CMG-BR 2013)
https://cmgbrasil.com/2015/05/18/simd-no-z13-conhecendo-as-novas-funcoes-vetoriais-do-mainframe-por-
flavio-buccianti/
Proibida cópia ou divulgação sem
permissão escrita do CMG Brasil.
Obrigado !
Flavio C Buccianti
flaviocb@gmail.com

Mais conteúdo relacionado

Semelhante a Acelerando aplicações com Vector Packed Decimal Facility do z14

Webinar: Uma introdução a ISA RISC-V e seu ecossistema
Webinar: Uma introdução a ISA RISC-V e seu ecossistemaWebinar: Uma introdução a ISA RISC-V e seu ecossistema
Webinar: Uma introdução a ISA RISC-V e seu ecossistemaEmbarcados
 
Webinar: RISC-V: Novidades de 2020
Webinar: RISC-V: Novidades de 2020Webinar: RISC-V: Novidades de 2020
Webinar: RISC-V: Novidades de 2020Embarcados
 
Configurar tdm410 p-e-aex410p
Configurar tdm410 p-e-aex410pConfigurar tdm410 p-e-aex410p
Configurar tdm410 p-e-aex410pLojamundi
 
Curso CAT3D 2015 - Resumo das noviades entre 2014 e 2015
Curso CAT3D 2015 - Resumo das noviades entre 2014 e 2015Curso CAT3D 2015 - Resumo das noviades entre 2014 e 2015
Curso CAT3D 2015 - Resumo das noviades entre 2014 e 2015Armando Alaminos Bouza
 
Vetorização e Otimização de Código - Intel Software Conference 2013
Vetorização e Otimização de Código - Intel Software Conference 2013Vetorização e Otimização de Código - Intel Software Conference 2013
Vetorização e Otimização de Código - Intel Software Conference 2013Intel Software Brasil
 
Desenvolvendo aplicações gráficas com a família PIC32MZ (DA) e ® MPLAB Harmony
Desenvolvendo aplicações gráficas com a família PIC32MZ (DA) e ® MPLAB HarmonyDesenvolvendo aplicações gráficas com a família PIC32MZ (DA) e ® MPLAB Harmony
Desenvolvendo aplicações gráficas com a família PIC32MZ (DA) e ® MPLAB HarmonyDaniel Rodrigues de Sousa
 
[Cloud Summit 2010] Tecla Internet - Antonio Carlos Pina
[Cloud Summit 2010] Tecla Internet - Antonio Carlos Pina[Cloud Summit 2010] Tecla Internet - Antonio Carlos Pina
[Cloud Summit 2010] Tecla Internet - Antonio Carlos PinaTecla Internet
 
Curso "Desenvolvendo aplicações de uso geral para GPU com CUDA".
Curso "Desenvolvendo aplicações de uso geral para GPU com CUDA".Curso "Desenvolvendo aplicações de uso geral para GPU com CUDA".
Curso "Desenvolvendo aplicações de uso geral para GPU com CUDA".Filipo Mór
 
Microcontroladores PIC.pptx
Microcontroladores PIC.pptxMicrocontroladores PIC.pptx
Microcontroladores PIC.pptxfmtpereira
 
FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!
FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!
FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!Intel Software Brasil
 
FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!
FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!
FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!Luciano Palma
 
Introdução ao Matlab - simulink coder support package
Introdução ao Matlab - simulink coder support packageIntrodução ao Matlab - simulink coder support package
Introdução ao Matlab - simulink coder support packageEmbarcados
 
Amazon EC2 boas praticas e otimizações de desempenho
Amazon EC2 boas praticas e otimizações de desempenhoAmazon EC2 boas praticas e otimizações de desempenho
Amazon EC2 boas praticas e otimizações de desempenhoAmazon Web Services LATAM
 
Mistério ou tecnologia? Paralelismo!
Mistério ou tecnologia? Paralelismo!Mistério ou tecnologia? Paralelismo!
Mistério ou tecnologia? Paralelismo!Rodrigo Campos
 
Java alem das aplicacoes comerciais convencionais
Java alem das aplicacoes comerciais convencionaisJava alem das aplicacoes comerciais convencionais
Java alem das aplicacoes comerciais convencionaisLeonardo Simberg
 
Software Optimization and Tuning Techniques for z13 (As mentiras do ontem, um...
Software Optimization and Tuning Techniques for z13 (As mentiras do ontem, um...Software Optimization and Tuning Techniques for z13 (As mentiras do ontem, um...
Software Optimization and Tuning Techniques for z13 (As mentiras do ontem, um...Joao Galdino Mello de Souza
 
M2 Introdução Basica ao Mainframe
M2 Introdução Basica ao MainframeM2 Introdução Basica ao Mainframe
M2 Introdução Basica ao Mainframemaldelrey
 
Tendências Tecnológicas em processadores, por Luiz Carlos Orsoni
Tendências Tecnológicas em processadores, por Luiz Carlos OrsoniTendências Tecnológicas em processadores, por Luiz Carlos Orsoni
Tendências Tecnológicas em processadores, por Luiz Carlos OrsoniJoao Galdino Mello de Souza
 

Semelhante a Acelerando aplicações com Vector Packed Decimal Facility do z14 (20)

Webinar: Uma introdução a ISA RISC-V e seu ecossistema
Webinar: Uma introdução a ISA RISC-V e seu ecossistemaWebinar: Uma introdução a ISA RISC-V e seu ecossistema
Webinar: Uma introdução a ISA RISC-V e seu ecossistema
 
Webinar: RISC-V: Novidades de 2020
Webinar: RISC-V: Novidades de 2020Webinar: RISC-V: Novidades de 2020
Webinar: RISC-V: Novidades de 2020
 
Configurar tdm410 p-e-aex410p
Configurar tdm410 p-e-aex410pConfigurar tdm410 p-e-aex410p
Configurar tdm410 p-e-aex410p
 
Curso CAT3D 2015 - Resumo das noviades entre 2014 e 2015
Curso CAT3D 2015 - Resumo das noviades entre 2014 e 2015Curso CAT3D 2015 - Resumo das noviades entre 2014 e 2015
Curso CAT3D 2015 - Resumo das noviades entre 2014 e 2015
 
Vetorização e Otimização de Código - Intel Software Conference 2013
Vetorização e Otimização de Código - Intel Software Conference 2013Vetorização e Otimização de Código - Intel Software Conference 2013
Vetorização e Otimização de Código - Intel Software Conference 2013
 
Realidade Aumentada
Realidade AumentadaRealidade Aumentada
Realidade Aumentada
 
Desenvolvendo aplicações gráficas com a família PIC32MZ (DA) e ® MPLAB Harmony
Desenvolvendo aplicações gráficas com a família PIC32MZ (DA) e ® MPLAB HarmonyDesenvolvendo aplicações gráficas com a família PIC32MZ (DA) e ® MPLAB Harmony
Desenvolvendo aplicações gráficas com a família PIC32MZ (DA) e ® MPLAB Harmony
 
[Cloud Summit 2010] Tecla Internet - Antonio Carlos Pina
[Cloud Summit 2010] Tecla Internet - Antonio Carlos Pina[Cloud Summit 2010] Tecla Internet - Antonio Carlos Pina
[Cloud Summit 2010] Tecla Internet - Antonio Carlos Pina
 
Curso "Desenvolvendo aplicações de uso geral para GPU com CUDA".
Curso "Desenvolvendo aplicações de uso geral para GPU com CUDA".Curso "Desenvolvendo aplicações de uso geral para GPU com CUDA".
Curso "Desenvolvendo aplicações de uso geral para GPU com CUDA".
 
Microcontroladores PIC.pptx
Microcontroladores PIC.pptxMicrocontroladores PIC.pptx
Microcontroladores PIC.pptx
 
FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!
FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!
FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!
 
FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!
FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!
FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!
 
Introdução ao Matlab - simulink coder support package
Introdução ao Matlab - simulink coder support packageIntrodução ao Matlab - simulink coder support package
Introdução ao Matlab - simulink coder support package
 
Amazon EC2 boas praticas e otimizações de desempenho
Amazon EC2 boas praticas e otimizações de desempenhoAmazon EC2 boas praticas e otimizações de desempenho
Amazon EC2 boas praticas e otimizações de desempenho
 
Mistério ou tecnologia? Paralelismo!
Mistério ou tecnologia? Paralelismo!Mistério ou tecnologia? Paralelismo!
Mistério ou tecnologia? Paralelismo!
 
Java alem das aplicacoes comerciais convencionais
Java alem das aplicacoes comerciais convencionaisJava alem das aplicacoes comerciais convencionais
Java alem das aplicacoes comerciais convencionais
 
Software Optimization and Tuning Techniques for z13 (As mentiras do ontem, um...
Software Optimization and Tuning Techniques for z13 (As mentiras do ontem, um...Software Optimization and Tuning Techniques for z13 (As mentiras do ontem, um...
Software Optimization and Tuning Techniques for z13 (As mentiras do ontem, um...
 
M2 Introdução Basica ao Mainframe
M2 Introdução Basica ao MainframeM2 Introdução Basica ao Mainframe
M2 Introdução Basica ao Mainframe
 
Zabbix 3 0-cinfotec
Zabbix 3 0-cinfotecZabbix 3 0-cinfotec
Zabbix 3 0-cinfotec
 
Tendências Tecnológicas em processadores, por Luiz Carlos Orsoni
Tendências Tecnológicas em processadores, por Luiz Carlos OrsoniTendências Tecnológicas em processadores, por Luiz Carlos Orsoni
Tendências Tecnológicas em processadores, por Luiz Carlos Orsoni
 

Mais de Joao Galdino Mello de Souza

Enterprise computing for modern business workloads por Lívio Sousa (IBM)
Enterprise computing for modern business workloads por Lívio Sousa (IBM)Enterprise computing for modern business workloads por Lívio Sousa (IBM)
Enterprise computing for modern business workloads por Lívio Sousa (IBM)Joao Galdino Mello de Souza
 
Pré-Anúncio z/OS 2.4 por Alvaro Salla (MAFFEI) e Fernando Ferreira (IBM)
Pré-Anúncio z/OS 2.4 por Alvaro Salla (MAFFEI) e Fernando Ferreira (IBM)Pré-Anúncio z/OS 2.4 por Alvaro Salla (MAFFEI) e Fernando Ferreira (IBM)
Pré-Anúncio z/OS 2.4 por Alvaro Salla (MAFFEI) e Fernando Ferreira (IBM)Joao Galdino Mello de Souza
 
Scaling Multi-cloud with Infrastructure as Code por André Rocha Agostinho (S...
Scaling  Multi-cloud with Infrastructure as Code por André Rocha Agostinho (S...Scaling  Multi-cloud with Infrastructure as Code por André Rocha Agostinho (S...
Scaling Multi-cloud with Infrastructure as Code por André Rocha Agostinho (S...Joao Galdino Mello de Souza
 
Alta Disponibilidade SQL Server por Marcus Vinicius Bittencourt (O Boticário)
Alta Disponibilidade SQL Server por Marcus Vinicius Bittencourt (O Boticário)Alta Disponibilidade SQL Server por Marcus Vinicius Bittencourt (O Boticário)
Alta Disponibilidade SQL Server por Marcus Vinicius Bittencourt (O Boticário)Joao Galdino Mello de Souza
 
Cloud no Banco Votorantim por Marcus Vinícius de Aguiar Magalhaes (Banco Voto...
Cloud no Banco Votorantim por Marcus Vinícius de Aguiar Magalhaes (Banco Voto...Cloud no Banco Votorantim por Marcus Vinícius de Aguiar Magalhaes (Banco Voto...
Cloud no Banco Votorantim por Marcus Vinícius de Aguiar Magalhaes (Banco Voto...Joao Galdino Mello de Souza
 
Descomplicando a Ciência de Dados por Adelson Lovatto (IBM)
Descomplicando a Ciência de Dados por Adelson Lovatto (IBM)Descomplicando a Ciência de Dados por Adelson Lovatto (IBM)
Descomplicando a Ciência de Dados por Adelson Lovatto (IBM)Joao Galdino Mello de Souza
 
Pré-Anúncio z/OS 2.4 por Alvaro Salla (MAFFEI)
Pré-Anúncio z/OS 2.4 por Alvaro Salla (MAFFEI)Pré-Anúncio z/OS 2.4 por Alvaro Salla (MAFFEI)
Pré-Anúncio z/OS 2.4 por Alvaro Salla (MAFFEI)Joao Galdino Mello de Souza
 
Consumo de CPU, Distorções e Redução de custo de SW por Maria Isabel Soutello...
Consumo de CPU, Distorções e Redução de custo de SW por Maria Isabel Soutello...Consumo de CPU, Distorções e Redução de custo de SW por Maria Isabel Soutello...
Consumo de CPU, Distorções e Redução de custo de SW por Maria Isabel Soutello...Joao Galdino Mello de Souza
 
Qualidade no desenvolvimento de Sistemas por Anderson Augustinho (Celepar)
Qualidade no desenvolvimento de Sistemas por Anderson Augustinho (Celepar)Qualidade no desenvolvimento de Sistemas por Anderson Augustinho (Celepar)
Qualidade no desenvolvimento de Sistemas por Anderson Augustinho (Celepar)Joao Galdino Mello de Souza
 
Assets Tokenization: Novas Linhas de negócio por Lívio Sousa (IBM)
Assets Tokenization: Novas Linhas de negócio por Lívio Sousa (IBM)Assets Tokenization: Novas Linhas de negócio por Lívio Sousa (IBM)
Assets Tokenization: Novas Linhas de negócio por Lívio Sousa (IBM)Joao Galdino Mello de Souza
 
Intelligent Edge e Intelligent Cloud por Vivian Heinrichs (Softline)
Intelligent Edge e Intelligent Cloud por Vivian Heinrichs (Softline)Intelligent Edge e Intelligent Cloud por Vivian Heinrichs (Softline)
Intelligent Edge e Intelligent Cloud por Vivian Heinrichs (Softline)Joao Galdino Mello de Souza
 
Evolução da eficiência operacional no mainframe por Emerson Castelano (Eccox)
Evolução da eficiência operacional no mainframe por Emerson Castelano (Eccox)Evolução da eficiência operacional no mainframe por Emerson Castelano (Eccox)
Evolução da eficiência operacional no mainframe por Emerson Castelano (Eccox)Joao Galdino Mello de Souza
 
Gestão de Capacidade, desempenho e custos no ambiente mainframe zOS: Um caso ...
Gestão de Capacidade, desempenho e custos no ambiente mainframe zOS: Um caso ...Gestão de Capacidade, desempenho e custos no ambiente mainframe zOS: Um caso ...
Gestão de Capacidade, desempenho e custos no ambiente mainframe zOS: Um caso ...Joao Galdino Mello de Souza
 
Eletricidade e Eletrônica 1.01 por Luiz Carlos Orsoni (MAFFEI)
Eletricidade e Eletrônica 1.01 por Luiz Carlos Orsoni (MAFFEI)Eletricidade e Eletrônica 1.01 por Luiz Carlos Orsoni (MAFFEI)
Eletricidade e Eletrônica 1.01 por Luiz Carlos Orsoni (MAFFEI)Joao Galdino Mello de Souza
 
Pervasive Encryption por Eugênio Fernandes (IBM)
Pervasive Encryption por Eugênio Fernandes (IBM)Pervasive Encryption por Eugênio Fernandes (IBM)
Pervasive Encryption por Eugênio Fernandes (IBM)Joao Galdino Mello de Souza
 
Scaling Multi-Cloud with Infrastructure as a Code por André Rocha Agostinho (...
Scaling Multi-Cloud with Infrastructure as a Code por André Rocha Agostinho (...Scaling Multi-Cloud with Infrastructure as a Code por André Rocha Agostinho (...
Scaling Multi-Cloud with Infrastructure as a Code por André Rocha Agostinho (...Joao Galdino Mello de Souza
 
Como obter o melhor do Z por Gustavo Fernandes Araujo (Itau Unibanco)
Como obter o melhor do Z por Gustavo Fernandes Araujo (Itau Unibanco)Como obter o melhor do Z por Gustavo Fernandes Araujo (Itau Unibanco)
Como obter o melhor do Z por Gustavo Fernandes Araujo (Itau Unibanco)Joao Galdino Mello de Souza
 
Lei geral de proteção de dados por Kleber Silva e Ricardo Navarro (Pise4)
Lei geral de proteção de dados por Kleber Silva  e Ricardo Navarro (Pise4)Lei geral de proteção de dados por Kleber Silva  e Ricardo Navarro (Pise4)
Lei geral de proteção de dados por Kleber Silva e Ricardo Navarro (Pise4)Joao Galdino Mello de Souza
 
Gerenciamento de TI - Métodos Ágeis por Prof. Me Valdir Morales (Faculdades O...
Gerenciamento de TI - Métodos Ágeis por Prof. Me Valdir Morales (Faculdades O...Gerenciamento de TI - Métodos Ágeis por Prof. Me Valdir Morales (Faculdades O...
Gerenciamento de TI - Métodos Ágeis por Prof. Me Valdir Morales (Faculdades O...Joao Galdino Mello de Souza
 

Mais de Joao Galdino Mello de Souza (20)

Explorando a API Rest Jira Cloud
Explorando a API Rest Jira CloudExplorando a API Rest Jira Cloud
Explorando a API Rest Jira Cloud
 
Enterprise computing for modern business workloads por Lívio Sousa (IBM)
Enterprise computing for modern business workloads por Lívio Sousa (IBM)Enterprise computing for modern business workloads por Lívio Sousa (IBM)
Enterprise computing for modern business workloads por Lívio Sousa (IBM)
 
Pré-Anúncio z/OS 2.4 por Alvaro Salla (MAFFEI) e Fernando Ferreira (IBM)
Pré-Anúncio z/OS 2.4 por Alvaro Salla (MAFFEI) e Fernando Ferreira (IBM)Pré-Anúncio z/OS 2.4 por Alvaro Salla (MAFFEI) e Fernando Ferreira (IBM)
Pré-Anúncio z/OS 2.4 por Alvaro Salla (MAFFEI) e Fernando Ferreira (IBM)
 
Scaling Multi-cloud with Infrastructure as Code por André Rocha Agostinho (S...
Scaling  Multi-cloud with Infrastructure as Code por André Rocha Agostinho (S...Scaling  Multi-cloud with Infrastructure as Code por André Rocha Agostinho (S...
Scaling Multi-cloud with Infrastructure as Code por André Rocha Agostinho (S...
 
Alta Disponibilidade SQL Server por Marcus Vinicius Bittencourt (O Boticário)
Alta Disponibilidade SQL Server por Marcus Vinicius Bittencourt (O Boticário)Alta Disponibilidade SQL Server por Marcus Vinicius Bittencourt (O Boticário)
Alta Disponibilidade SQL Server por Marcus Vinicius Bittencourt (O Boticário)
 
Cloud no Banco Votorantim por Marcus Vinícius de Aguiar Magalhaes (Banco Voto...
Cloud no Banco Votorantim por Marcus Vinícius de Aguiar Magalhaes (Banco Voto...Cloud no Banco Votorantim por Marcus Vinícius de Aguiar Magalhaes (Banco Voto...
Cloud no Banco Votorantim por Marcus Vinícius de Aguiar Magalhaes (Banco Voto...
 
Descomplicando a Ciência de Dados por Adelson Lovatto (IBM)
Descomplicando a Ciência de Dados por Adelson Lovatto (IBM)Descomplicando a Ciência de Dados por Adelson Lovatto (IBM)
Descomplicando a Ciência de Dados por Adelson Lovatto (IBM)
 
Pré-Anúncio z/OS 2.4 por Alvaro Salla (MAFFEI)
Pré-Anúncio z/OS 2.4 por Alvaro Salla (MAFFEI)Pré-Anúncio z/OS 2.4 por Alvaro Salla (MAFFEI)
Pré-Anúncio z/OS 2.4 por Alvaro Salla (MAFFEI)
 
Consumo de CPU, Distorções e Redução de custo de SW por Maria Isabel Soutello...
Consumo de CPU, Distorções e Redução de custo de SW por Maria Isabel Soutello...Consumo de CPU, Distorções e Redução de custo de SW por Maria Isabel Soutello...
Consumo de CPU, Distorções e Redução de custo de SW por Maria Isabel Soutello...
 
Qualidade no desenvolvimento de Sistemas por Anderson Augustinho (Celepar)
Qualidade no desenvolvimento de Sistemas por Anderson Augustinho (Celepar)Qualidade no desenvolvimento de Sistemas por Anderson Augustinho (Celepar)
Qualidade no desenvolvimento de Sistemas por Anderson Augustinho (Celepar)
 
Assets Tokenization: Novas Linhas de negócio por Lívio Sousa (IBM)
Assets Tokenization: Novas Linhas de negócio por Lívio Sousa (IBM)Assets Tokenization: Novas Linhas de negócio por Lívio Sousa (IBM)
Assets Tokenization: Novas Linhas de negócio por Lívio Sousa (IBM)
 
Intelligent Edge e Intelligent Cloud por Vivian Heinrichs (Softline)
Intelligent Edge e Intelligent Cloud por Vivian Heinrichs (Softline)Intelligent Edge e Intelligent Cloud por Vivian Heinrichs (Softline)
Intelligent Edge e Intelligent Cloud por Vivian Heinrichs (Softline)
 
Evolução da eficiência operacional no mainframe por Emerson Castelano (Eccox)
Evolução da eficiência operacional no mainframe por Emerson Castelano (Eccox)Evolução da eficiência operacional no mainframe por Emerson Castelano (Eccox)
Evolução da eficiência operacional no mainframe por Emerson Castelano (Eccox)
 
Gestão de Capacidade, desempenho e custos no ambiente mainframe zOS: Um caso ...
Gestão de Capacidade, desempenho e custos no ambiente mainframe zOS: Um caso ...Gestão de Capacidade, desempenho e custos no ambiente mainframe zOS: Um caso ...
Gestão de Capacidade, desempenho e custos no ambiente mainframe zOS: Um caso ...
 
Eletricidade e Eletrônica 1.01 por Luiz Carlos Orsoni (MAFFEI)
Eletricidade e Eletrônica 1.01 por Luiz Carlos Orsoni (MAFFEI)Eletricidade e Eletrônica 1.01 por Luiz Carlos Orsoni (MAFFEI)
Eletricidade e Eletrônica 1.01 por Luiz Carlos Orsoni (MAFFEI)
 
Pervasive Encryption por Eugênio Fernandes (IBM)
Pervasive Encryption por Eugênio Fernandes (IBM)Pervasive Encryption por Eugênio Fernandes (IBM)
Pervasive Encryption por Eugênio Fernandes (IBM)
 
Scaling Multi-Cloud with Infrastructure as a Code por André Rocha Agostinho (...
Scaling Multi-Cloud with Infrastructure as a Code por André Rocha Agostinho (...Scaling Multi-Cloud with Infrastructure as a Code por André Rocha Agostinho (...
Scaling Multi-Cloud with Infrastructure as a Code por André Rocha Agostinho (...
 
Como obter o melhor do Z por Gustavo Fernandes Araujo (Itau Unibanco)
Como obter o melhor do Z por Gustavo Fernandes Araujo (Itau Unibanco)Como obter o melhor do Z por Gustavo Fernandes Araujo (Itau Unibanco)
Como obter o melhor do Z por Gustavo Fernandes Araujo (Itau Unibanco)
 
Lei geral de proteção de dados por Kleber Silva e Ricardo Navarro (Pise4)
Lei geral de proteção de dados por Kleber Silva  e Ricardo Navarro (Pise4)Lei geral de proteção de dados por Kleber Silva  e Ricardo Navarro (Pise4)
Lei geral de proteção de dados por Kleber Silva e Ricardo Navarro (Pise4)
 
Gerenciamento de TI - Métodos Ágeis por Prof. Me Valdir Morales (Faculdades O...
Gerenciamento de TI - Métodos Ágeis por Prof. Me Valdir Morales (Faculdades O...Gerenciamento de TI - Métodos Ágeis por Prof. Me Valdir Morales (Faculdades O...
Gerenciamento de TI - Métodos Ágeis por Prof. Me Valdir Morales (Faculdades O...
 

Acelerando aplicações com Vector Packed Decimal Facility do z14

  • 1. Proibida cópia ou divulgação sem permissão escrita do CMG Brasil. Acelerando suas aplicações com o novíssimo Vector Packed Decimal Facility do z14 15/05/2018 Flavio C Buccianti flaviocb@gmail.com
  • 2. Proibida cópia ou divulgação sem permissão escrita do CMG Brasil. Implementação do Vector Facility nos mainframes IBM z • 1a Geração: Implementação antiga disponibilizada até o ESA/390 • 2a Geração : Reintroduzido na família z13 (ARCH(11)) em 2015 • Baseado AltiVEC desenvolvida pela IBM, Apple e Motorola - final de 90 • Totalmente diferente da implementação anterior (ESA/390) • Implementção similar à existente em Power + extensões para Z • Adiciona um conjunto novo de 32 registradores de 128 bits • 139 novas instruções • Suporta SIMD (Single Instruction Multiple Data) • Precisa ter o Vector Facility habilitado • Programas compilados com opção ARCH(11) exploram as novas instruções (Compiladores mais recentes) • AltiVEC implemenado nos processadores Power • Power PC 970 (G5) em 2002 – Acelerador de Vídeo e Multimidia • Cell Processor (PS3, Blades Cell) em 2006 – Video, Multimidia e Cálculos Vetoriais • Power 6 (pSeries) em 2007 – Cáculos Vetoriais (SIMD)
  • 3. Proibida cópia ou divulgação sem permissão escrita do CMG Brasil. Implementação do Vector Facility nos mainframes IBM z Vector Registers • 32 Registradores • Registradores de 128 bits • Primeiros 16 registrdores compartilhados com Floating- Point (FP) registers (somente a primeria metade do registrador). • SIMD
  • 4. Proibida cópia ou divulgação sem permissão escrita do CMG Brasil. Múltiplos dados podem ser carregados num único Vector Register, permitindo operações do tipo SIMD (Single Instruction Multiple Data). Vector Register “n” Vector Register – ocupação lógica dos dados Implementação do Vector Facility nos mainframes IBM Z
  • 5. Proibida cópia ou divulgação sem permissão escrita do CMG Brasil. Implementação do Vector Facility nos mainframes IBM z Manuseando dados utilizando SIMD Soma de elementos com SIMD: Soma convencional:
  • 6. Proibida cópia ou divulgação sem permissão escrita do CMG Brasil. Vector Packed Decimal Facility • Implementado a partir da z14 (ARCH(12)) – Vector Facility é pré-requisito – Operações Vector Packed Decimal NÃO são executáveis em z13 • Utiliza as facilidades implementadas pelo Vector Facility – Utiliza os mesmos 32 registradores de 128 bits – 16 novas instruções implementadas – Não permite SIMD com dados tipo PACKED – Precisa ter o Vector Facility habilitado – Programas compilados com opção ARCH(12) exploram as novas instruções (Compiladores mais recentes)
  • 7. Proibida cópia ou divulgação sem permissão escrita do CMG Brasil. Vector Packed Decimal Facility O que é o packed decimal format ? •Signed Packed Decimal Format: - Cada Byte contém dois dígitos, um em cada metade (NIBBLE) - Cada Nibble pode ter valores binários de 0000 a 1001 (0 a 9) - O úlimo Nibble da direita contém o sinal (S) - Valores positivos contém o valor binário 1100 ou x’C’ - Valores Negativos contém o valor binário 1101 ou x’D’ O que é diferente no Vector Packed Decimal da z14 ? •Os números são calculados usando somente os Vector Registers evitando uso de memória. •Cada Vector register pode conter um número com até 31 dígitos mais o sinal (S). •Se o número for menor que 31 digitos, as posições da esquerda do número serão preenchidas com zeros. •Os números sermpre estarão alinhados à direita dentro do Vector Register.
  • 8. Proibida cópia ou divulgação sem permissão escrita do CMG Brasil. Vector Packed Decimal Facility Valor Comp-3(hex) Dentro do vector register +0 0C 0000000000000000000000000000000C +1 1C 0000000000000000000000000000001C +32 03 2C 0000000000000000000000000000032C +473 47 3C 0000000000000000000000000000473C +6189 61 89 4C 0000000000000000000000000006189C -1 1D 0000000000000000000000000000001D -6189 61 89 4D 0000000000000000000000000006189D
  • 9. Proibida cópia ou divulgação sem permissão escrita do CMG Brasil. Vector Packed Decimal Facility VECTOR ADD DECIMAL VECTOR COMPARE DECIMAL VECTOR CONVERT TO BINARY VECTOR CONVERT TO DECIMAL VECTOR DIVIDE DECIMAL VECTOR LOAD IMMEDIATE DECIMAL VECTOR MULTIPLY DECIMAL VECTOR MULTIPLY AND SHIFT DECIMAL VECTOR PACK ZONED VECTOR PERFORM SIGN OPERATION DECIMAL VECTOR REMAINDER DECIMAL VECTOR SHIFT AND DIVIDE DECIMAL VECTOR SHIFT AND ROUND DECIMAL VECTOR SUBTRACT DECIMAL VECTOR TEST DECIMAL VECTOR UNPACK ZONED Novas instruções implementadas no z14
  • 10. Proibida cópia ou divulgação sem permissão escrita do CMG Brasil. Vector Packed Decimal Facility Quais são as vantagens do novo conjunto de instruções ? -Operações com numeros packed (Vector) são mais rápidas e usam menos instruções - Decimal Packed tradicional usa memória X Vector Packed Dec usa só registradores -Suporte nos novos compiladores com opção ARCH(12) -Não existe necessidade de adaptar ou reescrever os programas -Basta recompilar os programas com ARCH(12) -Suportado pela maioria das linguagens do Z (COBOL, PLI, Java, C/C++, HLASM…) -Ganhos de performance que podem chegar a 4 vezes ou mais. -Menos MIPS gastos nas rotinas de cálculo de numeros packed. Quais são as considerações ? -Necessita de máquina z14 ou maior para poder utilizar o novo feature. -Compilações com ARCH(12) não podem ser executados em maquinas anteriores ao z14
  • 11. Proibida cópia ou divulgação sem permissão escrita do CMG Brasil. Vector Packed Decimal Facility Principais Compiladores que exploram o Vector Packed Decimal Facility
  • 12. Proibida cópia ou divulgação sem permissão escrita do CMG Brasil. Vector Packed Decimal Facility COBOL • Enterprise COBOL V 6.2 - Anunciado junto com o z14 em 17/7/2017 - ARCH(12) suportado a partir da versão 6.2 (default: ARCH(7)) - Programas COBOL - Muitos dados no formato Packed ou Zoned Decimal - Ganhos em performance e redução de MIPS ao utilizarem o suporte ao Vector Packed Decimal Facility. *(4) - Sem alterar os fontes, só recompilar com ARCH(12).
  • 13. Proibida cópia ou divulgação sem permissão escrita do CMG Brasil. Vector Packed Decimal Facility 01 WS-VAR-1 COMP-3 PIC s9(14)v9(4). 01 WS-VAR-2 COMP-3 PIC s9(14)v9(4). 01 WS-VAR-3 COMP-3 PIC s9(14)v9(2). MULTIPLY WS-VAR-1 BY WS-VAR-2 GIVING WS-VAR-3. Sem ARCH(12) ZAP 336(16,13),16(2,2) MVC 352(32,13),58(10) MVC 366(15,13),0(2) NI 380(13),X'F0' MVN 383(1,13),14(2) L 3,92(0,9 L 15,180(0,3) V(IGZCXDI ) LA 1,180(0,10 BASR 14,15 Com ARCH(12) VLRL VRF24,_WSA[0x12c] 0(,R3),0xe VLRL VRF25,_WSA[0x12c] 16(,R3),0x1 VSDP VRF24,VRF24,VRF25,0x6,0 Rotina COBOL de divisão com com números decimais de grande formato: COBOL Assembler gerado após a compilação • Chamada à rotina da biblioteca do LE • Prepara os dados (Shift) antecpadamente • Overhead da rotina de divisão • Usa as novas funcionalidades do ARCH(12) • Preparação de dados e divisão executados diretamente * Dados extraidos da apresentação (4) da IBM na SHARE de Providence em 7/08/2017 por Tom Ross (Captain COBOL)
  • 14. Proibida cópia ou divulgação sem permissão escrita do CMG Brasil. Vector Packed Decimal Facility 01 WS-VAR-1 COMP-3 PIC s9(14)v9(4). 01 WS-VAR-2 COMP-3 PIC s9(14)v9(4). 01 WS-VAR-3 COMP-3 PIC s9(14)v9(2). MULTIPLY WS-VAR-1 BY WS-VAR-2 GIVING WS-VAR-3. Sem ARCH(12) L 3,92(0,9) L 15,188(0,3) V(IGZCXMU ) LA 1,171(0,10) BASR 14,15 NI 388(13),X'0F' MVN 396(1,13),399(13) ZAP 32(9,2),388(9,13) Com ARCH(12) VLRL VRF16,152(,R9),0x9 VLRL VRF17,168(,R9),0x9 VMSP VRF16,VRF16,VRF17,0x6,0 Rotina COBOL de Multiplicação com com números decimais de grande formato: COBOL Assembler gerado após a compilação • Chamada à rotina da biblioteca do LE • Prepara os dados antecpadamente • Overhead da rotina de divisão • Usa as novas funcionalidades do ARCH(12) • Preparação de dados e divisão executados diretamente * Dados extraidos da apresentação (4) da IBM na SHARE de Providence em 7/08/2017 por Tom Ross (Captain COBOL)
  • 15. Proibida cópia ou divulgação sem permissão escrita do CMG Brasil. Vector Packed Decimal Facility Testes com loop de rotina COBOL executada 100 Milhões de vezes * • ADIÇÃO de Unsigned Packed Decimal – 4.85x mais rápido – COBOL V4: 3,648 segundos de CPU – ARCH(11): 2,195 segundos de CPU – ARCH(12): 0,752 segundos de CPU • DIVISÃO de número Decimal Longo – 135x mais rápido – COBOL V4 ou COBOL V5/V6 c/ARCH(11): 2,319 segundos de CPU – ARCH(12): 0,027 segundos de CPU • MULTIPLICAÇÃO de número Decimal Longo – 39x mais rápido – COBOL V4 ou COBOL V5/V6 c/ARCH(11): 2,797 segundos de CPU – ARCH(12): 0,072 segundos de CPU • COMPUTE de Zoned Decimal – 3.05x mais rápido – COBOL V4: 1,469 segundos de CPU – ARCH(11): 0,837 segundos de CPU – ARCH(12): 0,482 segundos de CPU * Dados extraidos da apresentação (4) da IBM na SHARE de Providence em 7/08/2017 por Tom Ross (Captain COBOL)
  • 16. Proibida cópia ou divulgação sem permissão escrita do CMG Brasil. Vector Packed Decimal Facility PL/I • Versão 5.2 do Enterprise PL/I for z/OS 5 – Não necessita alterações no fonte do programa, só recompilar. – Opção ARCH(12) dá suporte ao Vector Packed Decimal Facility. – Ganho de performance em calculos de PICTURE e FIXED DECIMAL – Artigo do Developerworks (5) reporta ganhos de performance: • Até 40% mais rápido em aplicações CPU intensivas • 10% na média só pelo fato de usar a opção de compilação ARCH(12)
  • 17. Proibida cópia ou divulgação sem permissão escrita do CMG Brasil. Vector Packed Decimal Facility XL C/C++ • Versão 2.3 do XL C/C++ – Suporte ao Vector Packed Decimal Facility – Opção de compilação ARCH(12) – Ao compilar precisam estar em efeito as opções ARCH(12) e VECTOR – Opção TUNE(12) gera código optimizado para processadores da z14
  • 18. Proibida cópia ou divulgação sem permissão escrita do CMG Brasil. Vector Packed Decimal Facility IBM Java • IBM Java V8.5 – Automaticamente reconhece quando está rodando em z14 – Quando executando em z14 o SDK reconhece o método com.ibm.dataaccess.DecimalData.addPackedDecimal para poder explorar as instruções do Vector Packed Decimal Facility – Explora de forma transparente as novas instruções do Vector Packed Decimal Facility – Melhoria na performance em geral pelo fato de usar instruções do tipo Register to Register.
  • 19. Proibida cópia ou divulgação sem permissão escrita do CMG Brasil. Vector Packed Decimal Facility Referências (1) How to Exploit the Vector Packed Decimal Facility in IBM z14 (Artigo IBM Systems Magazine) http://ibmsystemsmag.com/mainframe/administrator/performance/vector-facility-z14/ (2) IBM z13 Vector Facility Works to Accelerate Features (Artigo IBM Systems Magazine) http://ibmsystemsmag.com/mainframe/administrator/performance/z13-vector-facility/ (3) IBM z14 Principles of Operations SA22-7832-11 Manual http://www-01.ibm.com/support/docview.wss?uid=isg2b9de5f05a9d57819852571c500428f9a (4) Apresentação da SHARE: The latest IBM Z COBOL compiler: Enterprise COBOL V6.2! http://www-01.ibm.com/support/docview.wss?uid=swg27050205&aid=1 (5) Announcing Enterprise PL/I for z/OS V5.2 – Artigo Developerworks https://www.ibm.com/developerworks/community/blogs/86d253aa-f216-4642-9f2b- eedb09087dfc/entry/Announcing_Enterprise_PL_I_for_z_OS_V5_2?lang=en (6) SIMD no z13 – Conhecendo as novas funções Vetoriais do Mainframe (Apresentção CMG-BR 2013) https://cmgbrasil.com/2015/05/18/simd-no-z13-conhecendo-as-novas-funcoes-vetoriais-do-mainframe-por- flavio-buccianti/
  • 20. Proibida cópia ou divulgação sem permissão escrita do CMG Brasil. Obrigado ! Flavio C Buccianti flaviocb@gmail.com